Más contenido relacionado
La actualidad más candente (20)
Similar a Bishop prml 9.3_wk77_100408-1504 (20)
Bishop prml 9.3_wk77_100408-1504
- 1. C.M.ビショップ
「パターン認識と機械学習 (PRML)」
読書会
§ 9.3 EM アルゴリズムのもう一つの解釈
PRML § 9.3 p. 1
- 2. § 9.3 EM アルゴリズムのもう一つの解釈
• § 9.3 の構成
- 周辺化して得られる不完全データの尤度関数は陽に解けず、
観測データからは完全データの尤度関数の値が得られない
- EM アルゴリズムが、完全データの尤度関数の
潜在変数の事後分布に関する期待値を計算し、
その期待値を最大化する過程であると解釈する
• 詳細な理由の説明は § 9.4 で行われる
• 以下具体的な分布に適用してそのことを確認する
- § 9.3.1 混合ガウス分布再訪
- § 9.3.2 K-means との関連
- § 9.3.3 混合ベルヌーイ分布
- § 9.3.4 ベイズ線形回帰に関する EM アルゴリズム
PRML § 9.3 p. 2
- 3. EMアルゴリズム (EMA) の目的
• 潜在変数を持つモデルについて最尤解を見出したい
- 観測データ xn に対応する潜在変数の値 zn があると考える
- xnT の集合を X とし、znT の集合を Z とする
- 観測時には X が得られるだけで、Z は不明である(左)
- 2 つのガウス分布からなる混合ガウス分布をモデルとし、
潜在変数 zn は赤 (1,0) か青 (0,1) の値とする (中央)
- このモデルに基づいて最尤解を見出す (右)
PRML § 9.3 p. 3
- 4. 潜在変数のある対数尤度関数の性質
• 最大化したい対数尤度関数は次の式で与えられる
ln p(X|θ) = ln {Σz p(X,Z|θ)}
- Z が連続変数ならば、和を積分に置き換えればよい
• 同時分布 p(X,Z|θ) が指数型分布族に属していても、
周辺分布 p(X|θ) は Z に関する和のために、
普通は指数型分布族にならない
- ln (exp f1(z1) × exp f2(z2)) = f1(z1) + f2(z2)
- ln (exp f1(z1) + exp f2(z2)) → 複雑な形
PRML § 9.3 p. 4
- 5. 完全データと不完全データ
• 潜在変数 Z の値が得られると仮定したときに
{X,Z} という組を完全データ集合と呼ぶ
• 実際に得られる観測データ X は不完全であると言う
- 完全データ {X,Z} の最尤解が簡単に得られるとしても
不完全データ X しか得られなければ、その方法は使えない
?
PRML § 9.3 p. 5
- 6. 完全データ対数尤度関数の期待値を最大化する
• 潜在変数 Z についての知識は、
潜在変数の事後分布 p(Z|X,Θ) によるものだけである
• ln p(X|θ) は周辺化のため最尤解が複雑な形となり、
ln p(X,Z|θ) はデータが不完全なので求まらない
• EMA では、完全データ対数尤度関数 ln p(X,Z|θ) の
潜在変数の事後分布に関する期待値 Q を最大化する
- Eステップ: Q(θ,θold) = Σz p(Z|X,θold) ln p(X,Z|θ)
• 対数は完全データの同時分布(指数族)に直接作用できる
- Mステップ: θnew = argmax(θ) Q(θ,θold)
PRML § 9.3 p. 6
- 7. 一般の EM アルゴリズム
1. パラメータの初期値 θold を選ぶ
2. E ステップ: p(Z|X,θold) を計算する
3. M ステップ: 次式で与えられる θnew を計算する
θnew = argmax(θ) Q(θ,θold)
ただし
Q(θ,θold) = Σz p(Z|X,θold) ln p(X,Z|θ)
4. 対数尤度関数またはパラメータ値の
いずれかについて、収束条件を満たすかどうか調べる
満たされていなければ、
θold ← θnew
を実行し、ステップ2に戻る
PRML § 9.3 p. 7
- 8. EM アルゴリズムによる MAP 解の推定
• MAP (最大事後確率推定 maximum-a-posterior) 解
- パラメータの事前分布 p(θ) が定義されたモデルで、
データ集合 X を観測した下での事後分布 p(θ|X) を最大化
- ベイズの定理から p(θ|X) ∝ p(X|θ) p(θ) なので、
最大化する尤度関数は
ln p(θ|X) = ln p(X|θ) + ln p(θ) + const
と表せる
- ln p(X|θ) の最大化は Q の最大化に等しいので、
M ステップにおいて Q + ln p(θ) を最大化すればよい
- Q は p(θ) に依存しないので、
E ステップにおいては元の Q の値を計算すればよい
• 事前分布 p(θ) の適切な設定により、
図 9.7 の特異性を取り除くことができる
PRML § 9.3 p. 8
- 9. データ集合中の欠損値を非観測変数とみなす場合
• 観測値の分布は、すべての変数に関する同時分布を
求めて、欠損値について周辺化することで得られる
- 対応する尤度関数を最大化するのに EMA を使える
- データの値がランダム欠損している場合に有効である
• 観測値が失われる原因が非観測データの値によらない
• 現実には非観測データの値に依存することが多い
- 図 12.11 は、主成分分析の文脈での適用例である
• 右のプロットは変数値の
30% をランダム欠損させ
EMA 法であつかったもの
• 欠損値のない方の
左のプロットと
非常によく似ている
PRML § 9.3 p. 9
- 10. § 9.3.1 混合ガウス分布再訪
• 潜在変数による EM アルゴリズムの見方を
混合ガウスモデルの場合に適用して考察する
- 潜在変数 zn は 1-of-K 符号化法による離散変数
• K 通りの値をとり、
要素のうち 1 つだけが 1 で、残りは 0 のベクトル
• K=3 であれば (1,0,0) (0,1,0) (0,0,1) の 3 通りの値
• znk は zn の k 番目の要素を表す
• N 個の観測データの同時分布
p(X,Z|μ,Σ,π) = ΠnN ΠkK πkz N(xn|μk,Σk)z
nk nk
• 完全データ対数尤度関数は次の形となる
ln p(X,Z|μ,Σ,π) = ΣnN ΣkK znk {ln πk + ln N(xn|μk,Σk)}
- 対数は指数型分布族であるガウス分布に直接作用している
PRML § 9.3 p. 10
- 11. 混合ガウス分布の事後分布
• ラグランジュ未定乗数法により混合係数 πk が求まる
πk = (1/N) ΣnN znk
ex) z1~z3=(1, 0)T, z4~z10=(0, 1)T → π=(0.3, 0.7)T
- 対応する要素に割り当てられたデータ点数の割合となる
- (9.21) 式において両辺に πk をかけて k について総和
0 = ΣnN 1 + ΣkK πk λ = N + λ → λ=-N
πkN = ΣnN γ(znk) = Nk → πk = N k / N
• 完全データ対数尤度関数の最大化は陽な形で解ける
- 完全データは得られないので尤度関数の値は計算できない
- 事後分布をベイスの定理を利用して求める
p(Z|X,μ,Σ,π) ∝ p(X|Z,μ,Σ)p(Z|π)
p(Z|X,μ,Σ,π) ∝ ΠnN ΠkK [πk N(xn|μk,Σk)]z nk
- 右辺は n について積の形 → {zn} は独立
PRML § 9.3 p. 11
- 12. 混合ガウス分布の完全データ尤度関数の期待値
• 事後分布に関する指示変数 znk の期待値を求める
- k 番目のガウス分布の、データ点 xn に対する負担率と同じ
• 完全データ尤度関数(再掲)
ln p(X,Z|μ,Σ,π)
= ΣnN ΣkK znk {ln πk + ln N(xn|μk,Σk)}
• 完全データ尤度関数の事後分布についての期待値
Ez[ln p(X,Z|μ,Σ,π)]
= ΣnN ΣkK E[znk] {ln πk + ln N(xn|μk,Σk)}
= ΣnN ΣkK γ(znk) {ln πk + ln N(xn|μk,Σk)}
PRML § 9.3 p. 12
- 13. 混合ガウス分布に関する EMA の再確認
• μold, Σold, πold から負担率 γ(znk) を計算する
• 負担率 γ(znk) を固定した上での期待値
Ez = ΣnN ΣkK γ(znk) {ln πk + ln N(xn|μk,Σk)}
ただし、
= - (1/2) ΣnN ΣkK γ(znk) (xn - μk)TΣ-1(xn - μk) + const
を、μk, Σk, πk について最大化し、更新則の陽な解を導く
• Nk = ΣnN γ(znk), μknew = (1 / Nk) ΣnN γ(znk) xn
∂Ez / ∂μk = - ΣnN γ(znk) Σ-1(μk – xn) = 0
Σ を掛けて整理 ΣnN γ(znk) μk = Nk μk = ΣnN γ(znk) xn
• Σknew = (1 / Nk) ΣnN γ(znk) (xn - μk)(xn – μk)T
∂Ez / ∂Σk = 0 から、式 (2.112) と演習 2.34 解答を参照
• πknew = Nk / N
γ(znk) 固定で ΣnN γ(znk) (1 / πk) + λ = 0, λ = -N
PRML § 9.3 p. 13
- 14. § 9.3.2 K-means との関連
• K-means 法と混合ガウス分布の EMA を比較すると
強い類似性が明らかになる
• 各々のデータ点が
- K-means 法ではただ一つのクラスタに割り当てられる (左)
- EMA では事後確率に基づきソフトに割り当てられる (右)
• 混合ガウス分布に関する EMA のある極限として
K-means 法を導けることを説明する
PRML § 9.3 p. 14
- 15. EMA から K-means を導く
• 各ガウス要素の共分散行列が εI で与えられるとする
- ε は全てのガウス分布が共有する、固定した定数とする
• 事後確率、すなわちデータ点 xn に関する
k 番目の混合要素の負担率 γ(znk) は以下の式となる
- ||xnー μj||2 が最小になる j を j* とおき、ε → 0 の極限をとる
- 分母において j* に対応する項が、最も遅く 0 に近づく
- 分子においても k = j* となる(分子と分母の式が一致する形になる)
γ(znj*) のみが 1 に収束し、他の γ(znk) は 0 に収束する
- このことは、πk がどれも非零である限り、πk の値に依存せず成立する
- 負担率 γ(znk) が 1 か 0 というハードな割り当てとなる
PRML § 9.3 p. 15
- 16. ε → 0 における完全データ対数尤度の期待値
• ε → 0 における完全データ対数尤度の期待値
Ez = - (1/2) ΣnN ΣkK γ(znk) ||xn - μk||2 + const
rnk = (k == argmin(j)||xn - μj||) ? 1 : 0, ∴ γ(znk)→rnk
Ez = - (1/2) ΣnN ΣkK rnk ||xn - μk||2 + const
• この期待値の最大化は、K-means における歪み尺度
J = ΣnN ΣkK rnk ||xnー μk||2
の最小化に等しい
• K-means ではクラスタの分散を推定せず、
平均のみを推定していることに注意する
- (参考) 一般の共分散行列をもつハード割り当て版の
混合ガウスモデルに関する EMA は
楕円 K-means アルゴリズムと呼ばれる
PRML § 9.3 p. 16
- 17. § 9.3.3 混合ベルヌーイ分布
• 混合モデルの別の例として、
ベルヌーイ分布で表される 2 値の変数の混合を扱う
- 別の文脈での EM アルゴリズムの説明となる
- 潜在クラス分析としても知られる
- 離散変数に関する隠れ Markov モデルの基礎になる
• 0 もしくは 1 の値をとる D 個の変数 xi (i = 1,...,D) が
それぞれ期待値 μi のベルヌーイ分布に従うとする
p(x|μ) = ΠiD μix (1 – μi)(1 – x )
i i
ただし x = (x1,...,xD)T, μ = (μ1,...,μD)T
• p(xi = 1|μi) = μi , p(xi = 0|μi) = 1 – μi
- μ が与えられているとき各変数 xi は独立
- 期待値 E[x] = μ 共分散行列 cov[x] = diag {μi (1 - μi)}
PRML § 9.3 p. 17
- 18. ベルヌーイ分布の有限混合分布
• ベルヌーイ分布の有限個の混合分布をモデルとする
- p(x|μ,π) = ΣkK πk p(x|μk) (πk は k 番目の混合要素の混合率)
p(x|μk) = ΠiD μkix (1 – μki)(1 - x )
i i
- μ = {μ1,...,μK}, π = {π1,...,πK} を EMA で推定する
• 後述の例では添字 i が画素のインデックスに相当する
600 牧の画像データ
n 番目の画像 xn の
i 番目の画素が xni
K = 3 個のベルヌーイ分布の混合をモデルとして EMA を実行
10 回反復して得られた
k 番目のベルヌーイ分布の
i 番目の画素に対応する
パラメータ μki
PRML § 9.3 p. 18
- 19. 混合ベルヌーイ分布の期待値と共分散行列 (1)
• 期待値と共分散行列は次式で与えられる
- 期待値
E[x] = ΣkK πk μk
- 共分散
cov[x] = ΣkK πk ( Σk + μkμkT ) - E[x]E[x]T
ただし Σk = diag { μki (1 - μki) }
- 求める過程は次頁に記述
• 共分散行列 cov[x] はもはや対角行列ではなく、
変数間に相関があることがわかる
PRML § ৯.৩ p. ১৯
- 20. 混合ベルヌーイ分布の期待値と共分散行列 (2)
• k 番目の単一のベルヌーイ分布の性質再掲
- 期待値 Ek[x] = μk
- 共分散 Σk = Ek[xxT] – Ek[x]Ek[x]T
= Ek[xxT] – μkμkT
= diag {μki (1 – μki)}
- Ek[xxT] = Σk + μkμkT であることを後で利用する
• 混合ベルヌーイ分布の定義から
- 期待値 E[x] = ΣkK πk Ek[x]
= ΣkK πk μk
- 共分散 cov[x] = E[xxT] – E[x]E[x]T
= ΣkK πk Ek[xxT] – E[x]E[x]T
= ΣkK πk ( Σk + μkμkT ) – E[x]E[x]T
PRML § ৯.৩ p. ২০
- 21. 混合ベルヌーイ分布に関する EMA の準備
• 観測データ集合 X = {x1,...,xN} の対数尤度関数
ln p(x|μ,π) = ΣnN ln { ΣkK πk p(xn|μk) }
- 対数の中に総和が現れているので、最尤解は陽に解けない
• 混合ベルヌーイ分布に潜在変数 z を導入する
- K 通りの値をとる 1-of-K 符号化法による離散変数 z={zk} (k=1,...,K)
- 複数の xn があるとき、それぞれに zn={znk} (n=1,...,N) が付随する
- 潜在変数 z の値が与えられた下で、x の条件付き確率分布は
p(x|z,μ) = ΠkK p(x|μk)z k
- 潜在変数 z についての事前分布は、混合ガウスモデルと同様に
p(z|π) = ΠkK πkz k
( p(zk=1) = πk の別の表現。ΣkK πk = 1)
• 潜在変数 z について周辺化すると元の分布と一致する
p(x|μ,π) = Σz p(x|z,μ)p(z|π) = Σz ΠkK {πk p(x|μk)}z k
= ΣjK ΠkK {πk {ΠiD μkix (1 – μki)(1 - x )}}I , ただし{Ikj}=(k==j)?1:0
i i kj
= ΣjK πj ΠiD μjix (1 – μji)(1 - x ) = ΣjK {πj p(x|μj)} = p(x|μ,π)
i i
PRML § ৯.৩ p. ২১
- 22. 混合ベルヌーイ分布の尤度関数と期待値
• 完全データ対数尤度関数を書き下す
p(X,Z|μ,π) = ΠnN p(xn,zn|μn,π) = ΠnN p(xn|zn,μn)p(zn|π)
= Π nN { ΠkK { ΠiD μkix (1 – μki)(1 - x )}z ・ΠkK πkz
ni ni nk nk
}
= ΠnN ΠkK { πk ΠiD μkix (1 – μki)(1 - x )}z
ni ni nk
∴ ln p(X,Z|μ,π)
= ΣnN ΣkK znk {lnπk + ΣiD [xni lnμki + (1-xni) ln(1-μki)]}
• 事後分布に沿った完全データ対数尤度関数の期待値
EZ[ln p(X,Z|μ,π)]
= ΣnN ΣkK E[znk] {lnπk + ΣiD [xni lnμki + (1-xni) ln(1-μki)]}
= ΣnN ΣkK γ(znk) {lnπk + ΣiD [xni lnμki + (1-xni) ln(1-μki)]}
- γ(znk) = E[znk] は k 番目の混合要素の事後確率、
すなわち負担率である(次項に式を書く)
PRML § ৯.৩ p. ২২
- 23. 混合ベルヌーイ分布の EMA の E ステップ
• 負担率 γ(znk) をベイズの定理から計算し、
E ステップにおいてこの値を求める
• 尤度関数の期待値の式において n に関する総和を見る
EZ[ln p(X,Z|μ,π)] = ΣkK ln πk ΣnN γ(znk)
+ ΣkK ΣiD { ln μki - ln (1 – μki) } ΣnN γ(znk) xni
+ ΣkK ΣiD ln (1 – μki) ΣnN γ(znk)
- 負担率 γ(znk) は次の 2 項に集約された形でのみ現れる
Nk = ΣnN γ(znk)
xk = (1 / Nk) ΣnN γ(znk) xn
- Nk は k 番目の混合要素に割当られるデータ点の実効的な数
PRML § ৯.৩ p. ২৩
- 24. 混合ベルヌーイ分布の EMA の M ステップ (1)
• M ステップにおいては、完全データ対数尤度関数の
期待値 EZ をパラメータ μk と π について最大化する
- EZ = ΣnN ΣkK γ(znk) {ln πk + ΣiD [xni ln μki + (1-xni) ln (1-μki)]}
を μk に関する微分を 0 として整理する
- ∂EZ[ln p(X,Z|μ,π)] / ∂μki = 0
ΣnN γ(znk) { xni / μki – (1 - xni) / (1 - μki) } = 0
{ ΣnN γ(znk) xni – ΣnN γ(znk) μki } / μki (1 - μki) = 0
∴ μki = Σn γ(znk) xni / Σn γ(znk)
μk = xk
• パラメータ μk については、k 番目の混合要素からの
負担率 γ(znk) を重み係数とした、
データ点 xn の重みつき平均に設定すればよい
PRML § 9.3 p. 24
- 25. 混合ベルヌーイ分布の EMA の M ステップ (2)
• 混合ガウスの場合と同様の手順で πk を求める
- πk に関する最大化には Σk πk = 1 を制約として
ラグランジュ未定定数法を使う
π k = Nk / N
- Nk = ΣnN γ(znk) は
k 番目の混合要素が負担するデータの実効的な数であり、
k 番目の要素の混合係数 πk が Nk に比例することは、
直感的に理解できる
• 混合ガウス分布の場合と違い、混合ベルヌーイ分布は
尤度関数が発散する特異性は存在しない
- 0 ≦ p(xn|μk) ≦ 1 であるため尤度関数は上に有界であり、
EMA は極大点に到達するまで尤度を増大し続けるので、
病的な初期値を設定しない限り、尤度が 0 になることはない
PRML § 9.3 p. 25
- 26. 混合ベルヌーイモデルの手書き数字への適用
• しきい値 0.5 で 2 値画像化した数字画像 600 枚
• K 個のベルヌーイ分布の混合モデルで EMA を実行
- 左側は K = 3 個の混合として 10 回反復した後の μki の値
画素数 D として D 次元で 3 つのクラスタに分離
•
- 右側は K = 1 すなわち単一のベルヌーイ分布による最尤解
• 各画素の値の単純な平均に等しく、意味のない推定
- 初期値は、混合係数 πk を 1 / K とし、パラメータ μki は
区間 (0.25, 0.75) の一様分布で発生させた後正規化する
PRML § 9.3 p. 26
- 27. § 9.3.4 ベイズ線形回帰に関する EM アルゴリズム
• EMA の 3 番目の応用例として、
ベイズ線形回帰に関するエビデンス近似を再訪する
- エビデンス関数 p(t|α,β) の α と β に関する最大化が目的
- § 3.5.2 超パラメータ α と β の再計算法
• エビデンスを計算し、得られた表現式の微分を 0 にする
• エビデンス関数
p(t|α,β) = ∫ p(t|w,β) p(w|α) dw
= (β/2π)N/2 (α/2π)M/2 ∫ exp { - E(w) } dw
ただし E(w) = (β/2)|| t – Φw ||2 + (α/2) wTw
- パラメータベクトル w は周辺化で消去されているので、
潜在変数とみなせる
• EMA によってこの周辺尤度関数を最大化すればよい
PRML § 9.3 p. 27
- 28. エビデンス関数の期待完全データ対数尤度
• w の事後分布に沿う完全データ対数尤度の期待値
- E ステップでは α と β の現在の値にもとづいて
w の事後分布と、その期待完全データ対数尤度を求める
- M ステップではこの量を α と β について最大化する
• 完全データ対数尤度は次式で与えられる
- ln p(t,w|α,β) = ln p(t|w,β) + ln p(w|α)
- (3.7)~(3.12) により
ln p(t|w,β) = (N/2) ln (β/2π) – (β/2) Σn { tn – wTΦ(xn) }2
- (3.52)~(3.56 で q=2 とおく) により
ln p(w|α) = (M/2) ln (α/2π) – (α/2) wTw
• したがって完全データ対数尤度の期待値は
- E [ln p(t,w|α,β)] = (M/2) ln (α/2π) – (α/2) E [wTw]
+ (N/2) ln (β/2π) – (β/2) Σn E [ (tn – wTΦ)2 ]
PRML § 9.3 p. 28
- 29. M ステップの更新式を求める
• E [ln p(t,w|α,β)] = (M/2) ln (α/2π) – (α/2) E [wTw]
+ (N/2) ln (β/2π) – (β/2) Σn E [ (tn – wTΦ)2 ]
• ∂E [ln p(t,w|α,β)] / ∂α = (M/2α) – (1/2) E [wTw] = 0
α = M / E [wTw] = M / { E [w]TE [w] + Tr(SN) }
α = M / { mNTmN + Tr(SN) }
- エビデンス近似では α = γ / mNTmN , (γ = M - αTr(SN))
• ∂E [ln p(t,w|α,β)] / ∂β =
(N/2β) – (1/2) Σn E [ (tn – wTΦ)2 ] = 0
β = N / { Σn E [ (tn – wTΦ)2 ] }
= N / { Σn { tn – E [w]TΦ }2 }
β = N / { Σn { tn – mNTΦ }2 }
- エビデンス近似では β = (N - γ) / { Σn { tn – mNTΦ }2 }
PRML § 9.3 p. 29
- 30. RVM への EM アルゴリズムの適用
• RVM に EM アルゴリズムを適用する
潜在変数の事後分布に沿った完全データ尤度関数の期待値
-
• 周辺尤度関数
p(t|α,β) = ∫ p(t|w,β) p(w|α) dw
= (β/2π)N/2 (1/2π)M/2 ΠiM αi ∫ exp { - E(w) } dw
= (β/2π)N/2 ΠiM αi { exp{ - E(t) } |Σ|1/2 }
E(t) = (1/2) (βtTt – mTΣ-1m) , Σ = diag(α) + βΦTΦ
• 周辺尤度関数の対数値について αi , β での偏微分を 0 とする
ln p(t|α,β) = (1/2) { N ln β + ΣiN ln αi – 2E(t) - ln |Σ| - N ln (2π) }
= (1/2) { N ln β + ΣiN ln αi – βtTt + mTΣ-1m - ln |Σ| - N ln (2π) }
• ∂ ln p(t|α,β) / ∂αi = (1/2αi) – (1/2) Tr {Σ-1(∂Σ/∂αi)} – (1/2)mi2 = 0
αinew = 1 / (mi2 + Σii)
• ∂ ln p(t|α,β) / ∂β = (1/2) (N/β - ||t – Φm||2 - Tr [ΣΦTΦ]) = 0
(βnew)-1 = (1 / N) ( ||t – Φm||2 + β-1 Σi γi )
PRML § 9.3 p. 30
- 31. TODO メモ
• なぜ期待値 Q を最大化するのか (§ 9.4 の予習)
• 混合ガウス分布の有向グラフ表現と有向分離
• § 9.3.4 の説明や演習の解答
• § 9.3.3 - § 9.3.4 のグラフィカルモデルによる説明
• それぞれの実装とテスト結果
PRML § 9.3 p. 31