📖 학습주제
머신러닝, Scikit-learn, 실전 머신러닝 문제 실습 (4)
선형회귀 모델
선형 기저 함수 모델
가장 단순한 형태의 선형모델
y(x,w)=w0+w1x1+⋯+wDxD,x=(x1,x2,⋯,xD)
x에 대해 비선형 함수로 만들면
y(x,w)=w0+j=0∑M−1wjϕj(x)y(x,w)=j=0∑M−1wjϕj(x)=wTϕ(x)ϕ0(x)=1
이 때, x에 대해 비선형인 함수 ϕj(x)를 기저함수(basis function)라고 한다.
-
다항식(polynomial) 기저함수 : ϕj(x)=xj
-
가우시안 기저함수 : ϕj(x)=exp{−2s2(x−μj)2}
-
시그모이드(sigmoid) 기저함수 : ϕj(x)=σ(sx−μj) (이 때, σ(α)=1+exp(−α)1)
최대우도와 최소제곱법
에러함수가 가우시안 노이즈를 가정할 때 최대우도로부터 유도될 수 있다.
proof
t=y(x,w)+ϵ
- y(x,w) : 결정론적(deterministic) 함수
- ϵ : 가우시안 분포 N(ϵ∣0,β−1)를 따르는 노이즈 확률변수
따라서 t의 분포는
p(t∣x,w,β)=N(t∣y(x,w),β−1)
결정이론에 의해 제곱합이 손실함수로 쓰이는 경우, 새로운 x가 주어졌을 때 t의 최적의 예측값은 t의 조건부 기댓값이다. t가 위의 분포를 따를 때, 조건부 기댓값은 다음과 같다.
E[t∣x]=∫p(t∣x)dt=y(x,w)
파라미터인 w를 찾기 위해 최대우도추정법을 이용한다.
- 입력값 : X=x1,x2,⋯,xN
- 출력값 : t=t1,t2,⋯,tN
우도함수가
p(t∣X,w,β)=n=1∏NN(tn∣wTϕ(xn),β−1)
로그 우도함수가
lnp(t∣w,β)=n=1∑NlnN(tn∣wTϕ(xn),β−1)=2Nlnβ−2Nln(2π)−βED(w)ED(w)=21n=1∑N{tn−wTϕ(xn)}2
따라서, 로그 우도함수를 최대화시키는 w값은 ED(w)로 주어진 제곱합 에러함수를 최소화시키는 값과 동일하다.
w에 대한 gradientvector는
∇lnp(t∣w,β)=n=1∑N{tn−wTϕ(xn)}ϕ(xn)T
따라서 w의 최적값은
wML=(ΦTΦ)−1ΦTt
이고 위 식을 normal equations라고 부른다.
Φ=⎣⎢⎢⎢⎢⎡Φ0(x1)Φ0(x2)⋮Φ0(xN)Φ2(x1)Φ2(x2)⋮Φ2(xN)⋯⋯⋱⋯ΦM−1(x1)ΦM−1(x2)⋮ΦM−1(xN)⎦⎥⎥⎥⎥⎤
proof
∣∣Φw−t∣∣22=(Φw−t)T(Φw−t) 를 최소화 하는 w를 찾는다.
(Φw−t)T(Φw−t)=(wTΦT−tT)(Φw−t)=wTΦTΦw−tTΦw−wTΦTt+tTt=wTΦTΦw−2tTΦw−tTt∇w∣∣Φw−t∣∣22=2ΦTΦw−2ΦTtΦTΦw=ΦTtwML=(ΦTΦ)−1ΦTt
편향 파라미터(bias parameter) w0
ED(w)=21n=1∑N{tn−w0−j=1∑M−1wjϕj(xn)}2w0=tˉ−j=1∑M−1wjϕjˉ=tˉ−ϕˉTwtˉ=N1n=1∑Ntn,ϕˉ=N1n=1∑Nϕj(xn)
β의 최적값은
βML1=N1n=1∑N{tn−wMLTϕ(xn)}2
온라인 학습 (Sequential Learning)
배치 학습
- 데이터 전체를 사용해서 모델 학습
- 데이터가 크면 계산량이 많음
온라인 학습
- 데이터 샘플 하나를 보고 모델을 업데이트
- 데이터가 큰 경우 또는 연속적으로 공급되는 데이터인 경우에 적합
규제화
목적 : 과적합 방지
ED(w)+λEW(w)
가장 단순한 형태
EW(w)=21wTwED(w)=21n=1∑N{tn−wTϕ(xn)}2
최종적인 에러함수
21n=1∑N{tn−wTϕ(xn)}2+21wTw
w의 최적값
w=(λI+ΦTΦ)−1ΦTt
일반화된 규제화
E(w)=21n=1∑N{tn−wTϕ(xn)}2+21n=1∑M∣wj∣q
편향-분산 분해 (Bias-Variance Decomposition)
모델이 과적합되는 현상에 대한 이론적 분석
제곱합 손실함수가 주어졌을 때의 최적 예측값
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
제한된 데이터셋만 주어져 있기 때문에 h(x)를 정확히 알 수는 없다. 대신 파라미터화 된 함수 y(\textbf{x},\textbf{w})를 사용해 최대한 손실함수의 기댓값을 최소화한다.
이는 ∫{y(x)−h(x)}2p(x)dx을 최소화하는 y를 찾는 것과 같다.
베이지안 선형회귀
많은 머신러닝 방법들은 최대우도를 사용해 모델 파라미터를 학습하는데 이러한 모델은 과적합의 가능성이 높다. 이 문제에 대한 해법으로 제시되는 것이 베이지안 방법이다.
베이지안 방식의 핵심은 예측핪이 파라미터의 특정 configuration에만 의존하는 것이 아니라 모든 가능한 configuration을 종합해 예측하기 때문에 새로운 데이터가 들어왔을 때 더 안정적인 예측이 가능하다는 것이다.