• Like
  • Save
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
Upcoming SlideShare
Loading in...5
×

ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京

  • 16,145 views
Uploaded on

「第5回 データマイニング+WEB 勉強会@東京-WEB解析・最適化祭り-」の講師資料です(10/06/20) hamadakoichi 濱田晃一

「第5回 データマイニング+WEB 勉強会@東京-WEB解析・最適化祭り-」の講師資料です(10/06/20) hamadakoichi 濱田晃一

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
16,145
On Slideshare
0
From Embeds
0
Number of Embeds
10

Actions

Shares
Downloads
0
Comments
0
Likes
66

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 第5回データマイニング+WEB勉強会@東京 データマイニング 勉強会@ 勉強会 2010/06/20 ベイジアンネット と レコメンデーション Bayesian network and Recommendation hamadakoichi 濱田 晃一
  • 2. AGENDA ◆自己紹介 ◆レコメンデーションとは ●レコメンデーションとは ●2つのレコメンド経路 ◆協調フィルタリング ●協調フィルタリングの体系 ●Amazon協調フィルタリング ◆ベイジアンネットワークによるレコメンデーション ●ベイジアンネットワーク ●ベイジアンネットワークによるレコメンデーション ◆最後に
  • 3. AGENDA ◆自己紹介 ◆レコメンデーションとは ●レコメンデーションとは ●2つのレコメンド経路 ◆協調フィルタリング ●協調フィルタリングの体系 ●Amazon協調フィルタリング ◆ベイジアンネットワークによるレコメンデーション ●ベイジアンネットワーク ●ベイジアンネットワークによるレコメンデーション ◆最後に
  • 4. hamadakoichi 濱田晃一 http://iddy.jp/profile/hamadakoichi 4
  • 5. 自己紹介:hamadakoichi 濱田晃一 5
  • 6. 自己紹介:hamadakoichi 濱田晃一 データマイニング+WEB勉強会@東京 主催者です 6
  • 7. 自己紹介:hamadakoichi 濱田晃一 理論物理 博士(2004.3取得) 量子統計場の理論 Statistical Field Theory Spontaneously Time-Reversal Symmetry Breaking Anisotropic Massless Dirac Fermions 博士論文: http://hosi.phys.s.u-tokyo.ac.jp/~koichi/PhD-thesis.pdf 7
  • 8. 自己紹介:hamadakoichi 濱田晃一 文部大臣に褒められた 元 文部大臣・法務大臣 六法全書著者・元法学政治学研究科長 森山眞弓さん 菅野和夫さん 8
  • 9. 自己紹介:hamadakoichi 濱田晃一 Los Angelesでプロダンサーに褒められた ・HIP HOP/House ダンス歴13年 ・ダンス開始後 1年半でL.A.でプロダンサーに褒められる Youtube Channel: http://www.youtube.com/hamadakoichi 9
  • 10. 自己紹介:hamadakoichi 濱田晃一 毎週末3時間ダンスコーチをしています ■過去、東京と京都でも ダンス部を創設。 コーチをしていました 駒場物理ダンス部 京都大学基礎物理学研究所ダンス部 部長兼コーチ 部長兼コーチ 現在: 毎週末 3時間ダンスコーチ Youtube Channel: http://www.youtube.com/hamadakoichi 10
  • 11. 数理解析手法の実ビジネスへの適用 2004年 博士号取得後 数理解析手法を実ビジネス適用の方法論構築 主な領域 ◆活動の数理モデル化・解析手法 ◆活動の分析手法・再構築手法 ◆活動の実行制御・実績解析システム … 内容抜粋 “Decoupling Executions in Navigating Manufacturing "Unified graph representation of processes Processes for Shortening Lead Time and Its Implementation for scheduling with flexible resource to an Unmanned Machine Shop”, assignment", 11
  • 12. 数理解析手法の実ビジネスへの適用:活動例 活動例 活動の統一グラフモデルを構築・解析 Unified graphical model of processes and resources 青字:割付モデル属性 [ ] : Optional Node ・priority(優先度) Edge ・duration(予定時間) [・earliest(再早開始日時) ] Process Edge Process [・deadline(納期) ] 前プロセスの終了後に後プロセスが プロセスを表す [・or(条件集約数) ] ・attributes(属性) 開始できること表す preemptable(中断可否), successive(引継ぎ可否) Uses Edge workload(作業負荷) Processが使用する uses uses uses uses uses uses Assign Region を表す Assign Region Assigns from Edge 同一Resourceを割付け続ける Assign Regionに assigns from assigns from 指定Resourceの子Resource集合の 範囲を表す assigns assigns 中から割付けることを示す 企業01 [process] has has [startDate(開始日時)] [endDate(終了日時)] Assigns Edge 製品01 組織A StartDateからEndDateまでの間 Resource has Assign RegionにResourceを 割付対象要素を表す has has has has has has 割付けることを表す ・capacity(容量) ・calender(カレンダー) AAA01 AAB02 … 山田さん 田中さん 鈴木さん ・attributes(属性) Has Edge Resourceの所有関係を表す 12 東さん
  • 13. 数理解析手法の実ビジネスへの適用:活動例 一品一様の業務プロセスの 動的なプロセス制御数理体系を構築 全体生産リードタイム中央値を 1/2.7に短縮 設計開始~頭だし出荷リードタイム 体系適用 500 適用後 設計開始~頭だし 出荷C T 360.4h(15.0日) 400 1/2.7 300 200 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 141.6h(5.9日) 00 00 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 0 7 4 1 8 5 1 8 5 2 9 6 3 0 /2 /2 /0 /1 /1 /2 /0 /0 /1 /2 /2 /0 /1 /2 / 09 / 09 / 10 / 10 / 10 / 10 / 11 / 11 / 11 / 11 / 11 / 12 / 12 / 12 04 04 04 04 04 04 04 04 04 04 04 04 04 04 20 20 20 20 20 20 20 20 20 20 20 20 20 20 週集計開始日時 13
  • 14. 数理解析手法の実ビジネスへの適用:活動例 ビジネスとともに 学術分野でも貢献 変動性から生じる動的な課題 ・リソースの競合 ・滞留 ・納期遅延 … 一品一様な業務プロセスを含む 統計解析・制御数理モデル ・統計的な有効変数算出 ・統計数理モデル化 -優先順位制御 -実行タイミング制御 -統計フィードバック -適正リソース量算出 ・予測数理体系 論文(体系の一部) M.Nakao, N. Kobayashi, K.Hamada, T.Totsuka, S.Yamada, “Decoupling Executions in Navigating Manufacturing Processes for Shortening Lead Time and Its Implementation to an Unmanned Machine Shop”, 14 CIRP Annals - Manufacturing Technology Volume 56, Issue 1, Pages 171-174 (2007)
  • 15. 参加者 自己紹介Time (1分以内ずつ:計30分程度) 15
  • 16. @karubi さん 「Mahoutの協調フィルタ」 @yanashiさん「グラフ理論とレコメンデーション」 の導入となる形で話します 16
  • 17. AGENDA ◆自己紹介 ◆レコメンデーションとは ●レコメンデーションとは ●2つのレコメンド経路 ◆協調フィルタリング ●協調フィルタリングの体系 ●Amazon協調フィルタリング ◆ベイジアンネットワークによるレコメンデーション ●ベイジアンネットワーク ●ベイジアンネットワークによるレコメンデーション ◆最後に 17
  • 18. AGENDA ◆自己紹介 ◆レコメンデーションとは ●レコメンデーションとは ●2つのレコメンド経路 ◆協調フィルタリング ●協調フィルタリングの体系 ●Amazon協調フィルタリング ◆ベイジアンネットワークによるレコメンデーション ●ベイジアンネットワーク ●ベイジアンネットワークによるレコメンデーション ◆最後に
  • 19. AGENDA ◆自己紹介 ◆レコメンデーションとは ●レコメンデーションとは ●2つのレコメンド経路 ◆協調フィルタリング ●協調フィルタリングの体系 ●Amazon協調フィルタリング ◆ベイジアンネットワークによるレコメンデーション ●ベイジアンネットワーク ●ベイジアンネットワークによるレコメンデーション ◆最後に
  • 20. レコメンデーション 各人の活動や関心にもとづき 適した情報を提示・推薦する 例:Amazon.co.jp 検索・閲覧 20
  • 21. レコメンデーション 各人の活動や関心にもとづき 適した情報を提示・推薦する 例:Amazon.co.jp 検索・閲覧 提示・推薦 21
  • 22. レコメンデーション例 「このアイテムを○○したユーザーは これらのアイテムについても○○しています」 22
  • 23. レコメンデーション例 「このアイテムを○○したユーザーは これらのアイテムについても○○しています」 ○○ = ユーザーアクション 23
  • 24. レコメンデーション例 「このアイテムを○○したユーザーは これらのアイテムについても○○しています」 ○○ = ユーザーアクション 視聴 購入 閲覧 保存 メール送信 ブックマーク お気に入りへの追加 共有 作成 24
  • 25. レコメンデーション例 「このアイテムを○○したユーザーは これらのアイテムについても○○しています」 ○○ = ユーザーアクション 視聴 購入 閲覧 保存 メール送信 ブックマーク お気に入りへの追加 共有 作成 例 ◆この動画を「視聴」したユーザーはこちらの動画も「視聴」しています ◆この記事に関連した新しいアイテムはこちらです ◆あなたに似たユーザーはこちらです ◆こちらの商品にも関心がありませんか? 25
  • 26. レコメンデーションエンジンの入出力 レコメンデーションエンジンの 入出力 レコメンデーション レコメンドされた システム アイテム・ユーザー 26
  • 27. レコメンデーションエンジンの入出力 レコメンデーションエンジンの 入出力 アイテムの情報 アイテムのコンテンツ ユーザー レコメンデーション レコメンドされた プロファイル システム アイテム・ユーザー 年齢 性別 居住地 資産 … 27
  • 28. レコメンデーションエンジンの入出力 レコメンデーションエンジンの 入出力 アイテムの情報 アイテムのコンテンツ ユーザー レコメンデーション レコメンドされた プロファイル システム アイテム・ユーザー 年齢 性別 居住地 資産 … ユーザー インタラクション 閲覧履歴 タグ付け 購入 保存 評価 28 メール送信履歴 …
  • 29. レコメンデーションエンジンの入出力 レコメンデーションエンジンの 入出力 アイテム提示の アイテムの情報 コンテキスト アイテムのコンテンツ 検討中アイテムの カテゴリ … ユーザー レコメンデーション レコメンドされた プロファイル システム アイテム・ユーザー 年齢 性別 居住地 資産 … ユーザー インタラクション 閲覧履歴 タグ付け 購入 保存 評価 29 メール送信履歴 …
  • 30. レコメンデーションエンジンの入出力 レコメンデーションエンジンの 入出力 アイテム提示の アイテムの情報 コンテキスト アイテムのコンテンツ 検討中アイテムの カテゴリ … ユーザー レコメンデーション レコメンドされた プロファイル システム アイテム・ユーザー 年齢 性別 居住地 資産 … ユーザー インタラクション 閲覧履歴 タグ付け 購入 保存 評価 30 メール送信履歴 …
  • 31. レコメンデーションの戦略 レコメンデーションを 売り込みと様子伺いの間で行う ◆売り込み ユーザーの趣向にぴったり合った アイテムを推薦 ◆様子伺い ユーザーの新たな趣向を見つけるため ユーザーの趣向に合わないアイテムを提示 →例:いくつかのアイテムをランダムに選ぶなど 31
  • 32. AGENDA ◆自己紹介 ◆レコメンデーションとは ●レコメンデーションとは ●2つのレコメンド経路 ◆協調フィルタリング ●協調フィルタリングの体系 ●Amazon協調フィルタリング ◆ベイジアンネットワークによるレコメンデーション ●ベイジアンネットワーク ●ベイジアンネットワークによるレコメンデーション ◆最後に
  • 33. アイテムベース分析 アイテムベース アイテムの類似アイテムを分析・推薦 アイテム アイテム アイテム アイテム A B C D ユーザー 1 33
  • 34. アイテムベース分析 アイテムベース アイテムの類似アイテムを分析・推薦 アイテム アイテム アイテム アイテム A B C D 好む ユーザー 1 34
  • 35. アイテムベース分析 アイテムベース アイテムの類似アイテムを分析・推薦 類似・高確率 アイテム アイテム アイテム アイテム A B C D 好む ユーザー 1 35
  • 36. アイテムベース分析 アイテムベース アイテムの類似アイテムを分析・推薦 類似・高確率 アイテム アイテム アイテム アイテム A B C D 好む レコメンド ユーザー 1 36
  • 37. ユーザーベース分析 ユーザーベース 類似ユーザーを分析、好むアイテムを推薦 アイテム アイテム アイテム アイテム A B C D ユーザー ユーザー ユーザー 1 2 3 37
  • 38. ユーザーベース分析 ユーザーベース 類似ユーザーを分析、好むアイテムを推薦 アイテム アイテム アイテム アイテム A B C D ユーザー ユーザー ユーザー 1 2 3 類似 38
  • 39. ユーザーベース分析 ユーザーベース 類似ユーザーを分析、好むアイテムを推薦 アイテム アイテム アイテム アイテム A B C D 好む ユーザー ユーザー ユーザー 1 2 3 類似 39
  • 40. ユーザーベース分析 ユーザーベース 類似ユーザーを分析、好むアイテムを推薦 アイテム アイテム アイテム アイテム A B C D レコメンド 好む ユーザー ユーザー ユーザー 1 2 3 類似 40
  • 41. AGENDA ◆自己紹介 ◆レコメンデーションとは ●レコメンデーションとは ●2つのレコメンド経路 ◆協調フィルタリング ●協調フィルタリングの体系 ●Amazon協調フィルタリング ◆ベイジアンネットワークによるレコメンデーション ●ベイジアンネットワーク ●ベイジアンネットワークによるレコメンデーション ◆最後に
  • 42. AGENDA ◆自己紹介 ◆レコメンデーションとは ●レコメンデーションとは ●2つのレコメンド経路 ◆協調フィルタリング ●協調フィルタリングの体系 ●Amazon協調フィルタリング ◆ベイジアンネットワークによるレコメンデーション ●ベイジアンネットワーク ●ベイジアンネットワークによるレコメンデーション ◆最後に
  • 43. 類似度算出法の種類 類似度算出法の種類 コンテンツベース と 協調フィルタリング 分析手法 分析・推薦対象 類似度算出の対象 コンテンツベース 協調フィルタリング アイテム アイテムの類似 アイテムの ユーザー行動 ベース アイテム タームベクトル (購入、閲覧、保存、評価、 ブックマークなど) ユーザー ユーザーの類似 ユーザープロファイルの ベース ユーザーが好む タームベクトル アイテム (年齢、ユーザー、居住地、 資産) 43
  • 44. 協調フィルタリング 協調フィルタリング ユーザー行動 (ユーザー・アイテム データ)を分析 アイテム提示の アイテムの情報 コンテキスト アイテムのコンテンツ 検討中アイテムの カテゴリ … ユーザー レコメンデーション レコメンドされた プロファイル システム アイテム・ユーザー 年齢 性別 居住地 資産 … ユーザー インタラクション 閲覧履歴 タグ付け 購入 保存 評価 44 メール送信履歴 …
  • 45. 協調フィルタリング: アルゴリズム アルゴリズム 1. 類似アイテム(またはユーザー)を見つける 2. 類似アイテム(またはユーザー)を利用し、予測する 45
  • 46. 協調フィルタリング: アルゴリズム アルゴリズム 1. 類似アイテム(またはユーザー)を見つける 2. 類似アイテム(またはユーザー)を利用し、予測する 46
  • 47. 協調フィルタリング: データ表現 ユーザー行動を アイテムとユーザーのN次元ベクトルで表現 アイテムの ユーザーの ユーザー評価ベクトル アイテム評価ベクトル User3 Item3 Item1 User1 User1 User2 Item1 Item2 47
  • 48. 協調フィルタリング: データ表現 ユーザー-アイテム行列を扱う 例:アイテムのユーザー評価 User1 User2 User3 … Item1 3 2 1 … Item2 4 2 3 … Item3 2 4 5 … …. … … … … 48
  • 49. 協調フィルタリング: データ表現 ユーザー-アイテム行列を扱う 例:アイテムのユーザー評価 アイテムのユーザー評価ベクトル User1 User2 User3 … Item1 3 2 1 … Item2 4 2 3 … Item3 2 4 5 … …. … … … … 49
  • 50. 協調フィルタリング: データ表現 ユーザー-アイテム行列を扱う 例:アイテムのユーザー評価 アイテムのユーザー評価ベクトル User1 User2 User3 … Item1 3 2 1 … Item2 4 2 3 … Item3 2 4 5 … …. … … … … ユーザーのアイテム評価ベクトル 50
  • 51. 協調フィルタリング:類似度 ベクトルの距離の近さから 類似アイテム・類似ユーザーを抽出する アイテム類似度 ユーザー類似度 User3 Item3 Item1 Item1とItem2の User1とUser2の 類似度(距離) 類似度(距離) Item2 User2 User1 User2 Item1 Item2 User1 51
  • 52. 協調フィルタリング: 類似度計算 ユーザー-アイテム行列から 3つの類似度計算の手法 ◆コサインベース (Cosine-based similarity computation) ◆相関ベース (Correlation-based similarity computation) ◆調整コサインベース (Adjusted cosine-based similarity computation) 52
  • 53. 協調フィルタリング: 類似度計算 ユーザー-アイテム行列から 3つの類似度計算の手法 ◆コサインベース (Cosine-based similarity computation) ◆相関ベース (Correlation-based similarity computation) ◆調整コサインベース (Adjusted cosine-based similarity computation) 53
  • 54. 類似度の算出:コサインベース コサインベースの類似度計算 (Cosine-based similarity computation) Item間類似度 ①Item Vectorの正規化 User1 User2 User3 Item1 0.818 0.5345 0.2673 正規化 Item2 0.7428 0.3714 0.557 Item3 0.2981 0.5963 0.7454 54
  • 55. 類似度の算出:コサインベース コサインベースの類似度計算 (Cosine-based similarity computation) Item間類似度 ①Item Vectorの正規化 User1 User2 User3 Item1 0.818 0.5345 0.2673 正規化 Item2 0.7428 0.3714 0.557 Item3 0.2981 0.5963 0.7454 Item間類似度 ②Item Vectorの内積 Item1 Item2 Item3 Item1 1 0.943 0.757 Item2 0.7428 1 0.858 Item3 0.2981 0.5963 1 55
  • 56. 類似度の算出:コサインベース コサインベースの類似度計算 (Cosine-based similarity computation) User間類似度 ①User Vectorの正規化 正規化 User1 User2 User3 Item1 0.5571 0.4082 0.1690 Item2 0.7428 0.4082 0.5071 Item3 0.3714 0.5071 0.8452 56
  • 57. 類似度の算出:コサインベース コサインベースの類似度計算 (Cosine-based similarity computation) User間類似度 ①User Vectorの正規化 正規化 User1 User2 User3 Item1 0.5571 0.4082 0.1690 Item2 0.7428 0.4082 0.5071 Item3 0.3714 0.5071 0.8452 User間類似度 ②User Vectorの内積 User1 User2 User3 User1 1 0.83 0.78 User2 0.83 1 0.97 User3 0.78 0.97 57
  • 58. 協調フィルタリング: 類似度計算 ユーザー-アイテム行列から 3つの類似度計算の手法 ◆コサインベース (Cosine-based similarity computation) ◆相関ベース (Correlation-based similarity computation) ◆調整コサインベース (Adjusted cosine-based similarity computation) 58
  • 59. 類似度の算出:相関ベース 相関ベースの類似度計算 (Correlation-based similarity computation) Itemの相関行列 Item間の相関を見る (分散共分散行列) R: ItemのUser評価行列 成分 : Item i に対する User uの評価 User1 User2 User3 … Item1 R11 R12 R13 … Item2 R21 R22 R23 … … … … … … : Item i のUser評価平均 : User数 59
  • 60. 類似度の算出:相関ベース 相関ベースの類似度計算 (Correlation-based similarity computation) ①Itemの評価平均からの差分 行列 User1 User2 User3 評価平均 Item1 1 0 -1 からのずれ値 Item2 1 -1 0 Item3 -5/3 1/3 4/3 60
  • 61. 類似度の算出:相関ベース 相関ベースの類似度計算 (Correlation-based similarity computation) ①Itemの評価平均からの差分 行列 User1 User2 User3 評価平均 Item1 1 0 -1 からのずれ値 Item2 1 -1 0 Item3 -5/3 1/3 4/3 Item間 相関行列 ②Item Vectorの規格化・内積 Item1 Item2 Item3 Item1 1 0.5 -0.982 Item2 0.5 1 -0.655 Item3 -0.982 -0.655 1 61
  • 62. 類似度の算出:相関ベース 相関ベースの類似度計算 (Correlation-based similarity computation) 評価平均 ①Userの評価平均からの差分 行列 からのずれ値 User1 User2 User3 Item1 0 -0.4083 -0.7071 Item2 0.7071 -0.4083 0 Item3 -0.7071 0.8166 0.7071 62
  • 63. 類似度の算出:相関ベース 相関ベースの類似度計算 (Correlation-based similarity computation) 評価平均 ①Userの評価平均からの差分 行列 からのずれ値 User1 User2 User3 Item1 0 -0.4083 -0.7071 Item2 0.7071 -0.4083 0 Item3 -0.7071 0.8166 0.7071 User間 相関行列 ②User Vectorの規格化・内積 User1 User2 User3 User1 1 -0.866 -0.5 User2 -0.866 1 0.87 User3 -0.5 0.87 1 63
  • 64. 協調フィルタリング: 類似度計算 ユーザー-アイテム行列から 3つの類似度計算の手法 ◆コサインベース (Cosine-based similarity computation) ◆相関ベース (Correlation-based similarity computation) ◆調整コサインベース (Adjusted cosine-based similarity computation) 64
  • 65. 類似度の算出:調整コサインベース 調整コサインベースの類似度計算 (Adjusted cosine-based similarity computation) Userごとの評価の振れ幅の補正 (Item i のUser評価平均)ではなく : User uの評価平均 を使用 調整コサイン行列 R: ItemのUser評価行列 成分 : Item i に対する User uの評価 : User数 65
  • 66. 類似度の算出:調整コサインベース 調整コサインベースの類似度計算 (Adjusted cosine-based similarity computation) User評価平均 ①Userの評価平均からの差分 行列 からのずれ値 User1 User2 User3 Item1 0 -2/3 -2 Item2 1 -2/3 0 Item3 -1 4/3 2 66
  • 67. 類似度の算出:調整コサインベース 調整コサインベースの類似度計算 (Adjusted cosine-based similarity computation) User評価平均 ①Userの評価平均からの差分 行列 からのずれ値 User1 User2 User3 Item1 0 -2/3 -2 Item2 1 -2/3 0 Item3 -1 4/3 2 Item間 相関行列 ②Item Vectorの規格化・内積 Item1 Item2 Item3 Item1 1 0.1754 -0.891 Item2 0.1754 1 0.604 Item3 -0.981 0.604 1 67
  • 68. 類似度の算出:調整コサインベース 調整コサインベースの類似度計算 (Adjusted cosine-based similarity computation) ①Itemの評価平均からの差分 行列 User1 User2 User3 Item評価平均 Item1 1 1 -1 からのずれ値 Item2 1 -1 0 Item3 -5/2 0 4/3 68
  • 69. 類似度の算出:調整コサインベース 調整コサインベースの類似度計算 (Adjusted cosine-based similarity computation) ①Itemの評価平均からの差分 行列 User1 User2 User3 Item評価平均 Item1 1 1 -1 からのずれ値 Item2 1 -1 0 Item3 -5/2 0 4/3 User間 相関行列 ②User Vectorの規格化・内積 User1 User2 User3 User1 1 -0.675 -0.884 User2 -0.675 1 -0.253 User3 -0.884 -0.253 1 69
  • 70. 協調フィルタリング: アルゴリズム アルゴリズム 1. 類似アイテム(またはユーザー)を見つける 2. 類似アイテム(またはユーザー)を利用し、予測する 70
  • 71. 協調フィルタリング: 評価予測 類似アイテム・ユーザーを利用し予測する 71
  • 72. 協調フィルタリング: 評価予測 類似アイテム・ユーザーを利用し予測する K近傍法 K個の近いアイテム・ユーザーの評価を 偏差を重み付けして和を取る 72
  • 73. 協調フィルタリング: 評価予測 類似アイテム・ユーザーを利用し予測する K近傍法 K個の近いアイテム・ユーザーの評価を 偏差を重み付けして和を取る ItemのUser評価行列 Riu User1 User2 User3 平均 Item1 3 2 1 2 Item2 4 2 3 3 Item3 2 4 5 11/3 平均 3 8/3 3 26/3 73
  • 74. 協調フィルタリング: 評価予測 類似アイテム・ユーザーを利用し予測する K近傍法 K個の近いアイテム・ユーザーの評価を 偏差を重み付けして和を取る ItemのUser評価行列 Riu User1 User2 User3 平均 Item1 3 2 1 2 Item2 4 2 3 3 Item3 2 4 5 11/3 平均 3 8/3 3 26/3 相関ベース類似度計算 User間 相関行列 Cuv User1 User2 User3 User1 1 -0.866 -0.5 User2 -0.866 1 0.87 User3 -0.5 0.87 1 74
  • 75. 協調フィルタリング: 評価予測 類似アイテム・ユーザーを利用し予測する K近傍法 K個の近いアイテム・ユーザーの評価を 偏差を重み付けして和を取る ItemのUser評価行列 Riu User1のItem1への評価期待値 User1 User2 User3 平均 =User1の平均評価 Item1 3 2 1 2 Item2 4 2 3 3 +User2の重みづき偏差 Item3 2 4 5 11/3 +User3の重みづき偏差 平均 3 8/3 3 26/3 =R1 相関ベース類似度計算 +C12/(C12+C13)*(R12 –R2) User間 相関行列 Cuv +C13/(C12+C13)*(R13 –R3) User1 User2 User3 User1 1 -0.866 -0.5 =4.2 User2 -0.866 1 0.87 User3 -0.5 0.87 1 75
  • 76. AGENDA ◆自己紹介 ◆レコメンデーションとは ●レコメンデーションとは ●2つのレコメンド経路 ◆協調フィルタリング ●協調フィルタリングの体系 ●Amazon協調フィルタリング ◆ベイジアンネットワークによるレコメンデーション ●ベイジアンネットワーク ●ベイジアンネットワークによるレコメンデーション ◆最後に
  • 77. Amazon協調フィルタリング 世界で最も知られている協調フィルタリング Amazon.co.jp 検索・閲覧 レコメンデーション 77
  • 78. Amazon協調フィルタリング 世界で最も知られている協調フィルタリング ◆アイテム-アイテム協調フィルタリング アイテムベース 同じアイテムを見たユーザーには、同じアイテムを推薦 ユーザー数に依存せずスケールする 処理 ①アイテム-推薦アイテムのテーブルをオフラインで作る ②ユーザーアクセス時にはテーブルを参照するだけ 78
  • 79. Amazon-アイテム-アイテム協調フィルタリング アイテム-アイテム協調フィルタリング アルゴリズム User1 User2 User3 User4 Item1 1 1 Item2 1 1 Item3 1 1 1 Item4 1 1 79
  • 80. Amazon-アイテム-アイテム協調フィルタリング アイテム-アイテム協調フィルタリング アルゴリズム 1. 空のアイテム-アイテム の行列を作る User1 User2 User3 User4 Item1 Item2 Item3 Item4 Item1 1 1 Item1 Item2 1 1 Item2 Item3 1 1 1 Item3 Item4 1 1 Item4 80
  • 81. Amazon-アイテム-アイテム協調フィルタリング アイテム-アイテム協調フィルタリング アルゴリズム 1. 空のアイテム-アイテム の行列を作る 2. 全アイテムに関し次の処理を行う 2-1. あるアイテム(親アイテム)を購入した顧客全てに対し 購入アイテム(子アイテム)をカウントする。 2-2. 親アイテム列・子アイテム行にカウント数を入れる 2-3. 親アイテム列のカウント数上位を推薦アイテムとする User1 User2 User3 User4 Item1 Item2 Item3 Item4 Item1 1 1 Item1 1 2 Item2 1 1 Item2 Item3 1 1 1 Item3 Item4 1 1 Item4 81
  • 82. Amazon-アイテム-アイテム協調フィルタリング アイテム-アイテム協調フィルタリング アルゴリズム 1. 空のアイテム-アイテム の行列を作る 2. 全アイテムに関し次の処理を行う 2-1. あるアイテム(親アイテム)を購入した顧客全てに対し 購入アイテム(子アイテム)をカウントする。 2-2. 親アイテム列・子アイテム行にカウント数を入れる 2-3. 親アイテム列のカウント数上位を推薦アイテムとする User1 User2 User3 User4 Item1 Item2 Item3 Item4 Item1 1 1 Item1 1 2 Item2 1 1 Item2 1 1 1 Item3 1 1 1 Item3 2 1 1 Item4 1 1 Item4 1 82
  • 83. レコメンデーションの手法 レコメンデーションの手法 分析手法 分析・推薦対象 類似度算出の対象 コンテンツベース コラボレーションベース (協調フィルタリング) アイテム アイテムの類似 アイテムの ユーザー行動 ベース アイテム タームベクトル (購入、閲覧、保存、評価、 ブックマークなど) ユーザー ユーザーの類似 ユーザープロファイルの ベース ユーザーが好む タームベクトル アイテム (年齢、ユーザー、居住地、 資産) 83
  • 84. 類似度の計算手法 利点と難点 類似度算出法 利点 難点 コンテンツ ◆少ないデータでも動作: ◆コンテンツの質が評価不可: ベース 行動履歴が少ない新規ユーザー・ タームベクトルのみ用いる。記事が アイテムに対しても適用できる。 良し悪しはアルゴリズムには分から ない。 協調フィルタリン ◆コンテンツの質が評価可能: ◆少ないデータの予測能力が グ 例:PageRank(Google):リンク構造 低い: ◆展開が容易: 行動履歴が少ない新規ユーザー・ アイテムに対し精度が低い。 ・言語に依存しない (※通常、十分な数の評価がある ・画像、音楽、動画へも同様に適用 まで、新規ユーザー・アイテムを推 アイテムをブラックボックスとして扱 薦しない) えるため。 (コンテンツ情報を必要としない) 84
  • 85. 類似度の計算手法 利点と難点 類似度算出法 利点 難点 コンテンツ ◆少ないデータでも動作: ◆コンテンツの質が評価不可: ベース 行動履歴が少ない新規ユーザー・ タームベクトルのみ用いる。記事が アイテムに対しても適用できる。 良し悪しはアルゴリズムには分から ない。 協調フィルタリン ◆コンテンツの質が評価可能: ◆少ないデータの予測能力が グ 例:PageRank(Google):リンク構造 低い: ◆展開が容易: 行動履歴が少ない新規ユーザー・ アイテムに対し精度が低い。 ・言語に依存しない (※通常、十分な数の評価がある ・画像、音楽、動画へも同様に適用 まで、新規ユーザー・アイテムを推 アイテムをブラックボックスとして扱 薦しない) えるため。 (コンテンツ情報を必要としない) 85
  • 86. 類似度の計算手法 利点と難点 類似度算出法 利点 難点 コンテンツ ◆少ないデータでも動作: ◆コンテンツの質が評価不可: ベース 行動履歴が少ない新規ユーザー・ タームベクトルのみ用いる。記事が アイテムに対しても適用できる。 良し悪しはアルゴリズムには分から ない。 協調フィルタリン ◆コンテンツの質が評価可能: ◆少ないデータの予測能力が グ 例:PageRank(Google):リンク構造 低い: ◆展開が容易: 行動履歴が少ない新規ユーザー・ アイテムに対し精度が低い。 ・言語に依存しない (※通常、十分な数の評価がある ・画像、音楽、動画へも同様に適用 まで、新規ユーザー・アイテムを推 アイテムをブラックボックスとして扱 薦しない) えるため。 (コンテンツ情報を必要としない) 86
  • 87. 類似度の計算手法 利点と難点 類似度算出法 利点 難点 コンテンツ ◆少ないデータでも動作: ◆コンテンツの質が評価不可: ベース 行動履歴が少ない新規ユーザー・ タームベクトルのみ用いる。記事が アイテムに対しても適用できる。 良し悪しはアルゴリズムには分から ない。 協調フィルタリン ◆コンテンツの質が評価可能: ◆少ないデータの予測能力が グ 例:PageRank(Google):リンク構造 低い: ◆展開が容易: 行動履歴が少ない新規ユーザー・ アイテムに対し精度が低い。 ・言語に依存しない (※通常、十分な数の評価がある ・画像、音楽、動画へも同様に適用 まで、新規ユーザー・アイテムを推 アイテムをブラックボックスとして扱 薦しない) えるため。 (コンテンツ情報を必要としない) 87
  • 88. 類似度の計算手法 利点と難点 類似度算出法 利点 難点 コンテンツ ◆少ないデータでも動作: ◆コンテンツの質が評価不可: ベース 行動履歴が少ない新規ユーザー・ タームベクトルのみ用いる。記事が アイテムに対しても適用できる。 良し悪しはアルゴリズムには分から ない。 協調フィルタリン ◆コンテンツの質が評価可能: ◆少ないデータの予測能力が グ 例:PageRank(Google):リンク構造 低い: ◆展開が容易: 行動履歴が少ない新規ユーザー・ アイテムに対し精度が低い。 ・言語に依存しない (※通常、十分な数の評価がある ・画像、音楽、動画へも同様に適用 まで、新規ユーザー・アイテムを推 アイテムをブラックボックスとして扱 薦しない) えるため。 (コンテンツ情報を必要としない) 88
  • 89. 類似度の計算手法 利点と難点 類似度算出法 利点 難点 コンテンツ ◆少ないデータでも動作: ◆コンテンツの質が評価不可: ベース 行動履歴が少ない新規ユーザー・ タームベクトルのみ用いる。記事が アイテムに対しても適用できる。 良し悪しはアルゴリズムには分から ない。 協調フィルタリン ◆コンテンツの質が評価可能: ◆少ないデータの予測能力が グ 例:PageRank(Google):リンク構造 低い: ◆展開が容易: 行動履歴が少ない新規ユーザー・ アイテムに対し精度が低い。 ・言語に依存しない (※通常、十分な数の評価がある ・画像、音楽、動画へも同様に適用 まで、新規ユーザー・アイテムを推 アイテムをブラックボックスとして扱 薦しない) えるため。 (コンテンツ情報を必要としない) 89
  • 90. AGENDA ◆自己紹介 ◆レコメンデーションとは ●レコメンデーションとは ●2つのレコメンド経路 ◆協調フィルタリング ●協調フィルタリングの体系 ●Amazon協調フィルタリング ◆ベイジアンネットワークによるレコメンデーション ●ベイジアンネットワーク ●ベイジアンネットワークによるレコメンデーション ◆最後に
  • 91. AGENDA ◆自己紹介 ◆レコメンデーションとは ●レコメンデーションとは ●2つのレコメンド経路 ◆協調フィルタリング ●協調フィルタリングの体系 ●Amazon協調フィルタリング ◆ベイジアンネットワークによるレコメンデーション ●ベイジアンネットワーク ●ベイジアンネットワークによるレコメンデーション ◆最後に
  • 92. ベイジアンネットワークとは ベイジアンネットワーク 事象間の依存関係を表した確率グラフ 92
  • 93. ベイジアンネットワークとは ベイジアンネットワーク 事象間の依存関係を表した確率グラフ ある事象の発生時の他事象の発生確率を計算できる 93
  • 94. ベイジアンネットワークとは ベイジアンネットワーク 事象間の依存関係を表した確率グラフ ある事象の発生時の他事象の発生確率を計算できる X 事象X PYX 事象間の条件付確率 X Y Xの発生後にYが発生する確率 B PFB F PBA PEF A PFC E PCA PED C PDC D 94 有向非循環グラフ(DAG: Directed Acyclic Graph)を構築
  • 95. AGENDA ◆自己紹介 ◆レコメンデーションとは ●レコメンデーションとは ●2つのレコメンド経路 ◆協調フィルタリング ●協調フィルタリングの体系 ●Amazon協調フィルタリング ◆ベイジアンネットワークによるレコメンデーション ●ベイジアンネットワーク ●ベイジアンネットワークによるレコメンデーション ◆最後に
  • 96. ベイジアンネットワークによるレコメンデーション 実績 96
  • 97. ベイジアンネットワークによるレコメンデーション 構造学習 実績 ベイジアンネットワーク 事象間の確率グラフ B F A C D 97
  • 98. ベイジアンネットワークによるレコメンデーション 構造学習 実績 ベイジアンネットワーク 事象間の確率グラフ B F A E C D 事象発生 A D 98
  • 99. ベイジアンネットワークによるレコメンデーション 構造学習 確率推論 実績 ベイジアンネットワーク 発生確率 事象間の確率グラフ B F B F A E A E C D C D 事象発生 A D 99
  • 100. ベイジアンネットワークによるレコメンデーション 構造学習 確率推論 推薦 実績 ベイジアンネットワーク 発生確率 推薦対象 事象間の確率グラフ 高確率 B F B F F B A E A E E C D C D C 事象発生 A D 100
  • 101. ベイジアンネットワークによるレコメンデーション 構造学習 確率推論 推薦 実績 ベイジアンネットワーク 発生確率 推薦対象 事象間の確率グラフ 高確率 B F B F F B A E A E E C D C D C 事象発生 A D 101
  • 102. ベイジアンネットワークによるレコメンデーション 構造学習 確率推論 推薦 実績 ベイジアンネットワーク 発生確率 推薦対象 事象間の確率グラフ 高確率 B F B F F B A E A E E C D C D C 事象発生 A D 102
  • 103. 構造学習アルゴリズム例 103
  • 104. 構造学習アルゴリズム例 MWSTアルゴリズム Maximum Weighted Spanning Tree (MWST) Algorithm 104
  • 105. 構造学習アルゴリズム例 MWSTアルゴリズム Maximum Weighted Spanning Tree (MWST) Algorithm 大規模データにも適し予測効果がよいとされている 計算量がノード数に対し高々 O(N^2) 105
  • 106. 構造学習アルゴリズム例 MWSTアルゴリズム Maximum Weighted Spanning Tree (MWST) Algorithm 大規模データにも適し予測効果がよいとされている 計算量がノード数に対し高々 O(N^2) 条件付確率が一番大きくなるSpanning Treeを構成する Spanning Tree グラフ全てのノードを含み構成される木 B A C E PAB PCB A C B D F PDA PEA PFC D E F 106
  • 107. 構造学習アルゴリズム例 MWSTアルゴリズム Maximum Weighted Spanning Tree (MWST) Algorithm A B … ①データから全事象組合せ N(N-1)/2 の A 相互情報量を算出する (N:事象数) B … 107
  • 108. 構造学習アルゴリズム例 MWSTアルゴリズム Maximum Weighted Spanning Tree (MWST) Algorithm A B … ①データから全事象組合せ N(N-1)/2 の A 相互情報量を算出する (N:事象数) B … ②最も大きな相互情報量を持つ枝を 木に入れる 108
  • 109. 構造学習アルゴリズム例 MWSTアルゴリズム Maximum Weighted Spanning Tree (MWST) Algorithm A B … ①データから全事象組合せ N(N-1)/2 の A 相互情報量を算出する (N:事象数) B … ②最も大きな相互情報量を持つ枝を 木に入れる ③次に大きな相互情報量を持つ枝を木に加える もしループができる場合は、枝を捨てる N-1個の枝が木に加わるまで繰り返す 109
  • 110. 構造学習アルゴリズム例 MWSTアルゴリズム Maximum Weighted Spanning Tree (MWST) Algorithm A B … ①データから全事象組合せ N(N-1)/2 の A 相互情報量を算出する (N:事象数) B … ②最も大きな相互情報量を持つ枝を 木に入れる ③次に大きな相互情報量を持つ枝を木に加える もしループができる場合は、枝を捨てる N-1個の枝が木に加わるまで繰り返す ④最大の発生確率を持つ事象をルートノードとし 根から葉に枝へ向けるように、枝を方向付ける 110
  • 111. 構造学習アルゴリズム例 MWSTアルゴリズム Maximum Weighted Spanning Tree (MWST) Algorithm A B … ①データから全事象組合せ N(N-1)/2 の A 相互情報量を算出する (N:事象数) B … ②最も大きな相互情報量を持つ枝を 木に入れる ③次に大きな相互情報量を持つ枝を木に加える もしループができる場合は、枝を捨てる N-1個の枝が木に加わるまで繰り返す ④最大の発生確率を持つ要素を根ノードとし 根から葉に枝へ向けるように、枝を方向付ける 111
  • 112. ベイジアンネットワークによるレコメンデーション 構造学習 確率推論 推薦 実績 ベイジアンネットワーク 発生確率 推薦対象 事象間の確率グラフ 高確率 B F B F F B A E A E E C D C D C 事象発生 A D 112
  • 113. 確率推論アルゴリズム例 Pearl's Passage Passing Algorithm 高速かつ厳密に全ノードの周辺事後確率を求めることができる ①証拠データを与えられたノードから 周辺ノードへ向けてのメッセージ送信を行う B F ②メッセージを受信したノードは A E 受信したメッセージを用いて、 自分の周辺事後確率を更新する C D ③周辺事後確率を更新したノードは、 メッセージの送信元以外の 自分の周辺ノードにメッセージ送信する 全てのノードの周辺事後確率を更新する 113
  • 114. 詳しくは3Talk目の @yanashiさん グラフ理論とレコメンデーションで 114
  • 115. 例:ページ推薦 閲覧確率の計算 閲覧したページを ベイジアンネットワークに与え推論、閲覧確率を算出 与えられた閲覧確率から閲覧回数の期待値を求める 期待値が大きいページからユーザーに推薦 115
  • 116. ベイズ レコメンデーションの種類 ユーザー・アイテム・ベイジアン ・ユーザーが評価したアイテムの「メタデータ」と 他アイテムの「メタデータ」を比較する ・他アイテムを選ぶ確率を算出する ユーザー・ユーザー・ベイジアン ・ユーザーが好むアイテムどうしのメタデータを比較 ・ユーザーどうしの好みの近さを算出する アイテム・アイテム・ベイジアン ・アイテムメタデータを比較 ・商品ごとの近さを算出 116
  • 117. AGENDA ◆自己紹介 ◆レコメンデーションとは ●レコメンデーションとは ●2つのレコメンド経路 ◆協調フィルタリング ●協調フィルタリングの体系 ●Amazon協調フィルタリング ◆ベイジアンネットワークによるレコメンデーション ●ベイジアンネットワーク ●ベイジアンネットワークによるレコメンデーション ◆最後に
  • 118. 最後に 蓄積されたデータを有効活用してきたい 118
  • 119. 最後に 蓄積されたデータを有効活用してきたい Google Group: http://groups.google.com/group/webmining-tokyo 119
  • 120. 最後に データマイニング+WEB勉強会 発表者を募集しています 連絡 Google Group: http://groups.google.com/group/webmining-tokyo Twitter : http://twitter.com/hamadakoichi 120
  • 121. ご清聴ありがとうございました 121
  • 122. 目的: データマイニング+WEB勉強会@東京 データマイニングの方法論を用い 蓄積されたデータを有効活用していく方法を学ぶ 統計解析 Web API データマイニング Amazon Web Service 楽天 Web Service 対応分析 時系列分析 Twitter API Recruit Web Service 回帰分析 Yahoo! Web Service クラスター分析 はてな Web Service 判別分析 主成分分析 因子分析 (Bookmark/Graph/Keyword,…) Bookmark/Graph/Keyword, カーネル法 Google Data API 樹木モデル (Calendar/Maps/BookSearch/ FinancePortfolioData,…) FinancePortfolioData, ニューラルネットワーク サポートベクターマシン … 免疫型最適化 Particle Swam … Memetic Ant Colony 遺伝的 熱力学的 シミュレーテドアニーリング 力学モデルによる最適化 タブーサーチ グラフ … 最適解探索 アルゴリズム 122
  • 123. AGENDA ◆自己紹介 ◆ソーシャルウェブとレコメンデーション ◆レコメンデーション ●レコメンデーションとは ●2つのレコメンド経路 ●類似度によるレコメンド手法 ○コンテンツベースフィルタリング ○協調フィルタリング ●その他のレコメンド手法 ●開発用ライブラリ (Java) ◆最後に 123
  • 124. 推薦文献・動画 124
  • 125. 推薦文献 確率モデルによるWebデータ解析法 - データマイニング技法からe-コマースまで パターン認識と機械学習 下 125
  • 126. 推薦文献 集合知イン・アクション 集合知プログラミング 126