43
PRML 勉強会#5 jkfishlover University of Tsukuba 2015/06/26

PRML勉強会 #5

Embed Size (px)

Citation preview

Page 1: PRML勉強会 #5

PRML勉強会#5

jkfishlover

University of Tsukuba

2015/06/26

Page 2: PRML勉強会 #5

About me

• jkfishlover• 筑波大学生物資源学類 3年

• いわゆる農学部• 研究室配属まであと半年

• 生態学、生物多様性情報学に興味あり

2 / 43

Page 3: PRML勉強会 #5

Contents

1 はじめに

2 前回までの復習

3 EMアルゴリズムについて

4 混合ガウス分布の EMアルゴリズム

5 EMアルゴリズムの収束性

3 / 43

Page 4: PRML勉強会 #5

1 はじめに

2 前回までの復習

3 EMアルゴリズムについて

4 混合ガウス分布の EMアルゴリズム

5 EMアルゴリズムの収束性

4 / 43

Page 5: PRML勉強会 #5

はじめに

• 今回のスライドは PRML本の 9.2~9.4に該当

• 数式の展開を重点的に追っていく

5 / 43

Page 6: PRML勉強会 #5

1 はじめに

2 前回までの復習

3 EMアルゴリズムについて

4 混合ガウス分布の EMアルゴリズム

5 EMアルゴリズムの収束性

6 / 43

Page 7: PRML勉強会 #5

EMアルゴリズム (混合ガウス分布)

• Expectation-Maximization algorithm

• 期待値最大化法とも呼ばれる

• 目標はパラメータの尤度関数の最大化

まずは混合ガウス分布で考える

p(x) =K∑

k=1

πkN(x | µk,Σk)

7 / 43

Page 8: PRML勉強会 #5

EMアルゴリズム (混合ガウス分布)

EMアルゴリズム:混合ガウス分布の場合first-step:µk,Σk, πk の初期化E step:現在のパラメータで γ(znk)を評価

γ(znk) =πkN(xn | µk,Σk)∑Kj=1 π jN(xn | µ j,Σ j)

M step:γ(znk)を用いて、パラメータを再評価

µnewk =

1Nk

N∑n=1

γ(znk)xn (1)

Σnewk =

1Nk

N∑n=1

γ(znk)(xn − µnewk )(xn − µnew

k )T (2)

πnewk =

Nk

N(3)

8 / 43

Page 9: PRML勉強会 #5

EMアルゴリズム (混合ガウス分布)

EMアルゴリズム:混合ガウス分布の場合対数尤度を求める

ln p(X | µ,Σ,π) =N∑

n=1

ln

K∑k=1

πkN(xn | µk,Σk)

収束基準を満たすまで、E stepから繰り返す

9 / 43

Page 10: PRML勉強会 #5

EMアルゴリズム…??

• 変数が多くて、何がなんだか分からない• 結局何を求めているの?• EMアルゴリズムを用いると何がいいの?

• 順を追ってみていく

10 / 43

Page 11: PRML勉強会 #5

1 はじめに

2 前回までの復習

3 EMアルゴリズムについて

4 混合ガウス分布の EMアルゴリズム

5 EMアルゴリズムの収束性

11 / 43

Page 12: PRML勉強会 #5

EMアルゴリズムの歴史

• 1977年、Dempster,Laird and Rubin等の論文「Maximum Likelihoodfrom Incomplete Data via the EM Algorithm」で提唱

• 不完全データの最尤推定の問題はそれ以前より議論されてきたが、彼らによって一般化された

12 / 43

Page 13: PRML勉強会 #5

EMアルゴリズムのポイント

1. EMアルゴリズムは必ず収束する• ただし正しい解とは限らない

2. 対数尤度は反復過程において単調に増加する• 収束性の保証

3. 「不完全性データ」の適応範囲が広い• 欠損、切り捨て、打ち切り、グループ化• ロバスト分布、潜在構造モデル etc

4. ゆえに一般に「EMアルゴリズム」と言っても、文脈によって指すものが違う• ガウス混合モデル (GMM)の教師なし学習

13 / 43

Page 14: PRML勉強会 #5

1 はじめに

2 前回までの復習

3 EMアルゴリズムについて

4 混合ガウス分布の EMアルゴリズム

5 EMアルゴリズムの収束性

14 / 43

Page 15: PRML勉強会 #5

GMM

• あるデータ xが得られた時、そのデータの真の分布の推定を行いたい• ここでは真の分布が、混合ガウス分布で表されるとする

15 / 43

Page 16: PRML勉強会 #5

GMM

K次元の潜在変数 z• zは 1-of-K表現

• zk は 1で、それ以外は 0

混合係数 πk:xがクラス kに属する事前確率

p(zk = 1) = πk

0 ≤ πk ≤ 1K∑

