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

第 9 章 混合モデルと EM

13.2 隠れマルコフモデル

隠れマルコフモデルではznは一対K符号化を用いると便利であり、その遷移確率はAjkp(znk= 1|zn1,j=1)によってあらわされる。すなわち

p(zn|zn1,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|zn1,A)



N m=1

p(xm|zm,ϕ) (13.10)

と書くことができる。ここでθ={π,A,ϕ}はモデルを支配するパラメータである。

また、Akjとなる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|zn1,A)+

N n=1

ln p(xn|zn,ϕ)



 (13.11) となるが、

γ(zn) = p(zn|X,θold)

ξ(zn1,zn) = p(zn1,zn|X,θold) (13.12) と表記し、さらに

γ(znk) = p(znk=1|X,θold)

ξ(zn1,j,znk) = p(zn1,j=znk=1|X,θold) (13.13)

と書くことにすると、

Q(θ,θold) =

K k=1

γ(z1k) lnπk+

N n=2

K j=1

K k=1

ξ(zn1,j,znk) ln Ajk

+

N n=1

K k=1

γ(znk) ln p(xn|ϕk) (13.14)

を得る。Mステップではγ(zn)とξ(zn1,zn)を定数とみなし、パラメータθ={π,A,ϕ}に関して Q(θ,θold)を最大化するが、これはラグランジュ未定乗数法を使って

πk = γ(z1k)

K j=1γ(z1 j) Ajk =

N

n=2ξ(zn1,jznk)

K l=1

N

n=2ξ(zn1,jznl) (13.15) を得る。

13.2.2 フォワードバックワードアルゴリズム

次にEMアルゴリズムのEステップに対応するγ(znk)とξ(zn1,j,znk)を求める方法について検討 する。そのために、条件付き独立性を以下に書き下すと

p(X|zn) = p(x1,· · · ,xn|zn)p(xn+1,· · ·,xN|zn) p(x1,· · ·,xn1|xn,zn) = p(x1,· · · ,xn1|zn)

p(x1,· · ·,xn1|zn1,zn) = p(x1,· · · ,xn1|zn1) 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|zn1xn) = p(x1,· · · ,xn1|zn1)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,· · ·,xn1|zn)p(zn)

= p(xn|zn)∑

zn−1

p(x1,· · ·,xn1,zn1,zn)

= p(xn|zn)∑

zn−1

p(x1,· · ·,xn1,zn|zn1)p(zn1)

= p(xn|zn)∑

zn−1

p(x1,· · ·,xn1|zn1)p(zn|zn1)p(zn1)

= p(xn|zn)∑

zn−1

p(x1,· · ·,xn1,zn1)p(zn|zn1)

= p(xn|zn)∑

zn−1

α(zn1)p(zn|zn1) (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)

を得る。

次にξ(zn1,zn)については

ξ(zn1,zn) = p(zn1,z|X)

= p(X|zn1,zn)p(zn1,zn) p(X)

= p(x,· · ·,xn1|zn1)p(xn|zn)p(xn+1,· · ·,xN|zn)p(zn|zn1)p(zn1) p(X)

= α(zn1p(xn|zn)p(zn|zn1)β(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,· · ·,xn1) (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

αˆ(zn1)p(zn|zn1) (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)

ξ(zn1,zn) = (cn)1αˆ(zn1)p(xn|zn)p(zn|zn1) ˆβ(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 隠れマルコフモデルの拡張

省略

関連したドキュメント