Processing math: 100%

2017年8月29日火曜日

MIT OCW, Machine Learning 10日目 モデル選択の理論1

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では
Kij=yiyj
を標的となるkernelのGram matrixとする.というのは,αj=1/nとすれば,
nj=1αjyjKij=yi
と,全てのtraining exampleが等しいmarginで正しく分類できるためである.
kernelをこの標的に近づける方法を考える.
K(x,x;θ)=mi=1θiKi(x,x),θi0,mi=1θi=1

のように,kernelたちのconvex combinationによってkernel Kを構成するとき,θiが我々が選べるパラメータである. KのGram matrix Kij(ϕ)を,標的のGram matrix Kijに近づけるため,Gram matrixをベクトルと考えて,その内積を
<K,Kθ>=ni,j=1KijKij(θ)
と定める. こうしてθKK(θ)の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)となる関数で,xK1によるfeature representationという. θ,θ0を変えることで可能なdiscriminant functionの集合
F1={f1(;θ,θ0):θRd1,θ0R}
を構成できる. 同様にquadratic kernelによって可能な集合F2がある. このように

Model Selection Preliminaries

Sn={(x1,y1)...,(xn,yn)}はtraining setとする. Fiをmodelとして選んで,ˆfiFiをbest fitting discriminant functionとすると,ˆfi
J(θ,θ0)=tLoss(yt,f(xt;θ,θ0))+λnθ2
を最小化する.Lossはhinge lossでもlogisticでも他の何でもよい. λnnによってへ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を選ぶことが最終的な目標である. ただしSnPから生成されるので,R(ˆfi)^fiも確率変数である(理論的には便利な仮定だが,実際にSnが正しくPから生成されているとは限らない).
Pが既知であるならargmaxyP(y|x)を考えれば良いが,ここではPは未知として,Snだけを使ってˆfiFiを,さらにはFiをも選ばなければならない.
簡単のため,F1,F2を,linearとquadraticなdiscriminant functionの集合とし,F1,F2のみを議論する. F1F2だから,F2から選ぶことで必ずtraining setにおけるerrorが小さいfを得られるが,example とlabelの関係が線形であるときにも非線形なF2から選ぶと,over-fittingしているかもしれない. 真の分布が線形分離可能であるとき,quadraticなdecison boundaryはノイズに影響されてgeneralizeがうまく行っていないということである. したがってFが複雑になるほどtraining setに対する性能が向上する一方でtest setに対する性能は低下していく(fig.1). よって適切な複雑さを選ぶことが重要になってくる.

enter image description here

Model selection criteria: structural risk minimization

expected risk
R(ˆfi)=E(x|y)P{Loss(y,^fi(x))}
empirical risk(training errro)
Rn(ˆfi)=1nnt=1(Loss(y,^fi(x)))
を関連付けることができれば,Rn(ˆfi)を計算することでR(ˆfi)を議論することが出来る. モデルが複雑になるほどtraining errorがgeneralization errorを表現しなくなっていくと考えられるので,RnRの関係を以下のように記述する.
R(ˆfi)Rn(^fi)+C(n,Fi,δ)    (16)
Ccomplexity penaltyといって,Fiが複雑になるほど増大し,nによって減少する.
(16)はupper bound guarantee of generalization errorを与える. このupper boundが最小になるようなFiを選べば良い. fig.2 はモデルの複雑さとこのboundの関係である.
enter image description here

Fiが有限集合である時の不等式(16)の意味を考える.
P(maxfFi|R(f)Rn(f)|>ϵ)δ
の上限を見積もる. これは少なくとも1つのfについて,そのtraining errorとriskの差がϵを上回る確率で,sample spaceはSnの選び方である.
δ=P(maxfFi|R(f)Rn(f)|>ϵ)  (6)
R(f)Rn(f)+ϵ  for all fFi
という主張が成立しない確率と言える. δを固定すると,(6)をみたす最小のϵ=ϵ(n,Fi,δ)がcomplexity penaltyとなる.
(6)によってδを計算することはふつう不可能だから,上限を与える.
P(maxfFi|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)=1nnt=1st
E[st]=R(f)だから,
P(|R(f)Rn(f)|>ϵ)=P(|q1ntst|>ϵ)
ただしq=R(f)で,確率のsample spaceはP(st=1)=qをみたすs1,...,snである.
Hoeffding’s inequalityから
P(|q1nnt=1st|>ϵ)2exp(2nϵ2)
が成立する. この上限はfによらない. この結果を(8)に代入して,
P(maxfFi|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 fFi
が成立する. 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)2n0.10
だから,
n=log|Fi|+log(2/0.05)2(0.10)2
である.

Model selection criteria: Bayesian score, Bayesian information criterion

linear regressionの例を通じてBayesian scoreについての理解を深める. モデルFd次元のインプットxyRに写す写像で,
P(y|x,θ,σ2)=N(y;θTx,σ2)
とする. σ2を固定して,θだけを動かすとする. D={(x1,y1),...,(xn,yn)}が与えられたとき,likelihoodは
L(D;θ)=nt=1N(yt;θTxt,σ2)=t12πσ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,σ2PI)
すると
P(θ|D)L(D;θ)P(θ)
で,normalization constantは
P(D|F)=L(D;θ)P(θ)dθ
であり,marginal likelihoodともいう. これはFDにのみよる. regressionでは
logP(D|F)=n2log(2πσ2)+d2logλ12log|XTX+λI|12σ2(yyTX(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の個数である. BICnが十分大きいときBayesian scoreに漸近する. Bayesian scoreの計算は困難なことが多いので,かわりにBICを使う. Bayesian scoreと同様に,BICが大きい方のmodelを選ぶ.

0 件のコメント:

コメントを投稿