k=1

πk = 1

条件付き確率 p(x | zk = 1):どのガウス分布から xが生成したかを表す

p(x | zk = 1) = N(x | µk,Σk)

16 / 43

Page 17: PRML勉強会 #5

GMM

先ほどの式

p(zk = 1) = πk

p(x | zk = 1) = N(x | µk,Σk)

を別の書き方をすると,それぞれ

p(z) =K∏

k=1

πzkk

p(x | z) =K∏

k=1

N(x | µk,Σk)zk

と書ける。(zは 1-of-K表現。zk = 1以外の zは全て 0となり、0乗は 1となる)

17 / 43

Page 18: PRML勉強会 #5

GMM

二式を用いて周辺分布 p(x)を求めると

p(x) =∑

zp(z)p(x | z)

=∑

z

K∏k=1

πzkk

K∏

k=1

N(x | µk,Σk)zk

=

∑z

K∏k=1

πzkk N(x | µk,Σk)zk

=∑

z

K∏k=1

(πkN(x | µk,Σk)

)zk

=

K∑k=1

πkN(x | µk,Σk)

18 / 43

Page 19: PRML勉強会 #5

GMM

事後確率を求めるγ(zk):事後確率 p(zk = 1 | x)   (responsibilities:負担率)ベイズの定理より

γ(zk) = p(zk = 1 | x)

=p(zk = 1)p(x | zk = 1)

p(x)

=πkN(x | µk,Σk)∑Kj=1 π jN(x | µ j,Σ j)

ベイズの定理

P(B | A) =P(B)P(A | B)

P(A)

19 / 43

Page 20: PRML勉強会 #5

GMM

γ(zk)の解釈

(a)

0 0.5 1

0

0.5

1 (b)

0 0.5 1

0

0.5

1 (c)

0 0.5 1

0

0.5

1

• (a):zあり(3種類の分布からのデータ)• (b):zなし(どの分布から発生したデータか分からない)• (c):γ(zk)を考慮

20 / 43

Page 21: PRML勉強会 #5

GMM

データセット X = {x1, x2, · · · , xN}T のデータ xn が独立に分布から得られたとする。対数尤度を求めると

ln p(X | µ,Σ,π) = ln

N∏n=1

p(x | µ,Σ, π)

=

N∑n=1

ln p(x | µ,Σ,π)

=

N∑n=1

ln

K∑k=1

πkN(xn | µk,Σk)

• 最尤推定を行うには対数尤度を最大化するのが定石

• 上の式の解を直接最大化することは難しい (ログの中に和がある)

• →代わりに EMアルゴリズムを用いる

21 / 43

Page 22: PRML勉強会 #5

GMM

まずは期待値の最尤推定から両辺を µk で偏微分すると

∂ ln p(X | µ,Σ, π)∂µk

=∂

∂µk

N∑n=1

ln

K∑k=1

πkN(xn | µk,Σk)

=

N∑n=1

∂∂µk

{πkN(xn | µk,Σk)

}∑Kj=1 π jN(xn | µ j,Σ j)

=

N∑n=1

πkN(xn | µk,Σk) ∂∂µk

{−1

2 (xn − µk)TΣ−1k (xn − µk)

}∑K

j=1 π jN(xn | µ j,Σ j)

=

N∑n=1

πkN(xn | µk,Σk)∑Kj=1 π jN(xn | µ j,Σ j)

Σ−1k (xn − µk)

22 / 43

Page 23: PRML勉強会 #5

GMM

最後の式変形は

∂xxTAx = (A + AT)x

Σ−1k

T= Σ−1

k

を用いて

∂µk

{−1

2(xn − µk)TΣ−1

k (xn − µk)}=

12

(Σ−1k + Σ

−1k

T)(xn − µk)

=12

(Σ−1k + Σ

−1k )(xn − µk)

=12

(2Σ−1k )(xn − µk)

= Σ−1k (xn − µk)

23 / 43

Page 24: PRML勉強会 #5

GMM

元の式に戻って

∂ ln p(X | µ,Σ,π)∂µk

=

N∑n=1

πkN(xn | µk,Σk)∑Kj=1 π jN(xn | µ j,Σ j)

Σ−1k (xn − µk)

これをゼロとして µk について解くとN∑

n=1

πkN(xn | µk,Σk)∑Kj=1 π jN(xn | µ j,Σ j)

Σ−1k (xn − µk) = 0

γ(znk) = πkN(xn |µk ,Σk)∑Kj=1 π jN(xn |µ j,Σ j)

と置くと

N∑n=1

γ(znk)Σ−1k (xn − µk) = 0

N∑n=1

γ(znk)Σ−1k µk =

N∑n=1

γ(znk)Σ−1k xn

24 / 43

Page 25: PRML勉強会 #5

GMM

