SlideShare a Scribd company logo
1 of 15
2部グラフとソーシャルネットワーク
BIPARTITE	
  GRAPH	
  AND	
  SOCIAL	
  NETWORKS




                                           Tokyo.R
                                  10th of March, 2012
                                        @millionsmile
2部グラフとは
          WHAT	
  IS	
  A	
  BIPARTITE	
  GRAPH?
•   2部グラフ(bipartite	
  graph)とは、グラフGの点集合を2つの集合、V1,	
  V2に分割し、
    Gの全ての辺はV1のノードとV2のノードを結ぶようにしてできあがるグラフ
    V 1 ∪ V 2 = G, V 1 ∩ V 2 = ∅

                                   G




                      V1                 V2
2	
  TYPES	
  OF	
  NETWORK	
  DATA	
  FORMAT
•   ネットワークデータの持ち⽅方として、最もベーシックなフォーマットは、「隣接⾏行行列」
    と「エッジリスト」がある。


•   ⼩小規模なデータであれば隣接⾏行行列でもよいが、⼤大きくなりすぎるネットワークデータで
    はエッジリストを使う⽅方がよい。しかし、⼤大規模データになると、KVSにしたりといっ
    た⼯工夫や分散処理を取り⼊入れないとネットワークの計算できないので注意が必要。
                                                                         
                                                        0   1   1   1   1
                                                      1    0   0   1   0
                                                                         
                                         隣接⾏行行列   A = 1
                                                      
                                                      1
                                                            0   0   0   0
                                                            1   0   0   1
      v1             v2                                 1   0   0   1   0

                                                       From, To
                                                       v1, v2
           v3   v4                                     v1, v3
                                                       v1, v4
                                                       v1, v5
                      v5   左のグラフをデータ変換                 v2, v1
                                         エッジリスト        v2, v4
                                                       v3, v1
                                                       v4, v1
                                                       v4, v2
                                                       v4, v5
                                                       v5, v1
                                                       v5, v4
テロリストネットワークがわかる2部グラフ
•   2部グラフを使うことで、例えば、誰がどこにいたかという情報を収集することで、誰
    と誰が知り合いである可能性があるということをソーシャルグラフ的に表すことができ
    る。


•   911のテロリストに関し、我々は誰と誰が知り合いかは知ることができない。しかし、
    どのテロリストがどこにいたかという情報を収集することでどのテロリストとどのテロ
    リストが関係するかというのがみえてくる。


                                                                テロリストF

                                   テロリストAは2つの
                                   集会に出ているの
                                   で、媒介中心性があ
    テロリストC                テロリストA   るとみなすとか。     テロリストA                  テロリストE




                     テロリストB                                      テロリストD


             ニューヨークでの集会                                  サンフランシスコでの集会
テロリストネットワークがわかる2部グラフ

•   ノードはそれぞれテロリストをあらわ
    し、⾊色はハイジャックした⾶飛⾏行行機のフ
    ライト別となっている。


•   どのテロリストとどのテロリストがつ
    ながっているかは、誰かどこに誰とい
    たかという情報からエッジを作成。


•   こうみると、案外、疎なネットワーク
    である。しかし、これは情報が不⾜足し
    ていることに起因する。
テロリストネットワークがわかる2部グラフ

•   ロスでのミーティング情報を付与する
    と、より⼈人間のネットワークっぽくな
    りました。


•   このように、ソーシャルグラフがなく
    ても、誰がどこにいたかという情報か
    ら、ソーシャルグラフもどきがつくれ
    てしまうのである。


•   こういうのは何かに役⽴立立ちそう。
テロリストネットワークがわかる2部グラフ

•   さらに、次数中⼼心性や媒介中⼼心性、近
    接中⼼心性を求めることで、テロリスト
    ネットワークの中⼼心⼈人物を計算するこ
    とができる。これは凄い。


