Top Banner
続・わかりやすい パターン認識 12章ディリクレ過程混合モデルによるクラスタリング 12.1 ディリクレ過程混合モデルとその学習法
35

「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

Jan 19, 2017

Download

Data & Analytics

aich_08_
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

続・わかりやすい パターン認識

第12章ディリクレ過程混合モデルによるクラスタリング

12.1 ディリクレ過程混合モデルとその学習法

Page 2: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

自己紹介

• Twitter : @aich_08_

•所属組織 : 匿名知的集団ホクソエム(ピンク担当)

•職種 : コンサル

•趣味 : トレーニング,登山

⇒ 全然痩せない・・・・orz

2

ラテアートではなく, ただのカプチーノだよ。

Page 3: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

これまでのおはなし

• 第11章では、分割の確率モデルの具体例として,

ホップの壺モデルと中華料理店過程(Chinese restaurant

process : CRP)を取り上げた.

• この2モデルの分割ルールは,

ディリクレ分布を無限次元に拡張することで導出できることを確認した.

・ 第12章では,クラスタ数が未知の場合のクラスタリング方法として,

ディリクレ過程混合モデルによるクラスタリングを紹介する.

・ ディリクレ過程混合モデルでは,クラスタ数 𝑐 はディリクレ過程により決定される.

3

Page 4: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

これまでのおはなし(つづき)

表記のおさらい(p. 214)

パターン集合 : 𝐱 = {𝐱1, … , 𝐱𝑛}

パターン集合 𝐱 に対応するクラスタ集合 : 𝐬 = {𝑠1, … , 𝑠𝑛}

各クラスタに対するパラメータ : 𝜽 = {𝜽1, … , 𝜽𝑐}

4

Page 5: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

ディリクレ過程混合モデルによる生成モデル

• ディリクレ過程混合モデルによる生成モデルは以下のように

記される.ここで,𝛼 は集中度パラメータ, 𝐺0(𝜽)は基底分布を表す.

5

Page 6: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

CRPに基づくディリクレ過程混合モデル

• 中華料理店過程(Chinese Restaurant Process : CRP)によるディリクレ過程混合モデルの生成プロセスは以下のように記される.

• ここで、CPR(𝛼)は集中度パラメータ 𝛼 のCPRを、 𝛽は𝐺0 𝛉 ハイパーパラメーを表す.

6

Page 7: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

生成モデルに対する学習

• いま、生成モデルからある観測パターン 𝐱 が得られたとする.

• 以下に示される事後分布を最大化することにより,クラスタ 𝐬 およびパラメータ 𝛉 を決定する.

■ 所属クラスタとパラメータを決定する場合

7

Page 8: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

生成モデルに対する学習(つづき)

■ 所属クラスタのみを決定する場合

→ 𝐬 = {𝑠1, … , 𝑠𝑛} の可能なすべての組合せを評価するのは,その組合せが膨大ゆえ,直接求めるのは困難である(テキスト p.215, 問題 2)

⇒ ギブスサンプリング(A.5 参照)

8

Page 9: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

この問題に対するギブスサンプリングの考え方

① 𝑛 個のパターンのうち,任意の1コ 𝐱𝑘を選択し,これを最後に入力されたパターンとみなす.

② 当該パターンの所属クラスタ 𝑠𝑘を未定とみなし,確率的に決定されるクラスタを,当該パターンの新たな所属クラスタとして更新する.

③ ①,②の操作を 𝑛 個すべてのパターンについて繰り返すことにより,確率分布𝑃(𝑠1, … , 𝑠𝑛|𝐱1, … , 𝐱𝑛, 𝛉) に従う 𝑠1, … , 𝑠𝑛 が得られる.

9

Page 10: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

ディリクレ過程混合モデルにおける ギブスサンプリングの更新式の導出

10

• 更新式の導出に先立ち,𝐬 から 𝑠𝑘 を除いた集合 𝐬−𝑘および 𝐱 から 𝐱𝑘 を除いた集合 𝐱−𝑘を定義する.

Page 11: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

ディリクレ過程混合モデルにおける ギブスサンプリングの更新式の導出(つづき)

