情報意味論(7) EM より複雑なモデル 例: 混合正規分布

より複雑なモデル
情報意味論(7) EM
„
確率モデルであって、一個の著名(?)な分布で表せないもの、… で
表せそうもないもの、…ではなさそうなものが、世の中にはたくさんあ
る。
„
様々な分布を考える
„
分布を組み合わせる
„
櫻井彰人
慶應義塾大学理工学部
„
„
„
„
„
正規分布(ガウス混合)の線形和
線形和 – 非観測変数の出現
しかし、工夫がある → EMアルゴリズム
分布を考えない – しょせん、多項分布
„
例: 混合正規分布
指数・ポアソン・t・対数正規・…
変数が多いと大変。
しかし、工夫がある → Bayesian network
推定の面倒さ
データが一個の正規分布から生成されることがわかっていれば、
その分布を推定することができる(平均と分散を推定すればよい。
最尤推定すればよい)。例えば
0.15
m
µ ML = argmin ∑ ( xi − µ ) =
0.10
線形和(重みの和は1)
p(x) = ∑ πj pj(x)
0.0
0.05
考え方: 各データは、まず、 j のどれか
をランダムに選び(確率分布は {πj} )、
次に pj に従い生成される
| | | ||||||||||||||||||||| |||||||| || ||
-10
-5
|| ||||||||| |||||| ||| |||| |
0
| | | |||||||| |||| ||||||||||||||||||| ||||||||| ||
5
„
i =1
しかし、混合分布の場合、分布が2個以上あるので、ある観測点が
どの分布に属するかが分からない限り、分布(平均値等)を推定す
ることはできない。
10
ところで、
分布推定は「教師なし学習」
„
µ
1 m
∑ xi
m i =1
教師付き学習: データ <x, y>
教師なし学習: データ x
教師なし学習が必要となるところ
„
„
„
„
„
分布関数(確率密度関数)の推定
クラスタリング
外れ値/新規点の検出
データ圧縮
可視化
1
分布推定とクラスタリング
クラスタリング: 混合分布から生成されたデータに対し、
どの分布から生成されたかを推定する
0.15
„
収入
混合分布
0.10
p(x) = ∑ πj pj(x)
0.0
0.05
各クラスタは混合分布の個々の分布
に対応すると考える
| | | ||||||||||||||||||||| |||||||| || ||
-10
„
„
„
-5
|| ||||||||| |||||| ||| |||| |
0
| | | |||||||| |||| ||||||||||||||||||| ||||||||| ||
5
10
隠れ変数: データ点がどのガウス分布から生成されたか
すなわち, 観測データ <x>, 全データ <x, c>.
課題: <x> から <x, c> を推定する
(EM)クラスタリング例
http://jormungand.net/projects/em/
クラスタリングと分布推定
„
クラスタリング/密度推定
年齢
(K-means) クラスタリング例
http://www.cs.washington.edu/research/imagedatabase/demo/kmcluster/
ヒント: K-Means クラスタリング
つまり、クラスタリングができれば、
„
„
データ x → クラスタ(正規分布) j
クラスタ(正規分布) j → j の平均値・分散
という具合に分布推定ができる
„
しかし、分布推定ができれば、
„
„
データ x →クラスタ(正規分布) j に属する確率
クラスタ(正規分布) j に属する確率 → 確率最大のクラスタ
という具合にクラスタリングができる
„
ということは、鶏と卵。つまり、解けない。さて、どうする?
2
K-means の行っていること
K-means クラスタリング例
„
前提(「動作だけ」を記述するには不要)
„
初期値
„
繰り返し
第一回
真のデータ
„
„
„
(各正規分布の)分散は同じとする
クラスタ中心 oj をランダムに定め、推定を開始する
各観測点ごと、その(産みの親である)クラスタを推定する
„
第二回
„
第三回
„
クラスタごと、同一クラスタの点のみを用いて、その重心(平均
値)を新たにクラスタ中心とする
„
K-means をソフトに
前提
„
„
x の生成もとがクラスタ j (1≤j≤k)である確率を πj 、クラスタ j から生
成された場合に生成される確率を pj(x) とする。そして
p(x) = ∑ πj pj(x) とする。
まず、簡単のため、 πj =1/k とする
„
初期値
„
繰り返し
„
„
クラスタ中心 oj をランダムに定め、推定を開始する
各観測点ごと、その(産みの親である)クラスタを推定する
„
„
„
„
読み換えよう (2)
„
„
x の生成もとがクラスタ j (1≤j≤k)である確率を πj 、クラスタ j から生成さ
れた場合に生成される確率を pj(x) とする。そして
p(x) = ∑ πj pj(x) とする。
確率変数 zij =1 if データ xi∈Cj or 0 otherwise
„
初期値
„
繰り返し
„
„
各 j につき、 oi = center of { x | <x, j> }
i.e. oi = (1/Nj) ∑ x (where x∈Cj ) ⇒ oi = (1/∑P(x∈Cj)) ∑ x P(x∈Cj)
繰り返しの部分
„
„
クラスタ中心 oj をランダムに定め、推定を開始する
確率変数 zij ="1 if データ xi∈Cj or 0 otherwise"
各観測点ごと、その(産みの親である)クラスタを
推定する
„
E[zij]=Prob(zij=1)=(1/∑jpj(xi)) pj(xi)
各観測点ごと、その(産みの親である)クラスタを推定する
„
„
„
„
各 <x> → <x, j>, ただし j = arg min | x - oj | .
i.e. j = arg max pj(x) ⇒ Prob( x∈Cj )=Const. pj(x)=(1/∑pj(x)) pj(x)
クラスタごと、同一クラスタの点のみを用いて、その重心(平均値)を
新たにクラスタ中心とする
„
前提
各 j につき、 oi = center of { x | <x, j> }
読み換えよう
„
„
各 <x> → <x, j>, ただし j = arg min | x - oj | .
i.e. 最近傍のクラスタ中心を選び、そのクラスタ番号を j とする
各 <x> → <x, j>, ただし j = arg min | x - oj | .
i.e. zij= "1 if j=argmin | xi - oj | or 0 otherwise" = P(xi∈Cj) = P(zij=1)
⇒ E[zij]=Prob(zij=1)=Const. pj(xi)=(1/∑jpj(xi)) pj(xi)
クラスタごと、同一クラスタの点のみを用いて、その重心(平均値)を新
たにクラスタ中心とする
„
„
„
各 j につき、 oi = center of { x | <x, j> }
i.e. oi = (1/Nj) ∑i xi (where xi∈Cj ) = (1/N) ∑i xi P(xi∈Cj)
⇒ oi = (1/N) ∑i xi P(zij=1) = (1/∑iE[zij]) ∑i xi E[zij]
„
クラスタごと、同一クラスタの点のみを用いて、そ
の重心(平均値)を新たにクラスタ中心とする
„
oi = (1/∑iE[zij]) ∑i xi E[zij]
3
混合正規分布の学習
混合正規分布の学習
(分散は共通・既知)
(分散は共通・既知)
x1 , x2 ,… , x N ~ N ( x | µ j , σ ) with probability π j = 1 k
x1 , x2 ,… , x N ~ N ( x | µ j , σ ) with probability π j
1 if C ( xi ) = j ,
zij = 
0 otherwise.
1 if C ( xi ) = j ,
zij = 
0 otherwise.
p (C ( xi ) = j )
E[ zij ] ←
E-Step
N ( xi | µ j , σ )
=
k
∑ p(C ( x ) = j ) ∑ N ( x | µ , σ )
i
j =1
i
j =1
N
1
M-Step µ j ←
N
∑ E[ z
i =1
ij
]
∑ E[ z
i =1
1
1
e 2σ
2π σ
1
k
− 2 ( xi − µ j ) 2
1
∑ e 2σ
2π σ j =1
M-Step
µj ←
i
π j N ( xi | µ j , σ )
k
∑ E[ z
πj ←
1
N
j =1
N
1
N
i =1
混合正規分布の学習
=
∑ p(C ( x ) = j ) ∑ π
j =1
( xi − µ j ) 2
2
] xi
ij
k
j
−
=
p (C ( xi ) = j )
E[ zij ] ←
E-Step
k
ij
]
∑ E[ z
i =1
N
∑ E[ z
i =1
ij
ij
j
N ( xi | µ j , σ )
] xi
]
混合正規分布の学習
(分散は既知)
x1 , x2 ,… , x N ~ N ( x | µ j , σ j ) with probability π j
x1 , x2 ,… , x N ~ N ( x | µ j , σ j ) with probability π j
1 if C ( xi ) = j ,
zij = 
0 otherwise.
1 if C ( xi ) = j ,
zij = 
0 otherwise.
E[ zij ] ←
E-Step
p (C ( xi ) = j )
k
∑ p(C ( xi ) = j)
π j N ( xi | µ j , σ j )
=
∑ π j N ( xi | µ j , σ j )
j =1
M-Step
µj ←
∑ E[ zij ]
∑ E[ z
i =1
E[ zij ] ←
j =1
N
1
N
E-Step
k
ij
1
N
=
M-Step
] xi
µj ←
1
N
∑ E[ zij ]
∑π
j =1
N
∑ E[ z
i =1
π j N ( xi | µ j , σ j )
k
ij
j
N ( xi | µ j , σ j )
] xi
πj ←
1
N
N
∑ E[ z
i =1
ij
]
i =1
N
∑ E[ z
i =1
∑ p(C ( xi ) = j)
j =1
i =1
πj ←
p (C ( xi ) = j )
k
ij
σj ←
]
1
N
∑ E[ zij ]
N
∑ E[ z
i =1
ij
] ( xi − µ j ) 2
i =1
混合正規分布の学習
ソフト化(?) K-means
(高次元)
x1 , x2 ,… , x N ~ N ( x | µ j , Σ j ) with probability π j
1 if C ( xi ) = j ,
zij = 
0 otherwise.
E-Step
E[ zij ] ←
„
„
p (C ( xi ) = j )
k
µj ←
i
k
N
∑ E[ z
ij
i =1
]
∑ E[ z
i =1
N
1
N
∑ E[ z
j =1
N
1
i =1
σj ←
π j N ( xi | µ j , Σ j )
∑ p(C ( x ) = j ) ∑ π
j =1
M-Step
=
ij
]
∑ E[ z
i =1
ij
ij
] xi
j
„
E/M stepは、データの尤度を減少させない
鞍点に収束する
„
説明が必要ですね…
„
N ( xi | µ j , Σ j )
πj ←
収束する!
証明 [Neal&Hinton '99, McLachlan&Krishnan '97]:
1
N
N
∑ E[ z
i =1
ij
]
] ( xi − µ j )( xi − µ j )T
4
EM 一般的な定義
„
„
„
„
EM 一般的な定義 (続)
X={x1,…,xN} 観測データ
Z={z1,…,zN} 非観測データ
(隠れ変数)
Y=X∪Z
„
Q(h’ | h) = E[ln P( Y | h’ ) | h, X ]
目標: E[ ln P( Y | h ) ] を最大化する h を見出
すこと, i.e. (非観測データ含めた)データの事後
確率を最大化する h を求める
EM化 K-Means で考えてみよう
„
k 個の(等荷重)正規分布から生成されたデータ:
1
2πσ 2
„
„
e
2
1 ( xi − µ j )
−
2 σ2
M-Step: 現在の仮説 h を, Q を最大化する h’ で置き換
える
h ← argmaxh’ Q(h’ | h)
EM化 K-Means, E-Step
Q(h' | h) = E[ln P (Y | h' ) | h, X ]
P ( yi | h ) =
= E[ln ∏ P ( yi | h' ) | h, X ]
N
仮説 h は平均値の組
P ( yi | h) = P ( xi , zi1 ,..., zik | h) =
„
N
X = N 個のデータ点の集合
Z = {zij}. 但し
zij=1 iff i-番目のデータは
j-番目の正規分布から生成
„
E-Step: Y の確率(の対数)の期待値を求める(式で表
す). ただし, 現在の仮説 h と観測データ X は既知とする
(目標: E[ ln P( Y | h ) ] の最大化であった)
−
1
2πσ
2
e
1
2
k
∑ zij
j =1
( xi − µ j ) 2
σ2
EM化 K-Means, M-Step
1
2πσ 2
−
e
1
2
k
∑ zij
j =1
( xi − µ j ) 2
σ2
i =1
= E[∑ ln P ( yi | h' ) | h, X ]
i =1
k
( xi − µ j ') 
1
− ∑ zij
N 


2
1
σ2
e j=1
= E[∑  ln
 | h, X ]
i =1 
2πσ 2



N 

1
1 k
z ( xi − µ j ' ) 2  | h, X ]
= E[∑  ln
−
2 ∑ ij
i =1 
2πσ 2 2σ j =1

2
N 

1
1 k
= ∑  ln
− 2 ∑ E[ zij | h, X ]( xi − µ j ' ) 2 
i =1 
2πσ 2 2σ j =1

EM化 K-Means, まとめ
h ← arg max Q(h' | h)
h'
N 

1
1 k
= argmax ∑  ln
− 2 ∑ E[ zij | h, X ]( xi − µ j ' ) 2 
h'
i =1 
2πσ 2 2σ j =1

N
k
= argmin ∑∑ E[ zij | h, X ]( xi − µ j ' ) 2
h'
E[ zij ] ← η e
i =1 j =1
仮説は µ の組であった。
すなわち、h は µ の組、h′ は µ′ の組である.
最小化は µ′ による偏微分が0とおいて達成できる, i.e.,
µj ←
N
∑ E[ z
i =1
ij
| h, X ]
∑ E[ z
i =1
ij
| h, X ] xi
E[ zij | h, X ] =
−
1 ( xi − µ i ) 2
2 σ2
M-Step:
なお
N
1
E-Step:
e
k
1 ( xi − µ i ) 2
−
2 σ2
∑e
−
1 ( xi − µ n ) 2
2 σ2
µj ←
1
N
∑ E[ zij ]
N
∑ E[ z
i =1
ij
] xi
i =1
n =1
5
EM
„
„
EM
“Expectation Maximization” の略
探索アルゴリズム
„
„
„
„
隠れ変数の値がわかっていれば, 正しい最尤仮説
(ML hypothesis)を求めることができる
„
尤度(likelihood)の最大化
Greedy, 局所最大点につかまるかも
ある問題クラスに適用
„
„
役に立つ状況は:
„
„
正しい最尤仮説があれば, 上記の隠れ変数の事後分
布が、直ちに計算できる
„
“隠れ変数 hidden (latent) variables” 対応
最急降下法より遅いことも
最急降下法より速いことも
„
つまり、各データごと隠れ変数の値の事後分布が推定可能
大切なポイント: 隠れ変数
„
「鶏と卵」状況は隠れ変数のせい。
しかし、「隠れ変数」は極めて重要な概念
„
„
つまり、混合分布のパラメータが推定できる
„
ポピュラー. しかし有効性は問題依存
目次
EM Algorithm
K-means クラスタリング
„
より一般的な説明
„
確率密度推定
„
„
„
D = {xn : n = 1,
, N}
 1 if j = arg min x − µ
j
i
j
zij = 
 0 otherwise.
„
第二ステップ
µj =
1
∑z
i
j
i
∑z
i
K-means クラスタリング
„
„
これらを K 個のクラスタに分けるにはどうしたらよい
か? ただし、K は所与とする.
„ 第一ステップ
2
条件付混合分布上の EM
EM Algorithm の一般形
„
問題: 一組の観測データが所与とする
(条件なし)混合分布上の EM
回帰と分類
„
K-means クラスタリング
Coordinate Descending algorithm
Coordinate descent 法
一変数ごと下記の 歪み尺度 J の最小化を試
みることに相当
N
k
J = ∑∑ zij xi − µ j
2
i =1 j =1
各偏微分値を0にすればよい
j
i
xi
6
混合分布
混合分布
問題: 与えられたサンプルデータが多峰 multimodal で
あったら、その真の分布はどうやって推定したらよい
のだろうか?
„
„
分割統治 “divide-and-conquer” 法が使える
隠れ変数 Z の導入
例えば、2項分布を fit し
ようとする
多峰性を現すノード. k 個の値
のうちの一つをとる
Z
当然、アルゴリズムは収
束する。しかし、結果の分
布は真の分布とはかけ離
れたものであろう
それぞれについて, 一つの分布を割
り当てる, 分布の全体は
p( x | θ ) = ∑ p( Z j = 1 | π j ) p( x | Z j = 1,θ j )
j
= ∑ π j p( x | Z j = 1,θ j )
X
j
混合分布
„
混合分布
„
混合正規分布
„
隠れ変数 Z の事後確率:
τ j = p ( Z j | x, θ )
このモデルでは, 混合分布の一つ一つは正規分布
(未知パラメータあり)である
=
θ j = ( µ j , Σ j ), θ = (θ1 ,… , θ k )
„
=
混合正規分布の確率
„
l (θ | x1 ,
j
j
1
(2π ) m 2 Σ j
12
= ∑ log ∑ p( xi , Z | θ )
1
exp{− ( x − µ j )T Σ −j1 ( x − µ j )}
2
i
z
i
j
p( x | θ )
= ∑ p ( Z j = 1 | π j ) p ( x | Z j = 1, θ j )
j
= ∑ π j p ( x | Z j = 1,θ j )
j
= ∑ log ∑ π j N ( xi | µ j , Σ j )
混合分布
変数 π j に関する l の偏微分(言い忘れたが、
Lagrange乗数を用いている)
∂
∂
{l + λ (1 − ∑ j π j )} =
{∑ log ∑ π j N ( xi | µ j , Σ j )} − λ
∂π j
∂π j i
j
N ( xi | µ j , Σ j )
=∑
−λ
i ∑ j π j N ( xi | µ j , Σ j )
τj
= ∑ i −λ
i πj
„
, xN ) = ∑ log p( xi | θ )
i
混合分布
„
p( x | θ )
π j N (x | µ j , Σ j )
∑ j π j N (x | µ j , Σ j )
対数尤度 Log likelihood:
p( x | θ ) = ∑ π j N ( x | µ j , Σ j )
= ∑π j
( x が クラスタ j から発生した確率)
p ( x | Z j = 1,θ ) p( Z j = 1 | π j )
これらを 0 とおく方程式をとけば
πj =
∑i τ ij
N
τj=
τj=
i
π j N (x | µ j , Σ j )
∑ j π j N (x | µ j , Σ j )
π j N ( xi | µ j , Σ j )
j N ( xi | µ j , Σ j )
j
∑π
„
変数 µ j に関する l の偏微分
∂l
∂
=
{∑ log ∑ π j N ( xi | µ j , Σ j )}
∂µ j ∂µ j i
j
π j N ( xi | µ j , Σ j ) ∂
1
=∑
{− ( xi − µ j )T Σ −j1 ( xi − µ j )}
2
i ∑ j π j N ( xi | µ j , Σ j ) ∂µ j
= ∑ τ i j Σ −j1 ( xi − µ j )
i
„
これを 0 とおけば、次式が得られる
∑τ x
∑τ
j
µj =
i
i
i
j
i
i
7
混合分布
„
混合分布
変数 Σ i に関する l の偏微分
∂l
∂
=
{∑ log ∑ π j N ( xi | µ j , Σ j )}
∂Σ j ∂Σ j i
j
π j N ( xi | µ j , Σ j ) ∂
1
1
=∑
{− log Σ j − ( xi − µ j )T Σ −j1 ( xi − µ j )}
2
2
i ∑ j π j N ( xi | µ j , Σ j ) ∂Σ j
∑τ
i
j
i
( xi − µ j )( xi − µ j )T
∑τ
i
= ∑i log ∏ [π j N ( xi | µ j , Σ j )]zi
= ∑i
∑
j
lc (θ | {( xi , Z i )})
∑τ
i
i
,
( xi − µ (jt +1) )( xi − µ (jt +1) )T
∑ log p( x , Z | θ ) θ
=∑ ∑ Z
log[π N ( x | µ , Σ
θ
= ∑ ∑ τ log[π N ( x | µ , Σ )]
θ (t )
=
i
i
i
(t )
j
i
i
j
j
(t )
i
j
j
)]
j (t )
i
„
j
i
j
i
j
j
Graphical Model
回帰と分類用
X
∑τ
i
j (t )
∑τ
i
1
j ( t −1)
i
i
条件付混合分布
j (t )
i
j (t )
i
∑τ
1
k
この値を Z i = ( Z i ,… , Z i ) に対するベストな推定とすれば,
i
i
i
1
N
π (jt ) =
xi ,
E[( Z i j | x, θ ( t ) )] = p ( Z i j = 1 | x, θ (t ) ) = τ i j ( t )
j
∑τ i j (t ) ,
∑τ
∑τ
j (t )
i
確率変数 X と θ (t ) で条件付けた変数 Z i = ( Z i1 ,… , Z ik )
の期待値を求める
なお Z i j は2値の確率変数であり
z j log[π j N ( xi | µ j , Σ j )]
j i
前述の 完全観測の対数尤度の期待値 を, その偏微
分値を 0 にすることにより
1
i
完全観測の対数尤度の期待値
混合分布
Σ (jt +1) =
j (t )
i
∑τ
( xi が クラスタ j か
ら発生した確率)
混合分布
lc (θ | {( xi , zi )}) = ∑i log p( xi , zi | θ )
µ (jt +1) =
1
∑τ
i
完全観測の対数尤度の期待値 という観点から EM
アルゴリズムをみてみよう
隠れ変数 Z i = ( Z i1 ,… , Z ik )
を観測したと仮定する
データ集合 {( xi , zi )} は完全に観測されたことになり,
尤度は 完全観測の対数尤度 となり
1
N
π (jt ) N ( xi | µ (jt ) , Σ (jt ) )
.
∑ j π (jt ) N ( xi | µ (jt ) , Σ(jt ) )
第二ステップ
1
µ (jt +1) =
j (t )
Σ (jt +1) =
j
„
π (jt +1) =
τ ij (t ) =
i
混合分布
„
第一ステップ
∑i τ i
これを 0 とおくと次式が得られる
Σj =
EM Algorithm
„
„
1
1
= ∑τ i j {− Σ −j1 − Σ −j1 ( xi − µ j )( xi − µ j )T Σ −j1}
2
2
i
„
„
i
i
j (t )
j (t )
xi ,
( xi − µ (jt +1) )( xi − µ (jt +1) )T .
Z
Y
変数 X と Z の間の関係を判別分類的
にモデル化することができる, e.g. ソフ
トマックス softmax .
π j ( x, ξ ) = p ( Z j = 1 | x, ξ ) =
exp(ξ Tj x)
∑
j
exp(ξ Tj x)
隠れ変数 Z, 多峰性を表すもの.
k 個の値をとる
Back
8
条件付混合分布
„
条件付混合分布
変数 Z に関して周辺化すると,
各要素分布にはいくつかのとり方がある
„
p ( y | x, θ ) = ∑ p ( Z j = 1 | x, ξ ) p ( y | Z j = 1, x, θ j )
„
„
j
X は常に観測可能とする. 事後確率 τ ( x, y, θ )
は次のように定まる
j
„
y
j
ただし µ (θ iT x) はロジスティック関数:
π j ( x, ξ ) p ( y | Z j = 1, x,θ )
∑ j π j ( x, ξ ) p( y | Z j = 1, x,θ )
µ (θ Tj x) =
条件付混合分布
„
EM を用いたパラメータ推定
„
lc (θ | {( xi , yi , zi )}) = log ∏ p ( yi , zi | xi , θ j )
= log ∏∏ [π j ( xi , ξ ) p( yi | Z i = 1, xi , θ j )]
j
i
zij
j
j
zij log[π j ( xi , ξ ) p( yi | Z i j = 1, xi , θ j )]
„
期待値を最良な推定と考え
Zij
θ (t )
そうすると 完全観測の対数尤度 は
l (θ | {( xi , yi , zi )})
= ∑i ∑ j τ i j ( t ) log[π j ( xi , ξ ) p ( yi | Z i j = 1, xi ,θ j )]
i
∑
1
1 + exp(θ Tj x)
条件付混合
完全観測の対数尤度 :
= ∑i
ロジスティック分布
p ( y | x, θ ) = ∑ π j ( x, ξ ) µ (θ Tj x) (1 − µ (θ Tj x))1− y ,
τ j ( x, y , θ ) = p ( Z j = 1 | x, y , θ )
p ( Z j = 1 | x,θ ) p ( y | Z j = 1, x,θ )
=
∑ j p( Z j = 1 | x,θ ) p( y | Z j = 1, x,θ )
=
正規分布
p ( y | x, θ ) = ∑ π j ( x, ξ ) N ( y | β Tj x, σ 2j )
j
偏微分をとり, それらを 0 とおけば, EMの更新
公式が得られる
= p( Z i j = 1 | xi , yi , θ ( t ) )
= τ i j ( xi , yi ,θ (t ) )
条件付混合
一般公式
条件付混合モデルに対する EM algorithm のまとめ
j (t )
„ (E step): 事後確率 τ i
を計算する
„ (M step): 例えば、IRLS algorithm を用い, データ
j (t )
対 ( xi ,τ i ) の元で, パラメータ ξ を更新する.
„ (M step): 荷重付き IRLS algorithm を用い, データ
j (t )
点 ( xi , yi ) と荷重 τ i のもとで, パラメータ θ j
を更新する
IRLS: iterative reweighted least square
„
„
„
X - 全観測可能変数
Z - 全隠れ変数
完全観測の対数尤度
θ - 全パラメータ
仮に Z が観測されたとき, その ML 推定量は
θ = arg maxθ lc (θ ; x, z ) = arg maxθ log p( x, z | θ )
しかしながら, Z は実際には観測されないので
l (θ ; x) = log p( x | θ ) = log ∑ p( x, z | θ )
z
不完全観測の対数尤度
9
一般公式
一般公式
仮に p ( x, z | θ ) が積に分解できたとすると, 完
全観測の対数尤度 は
„
q ( z | x) を f ( z | x, θ z ) の推定量とすれば, 完全観測
の対数尤度 は 完全観測の対数尤度の期待値 とな
り
„
lc (θ ; x, z ) = ∑ f ( z | x, θ z ) log p( x, z | θ )
lc (θ ; x, z )
z
ここで f ( z | x,θ z ) は未知であるので, この ML
推定量の求め方は不明である. しかしながら,
もし f ( z | x,θ z ) の確率変数の上で平均化すれ
ば
„
q
= ∑ q( z | x) log p ( x, z | θ )
z
この 完全観測の対数尤度の期待値 はとけて, 期待
としては, それが 完全観測の対数尤度 をなぜか改
善する. (EM の基本的アイデア.)
„
q ( z | x ) = ∑ f ( z | x, θ z )
θz
一般公式
„
一般公式
„
EM は 不完全観測の対数尤度 を最大化する
l (θ ; x) = log p ( x | θ )
= log ∑ p ( x, z | θ )
L(q, θ ) = ∑ q ( z | x) log
z
p ( x, z | θ )
q ( z | x)
z
p ( x, z | θ ) ∆
≥ ∑ q ( z | x) log

→ L(q,θ )
q( z | x)
z
z
= log ∑ q ( z | x)
Jensen の
不等式
q ( z | x) が所与のもと, L(q, θ ) の最大化は, 完全観
測対数尤度の期待値を最大化することに等しい
p ( x, z | θ )
q( z | x)
= ∑ q ( z | x) log p ( x, z | θ ) − ∑ q ( z | x) log q ( z | x)
z
z
= lc (θ ; x, z ) q − ∑ q ( z | x) log q ( z | x)
z
補助関数
一般公式
„
一般公式
θ が所与のもと, q (t +1) ( z | x) = p ( z | x,θ (t ) ) とすれ
ば L(q, θ ) の最大化が計られる
L( q (t +1) ( z | x), θ (t ) ) = ∑ p ( z | x,θ (t ) ) log
z
p ( x, z | θ ( t ) )
p ( z | x, θ ( t ) )
= ∑ p ( z | x,θ ( t ) ) log p ( x | θ (t ) )
z
„
„
前記において, EMの各ステップで, L(q, θ ) を最大
化した
しかしながら, 最後に最大化した L(q, θ ) が同時
に 不完全観測対数尤度 l (θ ; x ) をも最大化する
と, どうして分かるのか?
= log p ( x | θ (t ) )
= l (θ (t ) ; x)
注: L( q, θ
(t )
) は l (θ (t ) ; x) の上界となる
10
一般公式
„
一般公式
l (θ ; x) と L(q,θ )との差は
„
p ( x, z | θ )
q( z | x)
p ( x, z | θ )
= ∑ q ( z | x ) log p ( x | θ ) −∑ p ( z | x) log
q( z | x)
z
z
q( z | x)
= ∑ q ( z | x) log p ( x | θ ) + log
p ( z | x, θ ) p ( x | θ )
z
q ( z | x)
= ∑ q ( z | x) log
= D( q( z | x) || p ( z | x, θ ) )
p ( z | x, θ )
z
l (θ ; x) − L(q,θ ) = l (θ ; x ) − ∑ q( z | x ) log
z
非負でありq ( z | x) = p ( z | x,θ )
でユニークに最小化する
EM と交互最小化について
„ 尤度の最大化はモデルと経験分布との間の
KL divergence を最小化することと同値であっ
た.
„ 隠れ変数 Z を含めることにより、 KL
divergence は ( x, z ) の結合分布(それぞれ
の)間の完全観測の KL divergence となる
KL divergence
一般公式
一般公式
D( ~
p ( x) || p( x | θ ) ) = −∑ ~
p ( x) log p ( x | θ ) + ∑ ~
p ( x) log ~
p ( x)
x
≤ −∑ ~
p ( x) L ( q, θ ) + ∑ ~
p ( x) log ~
p ( x)
x
x
„
EM algorithm の再定式化
„ (E step)
D( q( z | x) || p( z | x,θ ) )
q (t +1) ( z | x) = arg min D(q || θ (t ) )
x
p ( x, z | θ )
= −∑ ~
p ( x)∑ q ( z | x) log
+∑~
p ( x) log ~
p ( x)
q ( z | x)
x
z
x
~
p ( x)q( z | x)
=∑~
p ( x)∑ q( z | x) log
p ( x, z | θ )
x
z
= D( ~
p ( x) q( z | x) || p( x, z | θ ) )
q (t +1) ( z | x) = p( z | x,θ (t ) )
q
„
(M step)
θ (t +1) = arg min D(q (t +1) || θ )
交互最小化
θ
まとめ(一般的な説明)
„
(条件なし)混合分布
„
„
„
条件付混合分布
„
„
„
Graphic model
EM algorithm
Graphic model
EM algorithm
EM algorithm の一般的な表現
„
„
補助関数の最大化
完全観測のKL divergence の最小化
11