EM AlgorithmThe Top Ten Algorithms in Data Mining
Chapter 5
2011/06/16M1:大滝啓介
ToC
1.K-meansによるクラスタリング
2.混合ガウウ分布
3.隠れ変数とEMアルゴリズム
4.その他の話題
• D次元データ N個
•クラスタ K個
•各点の割り当て
K-means
関数Jを最小化する割り当てとクラスタを探す
(a)
2 0 2
2
0
2
データ点
プロトタイプ
(b)
2 0 2
2
0
2
プロトタイプ
割り当て
近い所へ
(b)
2 0 2
2
0
2 (c)
2 0 2
2
0
2
(b)
2 0 2
2
0
2 (c)
2 0 2
2
0
2 (d)
2 0 2
2
0
2
(b)
2 0 2
2
0
2 (c)
2 0 2
2
0
2 (d)
2 0 2
2
0
2 (e)
2 0 2
2
0
2
(b)
2 0 2
2
0
2 (c)
2 0 2
2
0
2 (d)
2 0 2
2
0
2 (e)
2 0 2
2
0
2 (f)
2 0 2
2
0
2
(b)
2 0 2
2
0
2 (c)
2 0 2
2
0
2 (d)
2 0 2
2
0
2 (e)
2 0 2
2
0
2 (f)
2 0 2
2
0
2 (g)
2 0 2
2
0
2
(b)
2 0 2
2
0
2 (c)
2 0 2
2
0
2 (d)
2 0 2
2
0
2 (e)
2 0 2
2
0
2 (f)
2 0 2
2
0
2 (g)
2 0 2
2
0
2 (h)
2 0 2
2
0
2
(b)
2 0 2
2
0
2 (c)
2 0 2
2
0
2 (d)
2 0 2
2
0
2 (e)
2 0 2
2
0
2 (f)
2 0 2
2
0
2 (g)
2 0 2
2
0
2 (h)
2 0 2
2
0
2 (i)
2 0 2
2
0
2
K-means
J
1 2 3 40
500
1000
クラスタの最適化割り当ての最適化
ガウス分布と最尤推定• 1次元ガウス分布のパラメータμ,σを最
尤推定する
• n個のデータ
ガウス分布と最尤推定•双方性のあるデータに利用してみる
•ガウス分布は単峰性がある
•二つのピークを表現できない
•より複雑なデータ/分布を表現するには?
•分布を混合する
混合ガウス分布
k番目の山から発生する割合のような係数
混合ガウス分布•処理の流れ(混合Ver.)
•データを観測する
•元になっている分布のパラメータを推定する
• 1次元と同じように最尤推定を行いたい
隠れ変数z•混合ガウス分布の何番目からデータが発
生したのか?を表す変数を事前に導入
zは1-out-of-Kな変数ベクトル
xとzの両方を見るk番目の山から発生する確率
zをベクトル化
xの周辺確率 = 混合ガウス分布
p(x,z)を考える
負担率•データxが与えられたときのzの条件付確
率を負担率と呼ぶ
k番目の混合要素がxの観測を説明する度合い
• N個のデータに対して最尤推定を行う
混合ガウス分布
対数尤度を利用してパラメータを推定する…けど…
混合ガウス分布
i番目のデータがk番目の要素から得られることの寄与率
k番目の混合要素に対する寄与率 データの重み付き平均
混合ガウス分布•この最尤解は陽な形ではない
両辺に分布のパラメータが入っている
EMアルゴリズムとはこの陰な解を反復的に求めるためのもの
EM Algorithm•厳密な解が求められない場合に用いる反
復的な求解法
• Expectation Maximization Algorithm
• Eステップ: 負担率を計算する
•パラメータを固定して
• Mステップ: パラメータを計算する
•負担率を固定して
EM Algorithm
(a)2 0 2
2
0
2
EM Algorithm
(a)2 0 2
2
0
2
(b)2 0 2
2
0
2
EM Algorithm
(a)2 0 2
2
0
2
(b)2 0 2
2
0
2
(c)
L = 1
2 0 2
2
0
2
EM Algorithm
(a)2 0 2
2
0
2
(b)2 0 2
2
0
2
(c)
L = 1
2 0 2
2
0
2
(d)
L = 2
2 0 2
2
0
2
EM Algorithm
(a)2 0 2
2
0
2
(b)2 0 2
2
0
2
(c)
L = 1
2 0 2
2
0
2
(d)
L = 2
2 0 2
2
0
2
(e)
L = 5
2 0 2
2
0
2
EM Algorithm
(a)2 0 2
2
0
2
(b)2 0 2
2
0
2
(c)
L = 1
2 0 2
2
0
2
(d)
L = 2
2 0 2
2
0
2
(e)
L = 5
2 0 2
2
0
2
(f)
L = 20
2 0 2
2
0
2
EM Algorithm• K-meansに比べて収束が遅い
•負担率の計算,パラメータの再計算を繰り返すため
•収束の仕方では極大値に落ちる
•ある混合要素(ガウス分布)が潰れてしまう(特異点): 分散→0
•解析的に解けない場合によく使われる
EM法の解釈•隠れ変数を持つようなモデル(混合ガウ
ス分布はその例)における最尤解を反復的に求めるための一般的な手法
•対数尤度を次のように表す
ln p(X|θ) = ln
��
z
p(X,Z|θ)�
データ 隠れ変数 パラメータ
EM法の解釈• (X,Z)の情報が分かっているとき,この
組を完全データ集合と呼ぶ
• (X,Z)のうちXだけが分かっているとき,この組を不完全なデータと呼ぶ
•不完全データXだけから最尤解を求めるために反復的な解法を用いている
• Eステップ
• Mステップ
• Eステップ: 潜在変数Zの事後確率に関する期待値を計算している(E)
• Mステップ: 現在のパラメータを用いて新しいパラメータを推定する
EM法の解釈
Q(θ, θold) =�
Z
p(Z|X, θold)p(X,Z|θ)
θnew = argmaxθQ(θ, θold)
混合ガウス分布の場合•なぜ期待値を使うのだろう
•完全データ集合(X,Z)に関する尤度を最大化する
Q(θ, θold)
p(X,Z|µ,Σ, π) =�
i
�
k
πznkk N (xn|µk ,Σk)
znk
ln p(X,Z|µ, Σ, π) =�
i ,k
znk{ln πk + lnN (xn|µk ,Σk)}
ごにょごにょ計算していくとZの事後確率の期待値 = 寄与率の計算に相当する
Implementationγ(zk) ≡ p(zk = 1|x) =
p(zk = 1)p(x|zk = 1)�K
j=1 p(zj = 1)p(x|zj = 1)
Nk =N�
i=1
γ(zik)µk =1
Nk
N�
i=1
γ(zik)xi
Σk =1
Nk
N�
i=1
γ(zik)(xi − µk)(xi − µk)T
=πkN (x|µk ,Σk)�Kj πjN (x|µj ,Σj)
Implementation
初期の分布対象の分布
Implementation
初期の分布対象の分布
Implementation
初期の分布対象の分布
Implementation
初期の分布対象の分布
Implementation
初期の分布対象の分布
Implementation
初期の分布対象の分布
Implementation
初期の分布対象の分布
Implementation
初期の分布対象の分布
Implementation
初期の分布対象の分布
Implementation
初期の分布対象の分布
Implementation
初期の分布対象の分布
参考文献
•統計的機械学習 - 生成モデルに基づくパターン認識 : 杉山将
•パターン認識と機械学習 - ベイズ理論による統計的予測 : C.M.ビショップ