N∑n=1

γ(znk)Σ−1k µk =

N∑n=1

γ(znk)Σ−1k xn

Σ−1k µk =

∑Nn=1 γ(znk)Σ−1

k xn∑Nn=1 γ(znk)

左から Σk を掛けて

µk = Σk

∑Nn=1 γ(znk)Σ−1

k xn∑Nn=1 γ(znk)

=

∑Nn=1 γ(znk)xn∑N

n=1 γ(znk)

=1

Nk

N∑n=1

γ(znk)xn

Nk ≡N∑

n=1

γ(znk)

25 / 43

Page 26: PRML勉強会 #5

GMM

同様に Σk の最尤推定を行うと

Σk =1

Nk

N∑n=1

γ(znk)(xn − µk)(xn − µk)T

最後に ln p(X | µ,Σ,π)を制約条件∑Kk=1 πk = 1の元,最大化していく

ラグランジュ定数 λを導入して

ln p(X | µ,Σ, π) + λ K∑

k=1

πk − 1

とする。

26 / 43

Page 27: PRML勉強会 #5

GMM

πk で偏微分し 0とすると

∂πk

ln p(X | µ,Σ, π) + λ K∑

k=1

πk − 1

= 0

∂πk

N∑n=1

ln

K∑k=1

πkN(xn | µk,Σk)

+ ∂∂πkλ

K∑k=1

πk − 1

= 0

N∑n=1

N(xn | µk,Σk)∑Kj=1 π jN(xn | µ j,Σ j)

+ λ = 0

λ = −N∑

n=1

N(xn | µk,Σk)∑Kj=1 π jN(xn | µ j,Σ j)

= −N∑

n=1

γ(znk)πk

∵ γ(znk) =πkN(xn | µk,Σk)∑Kj=1 π jN(xn | µ j,Σ j)

27 / 43

Page 28: PRML勉強会 #5

GMM

両辺に πk を掛けて和を取ると

λ = −N∑

k=1

N∑n=1

γ(znk)

= −N∑

k=1

N∑n=1

πkN(xn | µk,Σk)∑Kj=1 π jN(xn | µ j,Σ j)

= −N∑

n=1

∑Nk=1 πkN(xn | µk,Σk)∑Kj=1 π jN(xn | µ j,Σ j)

= −N

よって

πk =1N

N∑n=1

γ(znk) =Nk

N

以上の µk,Σk, πk と γ(znk)を交互に計算し、対数尤度を最大化していく。28 / 43

Page 29: PRML勉強会 #5

EMアルゴリズム

EMアルゴリズム:混合ガウス分布の場合first-step:µk,Σk, πk の初期化E step:現在のパラメータで γ(znk)を評価

γ(znk) =πkN(xn | µk,Σk)∑Kj=1 π jN(xn | µ j,Σ j)

M step:γ(znk)を用いて、パラメータを再評価

µnewk =

1Nk

N∑n=1

γ(znk)xn (4)

Σnewk =

1Nk

N∑n=1

γ(znk)(xn − µnewk )(xn − µnew

k )T (5)

πnewk =

Nk

N(6)

29 / 43

Page 30: PRML勉強会 #5

EMアルゴリズム

EMアルゴリズム:混合ガウス分布の場合対数尤度を求める

ln p(X | µ,Σ,π) =N∑

n=1

ln

K∑k=1

πkN(xn | µk,Σk)

収束基準を満たすまで、E stepから繰り返す

30 / 43

Page 31: PRML勉強会 #5

1 はじめに

2 前回までの復習

3 EMアルゴリズムについて

4 混合ガウス分布の EMアルゴリズム

5 EMアルゴリズムの収束性

31 / 43

Page 32: PRML勉強会 #5

対数尤度の最大化

ところで EMアルゴリズムで対数尤度は最大化するのだろうか

1. EMアルゴリズムの一般形を示す

2. 一般形の最大化を示す

3. 混合ガウス分布の最尤推定における EMアルゴリズムが、一般形の特別な形であることを示す

32 / 43

Page 33: PRML勉強会 #5

一般的な EMアルゴリズム

EMアルゴリズムの目標は、潜在変数を持った分布の最尤解を求めること

• X:データセット• Z:潜在変数のセット• θ:モデル変数 (model parameters)

最尤関数は以下のように表される

ln p(X | θ) = ln

∑Z

p(X,Z | θ)

例のごとくログの中に和が入っている

33 / 43

Page 34: PRML勉強会 #5

一般的な EMアルゴリズム

• 観測値 Xは、潜在変数 Zとセット• →これを完全なデータセットと呼ぶ

• しかしながら現実のデータは不完全 (Zの情報の欠如)

• →事後分布 p(Z | X, θ)の情報のみ完全なデータセットの対数尤度は知り得ないので、代わりに事後分布の元に期待値を考える(これが Eステップ!)

