Top Banner
@siero5335 #ぞくパタ ドワンゴ様@東銀座 2016/1/12 第15回「続・わかりやすいパターン認識」読書会 第13章: 共クラスタリング
40

ぞくパタ最終回: 13章「共クラスタリング」

Jan 19, 2017

Download

Data & Analytics

Akifumi Eguchi
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: ぞくパタ最終回: 13章「共クラスタリング」

@siero5335

#ぞくパタ ドワンゴ様@東銀座 2016/1/12

第15回「続・わかりやすいパターン認識」読書会第13章: 共クラスタリング

Page 2: ぞくパタ最終回: 13章「共クラスタリング」

 目次

 13.1  関係データに対する共クラスタリング    13.2  無限関係モデル    13.3  IRMの学習  

Page 3: ぞくパタ最終回: 13章「共クラスタリング」

 13.1  関係データに対する共クラスタリング  

Page 4: ぞくパタ最終回: 13章「共クラスタリング」

     13.1  関係データに対する共クラスタリング  

共クラスタリングとは?

顧客と商品など、人と人、人とモノのつながりを表す関係データを上手く扱うための手法

顧客だけ、商品だけのクラスタリングはこれまでもやってきたが、共クラスタリングでは行・列双方を適切に並び替えることで、顧客・商品を同時にクラスタリングできるようにな。

このように、異なる種類のオブジェクトを同時にクラスタリングする手法を共クラスタリングと呼ぶ

Page 5: ぞくパタ最終回: 13章「共クラスタリング」

     13.1  関係データの例  

1 2 3

1 2 3 4

  1 2 3 4

1        

2        

3        

商品

顧客

オブジェクト間のつながりをエッジとしたグラフで、あるいは、オブジェクト間にエッジがある時を1、ない時を0とする2値行列で表現できる。

Page 6: ぞくパタ最終回: 13章「共クラスタリング」

     13.1  共クラスタリング色々  

From  K-­‐means  to  higher-­‐way  co-­‐clustering:  mul:linear  decomposi:on  with  sparse  latent  factors  h>ps://www.cs.cmu.edu/~epapalex/papers/PapSidBroTSP2011R2.pdf  K-­‐means,  ユークリッド距離を基にした共クラスタリング    

"blockcluster:  Coclustering  Package  for  Binary,  Categorical,  Con:ngency  and  Con:nuous  Data-­‐Sets”  h>ps://cran.r-­‐project.org/web/packages/blockcluster/index.html  EMアルゴリズムを基にした共クラスタリング  

Page 7: ぞくパタ最終回: 13章「共クラスタリング」

     13.1  共クラスタリング実行例  "blockcluster:  Coclustering  Package  for  Binary,  Categorical,  Con:ngency  and  Con:nuous  Data-­‐Sets”  h>ps://cran.r-­‐project.org/web/packages/blockcluster/index.html

パッケージ解説はこちら:  h>p://qiita.com/siero5335/items/f8e704035d7bdd5965be

EMアルゴリズムを基にした共クラスタリング  

Page 8: ぞくパタ最終回: 13章「共クラスタリング」

     13.1  共クラスタリング実行例  "blockcluster:  Coclustering  Package  for  Binary,  Categorical,  Con:ngency  and  Con:nuous  Data-­‐Sets”  h>ps://cran.r-­‐project.org/web/packages/blockcluster/index.html

パッケージ解説はこちら:  h>p://qiita.com/siero5335/items/f8e704035d7bdd5965be

尤度を見ながらクラスタ数を最適化していく  

Page 9: ぞくパタ最終回: 13章「共クラスタリング」

     13.1  共クラスタリング実行例  "blockcluster:  Coclustering  Package  for  Binary,  Categorical,  Con:ngency  and  Con:nuous  Data-­‐Sets”  h>ps://cran.r-­‐project.org/web/packages/blockcluster/index.html

パッケージ解説はこちら:  h>p://qiita.com/siero5335/items/f8e704035d7bdd5965be

つまりクラスタ数は自分で決めないとだめ  

Page 10: ぞくパタ最終回: 13章「共クラスタリング」

     13.1  共クラスタリング色々  From  K-­‐means  to  higher-­‐way  co-­‐clustering:  mul:linear  decomposi:on  with  sparse  latent  factors  h>ps://www.cs.cmu.edu/~epapalex/papers/PapSidBroTSP2011R2.pdf  K-­‐means,  ユークリッド距離を基にした共クラスタリング    

