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

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

Avatar for Kento Nozawa Kento Nozawa
November 25, 2015

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

WebDBForum2015発表スライド

Avatar for Kento Nozawa

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  � ���� �����

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