混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19...

28
0 混合ガウスモデル Gaussian Mixture Model GMM 明大学 理学部 用化学科 データ化学学 ⾦⼦ 弘昌

Transcript of 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19...

Page 1: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

0

混合ガウスモデルGaussian Mixture ModelGMM

明治大学 理⼯学部 応用化学科データ化学⼯学研究室 ⾦⼦ 弘昌

Page 2: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

GMM とは︖クラスタリング手法の一つ

与えられたデータセットを、複数の正規分布の重ね合わせで表現する確率密度関数が得られる (確率分布として表現できる)

サンプルごとに、各クラスターに所属する確率が得られる

クラスター数を自動的に決められる

1

Page 3: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

どんなときに GMM を使うか︖理想

• データセットが、複数の正規分布の重ね合わせで表現できることが分かっているとき

現実• クラスターの数を自動的に決めながらクラスタリングしたいとき• データセットの確率密度関数が欲しいとき⁃ 確率密度関数の応用例)

• 確率密度関数に基づいたサンプリング• 説明変数 X の事前分布として利用

2

Page 4: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

正規分布 (ガウス分布, Gaussian distribution)

データが、平均値付近に一番固まっていて、ばらつきのある確率分布

3

平均︓μ

分散︓σ2

( ) ( )2222

1 1| , exp

22N x xµ σ µ

σπσ = − −

Page 5: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

正規分布の例μ = 0

σ = 1

4

( ) ( )2222

1 1| , exp

22N x xµ σ µ

σπσ = − −

ヒストグラム 確率密度関数

Page 6: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

多変量正規分布正規分布を複数の変数 (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 μ

Σ

Page 7: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

多変量正規分布の例 2変数x1 の平均 3, 分散 2

x2 の平均 4, 分散 0.2

x1 と x2 の共分散 0.5

6

ヒストグラム確率密度関数

散布図

Page 8: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

(多変量)正規分布の重ね合わせとは︖ 例 7

重ね合わせ(混合)

Page 9: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

混合正規分布 (混合ガウス分布)8

確率密度関数ヒストグラム

散布図 混合正規分布(混合ガウス分布, mixtures of Gaussians)

Page 10: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

混合正規分布 (混合ガウス分布) 式変数の数を 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

− = − − −

x μ Σ x μ Σ x μ

Σ

1

1n

kk

π=

=

Page 11: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

GMM の方針 10

データセットが与えられたとき、最尤推定法で

• μk : k 番目の正規分布における 1 × m の平均ベクトル• Σk : k 番目の正規分布における m × m の分散共分散⾏列• πk : 混合係数 (各正規分布の重み)

を求めよう︕

最尤推定法については、http://datachemeng.com/maximumlikelihoodestimation/にあります

具体的な求め方については、p. 18 以降の [補足] にあります

Page 12: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

実際に GMM をやってみる 11

散布図

右のデータセットを用いてn = 3 としてGMMを⾏うと、

p. 8 にある実際の確率密度関数と同じような結果が得られた︕

Page 13: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

各サンプルがどのクラスターになるか考える 1/3GMM では、各サンプルの割り当てられた正規分布が、

そのサンプルのクラスター• n 個の正規分布があるとき、クラスター数も n 個ある

クラスター変数 z を用いるある k 番目の zk だけ値が 1 で、他は 0

zk = 1 のとき、k 番目のクラスターに属するということ

サンプルに関する情報がないとき、 zk = 1 となる確率は πk (混合係数)

12

( )1k kp z π= =

Page 14: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

各サンプルがどのクラスターになるか考える 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

Page 15: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

各サンプルがどのクラスターになるか考える 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 が属するクラスターとする

Page 16: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

実際にクラスターを割り振る 15

散布図GMM

各サンプルにクラスターを割り振ると、

Page 17: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

クラスター数をどう決めるか︖ 16

クラスター数を 1, 2, 3, … と振って GMM を⾏い、それぞれベイズ情報量規準 (Bayesian Information Criterion, BIC) を計算する

• L: 尤度 (http://datachemeng.com/maximumlikelihoodestimation/)• M: 推定するパラメータの数⁃ 今回は詳細を記載しないが、分散共分散⾏列 Σk に制限を

与えることで、M が変化する (制限しないときは考えなくてよい)• N: サンプル数

BIC の値が最小となるクラスター数とするデータセットを確率密度関数として表せるため、最適クラスター数の

推定ができる

2log logBIC L M N= − +

Page 18: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

ベイズ情報量規準 (BIC) を計算してみた 17

散布図

少し⾒えにくいが、クラスター数が3 で BIC の値が最小になっており、適切なクラスター数を推定できた

Page 19: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

[補足] 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 μ Σ

Page 20: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

[補足] EM アルゴリズム 最大 → 極大 19

対数尤度関数が、μk, Σk, πk それぞれで最大になるために満たされるべき条件を探す

最大→ 極大

対数尤度関数を μk, Σk, πk それぞれで微分して 0 とする

1

1n

kk

π=

=ただし、πk は制約条件 があるため、

Lagrange の未定乗数法を用いる

Page 21: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

[補足] 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) をする

Page 22: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, π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 を左からかけると、

Page 23: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

[補足] 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 番目のクラスターに

割り当てられたサンプル数

Page 24: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

[補足] EM アルゴリズム Σ の計算 23

対数尤度関数を Σk で微分して 0 とする

整理すると、

( )( )( )T

,1

1 N

k j k j k j kjk

zN

γ=

= − −Σ x μ x μ

Page 25: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

[補足] 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

π=

=

+ =

x μ Σ

x μ Σ

Page 26: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

[補足] EM アルゴリズム π 25

( )( )1

1

| ,0

| ,

Nj k k

nj

i j i ii

N

π=

=

+ =

x μ Σ

x μ Σ

両辺に πk をかけて k について和を取ると、1

1n

kk

π=

= より、

Nλ = −

これを使い、一番上の式 πk をかけて変形すると、

kk

N

Nπ =

Page 27: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

[補足] 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π =

Page 28: 混合ガウスモデル Gaussian Mixture Model GMM[拙拒] EMアルゴリズム勞大→ 掄大 19 対包尤度関包が、μk, Σk, πk それぞれで勞大になるために掫たされるべき

参考文献C.M. ビショップ,パターン認識と機械学習 下, 丸善出版 (2012)

27