"blockcluster:  Coclustering  Package  for  Binary,  Categorical,  Con:ngency  and  Con:nuous  Data-­‐Sets”  h>ps://cran.r-­‐project.org/web/packages/blockcluster/index.html  EMアルゴリズムを基にした共クラスタリング    

本書 無限関係モデル(IRM)による共クラスタリング  ノンパラベイズに基づいてるからクラスタ数も自動決定できるよ!    

顧客と商品の例なら観測データから同時にクラスタリングすることで、どんな顧客がどんな商品を買うかの関係を自動抽出することに相当  

Page 11: ぞくパタ最終回: 13章「共クラスタリング」

 13.2  無限関係モデル  (IRM)  

Page 12: ぞくパタ最終回: 13章「共クラスタリング」

 13.2  無限関係モデル  (IRM)  

K:  顧客の総数  L:  商品の総数  R:  顧客・商品の関係を表す行列  Rkl:  Rの(k,  l)成分  Rkl  =1:  顧客kが商品lを購入した    Rkl  =0:顧客kが商品lを購入しなかった  S1:  顧客に対する潜在変数 S2:  商品に対する潜在変数 c1:  顧客クラスタの数  c2:  商品クラスタの数 ω1

i:  i番目の顧客クラスタ  ω2

j:  j番目の商品クラスタ  S1k:  顧客kの所属する顧客クラスタ  S2l:  商品lの所属する商品クラスタ S1k  =  ω1

i:    顧客kが顧客クラスタω1に属する  S2l:  =ω2

j:  商品lが顧客クラスタω2jに属する  

 θij  =  θ(ω1

i,  ω2j):  (i,  j)のパラメータブロック

def

Page 13: ぞくパタ最終回: 13章「共クラスタリング」

 13.2  無限関係モデル  (IRM)  

s!|!α!~!"#(α) s!|!α!~!"#(α) !"#!! = 1,… ,!, !"#!! = 1,… , !,

CRPの事前分布で顧客クラスタS1、商品クラスタS2が独立に分割される

Page 14: ぞくパタ最終回: 13章「共クラスタリング」

 13.2  無限関係モデル  (IRM)  

s!|!α!~!"#(α) s!|!α!~!"#(α) !"#!! = 1,… ,!, !"#!! = 1,… , !, !!"|!!! = !ω!

! , !!! = !ω!! ,Θ~!!"#$(!!" :!θ!") !!! = ω!

! , !!! = ω!!���� θ !!! , !!! = θ ω!! ,ω!! = !θ!"

CRPの事前分布で顧客クラスタS1、商品クラスタS2が独立に分割される

となり、顧客商品の関係を表す行列Rklが  パラメータθijのベルヌーイ分布Bern(Rkl:θij)から生成される

Page 15: ぞくパタ最終回: 13章「共クラスタリング」

 13.2  無限関係モデル  (IRM)  

s!|!α!~!"#(α) s!|!α!~!"#(α) !"#!! = 1,… ,!, !"#!! = 1,… , !,

θ !!! , !!! |!, !!~!"(!, !)

!!"|!!! = !ω!! , !!! = !ω!! ,Θ~!!"#$(!!" :!θ!")

!!! = ω!! , !!! = ω!!���� θ !!! , !!! = θ ω!

! ,ω!! = !θ!" となり、顧客商品の関係を表す行列Rklが  パラメータθijのベルヌーイ分布Bern(Rkl:θij)から生成される

θijは区間[0,1]の値を取るので、θijの事前分布として  パラメータa,  bのベータ分布Be(a,b)を取る

CRPの事前分布で顧客クラスタS1、商品クラスタS2が独立に分割される

Page 16: ぞくパタ最終回: 13章「共クラスタリング」

 13.2  無限関係モデル  (IRM)  

� � � � � � � �� � � �� � � � � �

� �

� ��

� �

� �

� �

� ��

� �

��

�� ��

�� �

��

��

�� ��

�� ��

商品

顧客

共クラスタリング

Page 17: ぞくパタ最終回: 13章「共クラスタリング」

 13.2  無限関係モデル  (IRM)  

� � � � � � � �� � � �� � � � � �

� �

� ��

� �

� �

� �

� ��

� �

��

�� ��

�� �

��

��

�� ��

�� ��

商品

顧客

共クラスタリング

ω11

ω21

ω31

ω41

ω12 ω2

2 ω32

