Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
@siero5335
#ぞくパタ
ドワンゴ様@東銀座
2016/1/12
第15回「続・わかりやすいパターン認識」読書会
第13章: 共クラスタリング
 目次
	
  
13.1	
  関係データに対する共クラスタリング	
  
	
  
13.2	
  無限関係モデル	
  
	
  
13.3	
  IRMの学習	
  
 13.1	
  関係データに対する共クラスタリング	
  
 	
  	
  13.1	
  関係データに対する共クラスタリング	
  
共クラスタリングとは?
顧客と商品など、人と人、人とモノのつながりを表す
関係データを上手く扱うための手法
顧客だけ、商品だけのクラスタリングはこれまでも
やってきた...
 	
  	
  13.1	
  関係データの例	
  
1	
 2	
 3	
1	
 2	
 3	
 4	
 	
 1 2 3 4
1 	
  	
  	
  	
2 	
  	
  	
  	
3 	
  	
  	
  	
商品
顧
客
...
 	
  	
  13.1	
  共クラスタリング色々	
  
From	
  K-­‐means	
  to	
  higher-­‐way	
  co-­‐clustering:	
  mul:linear	
  decomposi:on	...
 	
  	
  13.1	
  共クラスタリング実行例	
  
"blockcluster:	
  Coclustering	
  Package	
  for	
  Binary,	
  Categorical,	
  
Con:ngenc...
 	
  	
  13.1	
  共クラスタリング実行例	
  
"blockcluster:	
  Coclustering	
  Package	
  for	
  Binary,	
  Categorical,	
  
Con:ngenc...
 	
  	
  13.1	
  共クラスタリング実行例	
  
"blockcluster:	
  Coclustering	
  Package	
  for	
  Binary,	
  Categorical,	
  
Con:ngenc...
 	
  	
  13.1	
  共クラスタリング色々	
  
From	
  K-­‐means	
  to	
  higher-­‐way	
  co-­‐clustering:	
  mul:linear	
  decomposi:on	...
 13.2	
  無限関係モデル	
  (IRM)	
  
当
 13.2	
  無限関係モデル	
  (IRM)	
  
当	
K:	
  顧客の総数	
  
L:	
  商品の総数	
  
R:	
  顧客・商品の関係を表す行列	
  
Rkl:	
  Rの(k,	
  l)成分	
  
Rkl	
  ...
 13.2	
  無限関係モデル	
  (IRM)	
  
s!
|!α!~!"#(α)
s!|!α!~!"#(α)
!"#!! = 1,…,!,
!"#!! = 1,…,!,
CRPの事前分布で顧客クラスタS1、
商品クラスタS2が独立に分割...
 13.2	
  無限関係モデル	
  (IRM)	
  
s!
|!α!~!"#(α)
s!|!α!~!"#(α)
!"#!! = 1,…,!,
!"#!! = 1,…,!,
!!"|!!
!
=!ω!
!
,!!
!
=!ω!
!
,Θ~!...
 13.2	
  無限関係モデル	
  (IRM)	
  
s!
|!α!~!"#(α)
s!
|!α!~!"#(α)
!"#!! = 1,…,!,
!"#!! = 1,…,!,
θ !!
!
,!!
!
|!,!!~!"(!,!)
!!"|!...
 13.2	
  無限関係モデル	
  (IRM)	
  
商品	
顧
客
共
ク
ラ
ス
タ
リ
ン
グ
 13.2	
  無限関係モデル	
  (IRM)	
  
商品	
顧
客
共
ク
ラ
ス
タ
リ
ン
グ
ω1
1	
ω2
1	
ω3
1	
ω4
1	
ω1
2	
ω2
2	
 ω3
2	
15人の顧客が4つ、10種の商品が3つのクラスタに...
 13.2	
  無限関係モデル	
  (IRM)	
  
商品	
顧
客
共
ク
ラ
ス
タ
リ
ン
グ
i	
  =	
  1	
2	
3	
4	
j	
  =1	
