KAIST 문인철교수 강의 / Utah Univ cs5350 / Georgia Tech cs7641 / PRML
참고하여 헷갈릴 수 있는 개념 위주로 정리
MLE (Maximum Likelihood Estimation)
MLE의 정확한 의미
observed data의 등장확률을 최대화하는 모수를 찾음
θ^=θargmaxP(D∣θ)
Binomial에서의 MLE (Thumbtack flip의 예)
P(D∣θ)=θaH(1−θ)aT
lnP(D∣θ)=aHlnθ+aTln(1−θ)
θ^=θargmaxP(D∣θ)=θargmaxlnP(D∣θ)=θargmax{aHlnθ+aTln(1−θ)}
dθd{aHlnθ+aTln(1−θ)}=0
θaH−1−θaT=0
θ^=aH+aTaH
Simple Error Bound (Hoeffding's inequality)
P(∣θ^−θ∗∣≥ϵ)≤2exp(−2Nϵ2)
θ^은 probability P, approximately ϵ에 대하여 "PAC(Probably Approximate Correct) learning의 결과"
MLE의 단점
MAP (Maximum a Posteriori Estimation)
MAP의 정확한 의미
observed data에 대하여 최대 확률을 가지는 모수를 찾음
θ^=θargmaxP(θ∣D)
P(θ∣D)=P(D)P(D∣θ)P(θ)
posterior=normalizningconstantlikelihood∗prior
P(D∣θ)=θaH(1−θ)aT
P(θ)=?
P(θ)=B(α,β)θα−1(1−θ)β−1
B(α,β)=Γ(α+β)Γ(α)Γ(β)
Γ(α)=(α−1)!
B(α,β)=const
P(θ∣D)∝θaH(1−θ)aTθα−1(1−θ)β−1=θaH+α−1(1−θ)aT+β−1
θ^=θargmaxP(θ∣D)
θ^=aH+aT+α+β−2aH+α−1
MLE, MAP 되새김질
-
MLE: likelihood의 최대값을 바로 계산, 관찰된 데이터를 가장 잘 표현하는 분포와 모수를 추정
-
MAP: likelihood * prior의 최대값을 계산, 미리 prior의 분포와 모수를 추정한 뒤 이와 likelihood를 곱한 값이 최대가 되는 분포와 모수를 추정
-
(내 생각) prior의 의미: 동전을 던질 때, 5:5가 나올 수도 있지만, 4:6이 나올 수도 있고, 7:3이 나올 수도 있음 이 자체를 확률이라고 생각하면, 사전확률 자체를 특정한 값이 아닌 확률분포의 일종으로 여길 수 있고 이를 통하여 유동적인 연쇄적 확률분포 추정이 가능해지며, 인위적인 prior모델을 반영해 보다 유연한 확률분포 추정이 가능
-
데이터에 대한 적절한 가정이 있을 경우 관측한 데이터만을 사용하는 것보다 더 우수한 추정 가능 (더 좋은 가정이 있다면 더 좋은 추정이 가능하다)
Distribution
Gaussian Distribution
f(x;μ,σ)=(2π)1/2σ1exp{−2(x−μ)2σ−2}
Multivariable Gaussian Distribution
f(x;μ,Σ)=(2π)D/2∣Σ∣1/21exp{−2(x−μ)TΣ−1(x−μ)}
- 특징: long tail ... x의 범위 (−∞,+∞)
Beta Distribution
f(x;α,β)=∫01uα−1(1−u)β−1duxα−1(1−x)β−1=B(α,β)xα−1(1−x)β−1=Γ(α)Γ(β)Γ(α+β)xα−1(1−x)β−1
-
특징: x의 범위 [0,1]
-
mean: α+βα
-
variance: (α+β)2(α+β+1)αβ
Binomial Distribution
f(k;n,p)=(kn)pk(1−p)n−k
(kn)=k!(n−k)!n!
Multinomial Distribution
f(x1,⋯,xk;n,p1,⋯,pk)=x1!⋯xk!n!p1x1⋯pkxk
Gamma function
Γ(x)=∫0∞ettx−1dt
Γ(x)=n→∞limx⋯(x+n)1⋯nnx=n→∞lim(x+n)!n!(x−1)!nx=n→∞lim(x+n)!n!nx(x−1)!
n→∞lim(x+n)!n!nx=1
(x−1)!
Γ(x+1)=∫0∞ettxdt=[−txe−t]t=0t=∞−(∫0∞−xtx−1e−tdt)
=t→∞lim(−txe−t)−0+(∫0∞xtx−1e−tdt)
=x∫0∞tx−1e−tdt=xΓ(x)
Γ(x+1)=xΓ(x)
Γ(1)=1,0!=1
∴Γ(n+1)=n!,Γ(n)=(n−1)!
Beta function
B(x,y)=∫01tx−1(1−t)y−1dt=Γ(x+y)Γ(x)Γ(y)
B(n,m)=(n+m−2)!(n−1)!(m−1)!
Rule-Based ML
perfect world
-
No observation errors
- Training data is error-free
-
No inconsistent observations
- Training data is noise-free
-
No stochastic elements in the system we observe
- Target function is deterministic
-
Full information in the observations to regenerate the system
- Target function is contained in hypothesis set
Find-S Algorithm
initialize h to the most specific in H ...[0]
for instance x in D:
if y of x is positive: ...[1]
for feature f in O:
if (f in h) == (f in x): ...[1-1]
do nothing
else: ...[1-2]
(f in h) = (f in h) U (f in x)
...[0]: hypothesis h를 할 수 있는 한 가장 specific하게 초기설정 (어떤 feature로도 만족시킬 수 없는 경우로 시작)
...[1]: Dataset의 instance x에 대하여, x의 레이블값이 참일 경우
...[1-1]: h의 f와 x의 f가 동일한 경우 그대로
...[1-2]: h의 f와 x의 f가 다를 경우 둘 모두를 포함하는 범위로 h의 f를 수정
점점 범위를 넓혀 나가서 모든 dataset을 만족하는 최소집합(most specific)의 Rule을 찾음
-
문제점
-
가장 specific한 범위로부터 widen했기 때문에, 구해지는 hypothesis는 가장 specific한 hypothesis일 뿐이고, 이외에도 수많은 hypothesis가 가능
-
수많은 hypothesis를 converge시킬 수 없음
-
Version space(the set of possible hypothesis)를 찾는 방법으로 발전
- Candidate Elimination Algorithm: General boundary와 Specific boundary를 모두 찾음
Candidate Elimination Algorithm
initialize S to maximally specific h in H ...[0-1]
initialize G to maximally general h in H ...[0-2]
for instance x in D:
if y of x is positive:
generalize S as much as needed to cover o in x
remove any h in G, for which h(o) != y
if y of x is negative:
specialize G as much as needed to exclude o in x
remove any h in S, for which h(p) = y
generate h that satisfies (s in S, g in G, g >= h >= s)
Decision Tree
Entropy
H(X)=∑iP(xi)I(xi)=−∑iP(xi)lnP(xi)=−∫p(x)lnp(x)dx
H(Y∣X)=∑xp(x)H(Y∣X=x)
=−∑xp(x)∑yp(y∣x)lnp(y∣x)
=−∑x∑yp(x,y)lnp(y∣x)
=−∑x,yp(x,y)lnp(y∣x)
=−∑x,yp(x,y)ln{p(x)p(x,y)}
=∑x,yp(x,y)ln{p(x,y)p(x)}
Information Gain
IG(Y,Ai)=H(Y)−H(Y∣Ai)
Top-down Induction Algorithm
select an open node to split
select a best variable to split
for values of the selected variable:
sort instances with the value of the selected variable
put the sorted items under the branch of the value of the variable
if the sorted items are all in one class:
close the leaf node of the branch
Linear Regression
Hypothesis
h:f^(x;θ)=θ0+∑i=1nθixi=∑i=0nθixi(x0=1)
f(x;θ)=∑i=0nθixi+e=y
f:Xθ+e=Y
θ^=θargmin(f−f^)2=θargmin(Y−Xθ)2=θargmin(Y−Xθ)T(Y−Xθ)
=θargmin(YTY−2θTXTY+θTXTXΘ)=θargmin(θTXTXθ−2θTXTY)
∇θ(θTXTXθ−2θTXTY)=0
2XTXθ−2XTY=0
θ=(XTX)−1XTY
(XTX)−1XT=X+(Moore−PenrosePseudoinverse)
θ=X+Y
Naive Bayes Classifier
- 한마디로: prior에 label값에 대하여 feature가 conditionally independent하다고 가정된 feature별 class conditional density의 총 곱을 곱하여 얻은 posterior값을 최대로 하는 label값 선택
Optimal Classification
f^=fargminP(f(X)=Y)
y^=yargmax∑θi∈ΘP(y∣θi)P(θi∣D)
y^=yargmaxP(Y=y∣X=x)=yargmaxP(X=x∣Y=y)P(Y=y)
Bayes Risk - 추후 재정리
Optimal Classification의 한계
y^=yargmaxP(X=x∣Y=y)P(Y=y)
-
feature 개수가 많아짐에 따라 feature compound가 급격하게 늘어남 (총 feature = (2^D-1)*k)
-
충분한 샘플을 확보하기가 힘들기 때문에, sparse한 데이터가 되어 학습에 문제가 발생
Conditional Independence Assumption
P(X=<x1,⋯,xi>∣Y=y)≈∏iP(Xi=xi∣Y=y)
P(x1∣x2,y)=P(x1∣y)
Conditional(local) vs Marginal Independence
P(X)=P(X∣Y)
- Conditional(local) Independence
P(x1∣x2,y)=P(x1∣y)
-
Conditional Independence는 latent variable이 존재하고, 이에 대해서 dependent하기 때문에, Y가 condition일 경우 상호간에는 independent
-
Naive Bayes에서는 Label Y를 latent variable로 가정, 이에 대해서 모든 변수가 종속적인 것으로 가정하고 Y를 condition으로 줌
-
주의: Conditional Independence는 latent variable이 condition일 경우에만 독립
Naive Bayes Classifier
- conditional independence 가정시
y^=yargmaxP(X=x∣Y=y)P(Y=y)
≈yargmaxP(Y=y)∏1≤i≤dP(Xi=xi∣Y=y)=fNB(x)
- 해당 식을 MLE식과 비교하여 정확한 차이를 숙지하자 개념적으로는 차이가 크지만, 계산방법에 있어서는 어느정도 유사
Logistic Regression
σ(z)=1+exp(−z)1
logit(p)=ln(1−pp)
-
Logistic Function의 domain = Logit Function의 range = (−∞,+∞) : input feature
-
Logit Function의 domain = Logistic Function의 range = (0,1) : 확률을 표현하기에 적합
-
Logit을 θTx로, x의 매퍼를 정의하여 Logistic Function을 x축방향 scaling(variance) 및 translation(bias)
- 본래 bias θ0항이 포함되어 translation이 정의되나, (x0=1)조건을 통해 간략히 translation을 포함
z=ln(1−pp)=Xθ
hθ(x)=σ(θTx)=1+exp(−θTx)1
P(y∣x)=μ(x)y(1−μ(x))1−y
μ(x)=1+exp(−θTx)1=1+exp(−Xθ)1=P(y=1∣x)
Xθ=ln(1−μ(x)μ(x))
θ^=θargmaxP(D∣θ)
-
MLE의 대상 D는 상황에 따라 의미가 다르다: 식에서 D가 무엇을 의미하는지 헷갈리지 말 것
-
Likelihood는 단순히 모수에 대하여 sample(관측값)이 발현할 확률
-
Likelihood를 과대해석하여 의미를 부여하려 하지 말 것 - 여기서는 모수와 X에 따른 Y의 발현확률
-
MCLE (Maximum Conditional Likelihood Estimation)
θ^=θargmaxP(D∣θ)=θargmax∏1≤i≤NP(Yi∣Xi;θ)
=θargmaxln{∏1≤i≤NP(Yi∣Xi;θ)}=θargmax∑1≤i≤Nln{P(Yi∣Xi;θ)}
P(Yi∣Xi;θ)=μ(Xi)Yi(1−μ(Xi))1−Yi
lnP(Yi∣Xi;θ)=Yilnμ(Xi)+(1−Yi)ln(1−μ(Xi))
=Yi(lnμ(Xi)−ln(1−μ(Xi))+ln(1−μ(Xi))
=Yi(ln1−μ(Xi)μ(Xi))+ln(1−μ(Xi))
=YiXiθ+ln(1−μ(Xi))
=YiXiθ−ln{1+exp(Xiθ)}
∂θj∂[∑1≤i≤NYiXiθ−ln{1+exp(Xiθ)}]
=∑1≤i≤NXi,j(Yi−1+exp(Xiθ)exp(Xiθ))
=∑1≤i≤NXi,j(Yi−P(Yi=1∣Xi;θ))=0
θjt+1=θjt+ch∂θj∂f(θt)
=θjt+ch∑1≤i≤NXi,j(Yi−1+exp(Xiθt)exp(Xiθt))
−∑1≤i≤NlnP(Yi∥Xi;θ)=−∑1≤i≤N{Yilnμ(Xi)+(1−Yi)ln(1−μ(Xi))}
Generative - Discriminative Pair
Naive Bayes Classifier - Logistic Regression
- Naive Bayes Classifier에서 Gaussian Distribution가정, class conditional variance를 동일하다고 가정할 경우, 식을 정리하면 Linear Regression의 형태가 됨
Softmax Regression(Multinomial Logistic Regression)
σ(z)j=∑k=1Kezkezj(forj=1,⋯,K)
- Softmax Function의 loss function
P(y∣x)=p1y1(1−p1)1−y1
P(y∣x)=p1y1(1−p1)1−y1=p1y1p0y0
P(y∣x)=p1y1p2y2p3y3⋯pCyC
=∏1≤j≤Cpjyj
−∑1≤i≤NlnP(Yi,j∥Xi;θ)=−∑1≤i≤N∑1≤j≤CYi,jlnμj(Xi)
-
결과가 cross entropy의 식이 된다
-
logistic regression에서도 마찬가지, 분포로부터 얻은 negative log likelihood는 둘다 cross entropy의 식
-
cross entropy를 이처럼 KL-divergence를 통하여 모델과 타겟의 유사도를 판정한다는 개념 외에도, 분포 자체의 likelihood를 최대화하는 MLE과정에서의 목적함수로서의 개념으로도 이해할 수 있다.
Support Vector Machine
-
이 부분에 있어서는 이미 이해도가 높기에 간략히 정리하고 넘어가고, 추후 이슈가 발생할 때에 내용을 보완하기로 한다
-
개념 자체는 간단하기 때문에 기본개념과 dual problem, kernel trick부분만 간단히 정리
-
추후 linear programming, quadratic programming, dual problem에 대하여 집중적으로 정리해 본다
-
추후 주제와는 별개로 convex optimization에 중점을 두고 생각해 본다
Problem Definition
wTx+b=0
wTx++b=+δ
wTx−+b=−δ
wTx++b≥+δ:y=+1
wTx−+b≤−δ:y=−1
y(wTx+b)≥δ
∥w∥2δ
y(wTx+b)/δ≥1
wTx+b=0,(wTx+b)/δ=0
y(wTx+b)≥1
y(wTx+b)−1≥0
min∥w∥
min21∥w∥2
-
quadratic programming을 이용하여 풀거나, lagrange duality를 이용하여 풀거나
-
알고리즘적인 부분은 여유 있을 때 보고, 지금은 lagrange duality를 이용하여 이차식의 최소값을 gradient descent로 푸는 방식으로 해결하자
Soft-margin and Penalization
- Zero-One Loss 적용한 objective function
min21∥w∥2+C∗#error
s.t.(wTxi+b)yi≥1
min21∥w∥2+C∑inξi
s.t.yi(wTxi+b)≥1−ξi,ξi≥0
ξi=max(0,{1−yi(wTxi+b)})
-
parameter C의 효과
-
C가 클 수록 slack variable의 영향(strength of loss function)이 커지고, 이에 따라 soft-margin이 작아짐
-
C가 작을 경우 slack variable의 영향(strength of loss function)이 작아지고, 이에 따라 soft-margin이 넓어짐
-
C가 0일 경우, slack variable에 대한 제한이 없기에 hyperplane은 제 구실을 하지 못함
-
C가 무한대일 경우, slack variable을 허용하지 않기에 hard-margin
Langrangian Dual Problem
optimizef(x)
subjectto
gi(x)≤0
hi(x)=0
-
KKT - 1: stationarity
- lagrange multiplier method 의 핵심제약조건: 정류점(local max / local min / saddle)을 찾는 제약조건
∇f(x∗)=∑i=1mμi∇gi(x∗)+∑j=1lλj∇hj(x∗)
−∇f(x∗)=∑i=1mμi∇gi(x∗)+∑j=1lλj∇hj(x∗)
gi(x∗)≤0,fori=1,⋯,m
hj(x∗)=0,forj=1,⋯,l
μi≥0,fori=1,⋯,m
μigi(x∗)=0,fori=1,⋯,m
minLP=21∥w∥2+C∑i=1nξi+∑i=1nαi{1−yi(wTxi+b)−ξi}+∑i=1n−βiξi
=21∥w∥2+C∑i=1nξi−∑i=1nαi{yi(wTxi+b)+ξi−1}−∑i=1nβiξi
∂w∂L=0∂b∂L=0∂ξ∂L=0
w=∑i=1nαiyixi
∑i=1nαiyi=0
∑i=1n(C−αi−βi)=0
- Primal feasibility condition
yi(wTxi+b)≥1−ξi,ξi≥0
- Dual feasibility condition
αi≥0,βi≥0
- Complementary slackness condition
αi{yi(wTxi+b)+ξi−1}=0,βiξi=0
- derived condition (from stationary & dual feasibility)
C≥αi≥0
minLP=21∥w∥2+C∑i=1nξi−∑i=1nαi{yi(wTxi+b)+ξi−1}−∑i=1nβiξi
maxLD=∑i=1nαi−21∑i=1n∑j=1nαiαjyiyjxiTxj
(∑i=1nαiyi=0)
(αi{yi(wTxi+b)−1}=0)
(C≥αi≥0)
Kernel Trick
-
Mercer's theorem
-
K(x,y)가 positive semidefinite할 경우, K(xi,xj)=ϕ(xi)⋅ϕ(xj)=ϕ(xi)Tϕ(xj)를 만족하는 ϕ 존재
-
다른 공간으로 매핑하는 함수ϕ의 존재를 알기에, K를 kernel로 사용 가능
-
ϕ를 고차원 basis function으로 mapping시킬 경우, 연산량이 대단히 높음 (RBF의 경우 무한대의 차원으로 매핑)
-
kernel을 이용하여 이러한 문제를 해결
-
dual problem 적용
maxLD=∑i=1nαi−21∑i=1n∑j=1nαiαjyiyjϕ(xi)Tϕ(xj)
=∑i=1nαi−21∑i=1n∑j=1nαiαjyiyjK(xi,xj)
w=∑i=1nαiyiϕ(xi)
b=yi−∑i=1nαiyiϕ(xi)Tϕ(xj)
sign(wϕ(x)+b)=sign(∑i=1nαiyiϕ(xi)ϕ(x)+yi−∑i=1nαiyiϕ(xi)Tϕ(xj))
=sign(∑i=1nαiyiK(xi,x)+yi−∑i=1nαiyiK(xi,xj))
K(x1,x2)=x1Tx2
K(x1,x2)=(γ(x1Tx2)+θ)d
- RBF(Radial Basis Function), Gaussian Kernel
K(x1,x2)=exp(−γ∥x1−x2∥2)
K(x1,x2)=tanh(γ(x1Tx2)+θ)
Training / Testing & Regularization
Source of error in two folds
Eout≤Ein+Ω
Eout:Estimationerror
Ein:Errorfromapproximation
Ω:Errorfromvarianceoftheobservation
Bias-Variance Decomposition
(문인철교수 강의보다는 PRML의 식이 더 입맛에 맞아 이쪽의 notation으로 정리)
-
notation
-
t: 입력 데이터 x에 대응되는 target값 (x에 대하여 단일 값이 아닌 분포의 형태를 띔)
-
h: target t를 real world의 전체 dataset에 대하여 평균낸 optimal prediction
-
y: dataset을 통하여 예측한 hypothesis
-
L: loss
h(x)=E(t∣x)=∫tp(t∣x)dt
E(L)=∬{y(x)−t}2p(x,t)dxdt
=∫{y(x)−h(x)}2p(x)dx+∬{h(x)−t}2p(x,t)dxdt
∫{y(x)−h(x)}2p(x)dx=∫ED({y(x;D)−h(x)}2)p(x)dx
ED({y(x;D)−h(x)}2)
=ED({y(x;D)−ED(y(x;D))+ED(y(x;D))−h(x)}2)
=ED({y(x;D)−ED(y(x;D))}2+{ED(y(x;D))−h(x)}2
+2{y(x;D)−ED(y(x;D))}{ED(y(x;D))−h(x)})
ED(y(x;D))−h(x)=const
ED(y(x;D)−ED(y(x;D)))=0
∴∫ED({y(x;D)−h(x)}2)p(x)dx
=∫{ED(y(x;D))−h(x)}2p(x)dx+∫ED({y(x;D)−ED(y(x;D))}2)p(x)dx
∴E(L)=∬{y(x)−t}2p(x,t)dxdt
=∫{ED(y(x;D))−h(x)}2p(x)dx(bias)2
+∫ED({y(x;D)−ED(y(x;D))}2)p(x)dx(variance)
+∬{h(x)−t}2p(x,t)dxdt(noise)
-
bias: model이 real world를 충분하게 표현할 수 없는 한계
- to reduce: more complex model
-
variance: sample과 infinite dataset의 괴리
-
Dataset이 제한되어있을 때, bias와 variance는 model complexity를 변수로 하는 tradeoff관계
-
Model Complexity를 높임 (unstable, specific, overfitting)
-
variance증가, bias감소
-
dataset에 대하여 높은 성능
-
real world에 대하여 unstable
-
Model Complexity를 낮춤 (stable, general, underfitting)
-
variance감소, bias증가
-
dataset을 잘 표현하지 못함
-
real world에 대하여 stable
Occam's Razor
- 오차가 비슷할 경우, complexity가 낮은 모델을 선택
Cross Validation
Performance metrics
|||실제정답|
|
|
Positive |
Negative |
| 실험결과 |
Positive |
TP(True Positive) |
FP(False Positive) |
|
Negative |
FN(False Negative) |
TN(True Negative) |
-
Accuracy = TP+FP+FN+TNTP+TN
-
Precision = TP+FPTP
-
Recall = TP+FNTP
-
True negative rate(specificity) = TN+FPTN
-
Precision
-
Positive로 판정한 data중 실제로 positive인 data
-
Precision을 높일 경우 False Positive를 최소화하게 됨, positive 판정에 대하여 엄격
-
높은 Precision을 요구하는 예로 spam filter가 있음
-
Recall
-
실제로 positive인 data중 positive로 판정한 data
-
Recall의 높일 경우 False Negative를 최소화하게 됨, negative 판정에 대하여 엄격
-
높은 Recall을 요구하는 예로 CRM이 있음
-
F-measure
Fβ=β2∗precision+recall(1+β2)∗precision∗recall
-
F1: evenly weighted
-
F2: emphasizes recall
-
F0.5: emphasizes precision
Regularization
PRML과 (http://enginius.tistory.com/476)의 게시글 정리,
블로그의 게시글에 추가적으로 볼 내용 있으나, Legendre polynomial / Augmented error파트는 다 읽지 못함
추후에 반드시 공부할 것
Eout≤Ein+Ω
E(w)=ED(w)+λEW(w)
-
sacrifice perfect fit, complexity를 낮추는 효과(variance control)
-
weight decay : coefficient(weight)의 크기를 variance의 요인(복잡도)의 평가 기준으로 삼음
E(w)=21∑n=1N{tn−wTϕ(xn)}2+21∑j=1M∥wj∥q
Mahalanobis Distance / Singular Value Decomposition (과정외)
DM2=(x−μ)TΣ−1(x−μ)
XD=USVT
Σ=XDTXD=VSUTUSVT=VSSVT
Σ+=VS+S+VT
DM2=(x−μ)TΣ−1(x−μ)=(x−μ)TVS+S+VT(x−μ)
={(x−μ)TVS+}{(x−μ)TVS+}T