15人の顧客が4つ、10種の商品が3つのクラスタに分割される

Page 18: ぞくパタ最終回: 13章「共クラスタリング」

 13.2  無限関係モデル  (IRM)  

� � � � � � � �� � � �� � � � � �

� �

� ��

� �

� �

� �

� ��

� �

��

�� ��

�� �

��

��

�� ��

�� ��

商品

顧客

共クラスタリング

i  =  1

2

3

4

j  =1 2 3

θij  =  0.2 θij  =  0.9

θij  =  0.1

θij  =  0 θij  =  0.7

θij  =  0.7

θij  =  0.1

θij  =  0.9

θij  =  0.2

θij  =  0.9

θij  =  0.1 θij  =  0.1

顧客クラスタi,  商品クラスタjの直積からなる各(i,  j)  ブロックに対し、  θijの値(0≤θij≤1)がベータ分布から決定される

Page 19: ぞくパタ最終回: 13章「共クラスタリング」

 13.2  無限関係モデル  (IRM)  

� � � � � � � �� � � �� � � � � �

� �

� ��

� �

� �

� �

� ��

� �

��

�� ��

�� �

��

��

�� ��

�� ��

商品

顧客

共クラスタリング

i  =  1

2

3

4

j  =1 2 3

θij  =  0.2 θij  =  0.9

θij  =  0.1

θij  =  0 θij  =  0.7

θij  =  0.7

θij  =  0.1

θij  =  0.9

θij  =  0.2

θij  =  0.9

θij  =  0.1 θij  =  0.1

θ12の大半は1      

 θ12  =  0.9よりRklが0.9の確率で1を発生させるベルヌーイ分布から決まるため    

 θijは顧客クラスタω1iと商品クラスタω2

jの関係を表す確率に相当する。

Page 20: ぞくパタ最終回: 13章「共クラスタリング」

 13.2  無限関係モデル  (IRM)  

� � � � � � � �� � � �� � � � � �

� �

� ��

� �

� �

� �

� ��

� �

��

�� ��

�� �

��

��

�� ��

�� ��

商品

顧客

共クラスタリング

i  =  1

2

3

4

j  =1 2 3

θij  =  0.2 θij  =  0.9

θij  =  0.1

θij  =  0 θij  =  0.7

θij  =  0.7

θij  =  0.1

θij  =  0.9

θij  =  0.2

θij  =  0.9

θij  =  0.1 θij  =  0.1

ベータ分布のパラメータa,  bの値を変えることでθijの値が[0,1]の範囲で変化する。このため、α,  a,  bの値を変えることでIRMからさまざまな関係データ行列を生成することができる。

Page 21: ぞくパタ最終回: 13章「共クラスタリング」

 13.3  IRMの学習  

Page 22: ぞくパタ最終回: 13章「共クラスタリング」

 13.3  IRMの学習  各オブジェクトの所属クラスタ  (s1,  s2)  が既知であれば、その情報と観測データから共クラスタリングが可能だが、実際に既知なのは観測データのみ    

IRMの学習は、観測データの背後にある共クラスタリング構造(s1,  s2)  を、観測データとIRMの生成モデルから推定すること    

Page 23: ぞくパタ最終回: 13章「共クラスタリング」

 13.3  IRMの学習  各オブジェクトの所属クラスタ  (s1,  s2)  が既知であれば、その情報と観測データから共クラスタリングが可能だが、実際に既知なのは観測データのみ    

IRMの学習は、観測データの背後にある共クラスタリング構造(s1,  s2)  を、観測データとIRMの生成モデルから推定すること    

具体的には、観測データRが得られた下で、下記で示されたパラメータを積分消去して得られたs1,  s2の事後確率を最大化するs1,  s2を求める問題に帰着        

! !! , !! ! = !! ! !! , !! ! !! !(!!)!(!)

Page 24: ぞくパタ最終回: 13章「共クラスタリング」

 13.3  IRMの学習  各オブジェクトの所属クラスタ  (s1,  s2)  が既知であれば、その情報と観測データから共クラスタリングが可能だが、実際に既知なのは観測データのみ    

IRMの学習は、観測データの背後にある共クラスタリング構造(s1,  s2)  を、観測データとIRMの生成モデルから推定すること    

具体的には、観測データRが得られた下で、下記で示されたパラメータを積分消去して得られたs1,  s2の事後確率を最大化するs1,  s2を求める問題に帰着        