• ギブスサンプリングにより 𝑠𝑘 を確率的に生成するためには,𝐱−𝑘,𝐬−𝑘,𝜽 が既知の下で 𝐱𝑘 が与えられたときに,𝑠𝑘 = 𝜔𝑖となる事後確率を計算すれば良い.

11

Page 12: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

•所属クラスタとパラメータを決定する方法,式(11.5)の解法を示す.

• まず,この場合の更新式(12.10)の計算方法を整理する.

•右辺の第1項は,既存クラスタである場合 𝑠𝑘 = 𝜔𝑖 ,新規クラスタである場合 𝑠𝑘 = 𝜔𝑛𝑒𝑤 それぞれについて以下のように書き換えられる.

クラスタリング法 1 : 所属クラスタとそのパラメータの決定

12

Page 13: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

•式(12.10)の右辺の第2項は,式(11.42)から以下で書き換えられる.

• ここで,𝑛𝑖′ は 𝑘 番目のパターンを除く,すべてのパターンのうち,クラ

スタ 𝜔𝑖 に所属するパターンの数を表す.

クラスタリング法 1 : 所属クラスタとそのパラメータの決定(つづき)

13

Page 14: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

• 式(12.11),(12.12),(12.13)を式(12.10)に代入することにより,次式を得る.

⇒ パターン 𝐱𝑘 の所属クラスタを更新するためには,式(12.14)の上段を現時点のクラスタ総数 𝑐 に渡り計算し,下段の計算と合わせて正規化することにより,𝑠𝑘 = 𝜔𝑖 ,𝑠𝑘 = 𝜔𝑛𝑒𝑤 となる事後確率を各々計算する.そして,その結果を用いて 𝑠𝑘 の値を決定する.

クラスタリング法 1 : 所属クラスタとそのパラメータの決定(つづき)

14

Page 15: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

•以上の操作により, 𝑠1, … , 𝑠𝑛 の値が決まれば,事前分布𝐺0(𝛉) およびクラスタ 𝜔𝑖 に所属するパターン対する尤度 𝑝(𝜽𝑖|{𝐱𝑘; 𝐱𝑘 ∈ 𝜔𝑖 })を用いて,ベイズの定理により次式を得,この事後分布に基づいて 𝑐 個のクラスタのパラメータ 𝜽𝑖(𝑖 = 1, … , 𝑛) を確率的に決定し,更新する.

クラスタリング法 1 : 所属クラスタとそのパラメータの決定(つづき)

15

Page 16: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

•以上の操作(所属クラスタの更新,パラメータの更新)を繰り返し実行し,式(11.4)の事後分布が最大となったときの 𝐬, 𝛉 の値が最適解である.

クラスタリング法 1 : 所属クラスタとそのパラメータの決定(つづき)

16

Page 17: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

クラスタリング法 1 のアルゴリズム

入力 : 𝑛 個の観測パターン 𝐱1, … , 𝐱𝑛

出力 : 各観測パターンの所属クラスタを表す潜在変数の値 𝑠1, … , 𝑠𝑛,

総クラスタ数 𝑐,

クラスタのパラメータ 𝜽1, … , 𝜽𝑐.

17

Page 18: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

クラスタリング法 1 のアルゴリズム(つづき)

Step 1 : 初期設定

•潜在変数 𝑠1, … , 𝑠𝑛 を初期化する.

このときのクラスタ数を 𝑐 とし,クラスタ 𝜔𝑖 に所属する

パターンの数を 𝑛𝑖 とする(𝑖 = 1, … , 𝑐).

• クラスタパラメータ 𝜽1, … , 𝜽𝑐 を初期化する.

•事後確率の最大値 𝑃𝑚𝑎𝑥 ← 0 と初期化する.

18

Page 19: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

クラスタリング法 1 のアルゴリズム(つづき)

Step 2 : 所属クラスタの更新

以下を𝑘 = 1, … , 𝑛に対して実行する.

• パターン 𝐱𝑘 の所属クラスタ 𝑠𝑘 ( = 𝜔𝑗 と仮定する)を更新するため, 𝐱𝑘 を現在の所属クラスタから除外し, 𝑛𝑗 ← 𝑛𝑗 − 1 とする.

