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.

ユーザの潜在特徴を考慮した情報拡散モデルの学習

2,615 views

Published on

  • Be the first to comment

ユーザの潜在特徴を考慮した情報拡散モデルの学習

  1. 1. ユーザの潜在特徴を考慮した 情報拡散モデルの学習吉川友也 (奈良先端科学技術大学院大学)岩田具治 (NTTコミュニケーション科学基礎研究所)澤田 宏 (NTTコミュニケーション科学基礎研究所) 2012-11-20 @ WebDB Forum 2012
  2. 2. ソーシャルメディアの興隆に伴い 2 クチコミ現象が注目を集めている 現実の ソーシャル ネットワーク 反映 ニュース, 新商品のレビュー, デマ等が広がる予測 分析 最も影響力のあるユーザ 話題の広がるスピード 話題の広がりやすさ
  3. 3. ソーシャルメディアの興隆に伴い 3 クチコミ現象が注目を集めている 現実の ソーシャル ネットワーク 反映 ニュース, 新商品のレビュー, デマ等が広がる予測 分析 クチコミ現象を表した 情報拡散モデルが利用される 最も影響力のあるユーザ 話題の広がるスピード 話題の広がりやすさ
  4. 4. 4 情報拡散モデルは,ネットワークにおける情報の伝達を表現した数理モデル*  独立カスケードモデル [Kempe+, ’03] *  各リンクの拡散確率に従って,他の試行とは独立に情報 を伝える試行を行うモデル
  5. 5. 5 情報拡散モデルは,ネットワークにおける情報の伝達を表現した数理モデル*  独立カスケードモデル [Kempe+, ’03] *  各リンクの拡散確率に従って,他の試行とは独立に情報 を伝える試行を行うモデル 拡散確率 B 0.1 C A 0.3 E D 0.1
  6. 6. 6 情報拡散モデルは,ネットワークにおける情報の伝達を表現した数理モデル*  独立カスケードモデル [Kempe+, ’03] *  各リンクの拡散確率に従って,他の試行とは独立に情報 を伝える試行を行うモデル 生成された情報拡散のログ情報発信者 B 0.1 ノード名 伝わった時刻 A 11/20 18:00 C A 0.3 E D 0.1
  7. 7. 7 情報拡散モデルは,ネットワークにおける情報の伝達を表現した数理モデル*  独立カスケードモデル [Kempe+, ’03] *  各リンクの拡散確率に従って,他の試行とは独立に情報 を伝える試行を行うモデル 生成された情報拡散のログ B 0.1 ノード名 伝わった時刻 A 11/20 18:00 C A 0.3 E D 0.1
  8. 8. 8 情報拡散モデルは,ネットワークにおける情報の伝達を表現した数理モデル*  独立カスケードモデル [Kempe+, ’03] *  各リンクの拡散確率に従って,他の試行とは独立に情報 を伝える試行を行うモデル 生成された情報拡散のログ B 0.1 ノード名 伝わった時刻 A 11/20 18:00 C A 0.3 E D 0.1
  9. 9. 9 情報拡散モデルは,ネットワークにおける情報の伝達を表現した数理モデル*  独立カスケードモデル [Kempe+, ’03] *  各リンクの拡散確率に従って,他の試行とは独立に情報 を伝える試行を行うモデル 生成された情報拡散のログ B 0.1 ノード名 伝わった時刻 A 11/20 18:00 C B 11/20 18:10 A 0.3 E D 0.1
  10. 10. 10 情報拡散モデルは,ネットワークにおける情報の伝達を表現した数理モデル*  独立カスケードモデル [Kempe+, ’03] *  各リンクの拡散確率に従って,他の試行とは独立に情報 を伝える試行を行うモデル 生成された情報拡散のログ B 0.1 ノード名 伝わった時刻 A 11/20 18:00 C B 11/20 18:10 A 0.3 E D 0.1
  11. 11. 11 情報拡散モデルは,ネットワークにおける情報の伝達を表現した数理モデル*  独立カスケードモデル [Kempe+, ’03] *  各リンクの拡散確率に従って,他の試行とは独立に情報 を伝える試行を行うモデル 生成された情報拡散のログ B 0.1 ノード名 伝わった時刻 A 11/20 18:00 C B 11/20 18:10 A 0.3 E D 0.1
  12. 12. 12 情報拡散モデルは,ネットワークにおける情報の伝達を表現した数理モデル*  独立カスケードモデル [Kempe+, ’03] *  各リンクの拡散確率に従って,他の試行とは独立に情報 を伝える試行を行うモデル 生成された情報拡散のログ B 0.1 ノード名 伝わった時刻 A 11/20 18:00 C B 11/20 18:10 C 11/20 18:19 A 0.3 E D 0.1
  13. 13. 13 目的: 未知の拡散確率をより正確に推定*  「拡散確率は既知」が前提の研究 *  影響最大化問題 *  どのX人を情報源として選ぶと影響を最大化出来るか *  汚染最小化問題 *  どのX人をネットワークから除去すると影響を最小化 出来るか*  現実的には,ユーザ間の拡散確率は未知 *  情報拡散モデルを動かすには拡散確率が必要*  本研究で行うこと *  独立カスケードモデルの拡散確率を正確に推定する方法 の構築
  14. 14. 14 先行研究: リンクの拡散確率を直接推定 [Gruhl+ 04, Saito+ 09]1.  情報拡散の経路を推定(Eステップ) A A A ? C ? C ? C ・・・ B B B 1回⽬目の試⾏行行 2回⽬目の試⾏行行 n回⽬目の試⾏行行 ノードCが誰から情報を受け取ったのかは隠れ状態推定 A A A C C C ・・・ B B B 1回⽬目の試⾏行行 2回⽬目の試⾏行行 n回⽬目の試⾏行行
  15. 15. 15 先行研究: リンクの拡散確率を直接推定 [Gruhl+ 04, Saito+ 09]2.  拡散確率を最尤推定(Mステップ) A A A A A C C C C C B B B B B1回⽬目の試⾏行行 2回⽬目の試⾏行行 3回⽬目の試⾏行行 4回⽬目の試⾏行行 5回⽬目の試⾏行行 ノードAからノードCへの拡散確率は 2/5 ノードBからノードCへの拡散確率は 3/5
  16. 16. 16 先行研究: リンクの拡散確率を直接推定 [Gruhl+ 04, Saito+ 09]2.  拡散確率を最尤推定(Mステップ) A A A A A C C C C C B B B B B1回⽬目の試⾏行行 2回⽬目の試⾏行行 3回⽬目の試⾏行行 4回⽬目の試⾏行行 5回⽬目の試⾏行行 ノードAからノードCへの拡散確率は 2/5 ノードBからノードCへの拡散確率は 3/5 問題点 観測する試行数に対してリンク数が多すぎるため 正確に拡散確率を推定できない
  17. 17. 17 どういう時に推定が難しいのか?*  先行研究の得意な状況*  情報拡散のログ(観測データ)が大量にある 250 90 拡散成功回数 1000 250 拡散試行の回数 A D G 200 85 30 1000 250 90 60 70 200 145 B E H 80 40 25 200 145 100 40 15 80 80 C F I
  18. 18. 18 どういう時に推定が難しいのか?*  先行研究の苦手な状況*  情報拡散のログが少数 ▶▶▶ 汎化性能が低い 4 1 10 4 A D G 5 1 1 10 4 1 1 0 5 2 B E H 2 2 1 5 2 1 0 1 2 2 C F I
  19. 19. 19 ユーザの特徴によって伝わりやすさが決まることを仮定したモデルを提案*  各ユーザは二種類の特徴を持つと仮定 *  ただし,特徴は陽に観測する必要はない(未知) 影響の与えやすさを 影響の受けやすさを 表す特徴ベクトル 表す特徴ベクトル x = [x1 , x2 , · · · , xK ]> y = [y1 , y2 , · · · , yK ]>
  20. 20. 20 ユーザの特徴によって伝わりやすさが決まることを仮定したモデルを提案*  各ユーザは二種類の特徴を持つと仮定 *  ただし,特徴は陽に観測する必要はない(未知) 影響の与えやすさを 影響の受けやすさを 表す特徴ベクトル 表す特徴ベクトル x = [x1 , x2 , · · · , xK ]> y = [y1 , y2 , · · · , yK ]>*  拡散確率はユーザの特徴の内積に基づいて決まる *  A B の拡散確率の計算はシグモイド関数: ⇣ ⌘ 1 1 + exp( x> yB A )
  21. 21. 21 推定するパラメータの比較 パラメータの種類 パラメータ数 各リンクの 2先行研究 拡散確率 O(V ) ユーザの潜在特徴提案法 ベクトル O(V K) Note: V=ノード数,K=特徴ベクトルの次元数
  22. 22. 22 提案法: 各ユーザの潜在特徴ベクトルを推定して,間接的に拡散確率を計算1.  情報拡散の経路を推定(Eステップ) *  先行研究と同じ手続きによって行う A A A ? C ? C ? C ・・・ B B B 1回⽬目の試⾏行行 2回⽬目の試⾏行行 n回⽬目の試⾏行行 ノードCが誰から情報を受け取ったのかは隠れ状態推定 A A A C C C ・・・ B B B 1回⽬目の試⾏行行 2回⽬目の試⾏行行 n回⽬目の試⾏行行
  23. 23. 23 提案法: 各ユーザの潜在特徴ベクトルを推定して,間接的に拡散確率を計算2.  各ユーザの潜在特徴ベクトルを推定(Mステップ) y x x y x y 1.0 1.0 ? ? 0.0 0.5 0.5 0.0 ? ? 1.0 0.1 A C B ここに注目
  24. 24. 24 提案法: 各ユーザの潜在特徴ベクトルを推定して,間接的に拡散確率を計算2.  各ユーザの潜在特徴ベクトルを推定(Mステップ) xを推定 y x x y x y 1.0 1.0 ? ? 0.0 0.5 0.5 0.0 ? ? 1.0 0.1 A C B
  25. 25. 25 提案法: 各ユーザの潜在特徴ベクトルを推定して,間接的に拡散確率を計算2.  各ユーザの潜在特徴ベクトルを推定(Mステップ) y x x y x y 1.0 1.0 ? ? 0.0 0.5 0.5 0.0 ? ? 1.0 0.1 A C B⇣ ⌘ 1 ⇣ ⌘ 1 1 + exp( x> yA C ) ⇡ 0.2 1 + exp( x> yB C ) ⇡ 0.15 データから計算される拡散確率に近づくように x を最適化
  26. 26. 26 提案法: 各ユーザの潜在特徴ベクトルを推定して,間接的に拡散確率を計算2.  各ユーザの潜在特徴ベクトルを推定(Mステップ) y x x y x y 1.0 1.0 0.1 ? 0.0 0.5 0.5 0.0 0.5 ? 1.0 0.1 A C B⇣ ⌘ 1 ⇣ ⌘ 1 1 + exp( x> yA C ) ⇡ 0.2 1 + exp( x> yB C ) ⇡ 0.15 データから計算される拡散確率に近づくように x を最適化
  27. 27. 27 提案法: 各ユーザの潜在特徴ベクトルを推定して,間接的に拡散確率を計算2.  各ユーザの潜在特徴ベクトルを推定(Mステップ) yを推定 y x x y x y 1.0 1.0 0.1 ? 0.0 0.5 0.5 0.0 0.5 ? 1.0 0.1 A C B
  28. 28. 28 提案法: 各ユーザの潜在特徴ベクトルを推定して,間接的に拡散確率を計算2.  各ユーザの潜在特徴ベクトルを推定(Mステップ) y x x y x y 1.0 1.0 0.1 ? 0.0 0.5 0.5 0.0 0.5 ? 1.0 0.1 A C B⇣ ⌘ 1 ⇣ ⌘ 1 1 + exp( x> yC A ) ⇡ 0.2 1 + exp( x> yC B ) ⇡ 0.4 データから計算される拡散確率に近づくように y を最適化
  29. 29. 29 提案法: 各ユーザの潜在特徴ベクトルを推定して,間接的に拡散確率を計算2.  各ユーザの潜在特徴ベクトルを推定(Mステップ) y x x y x y 1.0 1.0 0.1 0.3 0.0 0.5 0.5 0.0 0.5 0.6 1.0 0.1 A C B⇣ ⌘ 1 ⇣ ⌘ 1 1 + exp( x> yC A ) ⇡ 0.2 1 + exp( x> yC B ) ⇡ 0.4 データから計算される拡散確率に近づくように y を最適化
  30. 30. 30 提案法: 各ユーザの潜在特徴ベクトルを推定して,間接的に拡散確率を計算3.  各リンクの拡散確率を計算 y x x y x y 1.0 1.0 0.1 0.3 0.0 0.5 0.5 0.0 0.5 0.6 1.0 0.1 A C B具体例: A C の拡散確率の計算 ⇣ ⌘ 1 推定したバイアスパラメータ A,C = 1 + exp( x> yC A ) = 1.5 ⇣ ⌘ 1 = 1 + exp( 1.0 ⇥ 0.1 0.0 ⇥ 0.5 + 1.5) = 0.198
  31. 31. 31 先行研究の苦手な状況を克服*  ノードに情報伝達の特徴を割り当てることによって 汎化性能の高い確率推定を実現する 4 1 10 4 A D G 5 1 1 10 4 1 1 0 5 2 B E H 2 2 1 5 2 1 0 1 2 2 C F I
  32. 32. 32 先行研究の苦手な状況を克服*  ノードに情報伝達の特徴を割り当てることによって 汎化性能の高い確率推定を実現する 4 1 10 4 A D G 5 1 1 10 4 B D 1 1     からの影響の 0 B 5 E 受けやすさを潜在特徴 2 H 2 ベクトルyに集約 2 1 5 2 1 0 1 2 2 C F I
  33. 33. 33 先行研究の苦手な状況を克服*  ノードに情報伝達の特徴を割り当てることによって 汎化性能の高い確率推定を実現する 4 1 10 4 A D G 5 1 1   H への影響の強さを F 10 1 4 0 1 潜在特徴ベクトルxに 5 2 B E H 集約 2 2 1 5 2 1 0 1 2 2 C F I
  34. 34. 34 実験: 現実のネットワークデータと人工の情報拡散のログを使って,提案手法の有効性を検証*  提案手法と既存手法 *  提案手法: ユーザの潜在特徴から間接的に推定 *  既存手法1: 各リンクの拡散確率を直接推定 [Saito+ ‘09] *  既存手法2: 全リンクの拡散確率が共通として直接推定*  2種類の実験 *  拡散確率推定精度 *  真の拡散確率と各手法で推定した拡散確率を比較 *  影響度推定精度 *  真の拡散確率と推定した拡散確率を使った影響度を比較
  35. 35. 35 データ: 実ネットワーク+人工の情報拡散のログ*  ネットワークデータ *  Karate, Blog, Enron, Mixiの4種類で実験 ノード数 リンク数 ログ数 平均ログ⻑⾧長*  人工で生成した情報拡散のログ *  提案モデルによって計算した拡散確率を使い, 独立カスケードモデルに基づいてログを生成 情報の内容,ユーザ名,時間の三つ組
  36. 36. 36 データ: 実ネットワーク+人工の情報拡散のログ*  ネットワークデータ *  Karate, Blog, Enron, Mixiの4種類で実験 ノード数 リンク数 ログ数 平均ログ⻑⾧長 観測データが 少ない状況*  人工で生成した情報拡散のログ *  提案モデルによって計算した拡散確率を使い, 独立カスケードモデルに基づいてログを生成 情報の内容,ユーザ名,時間の三つ組
  37. 37. 37 【拡散確率の推定精度】既存手法より良い精度(小さい誤差)で推定 提案⼿手法良良い
  38. 38. 38 【拡散確率の推定精度】既存手法より良い精度(小さい誤差)で推定
  39. 39. 39 情報拡散モデルに基づく影響度推定への応用*  「ユーザXの影響度」の定義 *  ユーザXから発信される情報によって影響を受ける  ユーザの総数*  既存の影響度推定法に提案手法を組み込む *  真の影響度と推定した影響度の相関を計る⼊入⼒力力 出⼒力力情報拡散 拡散確率率率 情報拡散 シミュレーション 影響度度 のログ 推定 真の ・提案⼿手法 ⽐比較 ・既存⼿手法1 拡散確率率率 ・既存⼿手法2
  40. 40. 40 提案手法を利用して推定した影響度は,真の影響度と最も近い振る舞いをしている 提案手法 既存手法1 既存手法2 0.6 0.90.45 0.675 0.3 0.450.15 0.225 0 0 Karate Blog Enron Mixi Karate Blog Enron Mixi ケンドールの順位相関係数 ピアソン積率相関係数
  41. 41. 41 提案手法を利用して推定した影響度は,真の影響度と最も近い振る舞いをしている*  Karate(上段)とBlog(下段)の結果 提案手法 既存手法1 既存手法2
  42. 42. 42 提案手法を利用して推定した影響度は,真の影響度と最も近い振る舞いをしている*  Enron(上段)とMixi(下段)の結果 提案手法 既存手法1 既存手法2 図2 各ノードの影響度の散布図.縦軸は推定した影響度.横軸は真の影響度.(一段目)Karate
  43. 43. 43 まとめと今後の課題*  独立カスケードモデルの拡散確率をより正確に推定 する方法を提案 *  情報の伝え方と受け取り方に関する潜在特徴を仮定*  人工データでは,提案手法が良い精度でパラメータ 推定可能を示した *  その結果,影響度推定でも良い精度に繋がる*  今後の課題 *  実データを使って提案モデルの有用性を検証 *  推定した潜在特徴から情報拡散における特徴を発見する

×