데이터와 AI / NOTE 24

선형 모델과 분류

Linear Models

회귀, 정규화, 로지스틱 회귀와 분류 모델을 정리합니다.

♫ 이 문서 듣기

개념에서 수식으로

먼저 이해할 내용

입력과 출력의 관계를 모델로 정한다는 것은, 관측한 샘플을 이용해 새로운 입력에서도 쓸 수 있는 규칙을 찾는 일이다. 이 글은 연속값을 예측하는 회귀와 범주를 구별하는 분류를 나누고, 각각의 오차와 학습 목적을 설명한다.

기호를 먼저 읽기

xₙ, yₙ
입력과 그에 대응하는 정답
w, w₀
입력의 가중치와 기준값
φ(x)
입력을 다른 표현으로 옮기는 기저 또는 특징
λ
정규화 항의 비중을 정하는 계수
σ(·), ŷ
확률을 만드는 함수와 예측값
J, ℓ
학습에서 줄이려는 오차 또는 손실

이 글의 흐름

예측 대상과 모델을 정한 뒤 잔차·제곱오차를 만든다. 정규화로 계수의 크기까지 고려하고, 분류에서는 확률·교차엔트로피·우도의 관계로 확장한다.

주제와 표기

Linear Models

Universal Approximation

모델이 해결할 문제를 먼저 정한다

학습 샘플에는 입력과 목표 출력이 짝으로 들어 있다. 연속적인 값을 예측할지, 정해진 범주를 구별할지에 따라 모델의 출력 의미가 달라진다. 특징을 사람이 정할지 모델이 학습할지도 이 문제 설정과 연결된다.

Task

Model = Approximation

Sample Training set
Algorithm
Engineering Features (SIFT, HOG) ⇒ Learning Features

Linear Models

Linear regression

Regularization

회귀와 이진 분류를 구별한다

회귀에서는 실수값을 예측하고, 이진 분류에서는 두 범주 중 하나에 해당할 가능성을 다룬다. 원문은 과적합을 줄이기 위한 정규화와 로지스틱 확률 모델을 함께 소개한다. 이후 수식에서 같은 w를 사용해도 출력이 실수인지 확률인지 먼저 확인한다.

Alleviate overfitting
Ridgeregression(L2normregularizer)
LASSO(L1normregularizer)

Binary Classification

Logistic Regression

Models the input - output by conditional Bernoulli distribution
P[yn=1xn]=σ[WTxn]
IRLS algorithm
원본 도해
Data={(x1,y1),(x2,y2),,(xN,yN)}
xn:input
yn : Target output
Goal : Find a mapping from X to Y

Linear models for regression

오차를 샘플별로 계산하고 모은다

직선 예측 w₁xₙ+w₀와 관측값 yₙ의 차이가 eₙ이다. 모든 샘플의 eₙ²를 더하면 양·음 오차가 서로 상쇄되지 않는 목적함수를 만들 수 있다. 계수로 미분하는 다음 식은 그 목적함수를 작게 만드는 방향을 찾기 위한 것이다.

Regression:ynR(realvalue)
Classification:yn{0,1}oryn{1,2,,N}
D={(x1,y1),(x2,y2),,(xN,yN)}
yn=w1xn+w0
modelparameter={w1,w0}
linear algebraic equation
ynw1xn+w0
error:en=ynw1xnw0
minimizew1,w0en2
W1en2,W0en2

Problem Setup

입력 표현과 계수를 분리한다

φⱼ(x)는 입력에서 계산하는 특징이고 wⱼ는 그 특징에 적용할 계수이다. 선형모델은 이 계수들의 가중합으로 출력을 만든다. 원문은 신경망과 커널 표현도 나란히 놓으므로, 어떤 값이 입력에서 계산되고 어떤 값이 학습되는지 비교하며 읽는다.

Given a set of N labeled examples, D = {(xn, yn)} _ (n = 1)N (xn∈X⊂RD and yn∈Y⊂R), the goal is to learn a mapping
f[x]:XY
which associates x with y, such tat we can make prediction abot y when a new input xD is provided .

