第 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 ニューラルネットワークとの関係
省略