•   完全な情報ではないにせよ、収集でき
    る情報からこのような活⽤用もできると
    いうのは⾯面⽩白い。


•   興味ある⼈人は、この論⽂文参照。
    http://firstmonday.org/htbin/cgiwrap/bin/ojs/
    index.php/fm/article/view/941/863
Rを使って2部グラフのネットワーク分析を
        やってみる
DVDレンタル購買履歴を
                   ネットワークにする
•   3つの映画(攻殻機動隊、NUMB3RS、ゴッドファーザー、チャーリーズ・エンジェ
    ル)と、映画鑑賞した⼈人(Alice,	
  Bob,	
  Carol,	
  David,	
  Elvis)がいたとする。で、それ
    ぞれ以下のような映画鑑賞をしたとする。
    ※これは複雑ネットワークを使ったサイジニアのデクワスという製品の発想

                     Alice                       Ghost	
  In	
  the	
  Shell


                     Bob
                                                  NUMB3RS

                     Carol

                                                 God	
  Father
                    David



                     Elvis                       Charlieʼ’s	
  Angel
DVDレンタルの購買履歴を
               ネットワークにする
•   隣接⾏行行列をつかってデータをみてみる。


•   映画と映画鑑賞した⼈人の隣接⾏行行列を⾏行行列積にすると、それぞれどの映画が多くみられた
    か、誰が多く映画がみたかがわかる。映画はNUMB3RSとCharlieʼ’s	
  Angelが3で最もみ
    られた映画であり、Davidが最も映画鑑賞した⼈人であることがわかる。
DVDレンタルの購買履歴を
            ネットワークにする
•   2部グラフをネットワーク図に変換してみる。バイオ系な描画?
DVDレンタルの購買履歴を
                ネットワークにする
•   エッジリストで計算してみる。igraphというパッケージを使えば計算がめさめさ速い。


•   媒介中⼼心性は、Charlieʼ’s	
  Angel(15.5)とDavid(17.0)と⾼高く、近接中⼼心性も、
    Charlieʼ’s	
  Angel(0.533)とDavid(0.571)と⾼高い。三⾓角形はどれもないので、クラス
    ター係数は0かNaNである。
DVDレンタルの購買履歴を
            ネットワークにする
•   コミュニティー抽出の発想をとりいれる。


•   映画ネットワーク(左図)と映画鑑賞者ネットワーク(右図)に分類する。
DVDレンタルの購買履歴を
                ネットワークにする
•   映画コミュニティと映画鑑賞者コミュニティのそれぞれのネットワーク指標を計算する


•   コミュニティにしたことで、クラスター係数が算出された。三⾓角形があるということは
    その三者の関係性は強いとみなすことができるので、その発想からレコメンドができた
    りもする。例えば、AliceはGhost	
  In	
  the	
  Shellを観ていて、同じ映画をDavidも観てい
    るので、AliceにDavidのみた映画をレコメンドするなど(これは単純化した例)。
なぜ3⼈人いると噂が広まるのか
•   世の中の様々な三角形について紹介。職場の人間関係、仕事の能率化、クチコミ、無縁
    社会、院内感染の防止、金融危機、環境問題、スポーツ選手のランキングなど。今回LT
    で話したサイジニアについても紹介している。




•   『なぜ3人いると           が広まるのか』増田直紀、日経プレミアムシリーズ
    http://www.amazon.co.jp/dp/4532261554/

    ※わたしもちょろっと名前がでているよ!

More Related Content

What's hot

Uplift Modelling 入門(1)
Uplift Modelling 入門(1)Uplift Modelling 入門(1)
Uplift Modelling 入門(1)
Yohei Sato
 
5分でわかるベイズ確率
5分でわかるベイズ確率5分でわかるベイズ確率
5分でわかるベイズ確率
hoxo_m
 
RでGARCHモデル - TokyoR #21
RでGARCHモデル - TokyoR #21RでGARCHモデル - TokyoR #21
RでGARCHモデル - TokyoR #21
horihorio
 

