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 9
Kernel Optimization
kernelのあるパラメータを変えて,問題により適したkernelをつくることができる. 例えばradial basis kernelのβのようなパラメータを変化させたり,xの次元に重み付けをしてからϕに渡すような方法が考えられる. パラメータのよさの基準には,cross-validationやgeneralization errorに関連した基準(marginなど)が用いられる. marginはϕを定数倍すると同時に倍化するため,normalization ‖ϕ(x)‖=1という制限を加える.normalizationは例えば
˜K(x,x′)=K(x,x′)√K(x,x′)K(x,x′)
で実現できる.
他のkernel optimizationの方法にkernel alignentがある. すなわち,パラメータやGram matrixを理想的なkernelに近づけるように調整するのである. 例えばclassificationでは
K∗ij=yiyj
を標的となるkernelのGram matrixとする.というのは,αj=1/nとすれば,
n∑j=1αjyjK∗ij=yi
と,全てのtraining exampleが等しいmarginで正しく分類できるためである.
kernelをこの標的に近づける方法を考える.
K(x,x′;θ)=m∑i=1θiKi(x,x′),θi≥0,m∑i=1θi=1
のように,kernelたちのconvex combinationによってkernel Kを構成するとき,θiが我々が選べるパラメータである. KのGram matrix Kij(ϕ)を,標的のGram matrix K∗ijに近づけるため,Gram matrixをベクトルと考えて,その内積を
<K∗,Kθ>=n∑i,j=1K∗ijKij(θ)
と定める. こうしてθはK∗とK(θ)のcosine類似度
<K∗,Kθ>√<K∗,K∗><Kθ,Kθ
を最大化させるθを求めれば良い.
Model (kernel) selection
少ないtraining exampleに複雑すぎるmodel(kernel)を使うと,over-fittingという問題が起きる. 問題によって使うkernelの種類を制限することがある. kernelを選ぶことで
linearなK1があるとき,discriminant functionは
f1(x;θ,θ0)=θTϕ(1)(x)+θ0
という形をしている.ϕ(1)(x)はK1(x,x′)=ϕ(1)(x)Tϕ(1)(x′)となる関数で,xのK1によるfeature representationという. θ,θ0を変えることで可能なdiscriminant functionの集合
F1={f1(⋅;θ,θ0):θ∈Rd1,θ0∈R}
を構成できる. 同様にquadratic kernelによって可能な集合F2がある. このように
Model Selection Preliminaries
Sn={(x1,y1)...,(xn,yn)}はtraining setとする. Fiをmodelとして選んで,ˆfi∈Fiをbest fitting discriminant functionとすると,ˆfiは
J(θ,θ0)=∑tLoss(yt,f(xt;θ,θ0))+λn‖θ‖2
を最小化する.Lossはhinge lossでもlogisticでも他の何でもよい. λnはnによってへk擦るregularization parameterである. ˆfi=f(x;ˆθ,^θ0)が新しいexampleにどれほどgeneralizeできているかが問題となる.
それぞれの(θ,θ0)すなわちそれぞれのdiscriminant functionはexpected lossあるいはrisk
R(θ,θ0)=E(x,y)∼P{Loss∗(y,f(x;θ,θ0))}
をもつ.ここでPは問題となるデータを生成している分布で,普通は未知であり,(x,y)もそこから生成されていると考える. これが,我々が最小化したいgeneralization errorである. Snによって決まるˆfiのrisk R(ˆfi)を最小化するFiを選ぶことが最終的な目標である. ただしSnはPから生成されるので,R(ˆfi)も^fiも確率変数である(理論的には便利な仮定だが,実際にSnが正しくPから生成されているとは限らない).
Pが既知であるならargmaxyP(y|x)を考えれば良いが,ここではPは未知として,Snだけを使ってˆfi∈Fiを,さらにはFiをも選ばなければならない.
簡単のため,F1,F2を,linearとquadraticなdiscriminant functionの集合とし,F1,F2のみを議論する. F1⊂F2だから,F2から選ぶことで必ずtraining setにおけるerrorが小さいfを得られるが,example とlabelの関係が線形であるときにも非線形なF2から選ぶと,over-fittingしているかもしれない. 真の分布が線形分離可能であるとき,quadraticなdecison boundaryはノイズに影響されてgeneralizeがうまく行っていないということである. したがってFが複雑になるほどtraining setに対する性能が向上する一方でtest setに対する性能は低下していく(fig.1). よって適切な複雑さを選ぶことが重要になってくる.
Model selection criteria: structural risk minimization
expected risk
R(ˆfi)=E(x|y)∼P{Loss∗(y,^fi(x))}
とempirical risk(training errro)
Rn(ˆfi)=1nn∑t=1(Loss∗(y,^fi(x)))
を関連付けることができれば,Rn(ˆfi)を計算することでR(ˆfi)を議論することが出来る. モデルが複雑になるほどtraining errorがgeneralization errorを表現しなくなっていくと考えられるので,RnとRの関係を以下のように記述する.
R(ˆfi)≤Rn(^fi)+C(n,Fi,δ) (16)
Cはcomplexity penaltyといって,Fiが複雑になるほど増大し,nによって減少する.
(16)はupper bound guarantee of generalization errorを与える. このupper boundが最小になるようなFiを選べば良い. fig.2 はモデルの複雑さとこのboundの関係である.
Fiが有限集合である時の不等式(16)の意味を考える.
P(maxf∈Fi|R(f)−Rn(f)|>ϵ)≤δ
の上限を見積もる. これは少なくとも1つのfについて,そのtraining errorとriskの差がϵを上回る確率で,sample spaceはSnの選び方である.
δ=P(maxf∈Fi|R(f)−Rn(f)|>ϵ) (6)は
R(f)≤Rn(f)+ϵ for all f∈Fi
という主張が成立しない確率と言える. δを固定すると,(6)をみたす最小のϵ=ϵ(n,Fi,δ)がcomplexity penaltyとなる.
(6)によってδを計算することはふつう不可能だから,上限を与える.
P(maxf∈Fi|R(f)−Rn(f)|>ϵ)=P(∃f:|R(f)−Rn()|>ϵ)≤∑FiP(|R(f)−Rn(f)|>ϵ) (8)
fを固定してP(|R(f)−Rn(f)|>ϵ)を考える. training sample (xt,yt)がi.i.d.に得られて,st={1 if ytf(xt)≤00otherwiseとすると empirical error Rn(f)はstの和で,
Rn(f)=1nn∑t=1st
E[st]=R(f)だから,
P(|R(f)−Rn(f)|>ϵ)=P(|q−1n∑tst|>ϵ)
ただしq=R(f)で,確率のsample spaceはP(st=1)=qをみたすs1,...,snである.
Hoeffding’s inequalityから
P(|q−1nn∑t=1st|>ϵ)≤2exp(−2nϵ2)
が成立する. この上限はfによらない. この結果を(8)に代入して,
P(maxf∈Fi|R(f)−Rn(f)|>ϵ)≤2|Fi|exp(−2nϵ2)=δ
が成立する. ϵに解いて,
ϵ=ϵ(n,Fi,δ)=√log|Fi|+log(2/δ)2n
である.これがFi<∞の場合のcomplexity penaltyである.
以上より,少なくとも1−δの確率で
R(f)≤Rn(f)+√log|Fi|+log(2/δ)2n, uniformly for all f∈Fi
が成立する. model selectionでは{Fi}のそれぞれについて^fiを選び,ˆfi,|Fi|によってboundを計算し,boundが最小となるFiを選ぶ. このときnとδは固定する.
Example
δ=0.05とし,training error 0, generalization error が最大10%であるようにtraining exampleの個数nを見積もる.
R(f)≤0+√log|Fi|+log(2/0.05)2n≤0.10
だから,
n=log|Fi|+log(2/0.05)2(0.10)2
である.
Model selection criteria: Bayesian score, Bayesian information criterion
linear regressionの例を通じてBayesian scoreについての理解を深める. モデルFはd次元のインプットxをy∈Rに写す写像で,
P(y|x,θ,σ2)=N(y;θTx,σ2)
とする. σ2を固定して,θだけを動かすとする. D={(x1,y1),...,(xn,yn)}が与えられたとき,likelihoodは
L(D;θ)=n∏t=1N(yt;θTxt,σ2)=∏t1√2πσ2exp(−12(yt−θTxt)2)
以前はLを最大化するˆθを唯一つ選んだが,Bayesian analysisではlinear regression functionたちをL(D;θ)によって重み付けして,それら全てを利用する.
このような枠組みでは,Dを得た後のθの知識はposterior distribution P(θ|D)であって,これはL(D;θ)と相似である.つまりP(θ|D)∝L(D;θ).
しかし例えばD=ϕの場合には∀θ.L(D;θ)=1だから,P(θ|D)が発散してしまう. よってprior distribution P(θ)を導入する.
P(θ)=N(θ;0,σ2P⋅I)
すると
P(θ|D)∝L(D;θ)P(θ)
で,normalization constantは
P(D|F)=∫L(D;θ)P(θ)dθ
であり,marginal likelihoodともいう. これはFとDにのみよる. regressionでは
logP(D|F)=−n2log(2πσ2)+d2logλ−12log|XTX+λI|−12σ2(‖y‖−yTX(XTX+λI)−1Xty)
ここでλ=σ2/σ2Pはnoise とpriorの比で,X=[x1,...,xn]T,y=[y1,...,yn]Tである.
このときposteriorは
P(θ|D)=L(D;θ)P(θ)P(D|F)
と正規化される.P(θ|D)=N(θ;μ,Σ)とposteriorも正規分布する.
μ=(XTX+λI)−1XTyΣ=σ2(XTX+λI)−1
新たなxに対する推測は
P(y|x,D)=∫P(y|x,θ)P(θ|D)dθ
で与えられる. 真のBayesianはまさに全てのθについて上の積分を行うが,我々はfeature mapping x↦ϕ(x)で特徴づけられるregression modelにθを制限して議論することになる.linearなϕ(1)とquadraticなϕ(2)をfeature mappingとする.
F1: P(y|x,θ,σ2)=N(y;θTϕ(1)(x),σ2),θ∈Rd1,P(θ|F1)F2:P(y|x,θ,σ2)=N(y;θTϕ(2)(x),σ2),θ∈Rd2,P(θ|F2)
が比較するmodelである. modelにPrior distribution P(θ|F)を含むのには利点も欠点もあるが,どちらにせよ含まないのと大した差はない.
F1,F2のうち,よりmarginal likelihood (Bayesian score)が大きい方を選ぶことになる. すなわち,Dを与えられたら,P(D|Fi)>P(D|Fj)ならばFiを選ぶのである.
Model selection criteria: Bayesian information criterion(BIC)
Bayesian information criterion(BIC)はBayesian scoreに対するasymptotic(漸近的な) 近似であって,その単純さのためによく使われる.
BIC=l(D,ˆθ)−d2log(n)
である.ここでl(D;θ)はtraining dataに対するmaximum likelihoodの対数であって,dはmodelのindependent parameterの個数, nはtraining exampleの個数である. BICはnが十分大きいときBayesian scoreに漸近する. Bayesian scoreの計算は困難なことが多いので,かわりにBICを使う. Bayesian scoreと同様に,BICが大きい方のmodelを選ぶ.
0 件のコメント:
コメントを投稿