More Related Content Similar to ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京 (20) More from Koichi Hamada (20) ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京1. 第5回データマイニング+WEB勉強会@東京
2010/06/20
ベイジアンネット と レコメンデーション
Bayesian network and Recommendation
hamadakoichi
濱田 晃一
2. AGENDA
◆自己紹介
◆レコメンデーションとは
●レコメンデーションとは
●2つのレコメンド経路
◆協調フィルタリング
●協調フィルタリングの体系
●Amazon協調フィルタリング
◆ベイジアンネットワークによるレコメンデーション
●ベイジアンネットワーク
●ベイジアンネットワークによるレコメンデーション
◆最後に
3. AGENDA
◆自己紹介
◆レコメンデーションとは
●レコメンデーションとは
●2つのレコメンド経路
◆協調フィルタリング
●協調フィルタリングの体系
●Amazon協調フィルタリング
◆ベイジアンネットワークによるレコメンデーション
●ベイジアンネットワーク
●ベイジアンネットワークによるレコメンデーション
◆最後に
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
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に短縮
設計開始~頭だし出荷リードタイム
設 計 開 始 ~ 頭 だ し出 荷 CT対 週 集 計 開 始 日 時 の 箱 ひ げ 図 体系適用
500
適用後
設計開始~頭だし出荷CT
400
360.4h(15.0日)
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:
/ 20 / 27 / 04 / 11 / 18 / 25 / 01 / 08 / 15 / 22 / 29 / 06 / 13 / 20
/ 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”,
CIRP Annals - Manufacturing Technology Volume 56, Issue 1, Pages 171-174 (2007) 14
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
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
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
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協調フィルタリング
◆ベイジアンネットワークによるレコメンデーション
●ベイジアンネットワーク
●ベイジアンネットワークによるレコメンデーション
◆最後に
78. Amazon協調フィルタリング
世界で最も知られている協調フィルタリング
◆アイテム-アイテム協調フィルタリング
アイテムベース
同じアイテムを見たユーザーには、同じアイテムを推薦
ユーザー数に依存せずスケールする
処理
①アイテム-推薦アイテムのテーブルをオフラインで作る
②ユーザーアクセス時にはテーブルを参照するだけ
78
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協調フィルタリング
◆ベイジアンネットワークによるレコメンデーション
●ベイジアンネットワーク
●ベイジアンネットワークによるレコメンデーション
◆最後に
93. ベイジアンネットワークとは
ベイジアンネットワーク
事象間の依存関係を表した確率グラフ
ある事象の発生時の他事象の発生確率を計算できる
93
94. ベイジアンネットワークとは
ベイジアンネットワーク
事象間の依存関係を表した確率グラフ
ある事象の発生時の他事象の発生確率を計算できる
X
事象X
PYX 事象間の条件付確率
X Y Xの発生後にYが発生する確率
B PFB F
PBA PEF
A PFC E
PCA PED
C PDC D
有向非循環グラフ(DAG: Directed Acyclic Graph)を構築 94
95. AGENDA
◆自己紹介
◆レコメンデーションとは
●レコメンデーションとは
●2つのレコメンド経路
◆協調フィルタリング
●協調フィルタリングの体系
●Amazon協調フィルタリング
◆ベイジアンネットワークによるレコメンデーション
●ベイジアンネットワーク
●ベイジアンネットワークによるレコメンデーション
◆最後に
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
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
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
122. 目的: データマイニング+WEB勉強会@東京
データマイニングの方法論を用い
蓄積されたデータを有効活用していく方法を学ぶ
統計解析
Web API
データマイニング
Amazon Web Service
楽天 Web Service 対応分析 時系列分析
Twitter API Recruit Web Service 回帰分析
Yahoo! Web Service クラスター分析
はてな Web Service 判別分析
主成分分析 因子分析
(Bookmark/Graph/Keyword,…)
カーネル法
Google Data API 樹木モデル
(Calendar/Maps/BookSearch/
FinancePortfolioData,…) ニューラルネットワーク
サポートベクターマシン
… 免疫型最適化 Particle Swam …
Memetic Ant Colony
遺伝的 熱力学的
シミュレーテドアニーリング
力学モデルによる最適化
タブーサーチ グラフ
…
最適解探索
アルゴリズム
122
123. AGENDA
◆自己紹介
◆ソーシャルウェブとレコメンデーション
◆レコメンデーション
●レコメンデーションとは
●2つのレコメンド経路
●類似度によるレコメンド手法
○コンテンツベースフィルタリング
○協調フィルタリング
●その他のレコメンド手法
●開発用ライブラリ (Java)
◆最後に
123
125. 推薦文献
確率モデルによるWebデータ解析法
- データマイニング技法からe-コマースまで
パターン認識と機械学習 下
125
126. 推薦文献
集合知イン・アクション
集合知プログラミング
126