• 検索結果がありません。

第 6 章 カーネル法

6.4 ガウス過程

6.4.1 線形回帰再訪

入力xに対して出力が

y(x)=wTϕ(x) (6.15)

と与えられるモデルを考え、wの事前分布を

p(w)=N(w|0, α−1I) (6.16)

とする。データ点の集合x1,· · · ,xNに対する関数の値の集合y(x1),· · ·,y(xN)をベクトルyと表現 すると

y=Φw (6.17)

となる。ここでΦnk=ϕk(xn)である。この平均と共分散は E[y] = ΦE[w]=0

cov[y] = E[yyT]=ΦE[wwT]ΦT = 1

αΦΦT =K (6.18)

となる。ただしKは

Knm=k(xn,xm)= 1

αϕ(xn)Tϕ(xm) (6.19)

なるカーネルである。

6.4.2 ガウス過程による回帰

観測される目標変数が、前節のynにガウス分布に従うノイズが混ざったもので与えられるモデ ルを考える。すなわち

tn =yn+ϵn (6.20)

とし、

p(tn|yn)=N(tn|yn, β−1) (6.21) であるとする。ノイズは各データに対して独立であるため、y=(y1,· · ·,yN)Tが与えられた時の目 標値t=(t1,· · ·,tN)Tの同時分布は

p(t|y)=N(t|y, β−1IN) (6.22)

となる。また前節より、周辺分布p(y)については

p(y)=N(y|0,K) (6.23)

である。したがって周辺分布p(t)は

p(t) =

∫

p(t|y)p(y)dy=N(t|0,C)

C(xn,xm) = k(xn,xm)+β−1δnm (6.24)

となる。

ガウス過程回帰に用いるカーネル関数としては k(xn,xm)=θ0exp

{−θ1

2||xn−xm||2}

+θ2+θ3xTnxm (6.25)

の形のものがよく用いられる。

次に、入力x1,· · ·,xNと対応するt1,· · ·,tNが与えられている場合の、入力xN+1に対する出力 tN+1を考える。これは

p(tN+1)=N(tN+1|0,CN+1) (6.26) を周辺化することで得られる。ここで、tN+1はベクトル(t1,· · ·,tN,tN+1)Tを表す。

CN+1 =



CN k kT c



 (6.27)

とあらわすことにすると

p(tN+1|t)=N(tN+1|kTC−N1t,c−kTCN−1k) (6.28) を得る。

6.4.3 超パラメータの学習

データ集合が与えられた場合の、超パラメータθの最尤推定の手法を考える。尤度関数の対数は ln p(t|θ)=−1

2ln|CN| −1

2tTC−N1t−N

2 ln(2π) (6.29)

であり、その微分は

∂

∂θi

ln p(t|θ)=−1 2Tr

(

CN−1∂CN

∂θi

) +1

2tTCN−1∂CN

∂θi

CN−1t (6.30)

で与えられる。

6.4.4 関連度自動決定

省略

6.4.5 ガウス過程による分類

入力の訓練集合をx1,· · ·,xN とし、観測値をtN =(t1,· · ·,tN)T とするが、ここでは目標変数が t ∈ {0,1}である2クラス分類問題を考える。そのために関数a(x)を前節までのガウス過程とし、

y=σ(a)によってy∈(0,1)なる確率過程を得ることにする。すなわち、aに対するtの分布は、ベ ルヌーイ分布

p(t|a)=σ(a)t(1−σ(a))1−t (6.31)

で与えられ、aについては

p(aN+1)=N(aN+1|0,CN+1) (6.32) が成り立つものとする。共分散行列がこのモデルを特徴づける元になっていて、それは

C(xn,xm)=k(xn,xm)+νδnm (6.33)

と、任意のカーネルと、正定値性を保証する対角項で構成される。知りたい量はN個のデータが 与えられたときのN+1個目のデータの予測であり、

p(tN+1=1|tN)=

∫

p(tN+1=1|aN+1)p(aN+1|tN)daN+1 (6.34) である。ここで、ベルヌーイ分布を考えているため、

p(tN+1=1|aN+1)=σ(aN+1) (6.35) であり、

p(aN+1|tN) =

∫

p(aN+1|aN)p(aN|tN)daN

p(aN+1|aN) = N(aN+1|kTC−N1aN,c−kTC−N1k) (6.36) が成り立つ。

6.4.6 ラプラス近似

