chapter9 2
DESCRIPTION
PRML読書会#12発表資料混合ガウス分布のEMアルゴリズムTRANSCRIPT
PRML読書会 発表資料9.2 混合ガウス分布
Presented by takmin
この章でやりたいこと• ある観測データxが混合ガウス分布に従うときの最尤推定を行いたい.
K
k
kkkp1
),|Ν()( Σμxx (9.7)
N
n
K
k
kknkp1 1
),|Ν(),,|( ΣμxΣμπX
混合ガウス分布
尤度関数
観測データが与えられたとき
こいつを最大化する こいつらを求めたい
そのための計算方法を求める = EMアルゴリズムの導出
この章の流れ
• 9.2 混合ガウス分布– 混合ガウス分布に潜在変数zと負担率γ という考え方を導入する
• 9.2.1 最尤推定– 混合ガウス分布の対数尤度関数に対して最尤推定を行うのはとにかく難しい,ということを説明する
• 9.2.2 混合ガウス分布のEMアルゴリズム– 潜在変数zと負担率γ という考え方を利用して,対数尤度関数を最大化するためのアルゴリズムを導出する.
– アルゴリズムまとめ
9.2 混合ガウス分布• 混合ガウス分布
K
k
kkkp1
),|Ν()( Σμxx
)()(2
1exp
1
)2(
1),|N( 1T
2/12/ kkk
k
Dkk μxΣμxΣ
Σμx
(9.7)
(2.43)
K=2 の例
1μ 2μ
1Σ
2Σ
12
潜在変数zを導入• 潜在変数zを導入することで,以下の形に定式化したい
Z
X
zz
zxzzxx )|()(),()( pppp
kkzp )1(
T,1 ,,, Kk zzz z
1 ,1,01
K
k
kk zz
1 ,101
K
k
kk
K
k
z
kkp
1
)( z
)(zpK=2 の例
)0,1(1 z )1,0(2 z
1
2
潜在変数z
潜在変数の事前分布 P(z)
(9.10)
K
k
z
kkkp
1
),|Ν()|( Σμxzx
),|Ν()1|( kkkzp Σμxx
観測データの事後分布 P(x|z)
)|( zxp
1Σ
)1|( 1 zp x
1μ
2Σ
)1|( 2 zp x
2μ
(9.11)
演習9.3
K
k
kkkp1
),|Ν()( Σμxx
K
k
z
kkp
1
)( z
K
k
z
kkkp
1
),|Ν()|( Σμxzxと から
を導く
zz
zxzzxx )|()(),()( pppp
答え:
zz
ΣμxΣμxK
k
z
kkk
K
k
z
kk
K
k
z
kkkk
111
),|N(),|N(
(9.10) (9.11)
(9.7)
K
j
kkk
K
j
K
k
I
kkkkj
11 1
),|N(),|N( ΣμxΣμx
zは1-of-K表現なので,Ikj= (k==j)? 1 : 0 とすると
)(zp
)|( zxp
)0,1(1 z )1,0(2 z
1
2
1μ 2μ
1Σ2Σ
)1|( 1 zp x )1|( 2 zp x
),|,( 1111 Σμzxp ),|,( 2222 Σμzxp
z
zxzx )|()()( ppp
観測データxnには必ず対応する潜在変数znが存在する
負担率
K
j
kk
kkkk
zpzp
zpzpzpz
1
)1|()1(
)1|()1()|1()(
x
xx
xが与えられた元でのzkの条件付き確率
K
j
jjj
kkk
1
),|Ν(
),|Ν(
Σμx
Σμx
k ),|Ν( kk Σμx
データxが混合要素kから発生したものである可能性
『混合要素kがxの観測を「説明する」度合いを表す』
???
負担率
K
j
jjj
kkkkz
1
),|Ν(
),|Ν()(
Σμx
Σμx
),|,( 1111 Σμzxp
),|,( 2222 Σμzxp
xn
L1
L1 L2
L1
L1 L2
L2
L2
)( 1nz
)( 2nz
ランダムサンプルの生成
伝承サンプリングz→xの順にサンプルを生成する
Z
X
混合ガウスモデルに従うランダムサンプルを生成したい
)(zp
)0,1(1 z )1,0(2 z
1
2
ランダムサンプルの生成
伝承サンプリングz→xの順にサンプルを生成する
Z
X
混合ガウスモデルに従うランダムサンプルを生成したい
)|( zxp
1μ
1Σ
)1|( 1 zp x
2μ
2Σ
)1|( 2 zp x
ランダムサンプルの生成
伝承サンプリングz→xの順にサンプルを生成する
Z
X
混合ガウスモデルに従うランダムサンプルを生成したい
)(xp
ランダムサンプルを繰り返して,最終的に得られる分布
ランダムサンプルの生成
(a) 同時分布p(x,z)からのサンプル• xは2次元空間上の位置• zは3つの状態を色で表す
(b) p(x)• xがどのzから生成されたのかわからない
(c) 負担率γ
9.2.1 最尤推定
zn
xn
π
μ Σ
N
観測したデータ集合Xに混合ガウス分布を当てはめたい。
TTT
1 ),,( NxxX
T
1),,( nDnn xx x
TTT
1 ),,( NzzZ
T
1),,( nKnn zz z
対数尤度関数
K
k
K
k
kknkp1 1
),|Ν(ln),,|(ln ΣμxΣμπX
混合ガウス分布の対数尤度を最大化したい
観測データが与えられたとき
こいつを最大化する こいつらを求めたい
色々と困難な問題がある
特異性の問題
j
D
nnjnn
j
D
jnnjnn
σσ
σσ
1
)2(
1
)()()(2
1exp
1
)2(
1
),|N(),|N(
2/
12T
2/12
2/
22
xxxx
IxxIμx
IΣ2
kk σ の混合ガウス分布を例に
nj xμ あるデータnについて が成り立ったとする。
0jσ の時,無限大に発散してしまう
特異性の問題
μをxnにσを0に近づけると尤度が無限大になる
特異性の問題
単一のガウス分布の場合
μをxnにσを0に近づけると,尤度は0になる
)(xp),|,( 1111 Σμzxp
),|,( 2222 Σμzxp
),|,( 1111 Σμzxp
),|,( 2222 Σμzxp
識別不可能性
同等な解がK!個存在する
対数尤度関数
N
n
K
k
kknkp1 1
),|Ν(ln),,|(ln ΣμxΣμπX
混合ガウス分布の対数尤度を用いた最尤推定の困難さ
対数の中に和が入ってしまっている
•特異性の問題•識別不可能性
9.2.2 混合ガウス分布のEMアルゴリズム
K
k
K
k
kknkp1 1
),|Ν(ln),,|(ln ΣμxΣμπX
対数尤度関数:
対数尤度関数を最大化したい
極大値を求めるために,それぞれのパラメータの導関数が0となる値を求める
kk Σμ ,
k については の制約のもとラグランジュ未定係数法で解く
K
k
k
1
1
μkについて
),|N()(
),|N(
1
kknknk
kkn
k
ΣμxμxΣ
Σμxμ
N
n
K
j
jjnj
kk
p1 1
),|Ν(ln),,|(ln Σμxμ
ΣμπXμ
)( nkz
N
n
knK
j
jjnj
kknk
k
1
1
1
)(
),|Ν(
),|Ν(
xΣ
Σμx
Σμx
N
n
K
j
jjnj
k1 1
),|Ν(ln Σμxμ
N
nK
j
jjnj
kknk
k
1
1
),|Ν(
),|Ν(
Σμx
Σμxμ
)(
)(
))(ln(x
xxx
x f
f
f
μkについて
0)()( 1
1
N
n
knnk kz μxΣ
N
n
nnk
N
n
knk zz11
)()( xμ
N
n
nkk zN1
)(
N
n
nnk
k
k zN 1
)(1
xμ ただし (9.17)
Σkについて
0),,|(ln
ΣμπX
Σp
k
の時
N
n
knknnk
k
k zN 1
T)(
1μxμxΣ となる
スイマセン!解き方がわかりませんでした!
(9.19)
π kについて
)|(ln ΣμπX ,,p
K
k
k
1
1 の制約のもとで最大化したいを
ラグランジュ未定係数法
1)|(ln),(1
K
k
kk ,,pL ΣμπX
0
),|Ν(
),|Ν(
1),|Ν(ln),(
1
1
11 1
N
nK
j
jjnj
kkn
K
k
k
k
N
n
K
j
jjnj
k
k
k ππL
Σμx
Σμx
Σμx
π kについて
0
),|Ν(
),|Ν(
1
1
N
nK
j
jjnj
kkn
Σμx
Σμx
0
),|Ν(
),|Ν(
1
1
k
N
nK
j
jjnj
kknk
Σμx
Σμx
0)(1
k
N
n
nk Nz
両辺にπ kをかける
0
),|Ν(
),|Ν(
1 1
1
K
k
k
N
nK
j
jjnj
kknk
Σμx
Σμx
11
1-Kまでの和
011
N
n
N
N
Nkk (9.22)
EMアルゴリズム概要
)( nkz(9.17),(9.19),(9.22)の結果は, を固定した時の最尤推定の解
πΣμ ,,)( nkz 自体が の影響を受ける.
πΣμ ,,)( nkz の計算と の推定を交互に繰り返しながら,最適な解を求める
Eステップ: 負担率 を計算する.)( nkz
Mステップ: を計算する.πΣμ ,,
Old Faithful間欠泉データの例
EMアルゴリズム
1. 平均 ,分散 ,そして混合係数 を初期化し,対数尤度の初期値を計算する.
μ Σ π
K=2 の例
1μ 2μ
1Σ
2Σ
12
N
n
K
k
kknkp1 1
),|Ν(ln),,|(ln ΣμxΣμπX
のlnの総和=対数尤度
EMアルゴリズム
2. Eステップ:現在のパラメータ値を使って,次式の負担率を計算する.
K
j
jjj
kkkkz
1
),|Ν(
),|Ν()(
Σμx
Σμx
),|,( 1111 Σμzxp
),|,( 2222 Σμzxp
L1
L1 L2
L1
L1 L2
L2
L2
)( 1nz
)( 2nz
xn
EMアルゴリズム
3. Mステップ:現在の負担率を使って,次式でパラメータを再計算する.
N
n
nnk
k
k zN 1
)(1
xμ
N
n
knknnk
k
k zN 1
T)(
1μxμxΣ
N
Nkk
N
n
nkk zN1
)(
EMアルゴリズム
4. 対数尤度を計算し,パラメータ値の変化または対数尤度の変化を見て,収束性を確認し,収束基準を満たしていなければステップ2に戻る.
K
k
K
k
kknkp1 1
),|Ν(ln),,|(ln ΣμxΣμπX
この章のまとめ
• 9.2 混合ガウス分布(Mixtures of Gaussians)– 混合ガウス分布は潜在変数zによって生成されたk個のガウス分布が合わさったものだと考えよう• 負担率=観測xがどれだけzに起因してそうか
• 9.2.1 最尤推定– 混合ガウス分布の対数尤度関数に対して最尤推定を行うのは結構難しい
• 9.2.2 混合ガウス分布のEMアルゴリズム– アルゴリズムの導出方法
• 負担率を固定して,それぞれのパラメータの微分値が0となる値を求める
– アルゴリズムまとめ• Eステップ:パラメータを固定して負担率を計算• Mステップ:負担率を固定して,尤度を最大化するパラメータを計算