What's hot (20)

Uplift Modelling 入門(1)
Uplift Modelling 入門(1)Uplift Modelling 入門(1)
Uplift Modelling 入門(1)
 
Deep Learning Lab 異常検知入門
Deep Learning Lab 異常検知入門Deep Learning Lab 異常検知入門
Deep Learning Lab 異常検知入門
 
マルコフ連鎖モンテカルロ法と多重代入法
マルコフ連鎖モンテカルロ法と多重代入法マルコフ連鎖モンテカルロ法と多重代入法
マルコフ連鎖モンテカルロ法と多重代入法
 
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
 
DLLab 異常検知ナイト 資料 20180214
DLLab 異常検知ナイト 資料 20180214DLLab 異常検知ナイト 資料 20180214
DLLab 異常検知ナイト 資料 20180214
 
『バックドア基準の入門』@統数研研究集会
『バックドア基準の入門』@統数研研究集会『バックドア基準の入門』@統数研研究集会
『バックドア基準の入門』@統数研研究集会
 
SSII2020TS: 機械学習モデルの判断根拠の説明​ 〜 Explainable AI 研究の近年の展開 〜​
SSII2020TS: 機械学習モデルの判断根拠の説明​ 〜 Explainable AI 研究の近年の展開 〜​SSII2020TS: 機械学習モデルの判断根拠の説明​ 〜 Explainable AI 研究の近年の展開 〜​
SSII2020TS: 機械学習モデルの判断根拠の説明​ 〜 Explainable AI 研究の近年の展開 〜​
 
XAI (説明可能なAI) の必要性
XAI (説明可能なAI) の必要性XAI (説明可能なAI) の必要性
XAI (説明可能なAI) の必要性
 
推薦アルゴリズムの今までとこれから
推薦アルゴリズムの今までとこれから推薦アルゴリズムの今までとこれから
推薦アルゴリズムの今までとこれから
 
独立成分分析とPerfume
独立成分分析とPerfume独立成分分析とPerfume
独立成分分析とPerfume
 
非制約最小二乗密度比推定法 uLSIF を用いた外れ値検出
非制約最小二乗密度比推定法 uLSIF を用いた外れ値検出非制約最小二乗密度比推定法 uLSIF を用いた外れ値検出
非制約最小二乗密度比推定法 uLSIF を用いた外れ値検出
 
[研究室論文紹介用スライド] Adversarial Contrastive Estimation
[研究室論文紹介用スライド] Adversarial Contrastive Estimation[研究室論文紹介用スライド] Adversarial Contrastive Estimation
[研究室論文紹介用スライド] Adversarial Contrastive Estimation
 
Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門
 
心理学におけるベイズ統計の流行を整理する
心理学におけるベイズ統計の流行を整理する心理学におけるベイズ統計の流行を整理する
心理学におけるベイズ統計の流行を整理する
 
One Class SVMを用いた異常値検知
One Class SVMを用いた異常値検知One Class SVMを用いた異常値検知
One Class SVMを用いた異常値検知
 
セミパラメトリック推論の基礎
セミパラメトリック推論の基礎セミパラメトリック推論の基礎
セミパラメトリック推論の基礎
 
2 3.GLMの基礎
2 3.GLMの基礎2 3.GLMの基礎
2 3.GLMの基礎
 
傾向スコアの概念とその実践
傾向スコアの概念とその実践傾向スコアの概念とその実践
傾向スコアの概念とその実践
 
5分でわかるベイズ確率
5分でわかるベイズ確率5分でわかるベイズ確率
5分でわかるベイズ確率
 
RでGARCHモデル - TokyoR #21
RでGARCHモデル - TokyoR #21RでGARCHモデル - TokyoR #21
RでGARCHモデル - TokyoR #21
 

More from Hiroko Onari

Data scientist casual talk in 白金台
Data scientist casual talk in 白金台Data scientist casual talk in 白金台
Data scientist casual talk in 白金台
Hiroko Onari
 