2	
 3	
θij	
  =	
  0.2	
θij	
  =	
  
...
 13.2	
  無限関係モデル	
  (IRM)	
  
商品	
顧
客
共
ク
ラ
ス
タ
リ
ン
グ
i	
  =	
  1	
2	
3	
4	
j	
  =1	
2	
 3	
θij	
  =	
  0.2	
θij	
  =	
  
...
 13.2	
  無限関係モデル	
  (IRM)	
  
商品	
顧
客
共
ク
ラ
ス
タ
リ
ン
グ
i	
  =	
  1	
2	
3	
4	
j	
  =1	
2	
 3	
θij	
  =	
  0.2	
θij	
  =	
  
...
 13.3	
  IRMの学習	
  
 13.3	
  IRMの学習	
  
各オブジェクトの所属クラスタ	
  (s1,	
  s2)	
  が既知であれば、その情報
と観測データから共クラスタリングが可能だが、実際に既知なの
は観測データのみ	
  
	
  
IRMの学習は、...
 13.3	
  IRMの学習	
  
各オブジェクトの所属クラスタ	
  (s1,	
  s2)	
  が既知であれば、その情報
と観測データから共クラスタリングが可能だが、実際に既知なの
は観測データのみ	
  
	
  
IRMの学習は、...
 13.3	
  IRMの学習	
  
各オブジェクトの所属クラスタ	
  (s1,	
  s2)	
  が既知であれば、その情報
と観測データから共クラスタリングが可能だが、実際に既知なの
は観測データのみ	
  
	
  
IRMの学習は、...
 13.3	
  IRMの学習:	
  用語追加	
  
当	
K:	
  顧客の総数	
  
L:	
  商品の総数	
  
R:	
  顧客・商品の関係を表す行列	
  
Rkl:	
  Rの(k,	
  l)成分	
  
Rkl	
  =...
 13.3	
  IRMの学習	
  
