Download - Bishop prml 9.3_wk77_100408-1504
PRML § 9.3 p. 1
C.M.C.M.ビショップビショップ
「パターン認識と機械学習 「パターン認識と機械学習 (PRML)(PRML)」」
読書会読書会
§ 9.3 EM § 9.3 EM アルゴリズムのもう一つの解釈アルゴリズムのもう一つの解釈
PRML § 9.3 p. 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. 3
EMアルゴリズム (EMA) の目的• 潜在変数を持つモデルについて最尤解を見出したい
- 観測データ xn に対応する潜在変数の値 zn があると考える- xnT の集合を X とし、znT の集合を Z とする
- 観測時には X が得られるだけで、Z は不明である(左)- 2 つのガウス分布からなる混合ガウス分布をモデルとし、
潜在変数 zn は赤 (1,0) か青 (0,1) の値とする (中央)- このモデルに基づいて最尤解を見出す (右)
PRML § 9.3 p. 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. 5
?
完全データと不完全データ• 潜在変数 Z の値が得られると仮定したときに
{X,Z} という組を完全データ集合と呼ぶ• 実際に得られる観測データ X は不完全であると言う
- 完全データ {X,Z} の最尤解が簡単に得られるとしても
不完全データ X しか得られなければ、その方法は使えない
PRML § 9.3 p. 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. 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. 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. 9
データ集合中の欠損値を非観測変数とみなす場合• 観測値の分布は、すべての変数に関する同時分布を
求めて、欠損値について周辺化することで得られる- 対応する尤度関数を最大化するのに EMA を使える- データの値がランダム欠損している場合に有効である
• 観測値が失われる原因が非観測データの値によらない• 現実には非観測データの値に依存することが多い
- 図 12.11 は、主成分分析の文脈での適用例である• 右のプロットは変数値の
30% をランダム欠損させEMA 法であつかったもの
• 欠損値のない方の左のプロットと非常によく似ている
PRML § 9.3 p. 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 πkznk N(xn|μk,Σk)znk
• 完全データ対数尤度関数は次の形となるln p(X,Z|μ,Σ,π) = ΣnN ΣkK znk {ln πk + ln N(xn|μk,Σk)}
- 対数は指数型分布族であるガウス分布に直接作用している
PRML § 9.3 p. 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 = Nk / N
• 完全データ対数尤度関数の最大化は陽な形で解ける- 完全データは得られないので尤度関数の値は計算できない- 事後分布をベイスの定理を利用して求める
p(Z|X,μ,Σ,π) ∝ p(X|Z,μ,Σ)p(Z|π) p(Z|X,μ,Σ,π) ∝ ΠnN ΠkK [πk N(xn|μk,Σk)]znk
- 右辺は n について積の形 → {zn} は独立
PRML § 9.3 p. 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. 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. 14
§ 9.3.2 K-means との関連• K-means 法と混合ガウス分布の EMA を比較すると強い類似性が明らかになる
• 各々のデータ点が
- K-means 法ではただ一つのクラスタに割り当てられる (左)- EMA では事後確率に基づきソフトに割り当てられる (右)
• 混合ガウス分布に関する EMA のある極限としてK-means 法を導けることを説明する
PRML § 9.3 p. 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. 16
ε → 0 における完全データ対数尤度の期待値• ε → 0 における完全データ対数尤度の期待値
Ez = - (1/2) ΣnN ΣkK γ(znk) ||xn - μk||2 + constrnk = (k == argmin(j)||xn - μj||) ? 1 : 0, ∴ γ(znk)→rnkEz = - (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. 17
§ 9.3.3 混合ベルヌーイ分布• 混合モデルの別の例として、
ベルヌーイ分布で表される 2 値の変数の混合を扱う- 別の文脈での EM アルゴリズムの説明となる- 潜在クラス分析としても知られる- 離散変数に関する隠れ Markov モデルの基礎になる
• 0 もしくは 1 の値をとる D 個の変数 xi (i = 1,...,D) がそれぞれ期待値 μi のベルヌーイ分布に従うとする p(x|μ) = ΠiD μixi (1 – μi)(1 – xi)
ただし 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. 18
ベルヌーイ分布の有限混合分布• ベルヌーイ分布の有限個の混合分布をモデルとする
- p(x|μ,π) = ΣkK πk p(x|μk) (πk は k 番目の混合要素の混合率)p(x|μk) = ΠiD μkixi (1 – μki)(1 - xi)
- μ = {μ1,...,μK}, π = {π1,...,πK} を EMA で推定する• 後述の例では添字 i が画素のインデックスに相当する
K = 3 個のベルヌーイ分布の混合をモデルとして EMA を実行
600 牧の画像データn 番目の画像 xn のi 番目の画素が xni
10 回反復して得られた k 番目のベルヌーイ分布のi 番目の画素に対応するパラメータ μki
PRML § ৯.৩ p. ১৯
混合ベルヌーイ分布の期待値と共分散行列 (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. ২০
混合ベルヌーイ分布の期待値と共分散行列 (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. ২১
混合ベルヌーイ分布に関する 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)zk
- 潜在変数 z についての事前分布は、混合ガウスモデルと同様に p(z|π) = ΠkK πkzk ( p(zk=1) = πk の別の表現。ΣkK πk = 1)
• 潜在変数 z について周辺化すると元の分布と一致する p(x|μ,π) = Σz p(x|z,μ)p(z|π) = Σz ΠkK {πk p(x|μk)}zk
= ΣjK ΠkK {πk {ΠiD μkixi (1 – μki)(1 - xi)}}Ikj , ただし{Ikj}=(k==j)?1:0 = ΣjK πj ΠiD μjixi (1 – μji)(1 - xi) = ΣjK {πj p(x|μj)} = p(x|μ,π)
PRML § ৯.৩ p. ২২
混合ベルヌーイ分布の尤度関数と期待値• 完全データ対数尤度関数を書き下す
p(X,Z|μ,π) = ΠnN p(xn,zn|μn,π) = ΠnN p(xn|zn,μn)p(zn|π) = ΠnN { ΠkK { ΠiD μkixni (1 – μki)(1 - xni)}znk・ΠkK πkznk } = ΠnN ΠkK { πk ΠiD μkixni (1 – μki)(1 - xni)}znk
∴ 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. ২৩
混合ベルヌーイ分布の 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 § 9.3 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. 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. 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. 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. 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. 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. 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. 31
TODO メモ• なぜ期待値 Q を最大化するのか (§ 9.4 の予習)• 混合ガウス分布の有向グラフ表現と有向分離• § 9.3.4 の説明や演習の解答• § 9.3.3 - § 9.3.4 のグラフィカルモデルによる説明• それぞれの実装とテスト結果