Upgrade to Pro — share decks privately, control downloads, hide ads and more …

トピックモデルに基づく大規模ネットワークの重複コミュニティ発見

Kento Nozawa
November 25, 2015

 トピックモデルに基づく大規模ネットワークの重複コミュニティ発見

WebDBForum2015発表スライド

Kento Nozawa

November 25, 2015
Tweet

More Decks by Kento Nozawa

Other Decks in Research

Transcript

  1. ⽂文書とグラフの対応関係 6 •  1ノードは1⽂文書に相当 •  距離離1以下のノードは単語に相当 ノード   (文書)  

    距離1以下のノード   (単語)   A   A,  B,  C,  D,  E  ,  x,  y,  z B B,  A,  E C C,  D,  E,  A D D,  E,  C,  A E E,  B,  A,  C,  D x x,  y,  A,  w y y,  A,  x,  z z z,  y,  A w w,  x A z y x B D C E w
  2. Latent  Dirichlet  Allocation 7 機械学習   機械学習とは、人工 知能における研究課 題の一つで、人間が 自然に行っている学

    習能力と同様の機能 をコンピュータで実現 しようとする技術・手 法のことである。   文書データ 機械学習    0.04   人工知能    0.02   モデル       0.01   サンプル      0.01   …   研究                        0.05   課題                        0.04   知識                      0.03   科学者              0.02   …   •  ⽂文書の確率率率的⽣生成モデル •  ⽂文書内の単語の共起情報からトピックを発⾒見見 •  単語は各トピックの条件付き確率率率で表現 トピック
  3. LDAをグラフに適⽤用 8 E              

                     0.20   C                                0.20   D                                0.18   B                                0.18   A                                0.12   x                                0.04   y                                0.03   z                                0.03   w                              0.02         x                                0.22   y                                0.22   z                                  0.20   A                                0.15   w                              0.07   C                                0.05   D                                0.04   B                                0.04   E                                0.01   コミュニティ トピックをコミュニティと定義 各ノードのコミュニティの所属度度合いを確率率率値で表現 x,  y,  z,  Aが高確率で   属するコミュニティ ノード   距離1以下のノード   A   A,  B,  C,  D,  E  ,  x,  y,  z B B,  A,  E C C,  D,  E,  A D D,  E,  C,  A E E,  B,  A,  C,  D x x,  y,  A,  w y y,  A,  x,  z z z,  y,  A w w,  x
  4. 従来法におけるLDAの学習 周辺化ギブスサンプリングや変分ベイズ法による学習 9 ノード 距離1以下のノード A   A,  B,  C,

     D,  E  ,  x,  y,  z B B,  A,  E C C,  D,  E,  A D D,  E,  C,  A E E,  B,  A,  C,  D x x,  y,  A,  w y y,  A,  x,  z z z,  y,  A w w,  x 1.   全ノードについて⼗十分統計量量の 期待値を求める 2.  パラメータの更更新 1.と2.を繰り返す 実⾏行行時間は全ノード数に⽐比例例
  5. 確率率率的変分ベイズ法による学習 確率率率的勾配法に基づく学習アルゴリズム[Mimno12] l  1回の反復復計算でサンプルしたノードだけ使⽤用 l  サンプルするノード数をバッチサイズと呼ぶ 10 ノード   距離1以下のノード

      A   A,  B,  C,  D,  E  ,  x,  y,  z B B,  A,  E C C,  D,  E,  A D D,  E,  C,  A E E,  B,  A,  C,  D x x,  y,  A,  w y y,  A,  x,  z z z,  y,  A w w,  x ノード   距離1以下のノード B B,  A,  E C C,  D,  E,  A z z,  y,  A w w,  x サンプル バッチサイズ4の場合
  6. 確率率率的変分ベイズ法の1回⽬目の計算                バッチサイズ4の場合 4ノードを使ってパラメータを更更新

    11 ノード 距離1以下のノード   A   A,  B,  C,  D,  E  ,  x,  y,  z B B,  A,  E C C,  D,  E,  A D D,  E,  C,  A E E,  B,  A,  C,  D x x,  y,  A,  w y y,  A,  x,  z z z,  y,  A w w,  x ノード 距離1以下のノード B B,  A,  E C C,  D,  E,  A z z,  y,  A w w,  x サンプル
  7. 確率率率的変分ベイズ法の2回⽬目の計算                バッチサイズ4の場合 4ノードを使ってパラメータを更更新

    12 ノード 距離1以下のノード   A   A,  B,  C,  D,  E  ,  x,  y,  z B B,  A,  E C C,  D,  E,  A D D,  E,  C,  A E E,  B,  A,  C,  D x x,  y,  A,  w y y,  A,  x,  z z z,  y,  A w w,  x ノード 距離1以下のノード A   A,  B,  C,  D,  E  ,  x,  y,  z E E,  B,  A,  C,  D x x,  y,  A,  w w w,  x サンプル
  8. 評価実験 グラフの規模に対するスケーラビリティの評価 •  コミュニティ発⾒見見の実⾏行行時間 重複コミュニティ発⾒見見精度度の評価 •  Triangle  participation  ratio  (TPR)

    –   コミュニティのノードが3⾓角形に属する割合 –   ⾼高いほどよいコミュニティ •  Conductance –   コミュニティ外のノードとリンクするエッジの割合 –   低いほどよいコミュニティ 14
  9. トピックモデルで発⾒見見した コミュニティの評価⽅方法 •  トピックモデルはノードの所属確率率率を求める •  コミュニティに所属するノードを決定して⽐比較 15 x    

                               0.22   y                                0.22   z                                0.20   A                                0.15   w                              0.07   C                                0.05   D                              0.04   B                                0.04   E                                0.01   A z y x B D C E w E                                0.20   C                                0.20   D                                0.18   B                                0.18   A                                0.12   x                                0.04   y                                0.03   z                                0.03   w                              0.02        
  10. コミュニティ決定の流流れ 1.  1つのコミュニティのノードを確率率率値の降降順にソート 2.  確率率率順にTPRを計算 3.  TPRが最⼤大のコミュニティを使⽤用 16 x  

                                 0.22   y                                0.22   z                                0.20   A                                0.15   w                              0.07   C                                0.05   D                              0.04   B                                0.04   E                                0.01   A z y x B D C E w
  11. コミュニティ決定の流流れ 1.  1つのコミュニティのノードを確率率率値の降降順にソート 2.  確率率率順にTPRを計算 3.  TPRが最⼤大のコミュニティを使⽤用 17 x  

                                 0.22   y                                0.22   z                                0.20   A                                0.15   w                              0.07   C                                0.05   D                              0.04   B                                0.04   E                                0.01   z y x TPR  =  0/3  =  0.00
  12. コミュニティ決定の流流れ 1.  1つのコミュニティのノードを確率率率値の降降順にソート 2.  確率率率順にTPRを計算 3.  TPRが最⼤大のコミュニティを使⽤用 18 x  

                                 0.22   y                                0.22   z                                0.20   A                                0.15   w                              0.07   C                                0.05   D                              0.04   B                                0.04   E                                0.01   A z y x TPR  =  4/4  =  1.00
  13. コミュニティ決定の流流れ 1.  1つのコミュニティのノードを確率率率値の降降順にソート 2.  確率率率順にTPRを計算 3.  TPRが最⼤大のコミュニティを使⽤用 19 x  

                                 0.22   y                                0.22   z                                0.20   A                                0.15   w                              0.07   C                                0.05   D                              0.04   B                                0.04   E                                0.01   A z y x w TPR  =  4/5  =  0.80
  14. コミュニティ決定の流流れ 1.  1つのコミュニティのノードを確率率率値の降降順にソート 2.  確率率率順にTPRを計算 3.  TPRが最⼤大のコミュニティを使⽤用 20 x  

                                 0.22   y                                0.22   z                                0.20   A                                0.15   w                              0.07   C                                0.05   D                              0.04   B                                0.04   E                                0.01   A z y x C w TPR  =  4/6  =  0.67
  15. コミュニティ決定の流流れ 1.  1つのコミュニティのノードを確率率率値の降降順にソート 2.  確率率率順にTPRを計算 3.  TPRが最⼤大のコミュニティを使⽤用 21 x  

                                 0.22   y                                0.22   z                                0.20   A                                0.15   w                              0.07   C                                0.05   D                              0.04   B                                0.04   E                                0.01   A z y x D C w TPR  =  6/7  =  0.86
  16. コミュニティ決定の流流れ 1.  1つのコミュニティのノードを確率率率値の降降順にソート 2.  確率率率順にTPRを計算 3.  TPRが最⼤大のコミュニティを使⽤用 22 x  

                                 0.22   y                                0.22   z                                0.20   A                                0.15   w                              0.07   C                                0.05   D                              0.04   B                                0.04   E                                0.01   A z y x B D C w TPR  =  6/8  =  0.75
  17. コミュニティ決定の流流れ 1.  1つのコミュニティのノードを確率率率値の降降順にソート 2.  確率率率順にTPRを計算 3.  TPRが最⼤大のコミュニティを使⽤用 23 x  

                                 0.22   y                                0.22   z                                0.20   A                                0.15   w                              0.07   C                                0.05   D                              0.04   B                                0.04   E                                0.01   A z y x B D C E w TPR  =  8/9  =  0.89
  18. コミュニティ決定の流流れ 1.  1つのコミュニティのノードを確率率率値の降降順にソート 2.  確率率率順にTPRを計算 3.  TPRが最⼤大のコミュニティを使⽤用 {x,  y,  z,

     A}がコミュニティに属する 24 x                                0.22   y                                0.22   z                                0.20   A                                0.15   w                              0.07   C                                0.05   D                              0.04   B                                0.04   E                                0.01   A z y x TPR  =  4/4  =  1.00
  19. ⽐比較⼿手法 •  Clique  percolation  method(CFinder) –  k-‐‑‒クリークをもとにコミュニティ発⾒見見 •  SVINET – 

    確率率率モデルによるグラフ構造のモデル化 •  Sparse  LDA[Yao,  2009]  (SLDA) –  周辺化ギブスサンプリングによる学習の実装を⼯工夫 –  1回の計算で全ノードを使⽤用 •  提案法(SVBLDA) –  確率率率的変分ベイズ法による学習 –  1回の計算でサンプルしたノードを使⽤用 25
  20. 実験データ •  Friendsterはデータベース(MySQL)に格納 •  バッチサイズ分だけ適宜サンプル 26 グラフ名 ノード数 エッジ数 DBLP

    317,080   1,049,866   Orkut 3,072,441   117,185,083   Friendster 65,608,366   1,806,067,135   SNAP  Datasets  のグラフデータを使⽤用
  21. 実⾏行行時間の⽐比較 提案法は⽐比較⼿手法と⽐比べて⼤大幅に⾼高速化 データベースにアクセスしても⾼高速 27 ���� ����� ���������� ������� ������������ ������

    ���������� ���� ������ ������� ���� ����� ���������� ���� ����� ���������� ���� ����� ���������� ���� ����� ���������� ���� ����� ���������� ���� ����� ���������� � � �� �� �� ��  約7分 コミュニティ数:4000 反復復回数:1000 バッチサイズ:2000 2時間弱
  22. DBLPに対する コミュニティ発⾒見見精度度の⽐比較 既存⼿手法と⽐比較してやや劣劣る程度度 ただし,提案法は性能向上の傾向が⾒見見られる 28 コミュニティ数:4000 反復復回数:1000 バッチサイズ:2000 ������� ������

    ���� ������ ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ����������� ������� ������ ���� ������ ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ���
  23. バッチサイズの増減と発⾒見見精度度 •  バッチサイズは期待値計算に使うノード数 •  TPRはバッチサイズの増加で中央値が1に接近 •  Conductanceは箱の⻑⾧長さ・下ひげが伸びる 29  ����

    ���� ���� ���� ���� ����� ����� ����� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ���  ���� ���� ���� ���� ���� ����� ����� ����� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� �����������
  24. 反復復回数の増減と発⾒見見精度度 •  反復復回数は期待値の計算回数 •  2,000回以上では変化が⼩小さい 30  ��� ���� ����

    ���� ���� ����� ����� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ���  ��� ���� ���� ���� ���� ����� ����� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� �����������
  25. 学習時間の変化 反復復回数が20,000回では約20時間必要 Sparse  LDAと同等の学習時間だが発⾒見見精度度は劣劣る ⼤大規模グラフであれば提案法を使⽤用 31  � ���� �����

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