4.1.1 2 クラス
4.3 確率的識別モデル
4.3.1 固定既定関数
省略
4.3.2 ロジスティック回帰
2クラス分類問題における一般化線形モデルを考える。このモデルでは、特徴ベクトルϕが与え られたときのクラスC1の事後確率は
p(C1|ϕ)=y(ϕ)=σ(wTϕ) (4.26)
と与えられる。ここでϕを用いているのは、特徴ベクトルϕが入力xの関数であっても議論が成 立するためと考えられるここではこのモデルのパラメータを最尤法を用いて決定する。データ集合 に対する尤度関数は
p(t|w)=
∏N n=1
ytnn(1−yn)1−tn (4.27)
となる。ただしyn=p(C1|ϕn)である。尤度の負の対数を誤差関数とすると、
E(w)=−ln p(t|w)=−
∑N n=1
{tnln yn+(1−tn) ln(1−yn)} (4.28) となる。ここでyn=σ(wTϕn)である。これをwについて微分すると
∇E(w)=
∑N n=1
(yn−tn)ϕn (4.29)
が得られる。
4.3.3 反復再重みづけ最小二乗
関数E(w)を最小化するために
w(new) = w(old)−H−1∇E(w)
H = ∇∇E(w) (4.30)
により順次ベクトルを更新していく手法をニュートン‐ラフソン法という。
線形回帰モデルにおける二乗和誤差関数
ED(w)=1 2
∑N n=1
{tn−wTϕ(xn)}2 (4.31)
の場合
∇E(w) =
∑N n=1
(wTϕn−tn)ϕn=ΦTΦw−ΦTt
H=∇∇E(w) = ΦTΦ (4.32)
であるため
w(new) = w(old)−(ΦTΦ)−1{
ΦTΦw−ΦTt}
= (ΦTΦ)−1ΦTt (4.33)
となるため、一度で最小二乗解に到達する。これは誤差関数がwの二次関数だからである。
一方ロジスティック回帰の交差エントロピー誤差関数の場合
∇E(w) =
∑N n=1
(yn−tn)ϕn=ΦT(y−t)
H =
∑N n=1
yn(1−yn)ϕnϕTn =ΦTRΦ (4.34) となる。ここでRは
Rnn =yn(1−yn) (4.35)
を満たす対角行列である。
4.3.4 多クラスロジスティック回帰
多クラスの事後確率は
p(Ck|ϕ)=yk(ϕ)= exp(ak)
∑
jexp(aj) (4.36)
と与えられるが、ここでは
ak=wTkϕ (4.37)
となるモデルを考え、最尤法を用いてwkを決定する。目的変数ベクトルについては1-of-K符号化 法を使うことで、与えられたデータに関する尤度関数はyk(ϕn)=ynkと書いて
p(T|w1,· · · ,wK)=
∏N n=1
∏K k=1
p(Ck|ϕn)tnk =
∏N n=1
∏K k=1
ytnknk (4.38)
であり、負の対数を取ると、
E(w1,· · ·,wK)=−ln p(T|w1,· · ·,wK)=−
∑N n=1
∑K k=1
tnkln ynk (4.39)
となる。この勾配は
∇wjE(w1,· · ·,wK)=
∑N n=1
(yn j−tn j)ϕn (4.40)
で与えられ、ヘッセ行列のM×Mサイズのブロックは
∇wk∇wjE(w1,· · ·,wK) =
∑N n=1
ynk(Ik j−yn j)ϕnϕTn (4.41) で与えられる。このヘッセ行列の半正定値性は以下のようにして示すことができる。ヘッセ行列を Hと書き、ベクトルをv =(vT1,· · ·,vKT)Tと書くことにすると、
vTHv =
∑N n=1
∑K k,j=1
ynk(Ik j−yn j)vkTϕnϕTnvj
∑K k,j=1
ynk(Ik j−yn j)vTkϕnϕTnvj = ∑
k
ynk(vTϕk)2−
∑
k
ynkvkTϕk
2
= ∑
k
ynk
ak−∑
j
yn jaj
2
≥0 (4.42)
より。ここでak=vkTϕnとした。
4.3.5 正準連結関数
この節の内容は線形識別モデルに限った話ではないように思える。入力ϕに対する出力tが存在 する系に対して、以下の式で与えられる確率分布を考える。
p(t|η=ψ( f (wTϕ)),s)=1 sh
(t s )
g(η) exp {ηt
s }
(4.43) ここで関数gは規格化因子であり
g(η)= 1
∫ 1
sh(t
s
)exp{ηt
s
}dt
(4.44) である。またyで表現されるtの条件付き平均が
y≡[t|η]=−sd
dηln g(η) (4.45)
で与えられるが、yとηのこの関係を表すのが関数η=ψ(y)である。f は何らかの非線形関数であ る。このモデルを一般化線形モデルという。このモデルについて、データが与えられた場合のw を最尤法で考える。データ{ϕn,tn}が与えられた場合の対数尤度関数は
ln p(t|η,s) =
∑N n=1
ln p(tn|ηn,s)
=
∑N n=1
{
ln g(ηn)+ηntn
s
}+wによらない定数 (4.46)
で与えられる。これをwで微分すると
∇wln p(t|η,s) =
∑N n=1
{ d dηn
ln g(ηn)+tn
s }dηn
dyn dyn
dan∇an
=
∑N n=1
1
s{tn−yn}ψ′(yn) f′(an)ϕn (4.47) ここでan=wTϕである。ここで
f−1(y)=ψ(y) (4.48)
となるように関数 f を選ぶと、f (ψ(y))=yより f′(ψ)ψ′(y)=1となり、誤差関数の勾配として
∇E(w)=1 s
∑N n=1
{yn−tn}ϕn (4.49)
を得る。
難しく書かれているが結局本文(4.124)が成り立つモデルは p(t|wTϕ,s)=1
sh (t
s )
g(wTϕ) exp {wTϕt
s }
(4.50) となるはず。