34 / 43

Page 35: PRML勉強会 #5

EMアルゴリズム (一般形)

EMアルゴリズム:一般形

first-step:初期値 θold の設定E step:現在のパラメータで p(Z | X, θold)を評価以下の期待値を求める

Q(θ, θold) = EZ|X,θold [ln p(X,Z | θ)]

=∑

Zp(Z | X, θold) ln p(X,Z | θ)

M step:Q(θ, θold)を最大にする θを θnew とするθold ← θnew として、収束するまで繰り返す

35 / 43

Page 36: PRML勉強会 #5

一般的な EMアルゴリズムの収束性

Q(θ, θold)を最大化することが尤度 ln p(X | θ)が極値を取ることの証明

∂θln p(X | θ) = ∂

∂θln

∑Z

p(X,Z | θ)

=

∂∂θ

∑Z p(X,Z | θ)∑

Z p(X,Z | θ)

=∑

Z

∂∂θ p(X,Z | θ)∑Z′ p(X,Z′ | θ)

=∑

Z

∂∂θ p(X,Z | θ)p(X,Z | θ)

p(X,Z | θ)∑Z′ p(X,Z′ | θ)

=∑

Z

(∂

∂θln p(X,Z | θ)

)p(Z | X, θ)

36 / 43

Page 37: PRML勉強会 #5

一般的な EMアルゴリズムの収束性

ここで事後確率の θを推定値 θold(= const.)を用いると微分を和の外に出せ∑Z

(∂

∂θln p(X,Z | θ)

)p(Z | X, θold) =

∂θ

∑Z

ln p(X,Z | θ)p(Z | X, θold)

=∂

∂θEZ|X,θold [ln p(X,Z | θ)]

=∂

∂θQ(θ, θold)

これを 0と置いて解くことは、Q関数の極致を計算することと一致。

37 / 43

Page 38: PRML勉強会 #5

一般的な EMアルゴリズムの収束性

次に対数尤度が単調に増加することを示す

ln p(X | θnew) − ln p(X | θold) = lnp(X | θnew)p(X | θold)

= ln(∑

Z p(X,Z | θnew)∑Z p(X,Z | θold)

)= ln

∑Z

p(X,Z | θnew)∑Z′ p(X,Z′ | θold)

= ln∑

Z

p(X,Z | θnew)p(X,Z | θold)

p(X,Z | θold)∑Z′ p(X,Z′ | θold)

= ln∑

Z

p(X,Z | θnew)p(X,Z | θold)

p(Z | X, θold)

= lnEZ|X,θold

[p(Z | X, θnew)p(Z | X, θold)

]

38 / 43

Page 39: PRML勉強会 #5

一般的な EMアルゴリズムの収束性

イェンゼンの不等式より

lnEZ|X,θold

[p(Z | X, θnew)p(Z | X, θold)

]≥ EZ|X,θold

[ln

p(Z | X, θnew)p(Z | X, θold)

]= EZ|X,θold [ln p(Z | X, θnew) − ln p(Z | X, θold)]

= EZ|X,θold [ln p(Z | X, θnew)] − EZ|X,θold [ln p(Z | X, θold)]

= Q(θ, θnew) − Q(θ, θold)

θnew は Q関数を最大化するように選んでいるので上式は 0以上。ゆえに ln p(X | θnew) ≥ ln p(X | θold)

39 / 43

Page 40: PRML勉強会 #5

さらに一般化すると…

• PRML本の 9章の 9.4に該当

• Kullback-Leibler divergenceが登場• 今回はこの節には触れず…(触れられず)

• 話が複雑になりすぎる• (話が)収束しなくなる

40 / 43

Page 41: PRML勉強会 #5

EMアルゴリズムのポイント (再掲)

1. EMアルゴリズムは必ず収束する• ただし正しい解とは限らない

2. 対数尤度は反復過程において単調に増加する• 収束性の保証

3. 「不完全性データ」の適応範囲が広い• 欠損、切り捨て、打ち切り、グループ化• ロバスト分布、潜在構造モデル etc

4. ゆえに一般に「EMアルゴリズム」と言っても、文脈によって指すものが違う• ガウス混合モデル (GMM)の教師なし学習

41 / 43

Page 42: PRML勉強会 #5

一般的な EMアルゴリズムへの GMMの当てはめ

(発表時間の関係で省略)

42 / 43

Page 43: PRML勉強会 #5

参考文献

• Christoper M. Bishop. Pattern Recognition And Machine Learning,Springer

• 金谷健一 (2005)「これなら分かる最適化数学-基礎原理から計算手法まで-」共立出版

• 渡辺美智子、山口和範 (2000)「EMアルゴリズムと不完全データの諸問題」多賀出版

43 / 43