• これにより 𝑛𝑗 = 0 となり,空きクラスタが発生した場合は,このからクラスタを除去すべく, 𝑐 ← 𝑐 − 1 とするとともに, 𝑗 以降のクラスタインデックスを全て一つ減らす.また,それに対応するパラメータのインデックスも更新する.

• 式(12.14) を用いて 𝑠𝑘 の値を確率的に決定する.具体的には, 𝑠𝑘 = 𝜔𝑖 𝑖 = 1, … , 𝑐 に 対して式(12.14)の右辺上段の式を計算し, 𝑠𝑘 = 𝜔𝑛𝑒𝑤 に対して下段の式を計算する.これら(𝑐 + 1)個の値の比の確率で 𝑠𝑘 を決定する.また, 𝑠𝑘 = 𝜔𝑛𝑒𝑤なら, 𝑛𝑐+1 ← 1とするとともに, 𝑐 ← 𝑐 + 1として総クラスタ数を更新する.

19

Page 20: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

クラスタリング法 1 のアルゴリズム(つづき)

Step 3 : 各クラスタのパラメータの更新

• Step 2で得た 𝐬 = {𝑠1, … , 𝑠𝑛} の値に基いて,式(12.15)により,各クラスタのパラメータ 𝜽𝑖を確率的に決定し,更新する.

20

Page 21: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

クラスタリング法 1 のアルゴリズム(つづき)

Step 4: 事後確率最大化

•現時点での 𝐬 = {𝑠1, … , 𝑠𝑛} ,および 𝜽1, … , 𝜽𝑐 の値を用いて式(11.4)により,事後確率 𝑣 を計算する.具体的には,ベイズの定理より次式(12.16)を計算すればよい. 𝑃(𝐬) は式(11.11)のイーウェンスの抽出公式で計算する.

21

Page 22: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

クラスタリング法 1 のアルゴリズム(つづき)

Step 4: 事後確率最大化(つづき)

•以下の処理を行う.

(1) 𝑣 > 𝑃𝑚𝑎𝑥 なら,以下の更新を行い,

・ 𝑃𝑚𝑎𝑥 ← 𝑣

・ 𝐬 ← {𝑠1, … , 𝑠𝑛}

(2) それ以外なら,これまでの𝑃𝑚𝑎𝑥および 𝐬 をそのまま保持する.

22

Page 23: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

クラスタリング法 1 のアルゴリズム(つづき)

Step 5: 終了判定

•以上の処理を繰り返し, 𝑃𝑚𝑎𝑥の更新されない状態が十分継続した場合,ギブスサンプリングの処理を打ち切り, 𝐬,𝜽,および現時点のクラスタ総数 𝑐 を出力して終了する.さもなければ,Step 2に戻る.

23

Page 24: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

•所属クラスタのみを決定する方法,式(11.7)の解法を示す.

• まず、この場合の更新式(12.10)の計算方法を整理する.

•式(12.8),(12.9),(12.10)から 𝜽 を削除することにより次式を得る.

クラスタリング法 2 : 所属クラスタのみ決定

24

Page 25: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

•式(12.17)右辺の第1項は,次式で計算できる.

• ここで,事後確率 𝑝(𝜽𝑖|𝐱−𝑘) はベイズの定理より次式となる.

クラスタリング法 2 : 所属クラスタのみ決定(つづき)

25

Page 26: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

• ここで,𝐱−𝑘 のうち 𝜔𝑖 に所属しないパターンは 𝜽𝑖 に依存しないので,

•式(12.19)に代入すると,次式を得る.

クラスタリング法 2 : 所属クラスタのみ決定(つづき)

26

Page 27: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

• 𝑠𝑘 = 𝜔𝑛𝑒𝑤 のとき,式(12.21)は次式になる.

•一方,更新式(12.17)の右辺の第2項 𝑃(𝑠𝑘|𝐬−𝑘) は ,式(12.13)により求まる.

クラスタリング法 2 : 所属クラスタのみ決定(つづき)

27

Page 28: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

•以上を整理すると,次式を得る.