Rでソーシャルネットワーク分析
Rでソーシャルネットワーク分析Rでソーシャルネットワーク分析
Rでソーシャルネットワーク分析
Hiroko Onari
 
傾向スコアでみる ソーシャルネットワーク分析
傾向スコアでみる ソーシャルネットワーク分析傾向スコアでみる ソーシャルネットワーク分析
傾向スコアでみる ソーシャルネットワーク分析
Hiroko Onari
 
複雑ネットワーク勉強会 第2章ネットワークの特徴量(後半) 20120215
複雑ネットワーク勉強会 第2章ネットワークの特徴量(後半) 20120215複雑ネットワーク勉強会 第2章ネットワークの特徴量(後半) 20120215
複雑ネットワーク勉強会 第2章ネットワークの特徴量(後半) 20120215
Hiroko Onari
 
複雑ネットワーク勉強会 二部グラフの基礎と応用 20120208
複雑ネットワーク勉強会  二部グラフの基礎と応用 20120208複雑ネットワーク勉強会  二部グラフの基礎と応用 20120208
複雑ネットワーク勉強会 二部グラフの基礎と応用 20120208
Hiroko Onari
 
統計学と複雑ネットワークのちょっと深いい話 - おしゃれStatistics @銀座
統計学と複雑ネットワークのちょっと深いい話 - おしゃれStatistics @銀座統計学と複雑ネットワークのちょっと深いい話 - おしゃれStatistics @銀座
統計学と複雑ネットワークのちょっと深いい話 - おしゃれStatistics @銀座
Hiroko Onari
 

More from Hiroko Onari (14)

teaming and weak internal information
teaming and weak internal informationteaming and weak internal information
teaming and weak internal information
 
Thank you communication network in organization 感謝ネットワークからみる組織のコミュニケーションの形
Thank you communication network in organization 感謝ネットワークからみる組織のコミュニケーションの形Thank you communication network in organization 感謝ネットワークからみる組織のコミュニケーションの形
Thank you communication network in organization 感謝ネットワークからみる組織のコミュニケーションの形
 
Data scientist casual talk in 白金台
Data scientist casual talk in 白金台Data scientist casual talk in 白金台
Data scientist casual talk in 白金台
 
はじめてのパターン認識勉強会 20130716
はじめてのパターン認識勉強会 20130716はじめてのパターン認識勉強会 20130716
はじめてのパターン認識勉強会 20130716
 
Rでソーシャルネットワーク分析
Rでソーシャルネットワーク分析Rでソーシャルネットワーク分析
Rでソーシャルネットワーク分析
 
集合知プログラミング第2章推薦を行う
集合知プログラミング第2章推薦を行う集合知プログラミング第2章推薦を行う
集合知プログラミング第2章推薦を行う
 
Social network analysis for startups ch6
Social network analysis for startups ch6Social network analysis for startups ch6
Social network analysis for startups ch6
 
Suicide ideation of individuals in online social networks tokyo webmining
Suicide ideation of individuals in online social networks tokyo webminingSuicide ideation of individuals in online social networks tokyo webmining
Suicide ideation of individuals in online social networks tokyo webmining
 
傾向スコアでみる ソーシャルネットワーク分析
傾向スコアでみる ソーシャルネットワーク分析傾向スコアでみる ソーシャルネットワーク分析
傾向スコアでみる ソーシャルネットワーク分析
 
複雑ネットワーク勉強会 第2章ネットワークの特徴量(後半) 20120215
複雑ネットワーク勉強会 第2章ネットワークの特徴量(後半) 20120215複雑ネットワーク勉強会 第2章ネットワークの特徴量(後半) 20120215
複雑ネットワーク勉強会 第2章ネットワークの特徴量(後半) 20120215
 