Basic Function

ϕj[x]

Linear models

[x] = Underoverscript[∑, j = 1, arg3] w_jφ_j[x] + w_0

Neural networks

[x] = Underoverscript[∑, j = 1, arg3] w_j^(2) φ[∑_kW_ (j, k)^{1} x_k + b_j^(1)]

Kernel regression

f[x]=n=1Nwnk[x,xn]+w0

Least Squares Method

최소제곱을 벡터와 행렬로 정리한다

관측값 벡터와 예측값 벡터의 차이에 L₂ 노름 제곱을 적용한다. 잔차벡터를 전치하여 자신과 곱하면 각 잔차의 제곱합이 된다는 다음 식을 확인한다. 정상방정식으로 계수를 정리할 때에는 이 문서의 Φ 행·열 배치를 유지하고 역행렬 존재 조건을 확인한다.

norm of x = | x | _p = (∑_i | xi |^p)^1/p

Given a set of training data {(xn, yn)} _ (n = 1)N, we determine the weight vector wRM+1 which minimizes
JLS[w]=12Nn=1N(ynwTϕ[xn])2=12N|yΦTw|22,
수식
수식
Note that
|yΦTw|22=(yΦTw)T(yΦTw)
wLS=(ΦΦT)1Φy

Regularization

정확히 맞추는 것과 복잡도를 함께 고려한다

손실 항은 관측값을 잘 설명하는지 측정하고, 정규화 항은 모델의 복잡도에 비용을 부과한다. λ는 두 목적의 상대적인 비중이다. 따라서 λ를 모델이 직접 학습하는 가중치와 같은 역할로 보지 않는다.

Interested in : Inferring a function of any x, given N examples D = {(xn, yn)} _ (n = 1)N
Consider a loss function ℓ[f[xn;W], yn] . For instance, LS regression uses the square loss :
n=1N[f[xn;W],yn]=12N|yΦTW|22
A regularizer (which imposes a penalty on the complexity of f) is added to the loss function, leading to
n=1N[f[xn;W],yn]loss+λR[f]reqularizer
where λ controls the importance of the regularization term (hyperparameter)
modelparameter=w={w1,w0}
hyperparameter=λ

Ridge Regression

Ridge는 계수의 제곱 크기를 함께 줄인다

제곱오차에 가중치의 L₂ 제곱 항을 더한 뒤 미분하면 λI가 포함된 선형관계가 나타난다. 제약식 표현의 B는 허용할 계수 크기와 관련된다. λ를 정하고 학습한 뒤 검증 오차를 비교하는 순서가, 계수를 구하는 계산과 설정값을 선택하는 계산의 차이를 보여준다.

The ridge regression can be written as
minw12|yΦTW|22+λ2|w|22
or as a bounded constrained form :
minw12|yΦTW|22,st|w|22B
A small (tight) bound B corresponds to large penalty λ and vice versa .
Then,
w[12|yΦTW|22+λ2|w|22]=Φy+(ΦΦT+λI)w
Equating to zero yields
wRidge=(ΦΦT+λI)1Φy

Find λ

Fix λ → Find w by Training → Validation error
Cross - validataion

Illusstration

Squareloss+L2normregularizer:12|yΦTW|22+λ2|w|22LSfitregularizer

Logistic Regression

점수를 확률로 바꾸어 두 범주를 구별한다

wᵀx는 제한이 없는 점수이고, σ를 적용한 결과는 0과 1 사이의 확률로 읽는다. y가 0 또는 1일 때 조건부 평균과 y=1의 확률을 연결할 수 있다. σ의 분모가 1+e의 지수항으로 구성되는 것을 확인한다.

expectationE
model[w,x]=wTxE[yx]
Binary classification
y{0,1}
E[yx]=P[y=1x]
model[w,x]=P[y=1x]
σ[wTx]=P[y=1x]
logisticfunction=11+ewTx