前節の積分の中で、p(aN|tN)は解析的に求めることができないので、ラプラス近似を用いること にする。p(aN|tN)∝p(aN)+p(tN|aN)であることと、データについての項は(データ点が互いに独 立であるとして)

p(tN|aN)=

∏N n=1

σ(an)tn(1−σ(an))1−tn =

∏N n=1

eantnσ(−an) (6.37) と表されることから、(これは確率過程でaNはaN−1に依存しているので、互いに独立という仮定 は違和感がある。おそらく本文にわざわざ「データ点が互いに独立であるとして」と括弧つきでか かれているのはそのため。)モードとヘッセ行列を求めるべき関数Ψ(aN)は正規化項を無視すると

Ψ(aN) = ln p(aN)+ln p(tN|aN)

= −1

2aTNCN−1aN−N

2 ln(2π)−1

2ln|CN|+tTNaN−

∑N n=1

ln(1+ean)

(6.38) となる。勾配と二階微分は

∇Ψ(aN) = tN−σN−CN−1aN

∇∇Ψ(aN) = −WN−C−N1 (6.39)

で与えられる。ここで、σN はσanを持つベクトルであり、WNはσ(an)(1−σ(an))を要素にもつ 対角行列である。ニュートン法でモードを求めることにすると、更新式は

anewN = aoldN −(∇∇Ψ(aN))−1∇Ψ(aN)

= aoldN +(WN+C−N1)−1(tN−σN−CN−1aN)

= CN(I+WNCN)−1(tN−σN−CN−1aN) (6.40) となる。本文のヘッセ行列は符号が逆では?上巻206の方が正しいはず。これにより p(aN|tN)の 近似として

q(aN|tN)=N(aN|a∗N,(WN+CN)−1) (6.41) を得る。ここで、a∗NはΦ(aN)の最小値を与える点である。これを用いるとp(aN+1|tN)の積分を評 価することができて、

p(aN+1|tN)≈ N(aN+1|kT(t−σN),c−kT(WN−1+CN)−1k) (6.42) を得る。

次に共分散関数のパラメータθを決定することを考える。そこで、尤度関数p(tN|θ)を最大化す ることを考える。

p(tN|θ)=

∫

p(tN|aN)p(aN|θ)daN (6.43)

この被積分関数の対数はΨ(aN)そのものであって、本文(4.135)を用いると、

ln p(tN|θ)≈Ψ(a∗N)−1

2ln|WN+CN−1|+N

2 ln(2π) (6.44)

と近似することができる。これは、行列CNがθに依存することによる部分と、a∗Nを通して依存 する部分とがある。θに明示的に依存する寄与(CNによる部分)の微分は

∂ln p(tN|θ)

∂θj

= 1

2a∗NTCN−1∂CN

∂θj

CN−1a−N1

− 1

2Tr [

(I+CNWN)−1WN∂CN

∂θj

]

(6.45) となる。この式は

∂

∂θj

ln|WN+CN−1| = Tr

(WN+C−N1)−1∂C−N1

∂θj



= Tr (

−(WN+CN−1)−1CN−1∂CN

∂θj

CN−1 )

= Tr (

−CN−1(CNWN+I)−1∂CN

∂θj

)

∂

∂θj

ln|CN| = Tr (

CN−1∂CN

∂θj

)

および

[I−(CNWN+I)−1]

(CNWN+I) = CNWN

I−(CNWN+I)−1 = CNWN(CNWN+I)−1

(6.46) から導けそうな気がするが、最後WNが(I+CNWN)−1の右に来るのは・・・?また、a∗Nを通した 寄与であるが、そもそもの定義からΨ(aN)の勾配はa∗Nで0になるので、考えるべきは

−1 2

∑N n=1

∂

∂a∗n ln|WN+CN|−1∂a∗n

∂θj

= −1 2

∑N n=1

[(I+CNWN)−1CN]nnσ∗n(1−σ∗n)(1−2σ∗n)∂a∗n

∂θj

(6.47) である。ここで、σ∗n=σ(a∗n)である。最後に、本文(6.84)をθjについて微分すると、

∂a∗N

∂θj = ∂CN

∂θj

(tN−σN)−CNWN

∂a∗N

∂θj

∂a∗N

∂θj

= (I+WNCN)−1CN

∂θj

(tN−σN) (6.48)

6.4.7 ニューラルネットワークとの関係

省略

関連したドキュメント