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.

Recommend system

113 views

Published on

協調フィルタリングについての説明が主。
コンテンツベースについても少し触れている。

Published in: Data & Analytics
  • Be the first to comment

  • Be the first to like this

Recommend system

  1. 1. レコメンドシステム 土井
  2. 2. レコメンデーションの種類 2017/9/30 インターン勉強会@eF-4 2 ・主なレコメンデーション ・協調フィルタリング ・ユーザー同士 ・アイテム同士 ・コンテンツベースレコメンデーション ・出現する単語の類似度を用いる方法 ・分類器を用いる方法
  3. 3. 協調フィルタリング ・あるユーザの評価が高くなりそうなアイテムを推薦するために、 使われる手法。 ・他のユーザのアイテムAの評価(既知)から、おすすめしたい ユーザのアイテムAの評価(未知)を推定する方法。 アイテム そのものの内容やユーザの属性などを必要としないため、多種 多様な商品を販売するネット通販などで使われる。 「行動も似ているユーザは嗜好も似ている」仮定を置いている 2017/9/30 インターン勉強会@eF-4 3 マグロ 鯛 サバ ホタテ カキ 赤貝 ユーザA 好き 普通 好き 好き 大好き 好き ユーザB 好き 普通 好き 好き 大好き ??
  4. 4. ユーザベース協調フィルタリング =対象の(おすすめしたい)ユーザと、評価が類似するユーザを 探して、そのユーザの評価値から計算。 計算するうえで必要な情報は、 ・ユーザの行動履歴(例えば、どのユーザがどのアイテムを購入し、 閲覧したかといったログ) であり、これをユーザ×アイテムの行列(rating matrix)で表す。 2017/9/30 インターン勉強会@eF-4 4 Item1 Item2 Item3 Item4 Item5 Item6 Item7 item8 user1 2 5 1 1 0 1 2 4 user2 1 5 2 1 4 0 0 3 user3 0 3 3 0 1 1 1 1 user4 5 2 2 3 1 0 0 4 user5 5 3 3 4 1 0 0 5 user6 1 4 3 2 5 1 0 1
  5. 5. ユーザベース協調フィルタリングのステップ 2017/9/30 インターン勉強会@eF-4 5 第1ステップ:類似度を計算 →あるユーザAに対し、類似度の高いN人のユーザを抽出。 第2ステップ:予測 →ユーザAのスコアを決定
  6. 6. ユーザ同士の類似度を計算 2017/9/30 インターン勉強会@eF-4 6 類似度としてよく使われるのはコサイン類似度 =2つのベクトルのなす角度 cos 𝑎・𝑏 = 𝑎・𝑏 𝑎 𝑏 = 𝑖 𝑚 𝑎𝑖 𝑏𝑖 𝑖 𝑚 𝑎𝑖 2 𝑖 𝑚 𝑏𝑖 2 →コサイン類似度が1に近いN人のユーザを抽出。 2ユーザのベクトル間で 類似度を出す
  7. 7. 値を予測する 2017/9/30 インターン勉強会@eF-4 7 ・目標:類似度の高いN人のユーザのデータを用いてユーザAの レーティングスコアを予測する 流れとしては、N人のデータ・類似度から「平均類似度」を算出し て、ユーザAのスコアを決める。 例: ユーザAとの類似度の高い5人のユーザの情報について考える。 類似度 Item1 Item2 Item3 user1 0.98 2 5 1 user2 0.92 1 5 2 user3 0.88 0 3 3 user4 0.76 5 2 2 user6 0.65 1 4 3
  8. 8. 値を予測する 2017/9/30 インターン勉強会@eF-4 8 1.類似度xレーティングを計算、合計値を出す 2.類似度の合計を出す。(レーティングの存在するユーザのみ) 3.類似度xレーティング / 類似度の合計を出す。 類似度 Item1 類似度xitem1 Item2 類似度 xitem2 Item3 類似度 xitem3 user1 0.98 2 1.96 5 4.9 1 0.98 user2 0.92 1 0.92 5 4.6 2 1.84 user3 0.88 3 2.64 3 2.64 user4 0.76 5 3.8 2 1.52 2 1.52 user6 0.65 1 0.65 4 2.6 3 1.95 類似度xレー ティング 7.33 16.26 8.93 類似度の合計 3.31 4.19 4.19 平均類似度 2.21 3.88 2.13
  9. 9. アイテムベース協調フィルタリング 2017/9/30 インターン勉強会@eF-4 9 ・行うことはユーザベースのものと同じ ・ユーザベースでは、類似度の計算をユーザ同士で比較した が、アイテムベースでは、類似度をアイテムごとに算出し、アイ テム同士で比較する。 ・レコメンドシステムに適用すると、 ・ユーザベースでは、「行動の似たユーザを抽出し、嗜好する アイテムを予測して薦める」 ・アイテムベースでは、「買われ方が似ている・レーティングが似 ているアイテムは、似ているアイテムであり、合わせ買いされや すい」
  10. 10. コンテンツベースフィルタリング =アイテムそのものの特徴を利用して、推薦したいユーザがこれまで高 評価したアイテムと類似するアイテムを推薦する方法。 ユーザの評価値のみを使って推薦する協調フィルタリングと比較すると、 以下の違いがある。 ・アイテムのコンテンツを入力する処理が必要 ・アイテムのコンテンツから特徴ベクトルを抽出する処理が必要 ・多様性・新規性に欠ける(過去に評価したアイテムと類似するため) ・システム全体のユーザ数・評価数が少ない状況でも、予測精度は下 がらない ・まだどのユーザからも評価されていないアイテムの評価値も予測できる 2017/9/30 インターン勉強会@eF-4 10

×