Logistic Regression

Predict a binary output yn∈ {0, 1} from an input xn
The logistic regression models the input - output by a conditional Bernouli distribution
E[ynxn]=P[yn=1xn]=σ[wTxn]
where
σ[ξ]=11+eξ=eξ1+eξ
Discriminative model : Directly model p[yx]

Error function

확률 예측의 오차를 로그로 측정한다

이진 교차엔트로피에는 정답이 1인 경우와 0인 경우에 해당하는 두 로그 항이 있다. 정답 범주의 확률을 낮게 주면 손실이 커지는 구조이다. 여러 범주로 확장하면 정답 지시값과 각 범주의 예측 확률을 곱한 로그 항을 모두 더한다.

Regression ⇔ square loss
Binary classification ⇔ cross - entropy error
H[p;q]=Ep[log[q]]
=xp[x]log[q[x]]

Cross entropy error

p{y,1y},q{y^,1y^}
ϵ=n=1N(ynlog[y^n](1yn)log[1y^n])
p{y1,y2,,yk},q{y^1,y^2,,y^k}
ε = Underoverscript[∑, n = 1, arg3] Underoverscript[∑, k = 1, arg3] (-y_ (k, n) Log[Overscript[y,^] _ (k, n)])

ex

제시된 확률 예제를 직접 읽는다

예측이 0.7·0.2·0.1이고 정답이 첫 번째 범주라면, 정답 벡터의 0인 성분 때문에 나머지 항은 없어지고 −Log(0.7)이 남는다. 원문의 0.356675는 이 계산 결과이다. 중요한 점은 정답 범주의 확률이 손실에 어떻게 연결되는지이다.

modely^=(0.70.20.1),Targety=(100)
CE=1log[0.7]0log[0.2]0log[0.1]
=log[0.7]=0.356675

Logistic Regression:MLE

확률의 곱을 로그의 합으로 바꾼다

각 샘플의 정답 확률을 곱하면 우도가 된다. 로그를 취하면 샘플별 합으로 바뀌어 학습 목적을 다루기 쉬워진다. 로그우도를 크게 만드는 것과 그 음수를 작게 만드는 것은 같은 방향의 목표이다.

Given {(xn, yn) | n = 1, …, N}, the likelihood is given by
p[yX,w]=n=1Np[yn=1xn]yn(1p[yn=1xn])1yn
=n=1Nσ[wTxn]yn(1σ[wTxn])1yn
Then log - likelihood function is given by
L=n=1Nlog[p[ynxn]]=n=1N{ynlog[y^n]+(1yn)log[1y^n]}
where y^n = σ[wTxn]
This is a nonlinear function of w whose maximum cannot be computed in a closed form .
Iterative re - weighted least squares (IRLS) is a popular algorithm, derived from Neton method .
Iterative, Gradient descent
xkxk1αfxx=xk1

Logistic Regression:IRLS

IRLS와 다중 범주 확장을 읽는다

IRLS 구간에서는 기울기뿐 아니라 헤시안으로 표현한 곡률도 사용해 계수의 갱신량을 구한다. 뒤의 Softmax는 여러 범주의 점수를 지수화한 뒤 그 합으로 나누어 확률을 만든다. 분모의 합 범위와 범주 첨자를 먼저 확인해야 정규화의 의미가 유지된다.

Newton ' s update has the form
Δw=- (n=1Ny^n(1y^n)xnxnT)1 (n=1N(yny^n)xn)
inverseofHessian,(2J[w])1 gradient,∇J[w]
Newton ' s update reduces to iterative re - weighted least squares (IRLS)
ww+(XSXT)1XSb
where
수식

Multiclass Extension: Softmax Regression

p[y=kx]=ewkTxew1Tx++ewkTx

정리하면

회귀와 분류는 출력의 의미와 오차를 정의하는 방식이 다르다. 무엇을 예측하는지 먼저 정해야 같은 수식의 계수와 손실을 올바르게 읽을 수 있다.