複雑ネットワーク勉強会 二部グラフの基礎と応用 20120208
複雑ネットワーク勉強会  二部グラフの基礎と応用 20120208複雑ネットワーク勉強会  二部グラフの基礎と応用 20120208
複雑ネットワーク勉強会 二部グラフの基礎と応用 20120208
 
複雑ネットワーク勉強会 第2章前半(R, gephi, cytoscapeの事例付) 20120122
複雑ネットワーク勉強会 第2章前半(R, gephi, cytoscapeの事例付) 20120122複雑ネットワーク勉強会 第2章前半(R, gephi, cytoscapeの事例付) 20120122
複雑ネットワーク勉強会 第2章前半(R, gephi, cytoscapeの事例付) 20120122
 
統計学と複雑ネットワークのちょっと深いい話 - おしゃれStatistics @銀座
統計学と複雑ネットワークのちょっと深いい話 - おしゃれStatistics @銀座統計学と複雑ネットワークのちょっと深いい話 - おしゃれStatistics @銀座
統計学と複雑ネットワークのちょっと深いい話 - おしゃれStatistics @銀座
 
Tokyo webmining 複雑ネットワークとデータマイニング
Tokyo webmining 複雑ネットワークとデータマイニングTokyo webmining 複雑ネットワークとデータマイニング
Tokyo webmining 複雑ネットワークとデータマイニング
 

