混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19...
Transcript of 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19...
0
混合ガウスモデルGaussian Mixture ModelGMM
明治大学 理⼯学部 応用化学科データ化学⼯学研究室 ⾦⼦ 弘昌
GMM とは︖クラスタリング手法の一つ
与えられたデータセットを、複数の正規分布の重ね合わせで表現する確率密度関数が得られる (確率分布として表現できる)
サンプルごとに、各クラスターに所属する確率が得られる
クラスター数を自動的に決められる
1
どんなときに GMM を使うか︖理想
• データセットが、複数の正規分布の重ね合わせで表現できることが分かっているとき
現実• クラスターの数を自動的に決めながらクラスタリングしたいとき• データセットの確率密度関数が欲しいとき⁃ 確率密度関数の応用例)
• 確率密度関数に基づいたサンプリング• 説明変数 X の事前分布として利用
2
正規分布 (ガウス分布, Gaussian distribution)
データが、平均値付近に一番固まっていて、ばらつきのある確率分布
3
平均︓μ
分散︓σ2
( ) ( )2222
1 1| , exp
22N x xµ σ µ
σπσ = − −
正規分布の例μ = 0
σ = 1
4
( ) ( )2222
1 1| , exp
22N x xµ σ µ
σπσ = − −
ヒストグラム 確率密度関数
多変量正規分布正規分布を複数の変数 (x1, x2, x3, … ) がある場合に拡張したもの各変数の平均・分散だけでなく、変数間の共分散も必要
• x1 と x2 の共分散が 2 とか
変数の数を m とすると、
• x : [ x1, x2, x3, … xm ]• μ : 1 × m の平均ベクトル• Σ : m × m の分散共分散⾏列
5
( )( )
( ) ( )T 11
2 2
1 1 1| , exp
22mN
π
− = − − −
x μ Σ x μ Σ x μ
Σ
多変量正規分布の例 2変数x1 の平均 3, 分散 2
x2 の平均 4, 分散 0.2
x1 と x2 の共分散 0.5
6
ヒストグラム確率密度関数
散布図
(多変量)正規分布の重ね合わせとは︖ 例 7
重ね合わせ(混合)
混合正規分布 (混合ガウス分布)8
確率密度関数ヒストグラム
散布図 混合正規分布(混合ガウス分布, mixtures of Gaussians)
混合正規分布 (混合ガウス分布) 式変数の数を m , 正規分布の数を n とすると、
• x : [ x1, x2, x3, … xm ]• μk : k 番目の正規分布における 1 × m の平均ベクトル• Σk : k 番目の正規分布における m × m の分散共分散⾏列• πk : 混合係数 (各正規分布の重み)
9
( ) ( )1
| ,n
k k kk
p Nπ=
=x x μ Σ
( )( )
( ) ( )T 11
2 2
1 1 1| , exp
22k k k k km
k
Nπ
− = − − −
x μ Σ x μ Σ x μ
Σ
1
1n
kk
π=
=
GMM の方針 10
データセットが与えられたとき、最尤推定法で
• μk : k 番目の正規分布における 1 × m の平均ベクトル• Σk : k 番目の正規分布における m × m の分散共分散⾏列• πk : 混合係数 (各正規分布の重み)
を求めよう︕
最尤推定法については、http://datachemeng.com/maximumlikelihoodestimation/にあります
具体的な求め方については、p. 18 以降の [補足] にあります
実際に GMM をやってみる 11
散布図
右のデータセットを用いてn = 3 としてGMMを⾏うと、
p. 8 にある実際の確率密度関数と同じような結果が得られた︕
各サンプルがどのクラスターになるか考える 1/3GMM では、各サンプルの割り当てられた正規分布が、
そのサンプルのクラスター• n 個の正規分布があるとき、クラスター数も n 個ある
クラスター変数 z を用いるある k 番目の zk だけ値が 1 で、他は 0
zk = 1 のとき、k 番目のクラスターに属するということ
サンプルに関する情報がないとき、 zk = 1 となる確率は πk (混合係数)
12
( )1k kp z π= =
各サンプルがどのクラスターになるか考える 2/3 13
( )1|kp z = x
知りたいのは、あるサンプル x が与えられたときに、zk = 1 となる確率
ベイズの定理より、( ) ( ) ( )
( ) ( )
( )( )
1
1
1 | 11|
1 | 1
| 1
| 1
k kk n
i ii
k kn
i ii
p z p zp z
p z p z
p z
p z
π
π
=
=
= == =
= =
==
=
xx
x
x
x
各サンプルがどのクラスターになるか考える 3/3 14
( )| 1kp z =x とは、zk = 1 、つまり k 番目の正規分布、における
( )| ,k kN x μ Σ
よって、( ) ( )
( )1
| ,1|
| ,
k k kk n
i i ii
Np z
N
π
π=
= =
x μ Σx
x μ Σ
x の確率
( )1|kp z = xk について、1 から n まで計算し、最も大きい をもつ
クラスターを、x が属するクラスターとする
実際にクラスターを割り振る 15
散布図GMM
各サンプルにクラスターを割り振ると、
クラスター数をどう決めるか︖ 16
クラスター数を 1, 2, 3, … と振って GMM を⾏い、それぞれベイズ情報量規準 (Bayesian Information Criterion, BIC) を計算する
• L: 尤度 (http://datachemeng.com/maximumlikelihoodestimation/)• M: 推定するパラメータの数⁃ 今回は詳細を記載しないが、分散共分散⾏列 Σk に制限を
与えることで、M が変化する (制限しないときは考えなくてよい)• N: サンプル数
BIC の値が最小となるクラスター数とするデータセットを確率密度関数として表せるため、最適クラスター数の
推定ができる
2log logBIC L M N= − +
ベイズ情報量規準 (BIC) を計算してみた 17
散布図
少し⾒えにくいが、クラスター数が3 で BIC の値が最小になっており、適切なクラスター数を推定できた
[補足] EM アルゴリズム 対数尤度関数 18
GMM のパラメータ推定には、EM (Expectation-Maximization)アルゴリズムが用いられることが多い
対数尤度関数 (http://datachemeng.com/maximumlikelihoodestimation)
( ) ( )
( )11
1 1
log | , , log | ,
log | ,
N n
k j k kkj
N n
k j k kj k
L N
N
π
π
==
= =
=
=
∏
X π μ Σ x μ Σ
x μ Σ
[補足] EM アルゴリズム 最大 → 極大 19
対数尤度関数が、μk, Σk, πk それぞれで最大になるために満たされるべき条件を探す
最大→ 極大
対数尤度関数を μk, Σk, πk それぞれで微分して 0 とする
1
1n
kk
π=
=ただし、πk は制約条件 があるため、
Lagrange の未定乗数法を用いる
[補足] EM アルゴリズム μで微分 20
対数尤度関数を μk で微分して 0 とすると、
( )( )
( )1
1
1
| ,0
| ,
Nk j k k
k j knj
i j i ii
N
N
π
π
−
=
=
− =
x μ ΣΣ x μ
x μ Σ
上の式中の( )
( )1
| ,
| ,
k j k k
n
i j i ii
N
N
π
π=
x μ Σ
x μ Σは、p. 14 における、
xj が与えられたときの正規分布 k の事後確率に等しい
これを、負担率 γ(zj,k) をする
[補足] EM アルゴリズム 負担率 21
( ) ( )( )
,
1
| ,
| ,
k j k k
j k n
i j i ii
Nz
N
πγ
π=
=
x μ Σ
x μ Σ
( ) ( )
( )( )
1,
1
,1
0
0
N
j k k j kj
N
j k j kj
z
z
γ
γ
−
=
=
− =
− =
Σ x μ
x μ
とすると、
Σk-1 を左からかけると、
[補足] EM アルゴリズム μの計算 22
( )
( )
( ), ,1 1
,1
N N
j k j j k jj j
k Nk
j kj
z z
Nz
γ γ
γ
= =
=
= =
x x
μよって、
( ),1
N
k j kj
N zγ=
=ここで、 は、k 番目のクラスターに
割り当てられたサンプル数
[補足] EM アルゴリズム Σ の計算 23
対数尤度関数を Σk で微分して 0 とする
整理すると、
( )( )( )T
,1
1 N
k j k j k j kjk
zN
γ=
= − −Σ x μ x μ
[補足] EM アルゴリズム π の計算 24
πk について、Lagrange の未定乗数法より、
( )1
log | , , 1n
kk
G L λ π=
= + − X π μ Σ を最大化する
G を πk で微分して 0 とすると、
( )( )1
1
| ,0
| ,
Nj k k
nj
i j i ii
N
Nλ
π=
=
+ =
x μ Σ
x μ Σ
[補足] EM アルゴリズム π 25
( )( )1
1
| ,0
| ,
Nj k k
nj
i j i ii
N
Nλ
π=
=
+ =
x μ Σ
x μ Σ
両辺に πk をかけて k について和を取ると、1
1n
kk
π=
= より、
Nλ = −
これを使い、一番上の式 πk をかけて変形すると、
kk
N
Nπ =
[補足] EM アルゴリズム まとめ① μk, Σk, πk を初期化する② E ステップ : 負担率 γ(zj,k) を計算する③ M ステップ : 負担率 γ(zj,k) を用いて、 μk, Σk, πk を再計算する
④ ②③ を繰り返す
26
( ),1new
N
j k jj
kk
z
N
γ== x
μ
( )( )( )Tnew new new,
1
1 N
k j k j k j kjk
zN
γ=
= − −Σ x μ x μ
new kk
N
Nπ =
参考文献C.M. ビショップ,パターン認識と機械学習 下, 丸善出版 (2012)
27