ここで、s1,  s2の事前分布P(s1),  P(s2)はいずれもCPR(α)  ディリクレ過程混合モデルに対するギブスサンプリングで  (s1,  s2)を逐次サンプリングし、P(s1,  s2|R)を最大化する(s1,  s2)を解とする

! !! , !! ! = !! ! !! , !! ! !! !(!!)!(!)

Page 25: ぞくパタ最終回: 13章「共クラスタリング」

 13.3  IRMの学習:  用語追加  

K:  顧客の総数  L:  商品の総数  R:  顧客・商品の関係を表す行列  Rkl:  Rの(k,  l)成分  Rkl  =1:  顧客kが商品lを購入した    Rkl  =0:顧客kが商品lを購入しなかった  S1:  顧客に対する潜在変数 S2:  商品に対する潜在変数 c1:  顧客クラスタの数  c2:  商品クラスタの数 ω1

i:  i番目の顧客クラスタ  ω2

j:  j番目の商品クラスタ  S1k:  顧客kの所属する顧客クラスタ  S2l:  商品lの所属する商品クラスタ S1k  =  ω1

i:    顧客kが顧客クラスタω1に属する  S2l:  =ω2

j:  商品lが顧客クラスタω2jに属する  

 θij  =  θ(ω1

i,  ω2j):  (i,  j)のパラメータブロック

def

Rk,+:顧客kの全商品に対する購買情報  R-­‐k,+:  RからRk,+を除いた余りの要素集合  S1-­‐k:  S1からS1kを引いた余りの要素集合  n1i:  顧客クラスタω1

iに属するk以外の顧客数  θi,+:  (i,j)ブロックのパラメータ集合

Page 26: ぞくパタ最終回: 13章「共クラスタリング」

 13.3  IRMの学習  このs1kをギブスサンプリングするための事後確率は以下の通り

!!! = !ω!! !! ,!!, !!!! , !! ,!!! ,! ∝ !! !!! = !ω!

! !!!! !(!! ,!!|!!! = !ω!! , !! ,!!! ,!)

Page 27: ぞくパタ最終回: 13章「共クラスタリング」

 13.3  IRMの学習:  事後確率右辺第1項  

! !!! = !ω!! !!!!

!!!! − 1+ α

α! − 1+ α

このs1kをギブスサンプリングするための事後確率は以下の通り

!!! = !ω!! !! ,!!, !!!! , !! ,!!! ,! ∝ !! !!! = !ω!

! !!!! !(!! ,!!|!!! = !ω!! , !! ,!!! ,!)

既存クラスタ

新規クラスタ

Page 28: ぞくパタ最終回: 13章「共クラスタリング」

(!! ,!!|!!! = !ω!! , !! ,!!! ,!) ∝

!!! = !ω!! !! ,!!, !!!! , !! ,!!! ,! ∝ !! !!! = !ω!

! !!!! !(!! ,!!|!!! = !ω!! , !! ,!!! ,!)

 13.3  IRMの学習:  事後確率右辺第2項  このs1kをギブスサンプリングするための事後確率は以下の通り

!(!

!!" !!! = !ω!! , !! , θ!,! !(θ!,!|!!! = !ω!

! , !!!! , !! ,!!! ,!)!θ!,!