2部グラフとソーシャルネットワーク

  • 1. 2部グラフとソーシャルネットワーク BIPARTITE  GRAPH  AND  SOCIAL  NETWORKS Tokyo.R 10th of March, 2012 @millionsmile
  • 2. 2部グラフとは WHAT  IS  A  BIPARTITE  GRAPH? • 2部グラフ(bipartite  graph)とは、グラフGの点集合を2つの集合、V1,  V2に分割し、 Gの全ての辺はV1のノードとV2のノードを結ぶようにしてできあがるグラフ V 1 ∪ V 2 = G, V 1 ∩ V 2 = ∅ G V1 V2
  • 3. 2  TYPES  OF  NETWORK  DATA  FORMAT • ネットワークデータの持ち⽅方として、最もベーシックなフォーマットは、「隣接⾏行行列」 と「エッジリスト」がある。 • ⼩小規模なデータであれば隣接⾏行行列でもよいが、⼤大きくなりすぎるネットワークデータで はエッジリストを使う⽅方がよい。しかし、⼤大規模データになると、KVSにしたりといっ た⼯工夫や分散処理を取り⼊入れないとネットワークの計算できないので注意が必要。   0 1 1 1 1 1 0 0 1 0   隣接⾏行行列 A = 1  1 0 0 0 0 1 0 0 1 v1 v2 1 0 0 1 0 From, To v1, v2 v3 v4 v1, v3 v1, v4 v1, v5 v5 左のグラフをデータ変換 v2, v1 エッジリスト v2, v4 v3, v1 v4, v1 v4, v2 v4, v5 v5, v1 v5, v4
  • 4. テロリストネットワークがわかる2部グラフ • 2部グラフを使うことで、例えば、誰がどこにいたかという情報を収集することで、誰 と誰が知り合いである可能性があるということをソーシャルグラフ的に表すことができ る。 • 911のテロリストに関し、我々は誰と誰が知り合いかは知ることができない。しかし、 どのテロリストがどこにいたかという情報を収集することでどのテロリストとどのテロ リストが関係するかというのがみえてくる。 テロリストF テロリストAは2つの 集会に出ているの で、媒介中心性があ テロリストC テロリストA るとみなすとか。 テロリストA テロリストE テロリストB テロリストD ニューヨークでの集会 サンフランシスコでの集会
  • 5. テロリストネットワークがわかる2部グラフ • ノードはそれぞれテロリストをあらわ し、⾊色はハイジャックした⾶飛⾏行行機のフ ライト別となっている。 • どのテロリストとどのテロリストがつ ながっているかは、誰かどこに誰とい たかという情報からエッジを作成。 • こうみると、案外、疎なネットワーク である。しかし、これは情報が不⾜足し ていることに起因する。
  • 6. テロリストネットワークがわかる2部グラフ • ロスでのミーティング情報を付与する と、より⼈人間のネットワークっぽくな りました。 • このように、ソーシャルグラフがなく ても、誰がどこにいたかという情報か ら、ソーシャルグラフもどきがつくれ てしまうのである。 • こういうのは何かに役⽴立立ちそう。
  • 7. テロリストネットワークがわかる2部グラフ • さらに、次数中⼼心性や媒介中⼼心性、近 接中⼼心性を求めることで、テロリスト ネットワークの中⼼心⼈人物を計算するこ とができる。これは凄い。 • 完全な情報ではないにせよ、収集でき る情報からこのような活⽤用もできると いうのは⾯面⽩白い。 • 興味ある⼈人は、この論⽂文参照。 http://firstmonday.org/htbin/cgiwrap/bin/ojs/ index.php/fm/article/view/941/863
  • 9. DVDレンタル購買履歴を ネットワークにする • 3つの映画(攻殻機動隊、NUMB3RS、ゴッドファーザー、チャーリーズ・エンジェ ル)と、映画鑑賞した⼈人(Alice,  Bob,  Carol,  David,  Elvis)がいたとする。で、それ ぞれ以下のような映画鑑賞をしたとする。 ※これは複雑ネットワークを使ったサイジニアのデクワスという製品の発想 Alice Ghost  In  the  Shell Bob NUMB3RS Carol God  Father David Elvis Charlieʼ’s  Angel
  • 10. DVDレンタルの購買履歴を ネットワークにする • 隣接⾏行行列をつかってデータをみてみる。 • 映画と映画鑑賞した⼈人の隣接⾏行行列を⾏行行列積にすると、それぞれどの映画が多くみられた か、誰が多く映画がみたかがわかる。映画はNUMB3RSとCharlieʼ’s  Angelが3で最もみ られた映画であり、Davidが最も映画鑑賞した⼈人であることがわかる。
  • 11. DVDレンタルの購買履歴を ネットワークにする • 2部グラフをネットワーク図に変換してみる。バイオ系な描画?
  • 12. DVDレンタルの購買履歴を ネットワークにする • エッジリストで計算してみる。igraphというパッケージを使えば計算がめさめさ速い。 • 媒介中⼼心性は、Charlieʼ’s  Angel(15.5)とDavid(17.0)と⾼高く、近接中⼼心性も、 Charlieʼ’s  Angel(0.533)とDavid(0.571)と⾼高い。三⾓角形はどれもないので、クラス ター係数は0かNaNである。
  • 13. DVDレンタルの購買履歴を ネットワークにする • コミュニティー抽出の発想をとりいれる。 • 映画ネットワーク(左図)と映画鑑賞者ネットワーク(右図)に分類する。
  • 14. DVDレンタルの購買履歴を ネットワークにする • 映画コミュニティと映画鑑賞者コミュニティのそれぞれのネットワーク指標を計算する • コミュニティにしたことで、クラスター係数が算出された。三⾓角形があるということは その三者の関係性は強いとみなすことができるので、その発想からレコメンドができた りもする。例えば、AliceはGhost  In  the  Shellを観ていて、同じ映画をDavidも観てい るので、AliceにDavidのみた映画をレコメンドするなど(これは単純化した例)。
  • 15. なぜ3⼈人いると噂が広まるのか • 世の中の様々な三角形について紹介。職場の人間関係、仕事の能率化、クチコミ、無縁 社会、院内感染の防止、金融危機、環境問題、スポーツ選手のランキングなど。今回LT で話したサイジニアについても紹介している。 • 『なぜ3人いると が広まるのか』増田直紀、日経プレミアムシリーズ http://www.amazon.co.jp/dp/4532261554/ ※わたしもちょろっと名前がでているよ!