このs1
kをギブスサンプリングするための事後確率は以下の通り	
!!
!
=!ω!
!
!!,!!, !!!
!
, !!, !!!,! ∝ !! !!
!
=!ω!
!
!!!
!
!(!!,!!|!...
 13.3	
  IRMの学習:	
  事後確率右辺第1項	
  
! !!
!
=!ω!
!
!!!
!
!!
!
! − 1 + α
α
! − 1 + α
このs1
kをギブスサンプリングするための事後確率は以下の通り	
!!
!
=!ω...
(!!,!!|!!
!
=!ω!
!
, !!, !!!,!) ∝
!!
!
=!ω!
!
!!,!!, !!!
!
, !!, !!!,! ∝ !! !!
!
=!ω!
!
!!!
!
!(!!,!!|!!
!
=!ω!
!
, !!, !!...
!(
!
!!" !!
!
=!ω!
!
, !!, θ!,! !(θ!,!|!!
!
=!ω!
!
, !!!
!
, !!, !!!,!)!θ!,!
(!!,!!|!!
!
=!ω!
!
, !!, !!!,!) ∝
!!
!
=!ω!
!...
 13.3	
  IRMの学習:	
  事後確率右辺第2項,	
  尤度項	
  
!
!
!!" !!
!
= ω!
!
, !!
, θ!,! =! !
!!
(!!"|θ!")!!
!
(!).!!
!
(!)
= θ!"
!(!,!)(...
 13.3	
  IRMの学習:	
  事後確率右辺第2項,	
  尤度項	
  
!
!
!!" !!
!
= ω!
!
, !!
, θ!,! =! !
!!
(!!"|θ!")!!
!
(!).!!
!
(!)
= θ!"
!(!,!)(...
!(
!
!!" !!
!
=!ω!
!
, !!
, θ!,! !(θ!,!|!!
!
=!ω!
!
, !!!
!
, !!
, !!!,!)!θ!,!
既存クラスタ	
 13.3	
  IRMの学習:	
  既存クラスタ右辺第2項	
  ...
= θ!"
!(!,!)(!,!)
!
(1 − θ!")!(!,!)(!,!)
 13.3	
  IRMの学習:	
  既存クラスタ右辺第2項	
  
!(θ!"|!!
!
=!ω!
!
, !!, !!!,!) = !"(θ!"; ! !,...
 13.3	
  IRMの学習:	
  新規クラスタ	
  
!(
!
!!" !!
!
=!ω!
!
, !!
, θ!,! !!(θ!,!)!θ!,!
!(!!,!!|!!
!
=!ω!
!
, !!
, !!!,!)
= θ!"
!(!,...
 13.3 IRMの学習: S1
k, S2
lの事後確率
!(!!
!
= ω!
!
|!!!,!!, !!!
!
, !!
, !!!,!) ∝
!!
!
! − 1 + α
!(! !,! !,! + !, ! !,! !,! + !)
...
 13.3 IRMの学習: S1
k, S2
lの事後確率
!(!!
!
= ω!
!
|!!!,!!, !!!
!
, !!
, !!!,!) ∝
!!
!
! − 1 + α
!(! !,! !,! + !, ! !,! !,! + !)
...
 13.3	
  IRMによる共クラスタリングアルゴリズム	
  
入力: 関係データ行列R
出力: 行・列オブジェクトの所属クラスタを表す潜在変数
   s1={s1
1... s1
K}, s2={s2
1... s2
L}, 行・列クラス...
 13.3	
  IRMによる共クラスタリングアルゴリズム	
  
入力: 関係データ行列R
出力: 行・列オブジェクトの所属クラスタを表す潜在変数
   s1={s1
1... s1
K}, s2={s2
1... s2
L}, 行・列クラス...
 13.3	
  IRMによる共クラスタリングアルゴリズム	
  
Step3: 事後確率最大化
! !!
, !!
! =!
! ! !!, !! ! !! !(!!)
!(!)
・今のs1, s2から下式を使って事後確率vを計算する
! !...
 13.3	
  IRMによる共クラスタリングアルゴリズム	
  
Step3: 事後確率最大化
! !!
, !!
! =!
! ! !!, !! ! !! !(!!)
!(!)
・今のs1, s2から下式を使って事後確率vを計算する
! !...
Upcoming SlideShare
Loading in …5
×

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

3,561 views

Published on

続わかりやすいパターン認識読書会 最終回の資料です。

Published in: Data & Analytics
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

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

  1. 1. @siero5335 #ぞくパタ ドワンゴ様@東銀座 2016/1/12 第15回「続・わかりやすいパターン認識」読書会 第13章: 共クラスタリング
  2. 2.  目次   13.1  関係データに対する共クラスタリング     13.2  無限関係モデル     13.3  IRMの学習  
  3. 3.  13.1  関係データに対する共クラスタリング  
  4. 4.      13.1  関係データに対する共クラスタリング   共クラスタリングとは? 顧客と商品など、人と人、人とモノのつながりを表す 関係データを上手く扱うための手法 顧客だけ、商品だけのクラスタリングはこれまでも やってきたが、共クラスタリングでは行・列双方を適 切に並び替えることで、顧客・商品を同時にクラスタ リングできるようにな。 このように、異なる種類のオブジェクトを同時にクラ スタリングする手法を共クラスタリングと呼ぶ
  5. 5.      13.1  関係データの例   1 2 3 1 2 3 4   1 2 3 4 1        2        3        商品 顧 客 オブジェクト間のつながりをエッジとしたグラフで、あるいは、 オブジェクト間にエッジがある時を1、ない時を0とする2値行 列で表現できる。
  6. 6.      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アルゴリズムを基にした共クラスタリング  
  7. 7.      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アルゴリズムを基にした共クラスタリング  
  8. 8.      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 尤度を見ながらクラスタ数を最適化していく  
  9. 9.      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 つまりクラスタ数は自分で決めないとだめ  
  10. 10.      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)による共クラスタリング   ノンパラベイズに基づいてるからクラスタ数も自動決定できるよ!     顧客と商品の例なら観測データから同時にクラスタリングすることで、 どんな顧客がどんな商品を買うかの関係を自動抽出することに相当  
  11. 11.  13.2  無限関係モデル  (IRM)   当
  12. 12.  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番目の商品クラスタ   S1 k:  顧客kの所属する顧客クラスタ   S2 l:  商品lの所属する商品クラスタ S1 k  =  ω1 i:    顧客kが顧客クラスタω1に属する   S2 l:  =ω2 j:  商品lが顧客クラスタω2 jに属する     θij  =  θ(ω1 i,  ω2 j):  (i,  j)のパラメータブロック def
  13. 13.  13.2  無限関係モデル  (IRM)   s! |!α!~!"#(α) s!|!α!~!"#(α) !"#!! = 1,…,!, !"#!! = 1,…,!, CRPの事前分布で顧客クラスタS1、 商品クラスタS2が独立に分割される
  14. 14.  13.2  無限関係モデル  (IRM)   s! |!α!~!"#(α) s!|!α!~!"#(α) !"#!! = 1,…,!, !"#!! = 1,…,!, !!"|!! ! =!ω! ! ,!! ! =!ω! ! ,Θ~!!"#$(!!":!θ!") !! ! = ω! ! , !! ! = ω! ! θ !! ! , !! ! = θ ω! ! , ω! ! =!θ!" CRPの事前分布で顧客クラスタS1、 商品クラスタS2が独立に分割される となり、顧客商品の関係を表す行列Rklが   パラメータθijのベルヌーイ分布Bern(Rkl:θij)から生成される
  15. 15.  13.2  無限関係モデル  (IRM)   s! |!α!~!"#(α) s! |!α!~!"#(α) !"#!! = 1,…,!, !"#!! = 1,…,!, θ !! ! ,!! ! |!,!!~!"(!,!) !!"|!! ! =!ω! ! ,!! ! =!ω! ! ,Θ~!!"#$(!!":!θ!") !! ! = ω! ! , !! ! = ω! ! θ !! ! , !! ! = θ ω! ! , ω! ! =!θ!" となり、顧客商品の関係を表す行列Rklが   パラメータθijのベルヌーイ分布Bern(Rkl:θij)から生成される θijは区間[0,1]の値を取るので、θijの事前分布として   パラメータa,  bのベータ分布Be(a,b)を取る CRPの事前分布で顧客クラスタS1、 商品クラスタS2が独立に分割される
  16. 16.  13.2  無限関係モデル  (IRM)   商品 顧 客 共 ク ラ ス タ リ ン グ
  17. 17.  13.2  無限関係モデル  (IRM)   商品 顧 客 共 ク ラ ス タ リ ン グ ω1 1 ω2 1 ω3 1 ω4 1 ω1 2 ω2 2 ω3 2 15人の顧客が4つ、10種の商品が3つのクラスタに分割される
  18. 18.  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)がベータ分布から決定される
  19. 19.  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は顧客クラスタω1 iと商品クラスタω2 jの関係を表す確率に相当する。
  20. 20.  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からさまざまな関係 データ行列を生成することができる。
  21. 21.  13.3  IRMの学習  
  22. 22.  13.3  IRMの学習   各オブジェクトの所属クラスタ  (s1,  s2)  が既知であれば、その情報 と観測データから共クラスタリングが可能だが、実際に既知なの は観測データのみ     IRMの学習は、観測データの背後にある共クラスタリング構造(s1,   s2)  を、観測データとIRMの生成モデルから推定すること    
  23. 23.  13.3  IRMの学習   各オブジェクトの所属クラスタ  (s1,  s2)  が既知であれば、その情報 と観測データから共クラスタリングが可能だが、実際に既知なの は観測データのみ     IRMの学習は、観測データの背後にある共クラスタリング構造(s1,   s2)  を、観測データとIRMの生成モデルから推定すること     具体的には、観測データRが得られた下で、下記で示されたパラ メータを積分消去して得られたs1,  s2の事後確率を最大化するs1,  s2 を求める問題に帰着         ! !!, !! ! =! ! ! !!, !! ! !! !(!!) !(!)
  24. 24.  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)を解とする ! !!, !! ! =! ! ! !!, !! ! !! !(!!) !(!)
  25. 25.  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番目の商品クラスタ   S1 k:  顧客kの所属する顧客クラスタ   S2 l:  商品lの所属する商品クラスタ S1 k  =  ω1 i:    顧客kが顧客クラスタω1に属する   S2 l:  =ω2 j:  商品lが顧客クラスタω2 jに属する     θij  =  θ(ω1 i,  ω2 j):  (i,  j)のパラメータブロック def Rk,+:顧客kの全商品に対する購買情報   R-­‐k,+:  RからRk,+を除いた余りの要素集合   S1 -­‐k:  S1からS1 kを引いた余りの要素集合   n1 i:  顧客クラスタω1 iに属するk以外の顧客数   θi,+:  (i,j)ブロックのパラメータ集合
  26. 26.  13.3  IRMの学習   このs1 kをギブスサンプリングするための事後確率は以下の通り !! ! =!ω! ! !!,!!, !!! ! , !!, !!!,! ∝ !! !! ! =!ω! ! !!! ! !(!!,!!|!! ! =!ω! ! , !!, !!!,!)
  27. 27.  13.3  IRMの学習:  事後確率右辺第1項   ! !! ! =!ω! ! !!! ! !! ! ! − 1 + α α ! − 1 + α このs1 kをギブスサンプリングするための事後確率は以下の通り !! ! =!ω! ! !!,!!, !!! ! , !!, !!!,! ∝ !! !! ! =!ω! ! !!! ! !(!!,!!|!! ! =!ω! ! , !!, !!!,!) 既存クラスタ 新規クラスタ
  28. 28. (!!,!!|!! ! =!ω! ! , !!, !!!,!) ∝ !! ! =!ω! ! !!,!!, !!! ! , !!, !!!,! ∝ !! !! ! =!ω! ! !!! ! !(!!,!!|!! ! =!ω! ! , !!, !!!,!)  13.3  IRMの学習:  事後確率右辺第2項   このs1 kをギブスサンプリングするための事後確率は以下の通り !( ! !!" !! ! =!ω! ! , !!, θ!,! !(θ!,!|!! ! =!ω! ! , !!! ! , !!, !!!,!)!θ!,! !( ! !!" !! ! =!ω! ! , !!, θ!,! !!(θ!,!)!θ!,! 既存クラスタ 新規クラスタ
  29. 29. !( ! !!" !! ! =!ω! ! , !!, θ!,! !(θ!,!|!! ! =!ω! ! , !!! ! , !!, !!!,!)!θ!,! (!!,!!|!! ! =!ω! ! , !!, !!!,!) ∝ !! ! =!ω! ! !!,!!, !!! ! , !!, !!!,! ∝ !! !! ! =!ω! ! !!! ! !(!!,!!|!! ! =!ω! ! , !!, !!!,!)  13.3  IRMの学習:  事後確率右辺第2項,  尤度項   このs1 kをギブスサンプリングするための事後確率は以下の通り !( ! !!" !! ! =!ω! ! , !!, θ!,! !!(θ!,!)!θ!,! 既存クラスタ 新規クラスタ ! ! !!" !! ! = ω! ! , !! , θ!,! =! ! !! (!!"|θ!")!! ! (!).!! ! (!) = θ!" !(!,!)(!,!) ! (1 − θ!")!(!,!)(!,!) 尤度項
  30. 30.  13.3  IRMの学習:  事後確率右辺第2項,  尤度項   ! ! !!" !! ! = ω! ! , !! , θ!,! =! ! !! (!!"|θ!")!! ! (!).!! ! (!) = θ!" !(!,!)(!,!) ! (1 − θ!")!(!,!)(!,!) . δ! ! (!)δ! ! (!) 1  (s1 k  =  ω1 i) otherwise 1  (s2 l  =  ω2 j) otherwise ! !,! !,! = !!" δ! ! (!) δ!(!) ! !,! !,! =! (1 − !!") δ! ! (!) δ!(!) 尤度項
  31. 31.  13.3  IRMの学習:  事後確率右辺第2項,  尤度項   ! ! !!" !! ! = ω! ! , !! , θ!,! =! ! !! (!!"|θ!")!! ! (!).!! ! (!) = θ!" !(!,!)(!,!) ! (1 − θ!")!(!,!)(!,!) . δ! ! (!)δ! ! (!) 1  (s1 k  =  ω1 i) otherwise 1  (s2 l  =  ω2 j) otherwise n(k,+)(i,j):  商品ω2 jに属する商品のうち顧客ω1 iに属する顧客kが買った商品数   n(k,+)(i,j):  商品ω2 jに属する商品のうち顧客ω1 iに属する顧客kが買わなかった 商品数 ! !,! !,! = !!" δ! ! (!) δ!(!) ! !,! !,! =! (1 − !!") δ! ! (!) δ!(!)
  32. 32. !( ! !!" !! ! =!ω! ! , !! , θ!,! !(θ!,!|!! ! =!ω! ! , !!! ! , !! , !!!,!)!θ!,! 既存クラスタ  13.3  IRMの学習:  既存クラスタ右辺第2項   ! θ!,! !! ! =!ω! ! , !!! ! , !!, !!!,! =! θ!" !! ! =!ω! ! , !!! ! , !! , !!!,! ! =! P(!!!,!|!!!! ! , !! , θ!")!(θ!") P(!!!,!|!!!! ! , !!, θ!")!(θ!")!θ!" ! =! ( P !!!! θ!" !!!(!) !!(!) !!!!! )! !(θ!") ( P !!!! θ!" !!!(!) !!(!) !!!!! )! !(θ!")!θ!"! ここで、p(θij)  =  Be(θij;  a,b)とすると、 !(θ!"|!! ! =!ω! ! , !!, !!!,!) = !"(θ!"; ! !,! !,! + !, ! !,! !,! + !)
  33. 33. = θ!" !(!,!)(!,!) ! (1 − θ!")!(!,!)(!,!)  13.3  IRMの学習:  既存クラスタ右辺第2項   !(θ!"|!! ! =!ω! ! , !!, !!!,!) = !"(θ!"; ! !,! !,! + !, ! !,! !,! + !) !( ! !!" !! ! =!ω! ! , !! , θ!,! !(θ!,!|!! ! =!ω! ! , !!! ! , !! , !!!,!)!θ!,! 上記を下式に代入すると !(!!,!!|!! ! =!ω! ! , !! , !!!,!) = θ!" ! !,! !,! !!!! (1 − θ)! !,! !,! !!!!!θ!" !(! !!,! !,! + !, ! !!,! !,! + !) ! = !(! !,! !,! + !, ! !,! !,! + !) !(! !!,! !,! + !, ! !!,! !,! + !) ! Bはベータ分布 ωiが既存クラスタのとき
  34. 34.  13.3  IRMの学習:  新規クラスタ   !( ! !!" !! ! =!ω! ! , !! , θ!,! !!(θ!,!)!θ!,! !(!!,!!|!! ! =!ω! ! , !! , !!!,!) = θ!" !(!,!)(!,!) ! (1 − θ!")!(!,!)(!,!) !(θ!"|!! ! =!ω! ! , !!, !!!,!) = !"(θ!"; ! !,! !,! + !, ! !,! !,! + !) 上記を下式に代入すると ωiが新規クラスタのとき = !(! !,! !,! + !, ! !,! !,! + !) !(!, !) !
  35. 35.  13.3 IRMの学習: S1 k, S2 lの事後確率 !(!! ! = ω! ! |!!!,!!, !!! ! , !! , !!!,!) ∝ !! ! ! − 1 + α !(! !,! !,! + !, ! !,! !,! + !) !(! !!,! !,! + !, ! !!,! !,! + !) α ! − 1 + α !(! !,! !,! + !, ! !,! !,! + !) !(!, !) 既存クラスタ 新規クラスタ S1 kの事後確率
  36. 36.  13.3 IRMの学習: S1 k, S2 lの事後確率 !(!! ! = ω! ! |!!!,!!, !!! ! , !! , !!!,!) ∝ !! ! ! − 1 + α !(! !,! !,! + !, ! !,! !,! + !) !(! !!,! !,! + !, ! !!,! !,! + !) α ! − 1 + α !(! !,! !,! + !, ! !,! !,! + !) !(!, !) !(!! ! = ω! ! |!!!,!!, !!! ! , !! , !!,!!) ∝ !! ! ! − 1 + α !(! !,! !,! + !, ! !,! !,! + !) !(! !,!! !,! + !, ! !,!! !,! + !) α ! − 1 + α !(! !,! !,! + !, ! !,! !,! + !) !(!, !) 既存クラスタ 新規クラスタ 既存クラスタ 新規クラスタ S2 lの事後確率 S1 kの事後確率
  37. 37.  13.3  IRMによる共クラスタリングアルゴリズム   入力: 関係データ行列R 出力: 行・列オブジェクトの所属クラスタを表す潜在変数    s1={s1 1... s1 K}, s2={s2 1... s2 L}, 行・列クラスタ数c1, c2 Step1: 初期設定 ・s1, s2を初期化(行・列クラスタ数をc1, c2とする) ・事後確率の最大値をPmax <- 0とする
  38. 38.  13.3  IRMによる共クラスタリングアルゴリズム   入力: 関係データ行列R 出力: 行・列オブジェクトの所属クラスタを表す潜在変数    s1={s1 1... s1 K}, s2={s2 1... s2 L}, 行・列クラスタ数c1, c2 Step1: 初期設定 ・s1, s2を初期化(行・列クラスタ数をc1, c2とする) ・事後確率の最大値をPmax <- 0とする Step2: 所属クラスタの更新 ・行オブジェクトkの所属クラスタs1 K更新のためにkをクラスタ から除外する ・空きクラスタが発生すればc1 <- c1-1として取り除き、i以降の クラスタインデックスを1減らす ・                からs1 Kを確率的に求める ・列についても同様にクラスタを更新する !(!! ! = ω! ! |!!!,!!, !!! ! , !! , !!!,!) ∝
  39. 39.  13.3  IRMによる共クラスタリングアルゴリズム   Step3: 事後確率最大化 ! !! , !! ! =! ! ! !!, !! ! !! !(!!) !(!) ・今のs1, s2から下式を使って事後確率vを計算する ! !! , !! ! !∝ ! !! !! !(!|!! , !! ) = ! !! !! !(!!" θ!" !! θ!! !θ!! !! !!! !! !!! = ! v > Pmaxなら(事後確率の最大値が更新されたら) Pmax <- v, s1<- {s1 1... s1 K}, s2<- {s2 1... s2 L} それ以外ならPmax, s1, s2 を保持する
  40. 40.  13.3  IRMによる共クラスタリングアルゴリズム   Step3: 事後確率最大化 ! !! , !! ! =! ! ! !!, !! ! !! !(!!) !(!) ・今のs1, s2から下式を使って事後確率vを計算する ! !! , !! ! !∝ ! !! !! !(!|!! , !! ) = ! !! !! !(!!" θ!" !! θ!! !θ!! !! !!! !! !!! = ! v > Pmaxなら(事後確率の最大値が更新されたら) Pmax <- v, s1<- {s1 1... s1 K}, s2<- {s2 1... s2 L} それ以外ならPmax, s1, s2 を保持する Step4: 収束判定 ・Pmaxが更新されなくなったらギブスサンプリング終了 ・更新されるなら2に戻る

×