⇒ パターン 𝐱𝑘 の所属クラスタを更新するためには,式(12.23)の上段を現時点のクラスタ総数 𝑐 に渡り計算し,下段の計算と合わせて正規化することにより,𝑠𝑘 = 𝜔𝑖 ,𝑠𝑘 = 𝜔𝑛𝑒𝑤 となる事後確率を各々計算する.そして,その結果を用いて 𝑠𝑘 の値を決定する.

クラスタリング法 2 : 所属クラスタのみ決定(つづき)

28

Page 29: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

クラスタリング法 2 のアルゴリズム

入力 : 𝑛 個の観測パターン 𝐱1, … , 𝐱𝑛

出力 : 各観測パターン所属クラスタを表す潜在変数の値 𝑠1, … , 𝑠𝑛,

総クラスタ数 𝑐

29

Page 30: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

クラスタリング法 2 のアルゴリズム(つづき)

Step 1 : 初期設定

•潜在変数 𝑠1, … , 𝑠𝑛 を初期化する.

このときのクラスタ数を 𝑐 とし,クラスタ 𝜔𝑖 に所属する

パターンの数を 𝑛𝑖 とする(𝑖 = 1, … , 𝑐).

•事後確率の最大値 𝑃𝑚𝑎𝑥 ← 0 と初期化する.

30

Page 31: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

クラスタリング法 2 のアルゴリズム(つづき)

Step 2 : 所属クラスタの更新

以下を𝑘 = 1, … , 𝑛に対して実行する.

• パターン 𝐱𝑘 の所属クラスタ 𝑠𝑘 ( = 𝜔𝑗 と仮定する)を更新するため, 𝐱𝑘 を現在の所属クラスタから除外し, 𝑛𝑗 ← 𝑛𝑗 − 1 とする.

• これにより 𝑛𝑗 = 0 となり,空きクラスタが発生した場合は,このからクラスタを除去すべく, 𝑐 ← 𝑐 − 1 とするとともに, 𝑗 以降のクラスタインデックスを全て一つ減らす.また,それに対応するパラメータのインデックスも更新する.

• 式(12.23) を用いて 𝑠𝑘 の値を確率的に決定する.具体的には, 𝑠𝑘 = 𝜔𝑖 𝑖 = 1, … , 𝑐 に 対して式(12.23)の右辺上段の式を計算し, 𝑠𝑘 = 𝜔𝑛𝑒𝑤 に対して下段の式を計算する.これら(𝑐 + 1)個の値の比の確率で 𝑠𝑘 を決定する.また, 𝑠𝑘 = 𝜔𝑛𝑒𝑤なら, 𝑛𝑐+1 ← 1とするとともに, 𝑐 ← 𝑐 + 1として総クラスタ数を更新する.

31

Page 32: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

クラスタリング法 2 のアルゴリズム(つづき)

Step 3: 事後確率最大化

•現時点での 𝐬 = {𝑠1, … , 𝑠𝑛} の値を用いて式(11.6)により,事後確率 𝑣 を計算する.具体的には,ベイズの定理より次の式(12.24)を計算すればよい. 𝑃(𝐬) は式(11.11)のイーウェンスの抽出公式で計算する.

32

Page 33: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

クラスタリング法 2 のアルゴリズム(つづき)

Step 3: 事後確率最大化(つづき)

•以下の処理を行う.

(1) 𝑣 > 𝑃𝑚𝑎𝑥 なら,以下の更新を行い,

・ 𝑃𝑚𝑎𝑥 ← 𝑣

・ 𝐬 ← {𝑠1, … , 𝑠𝑛}

(2) それ以外なら,これまでの𝑃𝑚𝑎𝑥および 𝐬 をそのまま保持する.

33

Page 34: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

クラスタリング法 2 のアルゴリズム(つづき)

Step 4: 終了判定

•以上の処理を繰り返し, 𝑃𝑚𝑎𝑥の更新されない状態が十分継続した場合,ギブスサンプリングの処理を打ち切り, 𝐬 および現時点のクラスタ総数 𝑐 を出力して終了する.さもなければ,Step 2に戻る.

34

Page 35: 「続・わかりやすいパターン認識」 第12章 ディリクレ過程混合モデルによるクラスタリング(前半 : 12.1 )

35

ご清聴ありがとうございました!!!