第 9 章 混合モデルと EM
13.2 隠れマルコフモデル
隠れマルコフモデルではznは一対K符号化を用いると便利であり、その遷移確率はAjk≡p(znk= 1|zn−1,j=1)によってあらわされる。すなわち
p(zn|zn−1,A)=
∏K k=1
∏K j=1
Azjkn−1,jznk (13.7)
が成り立つ。最初のノードは確率のベクトルπで表される周辺分布 p(z1|π)=
∏K k=1
πzk1k (13.8)
を持つ。また、znが与えられた場合のxnの分布を支配するパラメータをϕとする。具体的には p(xn|zn,ϕ)=
∏K k=1
p(xn|ϕk)znk (13.9)
とあらわされる。
均一なモデルとはAおよびϕがnに依存しないモデルのことであり、
p(X,Z|θ)=p(z1|π)
∏N n=2
p(zn|zn−1,A)
∏N m=1
p(xm|zm,ϕ) (13.10)
と書くことができる。ここでθ={π,A,ϕ}はモデルを支配するパラメータである。
また、Aのk≤ jとなるAjkの成分をゼロとして得られるモデルをleft-to-rightHMMという。
13.2.1 HMM の最尤推定
データ集合X ={x1,· · ·,xN}が観測された場合のHMMのパラメータを最尤推定で決定するこ とを考える。そのためにEM法を用いることにする。この場合
Q(θ,θold) = ∑
Z
p(Z|X,θold) ln p(X,Z|θ)
= ∑
Z
p(Z|X,θold)
ln p(z1|π)+
∑N n=2
ln p(zn|zn−1,A)+
∑N n=1
ln p(xn|zn,ϕ)
(13.11) となるが、
γ(zn) = p(zn|X,θold)
ξ(zn−1,zn) = p(zn−1,zn|X,θold) (13.12) と表記し、さらに
γ(znk) = p(znk=1|X,θold)
ξ(zn−1,j,znk) = p(zn−1,j=znk=1|X,θold) (13.13)
と書くことにすると、
Q(θ,θold) =
∑K k=1
γ(z1k) lnπk+
∑N n=2
∑K j=1
∑K k=1
ξ(zn−1,j,znk) ln Ajk
+
∑N n=1
∑K k=1
γ(znk) ln p(xn|ϕk) (13.14)
を得る。Mステップではγ(zn)とξ(zn−1,zn)を定数とみなし、パラメータθ={π,A,ϕ}に関して Q(θ,θold)を最大化するが、これはラグランジュ未定乗数法を使って
πk = γ(z1k)
∑K j=1γ(z1 j) Ajk =
∑N
n=2ξ(zn−1,jznk)
∑K l=1
∑N
n=2ξ(zn−1,jznl) (13.15) を得る。
13.2.2 フォワードバックワードアルゴリズム
次にEMアルゴリズムのEステップに対応するγ(znk)とξ(zn−1,j,znk)を求める方法について検討 する。そのために、条件付き独立性を以下に書き下すと
p(X|zn) = p(x1,· · · ,xn|zn)p(xn+1,· · ·,xN|zn) p(x1,· · ·,xn−1|xn,zn) = p(x1,· · · ,xn−1|zn)
p(x1,· · ·,xn−1|zn−1,zn) = p(x1,· · · ,xn−1|zn−1) p(xn+1,· · ·,xN|znzn+1) = p(zn+1,· · ·,xN|zn+1) p(xn+2,· · ·,xN|zn+1xn+1) = p(zn+2,· · ·,xN|zn+1)
p(X|zn−1xn) = p(x1,· · · ,xn−1|zn−1)p(xn|zn)p(xn+1,· · ·,xN|zn) p(xN+1|X,zN+1 = p(xN+1|zN+1)
p(zN+1|zN,X) = p(zN+1|zN) (13.16)
となる。そしてγ(zn)については、ベイズの定理と条件付き独立性より γ(zn) = p(zn|X)= p(X|zn)p(zn)
p(X)
= p(x1,· · · ,xn,zn)p(xn+1,· · ·,xN)
p(X) = α(zn)β(zn)
p(X) (13.17)
を得る。ただし
α(zn)≡p(x1,· · · ,xn,zn)
β(zn)≡p(xn+1,· · ·,xN|zn) (13.18)
である。そして、α, βは再帰的に求めることができて、
α(zn) = p(x1,· · · ,xn,zn)
= p(x1,· · · ,xn|zn)p(zn)
= p(xn|zn)p(x1,· · ·,xn−1|zn)p(zn)
= p(xn|zn)∑
zn−1
p(x1,· · ·,xn−1,zn−1,zn)
= p(xn|zn)∑
zn−1
p(x1,· · ·,xn−1,zn|zn−1)p(zn−1)
= p(xn|zn)∑
zn−1
p(x1,· · ·,xn−1|zn−1)p(zn|zn−1)p(zn−1)
= p(xn|zn)∑
zn−1
p(x1,· · ·,xn−1,zn−1)p(zn|zn−1)
= p(xn|zn)∑
zn−1
α(zn−1)p(zn|zn−1) (13.19)
この初期条件は
α(z1)=p(x1,z1)=p(z1)p(x1|z1)=
∏K k=1
{πkp(x1|ϕk)}z1k (13.20) で与えられる。
同様にβ(zn)についても
β(zn) = p(xn+1,· · ·,xN|zn)
= ∑
zn+1
p(xn+1,· · ·,xN,zn+1|zn)
= ∑
zn+1
p(xn+1,· · ·,xN|zn,zn+1)p(zn+1|zn)
= ∑
zn+1
p(xn+1,· · ·,xN|zn+1)p(zn+1|zn)
= ∑
zn+1
p(xn+1,· · ·,xN|zn+1)p(xn+1|zn+1)p(zn+1|zn)
= ∑
zn+1
β(zn+1)p(xn+1|zn+1)p(zn+1|zn) (13.21) を得る。初期値については本文(13.33)においてn=Nとおき、αの定義で置き換えると、
p(zN|X)= p(X,zN)β(zN)
p(X) (13.22)
となることからβ(zN)=1とすればよいことがわかる。
また本文(13..33)の両辺においてznについて和を取ると
p(X) = ∑
zn
α(zn)β(zn)
= ∑
zN
α(zN) (13.23)
を得る。
次にξ(zn−1,zn)については
ξ(zn−1,zn) = p(zn−1,z|X)
= p(X|zn−1,zn)p(zn−1,zn) p(X)
= p(x,· · ·,xn−1|zn−1)p(xn|zn)p(xn+1,· · ·,xN|zn)p(zn|zn−1)p(zn−1) p(X)
= α(zn−1p(xn|zn)p(zn|zn−1)β(zn)
p(X) (13.24)
を得る。
最後に予測分布については
p(xN+1|X) = ∑
zN+1
p(xN+1,zN+1|X)
= ∑
zN+1
p(xN+1|zN+1)p(zN+1|X)
= ∑
zN+1
p(xN+1|zN+1)∑
zN
p(zN+1,zN|X)
= ∑
zN+1
p(xN+1|zN+1)∑
zN
p(zN+1|zN)p(zN|X)
= ∑
zN+1
p(xN+1|zN+1)∑
zN
p(zN+1|zN)p(zN,X) p(X)
= 1 p(X)
∑
zN+1
p(xN+1|zN+1)∑
zN
p(zN+1|zN)α(zN) (13.25)
13.2.3 HMM の積和アルゴリズム
省略
13.2.4 スケーリング係数
実際にフォワードバックワードアルゴリズムを利用する場合、値が指数関数的に小さくなってし まう場合がある。そこでα(zn)の規格化された表式
αˆ(zn)=p(zn|x1,· · ·,xn)= α(zn)
p(x1,· · ·,xn) (13.26)
を導入する。さらに
cn=p(xn|x1,· · ·,xn−1) (13.27) を定義すると、乗法定理により
p(x1,· · · ,xn)=
∏n m=1
cm (13.28)
を得る。これより
α(zn)=p(zn|x1,· · ·,xn)p(x1,· · ·,xn)=
∏n m=1
cm
αˆ(zn) (13.29)
が得られるため、αの再帰式に代入することで cnαˆ(zn)=p(xn|zn)∑
zn−1
αˆ(zn−1)p(zn|zn−1) (13.30) を得る。同様にしてβについても
βˆ(zn)= β(zn)
∏N m=n+1cm
= p(xn+1,· · ·,xN|zn)
p(xn+1,· · ·,xN|x1,· · ·,xn) (13.31) と定義すると再帰式は
cn+1βˆ(zn)=∑
zn+1
βˆ(zn+1)p(xn+1|zn+1)p(zn+1|zn) (13.32) となり、尤度関数と周辺確率は
p(X) =
∏N n=1
cn γ(zn) = αˆ(zn) ˆβ(zn)
ξ(zn−1,zn) = (cn)−1αˆ(zn−1)p(xn|zn)p(zn|zn−1) ˆβ(zn) (13.33) となる。
13.2.5 Viterbi アルゴリズム
ここでは観測データ{x1,· · ·,xN}が与えられた場合に、最も確からしいznの系列を求めること を考える。そこで
w(zn)= max
z1,···,zn−1ln p(x1,· · ·,xn,z1,· · ·,zn) (13.34) と定義すると
w(zn+1) = max
z1,···,zn
ln p(x1,· · · ,xn+1,z1,· · ·,zn+1)
= max
z1,···,zn
[ln p(x1,· · · ,xn,z1,· · ·,zn)+ln p(zn+1|zn)+ln p(xn+1|zn+1)]
= ln p(xn+1|zn+1)+max
zn {ln p(zn+1|zn)+w(zn)} (13.35) を得る。また、
w(z1)=ln p(z1)+ln p(x1|z1) (13.36) であるため、n=1から順番に求めていけば最終的に求めたい量である
maxzn w(zn)=max
Z p(X,Z) (13.37)
を求めることが可能になる。
13.2.6 隠れマルコフモデルの拡張
省略