!(!

!!" !!! = !ω!! , !! , θ!,! !!(θ!,!)!θ!,!

既存クラスタ

新規クラスタ

Page 29: ぞくパタ最終回: 13章「共クラスタリング」

!(!

!!" !!! = !ω!! , !! , θ!,! !(θ!,!|!!! = !ω!

! , !!!! , !! ,!!! ,!)!θ!,!

(!! ,!!|!!! = !ω!! , !! ,!!! ,!) ∝

!!! = !ω!! !! ,!!, !!!! , !! ,!!! ,! ∝ !! !!! = !ω!

! !!!! !(!! ,!!|!!! = !ω!! , !! ,!!! ,!)

 13.3  IRMの学習:  事後確率右辺第2項,  尤度項  このs1kをギブスサンプリングするための事後確率は以下の通り

!(!

!!" !!! = !ω!! , !! , θ!,! !!(θ!,!)!θ!,!

既存クラスタ

新規クラスタ

!!

!!" !!! = ω!! , !! , θ!,! = ! !

!!(!!"|θ!")!!!(!).!!!(!)

= θ!"!(! ,!)(!,!)!

(1− θ!")!(! ,!)(!,!) 尤度項

Page 30: ぞくパタ最終回: 13章「共クラスタリング」

 13.3  IRMの学習:  事後確率右辺第2項,  尤度項  

!!

!!" !!! = ω!! , !! , θ!,! = ! !

!!(!!"|θ!")!!!(!).!!!(!)

= θ!"!(! ,!)(!,!)!

(1− θ!")!(! ,!)(!,!)

. δ!!(!) δ!! (!) 1  (s1k  =  ω1

i)

otherwise

1  (s2l  =  ω2j)

otherwise

! ! ,! !,! = !!"�δ!!

(!)�δ!(!)

! ! ,! !,! = ! (1− !!")�δ!!

(!)�δ!(!)

尤度項

Page 31: ぞくパタ最終回: 13章「共クラスタリング」

 13.3  IRMの学習:  事後確率右辺第2項,  尤度項  

!!

!!" !!! = ω!! , !! , θ!,! = ! !

!!(!!"|θ!")!!!(!).!!!(!)

= θ!"!(! ,!)(!,!)!

(1− θ!")!(! ,!)(!,!)

. δ!!(!) δ!! (!) 1  (s1k  =  ω1

i)

otherwise

1  (s2l  =  ω2j)

otherwise

n(k,+)(i,j):  商品ω2jに属する商品のうち顧客ω1

iに属する顧客kが買った商品数  n(k,+)(i,j):  商品ω2

jに属する商品のうち顧客ω1iに属する顧客kが買わなかった

商品数

! ! ,! !,! = !!"�δ!!

(!)�δ!(!)

! ! ,! !,! = ! (1− !!")�δ!!

(!)�δ!(!)

Page 32: ぞくパタ最終回: 13章「共クラスタリング」

!(!

!!" !!! = !ω!! , !! , θ!,! !(θ!,!|!!! = !ω!

! , !!!! , !! ,!!! ,!)!θ!,! 既存クラスタ

 13.3  IRMの学習:  既存クラスタ右辺第2項  

! θ!,! !!! = !ω!! , !!!! , !! ,!!! ,!

= ! θ!" !!! = !ω!! , !!!! , !! ,!!! ,!

!

= ! P(!!! ,!|!!!!! , !! , θ!")!(θ!")P(!!! ,!|!!!!! , !! , θ!")!(θ!")!θ!"!

= ! ( P !!!! θ!" !!!(!)�!!(!)!!!!! )! !(θ!")

( P !!!! θ!" !!!(!)�!!(!)!!!!! )! !(θ!")!θ!"!

ここで、p(θij)  =  Be(θij;  a,b)とすると、

!(θ!"|!!! = !ω!! , !! ,!!! ,!) = !"(θ!" ;! ! ,! !,! + !,! ! ,! !,! + !)

Page 33: ぞくパタ最終回: 13章「共クラスタリング」

= θ!"!(! ,!)(!,!)!

(1− θ!")!(! ,!)(!,!)

 13.3  IRMの学習:  既存クラスタ右辺第2項  

!(θ!"|!!! = !ω!! , !! ,!!! ,!) = !"(θ!" ;! ! ,! !,! + !,! ! ,! !,! + !)

!(!

!!" !!! = !ω!! , !! , θ!,! !(θ!,!|!!! = !ω!

! , !!!! , !! ,!!! ,!)!θ!,!

上記を下式に代入すると

!(!! ,!!|!!! = !ω!! , !! ,!!! ,!)

=θ!"! !,! !,! !!!! (1− θ)! !,! !,! !!!!!θ!"!(! !! ,! !,! + !,! !! ,! !,! + !)!

= !(! !,! !,! + !,! !,! !,! + !)!(! !! ,! !,! + !,! !! ,! !,! + !)!

Bはベータ分布

ωiが既存クラスタのとき

Page 34: ぞくパタ最終回: 13章「共クラスタリング」

 13.3  IRMの学習:  新規クラスタ  

!(!

!!" !!! = !ω!! , !! , θ!,! !!(θ!,!)!θ!,!

!(!! ,!!|!!! = !ω!! , !! ,!!! ,!)

= θ!"!(! ,!)(!,!)!

(1− θ!")!(! ,!)(!,!)

!(θ!"|!!! = !ω!! , !! ,!!! ,!) = !"(θ!" ;! ! ,! !,! + !,! ! ,! !,! + !)

上記を下式に代入すると

ωiが新規クラスタのとき

= !(! ! ,! !,! + !,! ! ,! !,! + !)!(!, !)

!

Page 35: ぞくパタ最終回: 13章「共クラスタリング」

 13.3 IRMの学習: S1k, S2lの事後確率 !(!!! = ω!

!|!!! ,!!, !!!! , !! ,!!! ,!) ∝ !!!

! − 1+ α!(! !,! !,! + !,! !,! !,! + !)!(! !! ,! !,! + !,! !! ,! !,! + !)

α! − 1+ α

!(! ! ,! !,! + !,! ! ,! !,! + !)!(!, !)

既存クラスタ

新規クラスタ

S1kの事後確率

Page 36: ぞくパタ最終回: 13章「共クラスタリング」

 13.3 IRMの学習: S1k, S2lの事後確率 !(!!! = ω!

!|!!! ,!!, !!!! , !! ,!!! ,!) ∝ !!!

! − 1+ α!(! !,! !,! + !,! !,! !,! + !)!(! !! ,! !,! + !,! !! ,! !,! + !)

α! − 1+ α

!(! ! ,! !,! + !,! ! ,! !,! + !)!(!, !)

!(!!! = ω!!|!!!,!!, !!!! , !! ,!!,!!) ∝ !!!

! − 1+ α!(! !,! !,! + !,! !,! !,! + !)!(! !,!! !,! + !,! !,!! !,! + !)

α! − 1+ α

!(! !,! !,! + !,! !,! !,! + !)!(!, !)

既存クラスタ

新規クラスタ

既存クラスタ

新規クラスタ

S2lの事後確率

S1kの事後確率

Page 37: ぞくパタ最終回: 13章「共クラスタリング」

 13.3  IRMによる共クラスタリングアルゴリズム  入力: 関係データ行列R

出力: 行・列オブジェクトの所属クラスタを表す潜在変数    s1={s11... s1K}, s2={s21... s2L}, 行・列クラスタ数c1, c2

Step1: 初期設定 ・s1, s2を初期化(行・列クラスタ数をc1, c2とする) ・事後確率の最大値をPmax <- 0とする

Page 38: ぞくパタ最終回: 13章「共クラスタリング」

 13.3  IRMによる共クラスタリングアルゴリズム  入力: 関係データ行列R

出力: 行・列オブジェクトの所属クラスタを表す潜在変数    s1={s11... s1K}, s2={s21... s2L}, 行・列クラスタ数c1, c2

Step1: 初期設定 ・s1, s2を初期化(行・列クラスタ数をc1, c2とする) ・事後確率の最大値をPmax <- 0とする

Step2: 所属クラスタの更新 ・行オブジェクトkの所属クラスタs1K更新のためにkをクラスタ から除外する ・空きクラスタが発生すればc1 <- c1-1として取り除き、i以降の クラスタインデックスを1減らす ・                からs1Kを確率的に求める ・列についても同様にクラスタを更新する !(!!! = ω!

!|!!! ,!!, !!!! , !! ,!!! ,!) ∝

Page 39: ぞくパタ最終回: 13章「共クラスタリング」

 13.3  IRMによる共クラスタリングアルゴリズム  

Step3: 事後確率最大化

! !! , !! ! = !! ! !! , !! ! !! !(!!)!(!)

・今のs1, s2から下式を使って事後確率vを計算する

! !! , !! ! !∝ ! !! !! !(!|!! , !!)

= ! !! !! !(!!" θ!" !! θ!! !θ!!!!

!!!

!!

!!!

= ! v > Pmaxなら(事後確率の最大値が更新されたら) Pmax <- v, s1<- {s11... s1K}, s2<- {s21... s2L} それ以外ならPmax, s1, s2 を保持する

Page 40: ぞくパタ最終回: 13章「共クラスタリング」

 13.3  IRMによる共クラスタリングアルゴリズム  

Step3: 事後確率最大化

! !! , !! ! = !! ! !! , !! ! !! !(!!)!(!)

・今のs1, s2から下式を使って事後確率vを計算する

! !! , !! ! !∝ ! !! !! !(!|!! , !!)

= ! !! !! !(!!" θ!" !! θ!! !θ!!!!

!!!

!!

!!!

= ! v > Pmaxなら(事後確率の最大値が更新されたら) Pmax <- v, s1<- {s11... s1K}, s2<- {s21... s2L} それ以外ならPmax, s1, s2 を保持する Step4: 収束判定 ・Pmaxが更新されなくなったらギブスサンプリング終了 ・更新されるなら2に戻る