Upload
jkfishlover
View
36
Download
1
Embed Size (px)
Citation preview
PRML勉強会#5
jkfishlover
University of Tsukuba
2015/06/26
About me
• jkfishlover• 筑波大学生物資源学類 3年
• いわゆる農学部• 研究室配属まであと半年
• 生態学、生物多様性情報学に興味あり
2 / 43
Contents
1 はじめに
2 前回までの復習
3 EMアルゴリズムについて
4 混合ガウス分布の EMアルゴリズム
5 EMアルゴリズムの収束性
3 / 43
1 はじめに
2 前回までの復習
3 EMアルゴリズムについて
4 混合ガウス分布の EMアルゴリズム
5 EMアルゴリズムの収束性
4 / 43
はじめに
• 今回のスライドは PRML本の 9.2~9.4に該当
• 数式の展開を重点的に追っていく
5 / 43
1 はじめに
2 前回までの復習
3 EMアルゴリズムについて
4 混合ガウス分布の EMアルゴリズム
5 EMアルゴリズムの収束性
6 / 43
EMアルゴリズム (混合ガウス分布)
• Expectation-Maximization algorithm
• 期待値最大化法とも呼ばれる
• 目標はパラメータの尤度関数の最大化
まずは混合ガウス分布で考える
p(x) =K∑
k=1
πkN(x | µk,Σk)
7 / 43
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
EMアルゴリズム (混合ガウス分布)
EMアルゴリズム:混合ガウス分布の場合対数尤度を求める
ln p(X | µ,Σ,π) =N∑
n=1
ln
K∑k=1
πkN(xn | µk,Σk)
収束基準を満たすまで、E stepから繰り返す
9 / 43
EMアルゴリズム…??
• 変数が多くて、何がなんだか分からない• 結局何を求めているの?• EMアルゴリズムを用いると何がいいの?
• 順を追ってみていく
10 / 43
1 はじめに
2 前回までの復習
3 EMアルゴリズムについて
4 混合ガウス分布の EMアルゴリズム
5 EMアルゴリズムの収束性
11 / 43
EMアルゴリズムの歴史
• 1977年、Dempster,Laird and Rubin等の論文「Maximum Likelihoodfrom Incomplete Data via the EM Algorithm」で提唱
• 不完全データの最尤推定の問題はそれ以前より議論されてきたが、彼らによって一般化された
12 / 43
EMアルゴリズムのポイント
1. EMアルゴリズムは必ず収束する• ただし正しい解とは限らない
2. 対数尤度は反復過程において単調に増加する• 収束性の保証
3. 「不完全性データ」の適応範囲が広い• 欠損、切り捨て、打ち切り、グループ化• ロバスト分布、潜在構造モデル etc
4. ゆえに一般に「EMアルゴリズム」と言っても、文脈によって指すものが違う• ガウス混合モデル (GMM)の教師なし学習
13 / 43
1 はじめに
2 前回までの復習
3 EMアルゴリズムについて
4 混合ガウス分布の EMアルゴリズム
5 EMアルゴリズムの収束性
14 / 43
GMM
• あるデータ xが得られた時、そのデータの真の分布の推定を行いたい• ここでは真の分布が、混合ガウス分布で表されるとする
15 / 43
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
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
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
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
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
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
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
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
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
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
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
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
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
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
EMアルゴリズム
EMアルゴリズム:混合ガウス分布の場合対数尤度を求める
ln p(X | µ,Σ,π) =N∑
n=1
ln
K∑k=1
πkN(xn | µk,Σk)
収束基準を満たすまで、E stepから繰り返す
30 / 43
1 はじめに
2 前回までの復習
3 EMアルゴリズムについて
4 混合ガウス分布の EMアルゴリズム
5 EMアルゴリズムの収束性
31 / 43
対数尤度の最大化
ところで EMアルゴリズムで対数尤度は最大化するのだろうか
1. EMアルゴリズムの一般形を示す
2. 一般形の最大化を示す
3. 混合ガウス分布の最尤推定における EMアルゴリズムが、一般形の特別な形であることを示す
32 / 43
一般的な EMアルゴリズム
EMアルゴリズムの目標は、潜在変数を持った分布の最尤解を求めること
• X:データセット• Z:潜在変数のセット• θ:モデル変数 (model parameters)
最尤関数は以下のように表される
ln p(X | θ) = ln
∑Z
p(X,Z | θ)
例のごとくログの中に和が入っている
33 / 43
一般的な EMアルゴリズム
• 観測値 Xは、潜在変数 Zとセット• →これを完全なデータセットと呼ぶ
• しかしながら現実のデータは不完全 (Zの情報の欠如)
• →事後分布 p(Z | X, θ)の情報のみ完全なデータセットの対数尤度は知り得ないので、代わりに事後分布の元に期待値を考える(これが Eステップ!)
34 / 43
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
一般的な 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
一般的な 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
一般的な 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
一般的な 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
さらに一般化すると…
• PRML本の 9章の 9.4に該当
• Kullback-Leibler divergenceが登場• 今回はこの節には触れず…(触れられず)
• 話が複雑になりすぎる• (話が)収束しなくなる
40 / 43
EMアルゴリズムのポイント (再掲)
1. EMアルゴリズムは必ず収束する• ただし正しい解とは限らない
2. 対数尤度は反復過程において単調に増加する• 収束性の保証
3. 「不完全性データ」の適応範囲が広い• 欠損、切り捨て、打ち切り、グループ化• ロバスト分布、潜在構造モデル etc
4. ゆえに一般に「EMアルゴリズム」と言っても、文脈によって指すものが違う• ガウス混合モデル (GMM)の教師なし学習
41 / 43
一般的な EMアルゴリズムへの GMMの当てはめ
(発表時間の関係で省略)
42 / 43
参考文献
• Christoper M. Bishop. Pattern Recognition And Machine Learning,Springer
• 金谷健一 (2005)「これなら分かる最適化数学-基礎原理から計算手法まで-」共立出版
• 渡辺美智子、山口和範 (2000)「EMアルゴリズムと不完全データの諸問題」多賀出版
43 / 43