Loading [MathJax]/jax/output/HTML-CSS/jax.js

2017年8月24日木曜日

MIT OCW, Machine Learning 08日目 カーネル

Rohit Singh, Tommi Jaakkola, and Ali Mohammad. 6.867 Machine Learning. Fall 2006. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.

Lecture 6.

Active Learning (cont)

y=θx+θ0+ϵ,   ϵN(0,σ2)というlinear modelについて,最尤法で推測されるパラメータˆθ,^θ0のMSEは
E[[ˆθ^θ0][θθ0]2|X]=σ2Tr[(XTX)1]
となることから,Xをうまく設計することで少ないexampleからよりよい推測を行うことをactive learningといった. Xの設計で最も単純な方法は,x1,...,xkがあるときに,Tr[XTX]が最少になるようにxk+1を選ぶという操作を繰り返すというのがある. すでにXがあって,A=(XTX)1とする. [xT,1]Xの行に新たに加えることを考える.
[XxT1]T[XxT1]=(XTX)+[x1][x1]T=A1+vvT   (v=[xT,1]T)
Tr[(A1+vvT)1]
を最小化するvを考える.
(A1+vvT)1=A11+vTAvAvvTA
であって,Tr(A+B)=Tr(A)+Tr(B),Tr(AB)=Tr(BA)を考えれば
Tr[(A1+vvT)1]=Tr[A]vTAAv1+vTAv
が成立する. (vTAAvは実数で,traceはその実数そのもの)
任意のvvTAAv1+vTAv>だから,どのようなxを加えたとしてもMSEは減少するが,減少量が最大であるようなxを求めたい.
vTAAv1+vTAv
の大きさはAの最大の固有値が上限である. 言い換えると,新しいexampleによってパラメータ空間からせいぜい1つだけ自由度を減じることが出来る. xに制限がなければ,Aの最大の固有値に対応する固有ベクトルに平行な長さ無限のベクトルをvとするのだが,vcという制限が有る場合には,最大固有値に対応する固有ベクトルと平行でながさcのベクトルをvとする. ほかにもxに制限が有る場合には,vもその制限を考慮することになる.

これまでMSEを推定量の良さの基準としてきたが,今度はvarianceを考える.
var[y|x,X]=E[(ˆθTx+ˆθ0θTxθ0)2|x,X]=E[[x1]T([ˆθ^θ0][θθ0])([ˆθ^θ0][θθ0])T[x1]|x,X]=[x1]Tσ2(XTX)1[x1]=σ2vTAv

よって,vTAvが最大になるようなvがよいが,これはMSEを小さくするようなvと同じである.
(MSEを小さくしつつvarianceを小さくすることが対立することを言いたいのかと思ったら,varianceを大きくしたいらしい・・・)

Non-linear Predictions, Kernels

xの非線形な写像に対する像ϕ(x)に対してこれまで議論してきた方法が使える.例えばy=θx+θ0+ϵ,ϵN(0,σ2)というlinear modelが有るとき,xx2を含む高次元のベクトルに写像してquadratic(二次) modelが得られ,x3を含む高次元のベクトルに写像するとthird order modelが得られる.
ϕ(x)=[1,2x,x2]T,ϕ(x)=[1,3x,3x2,x3]Tのような感じである.23の意味は後で見る.
新しいpolynomial regression modelは
y=θTϕ(x)+θ0+ϵ,  ϵN(0,σ2)
となる. 高次元空間に写像してから線形回帰するわけだが,このときregularizationを行わないとoverfittingが起きることが多い.(figure 2)
!

xが多次元の場合も,
x=[x1,x2]Tϕ[1,x1,x2,2x1x2,x21,x22]T=ϕ(x)
というふうにしてより高次元な空間に写像できる.
高次元な空間への変換は計算コストが膨大になることが有るが,ϕを直接計算せずとも,例えば
ϕ(x)=[1,3x,3x2,x3]Tϕ(x)=[1,3x,3x2,x3]Tϕ(x)Tϕ(x)=1+3xx+3(xx)2+(xx)3=(1+xx)3
のように,ϕ(x)Tϕ(x)=k(x,x)と,ϕを暗黙に表現する計算が簡単なKが存在することが有る(存在するようにϕを定めたのである). ϕではなく計算が簡単なKを使うように問題を書き換えることを考える.

Lecture 7.

Linear Regression and Kernels

θ0を外したモデルy=θTϕ(x)+ϵはの推測は
J(θ)=nt=1(ytθTϕ(xt))2+λθ2
の最適化問題である. 前節で述べたとおり,ϕではなくkでこの最適化問題を表現する.
regularizationによってθ0に圧縮され,θのtraining feature vectorと関係ない次元は0になる. よってこの問題の解は{ϕ(xt)}の張る空間の元である.
proof.

局地の条件を考えると
dJdθ=2nt=1(ytθTϕ(xt))_αtϕ(xt)+2λθ=0
θ=1λnt=1αtϕ(xt)
dJdθ=0を満たして,最適解である.

αt=ytθTϕ(xt)=yt1λnt=1αtϕ(xt)Tϕ(xt)
が成立するから,αtytϕ(x),ϕ(x)だけで決まる.
Gram行列
K=[ϕ(x1)Tϕ(x1)ϕ(x1)Tϕ(x2)ϕ(x1)Tϕ(xn)ϕ(xn)Tϕ(x1)ϕ(xn)Tϕ(xn)]
によってベクトルで書くと
a=[α1,...,αn]Ty=[y1,...,yn]Ta=y1λKa
そして解は
ˆa=λ(λI+K)1y
ˆαtが得られたら,
y=ˆθTϕ(x)=nt=1(^αt/λ)ϕ(xt)Tϕ(x)=nt=1ˆαtK(xt,x)
によって,新しいexample xに対してresponseの推測yが計算できる.ここでK(xt,x)kernel functionという.

Kernels

以上で, regularized linear regressionをkernel formに変形できた. kernel function Kを変えることで,例えば任意の次数のpolynomial expansionが実現できるし,polynomial expansion以外のxを高次元に写した像を使ったlinear regressionも実現できる.
実現される高次元への写像の種類によってKを分類することが有る.例えば
- Polynomial kernel

K(x,x)=(1+xTx)p,  p=1,2,...
- Radial basis kernel
K(x,x)=exp(β2xx2),  β>0

polynomial kernelは,x=[x1,...,xn]T(x1++xn)pを二項展開したときの各項へと写す写像ϕを考えたときのkernel functionで, radial basis kernelは無限次元空間への写像のkernel functionである. radial basis functionはxxの近さを表していると考えることが出来る.

0 件のコメント:

コメントを投稿