Suche senden
Hochladen
混合ガウスモデルとEMアルゴリスム
•
17 gefällt mir
•
24,600 views
貴
貴之 八木
Folgen
上智大学宮本研究室の勉強会発表資料です.
Weniger lesen
Mehr lesen
Daten & Analysen
Melden
Teilen
Melden
Teilen
1 von 63
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)
Takao Yamanaka
グラフィカルモデル入門
グラフィカルモデル入門
Kawamoto_Kazuhiko
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
Akira Masuda
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
Naoki Hayashi
EMアルゴリズム
EMアルゴリズム
Sotetsu KOYAMADA(小山田創哲)
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説
弘毅 露崎
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
Takao Yamanaka
深層学習の数理
深層学習の数理
Taiji Suzuki
Empfohlen
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)
Takao Yamanaka
グラフィカルモデル入門
グラフィカルモデル入門
Kawamoto_Kazuhiko
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
Akira Masuda
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
Naoki Hayashi
EMアルゴリズム
EMアルゴリズム
Sotetsu KOYAMADA(小山田創哲)
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説
弘毅 露崎
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
Takao Yamanaka
深層学習の数理
深層学習の数理
Taiji Suzuki
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
Yoshitake Takebayashi
PRML輪読#11
PRML輪読#11
matsuolab
深層生成モデルと世界モデル
深層生成モデルと世界モデル
Masahiro Suzuki
[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展
Deep Learning JP
PRML11章
PRML11章
Takashi Tamura
【解説】 一般逆行列
【解説】 一般逆行列
Kenjiro Sugimoto
Chapter2.3.6
Chapter2.3.6
Takuya Minagawa
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
Deep Learning JP
幾何を使った統計のはなし
幾何を使った統計のはなし
Toru Imai
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
Preferred Networks
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
tmtm otm
【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models
Deep Learning JP
パターン認識 04 混合正規分布
パターン認識 04 混合正規分布
sleipnir002
PRML第9章「混合モデルとEM」
PRML第9章「混合モデルとEM」
Keisuke Sugawara
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
RyuichiKanoh
生成モデルの Deep Learning
生成モデルの Deep Learning
Seiya Tokui
[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative Models
Deep Learning JP
時系列分析による異常検知入門
時系列分析による異常検知入門
Yohei Sato
15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学
Ken'ichi Matsui
最適輸送の解き方
最適輸送の解き方
joisino
Bishop prml 9.3_wk77_100408-1504
Bishop prml 9.3_wk77_100408-1504
Wataru Kishimoto
PRML輪講用資料10章(パターン認識と機械学習,近似推論法)
PRML輪講用資料10章(パターン認識と機械学習,近似推論法)
Toshiyuki Shimono
Weitere ähnliche Inhalte
Was ist angesagt?
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
Yoshitake Takebayashi
PRML輪読#11
PRML輪読#11
matsuolab
深層生成モデルと世界モデル
深層生成モデルと世界モデル
Masahiro Suzuki
[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展
Deep Learning JP
PRML11章
PRML11章
Takashi Tamura
【解説】 一般逆行列
【解説】 一般逆行列
Kenjiro Sugimoto
Chapter2.3.6
Chapter2.3.6
Takuya Minagawa
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
Deep Learning JP
幾何を使った統計のはなし
幾何を使った統計のはなし
Toru Imai
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
Preferred Networks
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
tmtm otm
【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models
Deep Learning JP
パターン認識 04 混合正規分布
パターン認識 04 混合正規分布
sleipnir002
PRML第9章「混合モデルとEM」
PRML第9章「混合モデルとEM」
Keisuke Sugawara
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
RyuichiKanoh
生成モデルの Deep Learning
生成モデルの Deep Learning
Seiya Tokui
[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative Models
Deep Learning JP
時系列分析による異常検知入門
時系列分析による異常検知入門
Yohei Sato
15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学
Ken'ichi Matsui
最適輸送の解き方
最適輸送の解き方
joisino
Was ist angesagt?
(20)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
PRML輪読#11
PRML輪読#11
深層生成モデルと世界モデル
深層生成モデルと世界モデル
[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展
PRML11章
PRML11章
【解説】 一般逆行列
【解説】 一般逆行列
Chapter2.3.6
Chapter2.3.6
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
幾何を使った統計のはなし
幾何を使った統計のはなし
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models
パターン認識 04 混合正規分布
パターン認識 04 混合正規分布
PRML第9章「混合モデルとEM」
PRML第9章「混合モデルとEM」
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
生成モデルの Deep Learning
生成モデルの Deep Learning
[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative Models
時系列分析による異常検知入門
時系列分析による異常検知入門
15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学
最適輸送の解き方
最適輸送の解き方
Ähnlich wie 混合ガウスモデルとEMアルゴリスム
Bishop prml 9.3_wk77_100408-1504
Bishop prml 9.3_wk77_100408-1504
Wataru Kishimoto
PRML輪講用資料10章(パターン認識と機械学習,近似推論法)
PRML輪講用資料10章(パターン認識と機械学習,近似推論法)
Toshiyuki Shimono
ベイズ推論による機械学習入門 第4章
ベイズ推論による機械学習入門 第4章
YosukeAkasaka
Draftall
Draftall
Toshiyuki Shimono
Learning Latent Space Energy Based Prior Modelの解説
Learning Latent Space Energy Based Prior Modelの解説
Tomonari Masada
第9回スキル養成講座講義資料
第9回スキル養成講座講義資料
keiodig
主成分分析
主成分分析
貴之 八木
PRML 第14章
PRML 第14章
Akira Miyazawa
2014年度春学期 画像情報処理 第8回 行列の直交変換 (2014. 6. 4)
2014年度春学期 画像情報処理 第8回 行列の直交変換 (2014. 6. 4)
Akira Asano
代数的実数とCADの実装紹介
代数的実数とCADの実装紹介
Masahiro Sakai
2015年度春学期 画像情報処理 第8回 行列の直交変換と画像情報圧縮 (2015. 6. 10)
2015年度春学期 画像情報処理 第8回 行列の直交変換と画像情報圧縮 (2015. 6. 10)
Akira Asano
NLPforml5
NLPforml5
Hidekazu Oiwa
Topic model
Topic model
saireya _
PRML セミナー
PRML セミナー
sakaguchi050403
トピックモデル
トピックモデル
貴之 八木
モナドハンズオン前座
モナドハンズオン前座
bleis tift
Oshasta em
Oshasta em
Naotaka Yamada
JSIAM_2019_9_4
JSIAM_2019_9_4
KoutaFunakoshi
虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数
Taketo Sano
Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)
Masahiro Sakai
Ähnlich wie 混合ガウスモデルとEMアルゴリスム
(20)
Bishop prml 9.3_wk77_100408-1504
Bishop prml 9.3_wk77_100408-1504
PRML輪講用資料10章(パターン認識と機械学習,近似推論法)
PRML輪講用資料10章(パターン認識と機械学習,近似推論法)
ベイズ推論による機械学習入門 第4章
ベイズ推論による機械学習入門 第4章
Draftall
Draftall
Learning Latent Space Energy Based Prior Modelの解説
Learning Latent Space Energy Based Prior Modelの解説
第9回スキル養成講座講義資料
第9回スキル養成講座講義資料
主成分分析
主成分分析
PRML 第14章
PRML 第14章
2014年度春学期 画像情報処理 第8回 行列の直交変換 (2014. 6. 4)
2014年度春学期 画像情報処理 第8回 行列の直交変換 (2014. 6. 4)
代数的実数とCADの実装紹介
代数的実数とCADの実装紹介
2015年度春学期 画像情報処理 第8回 行列の直交変換と画像情報圧縮 (2015. 6. 10)
2015年度春学期 画像情報処理 第8回 行列の直交変換と画像情報圧縮 (2015. 6. 10)
NLPforml5
NLPforml5
Topic model
Topic model
PRML セミナー
PRML セミナー
トピックモデル
トピックモデル
モナドハンズオン前座
モナドハンズオン前座
Oshasta em
Oshasta em
JSIAM_2019_9_4
JSIAM_2019_9_4
虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数
Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)
混合ガウスモデルとEMアルゴリスム
1.
混合ガウスモデルとEMアルゴリズム
2.
今回ははじパタの10章とPRMLの9章を参考に, EMアルゴリズムについて発表します. 本当はトピックモデルについて発表しようと思ったのですが, EMアルゴリズムの知識が必要なので今日紹介します. (※ いずれトピックモデルの紹介もしたいと思っています.)
3.
目次 -means法 混合ガウスモデル EMアルゴリズム 計算実験 K
4.
-means法K
5.
まずは -means法を紹介します. その理由は K -means法のアルゴリズムはクラスターの中心を EMアルゴリズムで求めている手法と言えるからです. K とにかく,EMアルゴリズムをはじめて学習する場合には -means法のアルゴリズムの 理解が手助けになるので先に紹介しておきます. (※
今日の主題はEMアルゴリズムです.) K
6.
次元ユークリッド空間上の確率変数D のx 個の観測点で構成される データ集合 N が存在する場合を考えます.,
…,x1 xN -means法では,データ集合をK 個のクラスタに分割することを目的とします. (※ とりあえず今回は K の値は既知であると仮定します.)K
7.
直感的にクラスタとは,その内部のデータ点間の距離が, 外部のデータとの距離と比べて小さいデータのグループのことです. (※ 図はサンプルデータに対して混合ガウスモデルを用いてクラスタリングをした結果です.)
8.
これは代表ベクトルと呼ばれる 個のK 次元ベクトルD
を 導入することで定式化することができます.( (k = 1, …, K)μk はμk 番目のクラスタの代表ベクトルです)K 先に言っておくと, はμk 番目のクラスタの中心とみなすことができます.K
9.
-means法では,ベクトルの集合K をうまく決定し, 全データ点をうまく各クラスタに対応させることで, 各データ点から対応する μk への二乗平均の総和の最小化を目指します.μk
10.
ここで,データ点のクラスタへの割当を表す記法を定義しておくと便利です. データ がクラスタ に帰属するか否かを表す変数
を以下の様に定義します.xn k rnk = { rnk 1 0 ( がクラスタkに属する場合)xn (それ以外の場合)
11.
J = ||
− | ∑ n=1 N ∑ k=1 K rnk xn μk | 2 そして, -means法の目的関数K を次の様に定義します.J これは各データ点からそれらが割り当てられたベクトル までの 二乗和の総和を表しており,歪み尺度と呼ばれることもあります. μk -means法の目的は,K を最小にするJ とrnk を求めることです.μk
12.
【Eステップ】: を固定しつつ について
を最小化する. 【Mステップ】: を固定しつつ について を最小化する. μk rnk J rnk μnk J の最小化はJ を初期化した後に,次の2つのステップを繰り返すことで実現できます.μk ※ とμk を更新する2つのフェーズが,それぞれEMアルゴリズムにおける E(expectation)ステップとM(maximization)ステップに対応します. rnk
13.
= { rnk 1 0 k = arg
|| − | のときminj xn μj | 2 (それ以外の場合) まず, についてrnk を最小化することを考えます.J より,J = || − |∑N n=1 ∑K k=1 rnk xn μk | 2 はJ について線形なので, 最適化は代数的に解くことが可能です. rnk 異なる を含む項は互いに独立なので,各n について別々に,n が 最小になるような || − |xn μk | 2 の値に対してk とすれば良いです.= 1rnk つまり,次式のように を決めれば良いです.rnk
14.
2 ( −
) = 0 ∑ n=1 N rnk xn μk 次に についてμk を最小化することを考えます.J より,J = || − |∑N n=1 ∑K k=1 rnk xn μk | 2 はJ の二次関数なので, 次のように μk に関する偏微分をμk を置くことで最小化できます.0
15.
=μk ∑n rnk xn ∑n rnk について解くと,次式を得ます.μk この式は, をμk 番目のクラスタに割り当てられたすべてのデータ点k
の 平均値とおいていると解釈することができます.(これが xn -means法の名の由来です)K
16.
1. の初期値を選ぶ 2.【Eステップ】以下の式で を計算. 3.【Mステップ】求めた
で を再計算. 4. 収束条件が満たされていなければ,ステップ2に戻る. μk rnk = { rnk 1 0 k = arg || − | のときminj xn μj | 2 (それ以外の場合) rnk μnk =μk ∑n rnk xn ∑n rnk -means法のアルゴリズムをまとめると次のようになります.K 上記のようにEステップとMステップを収束するまで(もしくはあらかじめ定めた 最大繰り返し数を超えるまで)繰り返します.
17.
図 -(a) はサンプルデータに(i)
-means法を適用した結果です.K ステップを繰り返すごとにクラスターの割り当てが改善されていることがわかります.
18.
J = ν(x,
) ∑ n=1 N ∑ k=1 K rnk x ′ ちなみに, -means法の目的関数K の ユークリッド距離の部分をより一般な非類似度 J = || − |∑N n=1 ∑K k=1 rnk xn μk | 2 に置き換えた目的関数ν(x, )x ′ の最小化を考えるアルゴリズムは -medoids法と呼ばれます.K
19.
混合ガウスモデル
20.
-means法を用いたクラスタリングは,一つのデータは一つのクラスタにのみ 分類されるので,ハードクラスタリングとも呼ばれます. K 一方で,データ分布に確率モデルを当てはめて,どのクラスタに属するかは 確率的は決まるクラスタリングはソフトクラスタリングと呼ばれます. 今回は混合ガウスモデルでソフトクラスタリングを行う例を通じて, EMアルゴリズムの説明をします.
21.
p(x) =
(x| , ), 0 ≤ ≤ 1, = 1 ∑ k=1 K πk μk Σ k πk ∑ k=1 K πk π = ( , …, ), μ = ( , …, ), Σ = ( , …, )π1 πK μ1 μK Σ 1 Σ K 混合ガウス分布とは,いくつかのガウス分布を線形結合した分布のことです. 個のガウス分布の線形結合で表すことができる混合ガウス分布は次式で定義できます.K ここで, を混合係数と呼び,混合ガウス分布のパラメータは以下の通りです.πk また,混合ガウス分布を用いたモデルを混合ガウスモデルと呼びます.
22.
ガウス分布の線形結合は非常に複雑な密度関数になり得ることがわかります. 図は3つのガウス分布(青線,係数に応じた比率で縮小してある)と これらの和(赤線)で示した,一次元中での混合ガウス分布の例です.
23.
今度は二次元空間中の混合ガウス分布の例です. 図(a)は赤緑青で3つの混合要素の等高線をそれぞれの混合係数とともに示しています. 図(b)は混合分布の周辺確率密度 の等高線,図(c)は分布p(x) の曲線グラフを示しています.p(x)
24.
十分な数のガウス分布を用いて,うまくパラメータを調節すれば, ほぼ任意の連続な密度関数を任意の精度で近似することができます. ここで,混合ガウスモデルのパラメータをEMアルゴリズムを用いて推定するために, 隠れ変数(hidden variable) と呼ばれる変数を導入します.
25.
z = (
, …,z1 zK ) T 隠れ変数とは,実際に観測することはできませんが, 変数間の関係の解釈に影響を与える変数です. 今回は一つのデータが 個のクラスタのうちどのクラスタに属しているかを表現するK 次元のベクトルK を隠れ変数として導入します.z
26.
= 1, z
= ( ∑ k=1 K zk 0, …, 0, 1, 0, …, 0 どこか一つだけ1 ) T のz = ( , …,z1 zK ) T は,データがzk 番目のクラスタに属していれば1,属していなければ0 をとります.一つのデータは一つのクラスタに属するので以下が成り立ちます. k -means法ではK が隠れ変数に対応していました. 隠れ変数を導入することで,生成モデルについて考えやすくなります. rnk 次で,隠れ変数を用いた混合ガウス分布の定式化を行うことにします.
27.
p(x, z) =
p(z)p(x|z) 実際に観測される変数 と隠れ変数x の同時分布は, ベイズの定理より以下のようにかけます. z
28.
p( = 1)
=zk πk 0 ≤ ≤ 1, = 1πk ∑ k=1 K πk p(z) = ∏ k=1 K πzk k ここで, の周辺分布は以下のように定まるとします.z ただし,パラメータ は以下を満たします.πk この時 の分布は以下のようにかけます.z
29.
p(x| = 1)
= (x| , )zk μk Σ k p(x|z) = (x| , ∏ k=1 K μk Σ k ) zk また, が与えられた元でのz 条件付き分布は以下のようになります.x これも,先ほどと同様に を用いることで以下のようにかけます.z
30.
p(x) = p(x,
z) = p(z)p(x|z) = N(x| , ) ∑ z ∑ z ∑ k=1 K πk μk Σ k したがって,以下の式変形が成り立ちます. 以上より,混合ガウスモデルを隠れ変数を含む別の表現で定式化することができました. 「なにがうれしいの?」と思うかもしれませんが,これで ではなくp(x) を使った 計算が可能になるため有効です.(EMアルゴリズムも適用できます.) p(x, z)
31.
ではなくp(x) を考えるとはどういうことなのか少しだけ考えてみましょう.p(x, z) データ集合
を不完全データ集合,データ集合x を完全データ集合と呼びます. 完全データ集合では隠れ変数 {x, z} ごとに場合を分けて考えることで, 全体をシンプルな部分構造の集まりと捉えることができます.(次のスライド) z
32.
図は3つのガウス分布の混合から生成した500点の例です. 左図は からのサンプルで,p(z)p(x|z) の状態ごとに赤,緑,青に色分けされています(完全データ). 右図は同じサンプルを周辺分布 z から生成されたものとしています.p(x)
に関する情報はありません.(不完全データ) 完全データの場合は z の状態ごとに考えれば単なるガウス分布を考えればよく,問題を考えやすくなります. ただし,隠れ変数は観測することができないため,工夫をする必要があります. z
33.
EMアルゴリズム
34.
EM(expectation-maximization)アルゴリズムは隠れ変数モデルにおける パラメータの最尤推定値 を求めるための手法です.p(X|θ) したがって,隠れ変数 をもつ混合ガウスモデルにも適用することができます. (※
勿論EMアルゴリズムは他の様々な隠れ変数モデルにも適用できます.) z
35.
【Expectation step】 確率モデルのパラメータを固定して,隠れ変数の事後確率を求めます.(期待値を求 める) 【Maximization step】 隠れ変数の事後確率を
関数に代入して, 関数を最大にするパラメータを求めま す. Q Q EMアルゴリズムはパラメータの最尤推定値を求める為に, 二つのステップを収束条件を満たすまで繰り返します.
36.
1. パラメータの初期値 を選ぶ. 2.【Eステップ】
を計算する. 3.【Mステップ】次式で与えられる を計算する. ただし, 4.収束条件が満たされていなければ,ステップ2に戻る. θold p(Z|X, )θold θnew = arg Q(θ, )θnew max θ θold Q(θ, ) = p(Z|X, )lnp(X, Z|θ)θold ∑ Z θold 一般化したEMアルゴリズム 観測変数 と潜在変数X の同時分布Z が与えられていて,パラメータp(x, Z|θ) で支配されているとします. EMアルゴリズムでは尤度関数 θ をp(X|θ) について最大化するために以下のようにします.θ
37.
1. の初期値を選ぶ 2.【Eステップ】以下の式で を計算. 3.【Mステップ】求めた
で を再計算. 4. 収束条件が満たされていなければ,ステップ2に戻る. μk rnk = { rnk 1 0 k = arg || − | のときminj xn μj | 2 (それ以外の場合) rnk μnk =μk ∑n rnkxn ∑n rnk はじめに紹介した -means法のアルゴリズムと見比べると, EMアルゴリズムの大まかな流れがつかみやすいです. K
38.
それではいよいよ,混合ガウスモデルにEMアルゴリズムを適用して, EMアルゴリズムの流れをつかみしょう. ただし,途中で何を計算しているのかわからなくなると困るので, 結果だけ先に紹介します.(ここだけ知っておけば実装はできます.)
39.
1. の初期値を選ぶ 2.【Eステップ】現在のパラメータを用いて を計算. 3.【Mステップ】計算した
を用いてパラメータを再計算 4. 収束条件が満たされていなければ,ステップ2に戻る. , ,πk μk Σk γ( )znk γ( ) =znk N( | , )πk xn μk Σk N( | , )∑K j=1 πj xn μj Σj γ( )znk Nk μnew k Σ new k πk new = = = = γ( ) ∑ i=1 N znk γ( ) 1 Nk ∑ n=1 N znk xn γ( )( − )( − 1 Nk ∑ n=1 N znk xn μnew k xn μnew k ) T Nk N 以降のスライドでそれぞれの式の導出を確認します. 以下が混合ガウスモデルにおけるEMアルゴリズムです.
40.
γ( ) ≡
p( = 1| )znk znk xn = = = p( = 1)p( | = 1)znk xn znk p( )xn p( = 1)p( | = 1)znk xn znk p( = 1)p( | = 1)∑K j=1 znj xn znj ( | , )πk xn μk Σk ( | , )∑K j=1 πj xn μj Σj まず, が与えられている時のπ, μ, Σ の導出を考えます. ここで γ( )znk はデータγ( )znk がクラスxn に所属する確率であるとします. すなわち, k が与えられた場合のπ, μ, Σ, xn の事後確率であるとします.znk この値はベイズの定理より以下のように求めることができます. これでEステップに用いられる式の導出は終了です.
41.
次に,Mステップに用いられる式を導出します. が与えられているという条件の元で各パラメータを推定します.γ( )znk そこで不完全データ ではなく,完全データX
に対する尤度の最大化を目指します. (※ 尤度の最大化を行うためM(Maximization)ステップと呼ばれます.) {X, Z}
42.
p(X, Z|μ, Σ,
π) = ( | , ∏ n=1 N ∏ k=1 K π kzn k xn μk Σk ) znk lnp(X, Z|μ, Σ, π) = {ln + ln ( | , )} ∑ n=1 N ∑ k=1 K znk πk xn μk Σk 今,データ集合 に関する尤度関数は以下のように書けます.{X, Z} さらに,対数を取れば以下のように変形できます.
43.
ここで の最大化を考えます.lnp(X, Z|μ,
Σ, π) = {ln + ln ( | , )}∑N n=1 ∑K k=1 znk πk xn μk Σk ただし,隠れ変数 は実際にはわからないので, 最尤推定値を直接求めることはできません. znk についてわかることはznk の事後分布znk だけです.γ( )znk
44.
[lnp(X, Z|μ, Σ,
π)] = [ ]{ln + ln ( | , )}Z ∑ n=1 N ∑ k=1 K znk znk πk xn μk Σk したがって,EMアルゴリズムでは完全データの対数尤度の, 隠れ変数に関する期待値の最大化を考えます. (※ これがExpectation Maximization Algorithm の名前の由来です) すると最大化する関数は以下の関数になります. ( は[⋅]x に関するx の期待値の期待値を表すとします.)⋅
45.
[ ]znk znk = = = = = p(
| , , , ) ∑ ={0,1}znk znk znk xn πk μk Σk 1 × p( = 1| )zik xn p( = 1)p( | = 1)znk xn znk p( = 1)p( | = 1)∑K j=1 znj xn znj ( | , )πk xn μk Σk ( | , )∑K j=1 πj xn μj Σj γ( )znk ところで,隠れ変数に関する期待値 は以下のように変形できます.[ ]znk znk つまり先ほど導出した の事後分布znk は,γ( )znk の期待値と一致することがわかります. ※ これがE(Expectation)ステップの名前の由来です. znk
46.
Q = [lnp(X,
Z|μ, Σ, π)] = γ( ){ln + ln ( | , )}Z ∑ n=1 N ∑ k=1 K znk πk xn μk Σk ln ( | , ) = − ln(2π) + | − ( − ( − )xn μk Σk 1 2 1 2 Σ k | −1 1 2 xn μk ) T Σ −1 k xn μk したがって,Mステップでは以下の 関数を最大にするパラメータを求めれば良いです. (※ 隠れ変数の期待値を事後確率で置き換えた関数を Q 関数と呼びます.)Q ここで, より, (x|μ, Σ) = exp(− (x − μ (x − μ)) 1 (2π |Σ) d 2 | 1 2 1 2 ) T Σ −1 となります.
47.
= γ( )
( − ) = 0 ∂Q ∂μk ∑ n=1 N znk Σ −1 k xn μk = γ( )μk 1 Nk ∑ n=1 N znk xn まずは を推定します.μk 関数を微分してQ とおけば以下のようになります.0 ここで, 番目のクラスタに属するデータ数の推定値はk により 得られるため, = γ( )Nk ∑N n=1 znk の推定値は以下のようになります.μk
48.
同様の計算(微分して とおく)を0 とΣ k
にも行うことで,πk とΣk の推定値を得ることができます. (※ 数式の入力に疲れたので省略します....詳しい詳しい式変形ははじパタなどを参照してください.) πk ただし, についてはπk という制約があるので, ラグランジュ乗数を導入してラグランジュ関数を微分することに注意してください. = 1∑K k=1 πk
49.
1. の初期値を選ぶ 2.【Eステップ】現在のパラメータを用いて を計算. 3.【Mステップ】計算した
を用いてパラメータを再計算 4. 収束条件が満たされていなければ,ステップ2に戻る. , ,πk μk Σk γ( )znk γ( ) =znk N( | , )πk xn μk Σk N( | , )∑K j=1 πj xn μj Σj γ( )znk Nk μnew k Σ new k πk new = = = = γ( ) ∑ i=1 N znk γ( ) 1 Nk ∑ n=1 N znk xn γ( )( − )( − 1 Nk ∑ n=1 N znk xn μnew k xn μnew k ) T Nk N きちんと計算すれば,既に紹介した混合ガウスモデルにおける EMアルゴリズムを導出できるはずです.
50.
1. パラメータの初期値 を選ぶ. 2.【Eステップ】
を計算する. 3.【Mステップ】次式で与えられる を計算する. ただし, 4.収束条件が満たされていなければ,ステップ2に戻る. θold p(Z|X, )θold θnew = arg Q(θ, )θnew max θ θold Q(θ, ) = p(Z|X, )lnp(X, Z|θ)θold ∑ Z θold ここでもう一度一般化したEMアルゴリズムを紹介します. 少しでもイメージを掴んでいただければ幸いです. 観測変数 と潜在変数X の同時分布Z が与えられていて,パラメータp(x, Z|θ) で支配されているとします. EMアルゴリズムでは尤度関数 θ をp(X|θ) について最大化するために以下のようにします.θ
51.
ところでなぜ尤度関数 を直接最大化する代わりに,p(X|θ) 関数の最大化を考えることができるのでしょうか.Q 今回は時間の都合上,結果を食いつまむ形で説明します. (※ 詳細はPRMLに載っているので知りたい方はそちらを参照してください.)
52.
p(X|θ) = p(X,
Z|θ) ∑ Z ただし,次の定義をしています. lnp(X|θ) = (q, θ) + KL(q||p) (q, θ) KL(q||p) = = q(Z)ln { }∑ Z p(X, Z|θ) q(Z) − q(Z)ln { }∑ Z p(Z|X, θ) q(Z) 改めて,次式で与えられる尤度関数の最大化を考えます. ここで,隠れ変数について分布 を導入すると,q(Z) の設定の仕方に関わらず 次の分解が成り立ちます q(Z)
53.
ここで, (等号はKL(q||p) ≥
0 の時のみ成立)なので,q(Z) = p(Z|X, θ) であることがわかります.lnp(X|θ) ≥ (q, θ) つまり, は(q, θ) の下界を与えていることがわかります. さらに,lnp(X|θ) は(q, θ) = q(Z)ln { } ∑Z p(X,Z|θ) q(Z) の関数でありθ は定数になることに注意すると,q(Z) の最大化と(q, θ) の最大化が等価になることがわかります.q(Z)lnp(X, Z|θ)∑Z つまり 関数を最大化することはQ の下限を最大化していることと等しいです.lnp(X|θ) (※ PRMLにはこの辺りの議論がさらに詳細に記されています.)
54.
ちなみに,はじめに紹介した -means法は混合ガウス分布に関するEMアルゴリズムの ある極限として導くこともできます. K ざっくりと説明すると,混合ガウスモデルにおいて分散0のガウス分布のみを考えると, -means法と同様のハードな割り当てが可能です. (詳細はPRMLを...)K ちなみに,
-means法はクラスタの平均のみ推定しますが, 混合ガウスモデルはクラスタの分散も推定するところが大きく異なります. K さらにちなみに,ハード割り当て版の混合ガウスモデルに関するEMアルゴリズムは 楕円 -meansアルゴリズムと呼ばれています.K
55.
計算実験
56.
最後にサンプルデータと使った簡単な計算実験の結果を紹介します. pythonのscikit-learnというライブラリを使えばほぼ一行で実装できます. (※ もちろんデータの準備やプロットの部分は覗いてモデルの実装部分だけ見た場合です.)
57.
今回は -means法と混合ガウスモデルを用いたクラスタリングをしてみました. それぞれコードの主要な部分はこんな感じです. K # K-means法 from
sklearn.cluster import KMeans y_pred = KMeans(n_clusters=2).fit_predict(X) #混合 from sklearn.mixture import GMM y_pred = GMM(n_components=2).fit_predict(X) (※ 詳細はsciket-learnの公式サイトを参照してください.)
58.
まずは -means法を適用した場合の例です. 非常に単純なサンプルですが,うまくクラスタリングできています. K
59.
ところが -means法は集団の分散に偏りがあったり, 集団のサイズが異なる場合にうまくいきません. これは K -means法が暗黙のうちに,各クラスタは同じ大きさで 共分散が単位行列であると仮定しているためです. (※ K -means法を使うときは注意しましょう.)K
60.
混合ガウスモデルでも同様の計算実験を行いました. 背景は赤に近いほど密度が高く,青ければ密度が低いことを表しています. こちらもこの例ではうまくいっています.
61.
-means法の時と同じサンプルを混合ガウスモデルでも試して見ました. 左の例ではうまくいきましたが,右の例ではうまくいきませんでした. ただし,注目してもらいたいことは混合ガウスモデルの場合はしっかりと 集団の分散まで推定しようとしているところです.( K -means法との大きな違いです.)K
62.
例で見たとおり, -means法や混合ガウスモデルが有効な場合と そうでない場合があるため,その都度考える必要があります. K 特にどちらのアルゴリズムも初期値や反復回数によって 求まる値が毎回変化するため注意が必要です. 加えて, の値は慎重に決定する必要があり,K
の値が的外れだと 当然ながら結果も的外れなものになるため注意しましょう. K
63.
今回は以下のことを紹介しました. -means法とはどんなものか 混合ガウスモデルとはどんなものか EMアルゴリズムとはどんなものか 簡単な計算実験の結果紹介 次回はデータ解析コンペティションの進捗報告か, トピックモデルのまとめをしようと思います. K
Jetzt herunterladen