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.

Hybrid collaborative filtering

108 views

Published on

ハイブリッド協調フィルタリングの説明。

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

  • Be the first to like this

Hybrid collaborative filtering

  1. 1. レコメンドシステム実験 ~ハイブリッド手法~ 土井
  2. 2. 概要 2017/3/26 資料「ハイブリッドCF実験」 2 ・レコメンドシステムの手法(あるいは欠損値補完手法)として、 ユーザ同士の類似度による推薦(ユーザベース協調フィルタリング) アイテム同士の類似度による推薦(アイテムベース協調フィルタリング) といった手法がある(20171223勉強会)。 ・ユーザ数とアイテム数が著しく異なる場合において、ユーザorアイテム 一方の類似度による推薦は、精度に欠ける。 これをクリアするため、上記2手法を組み合わせた「ハイブリッド型」CFが 提案されており、python(ipython notebook)を用いた実装を試み た。 ・本資料では、「ハイブリッド型」CFの流れ、および、SVNにアップロード したプログラムの説明を記している。
  3. 3. プログラム概要 2017/3/26 資料「ハイブリッドCF実験」 3 1.ユーザベースの協調フィルタリング …欠損値含んだデータ →ユーザ類似度計算→予測値生成 →ユーザ類似度計算→予測値作成 という流れで補完 2.ハイブリッドクラスタリング(K-means) …ユーザ、アイテムそれぞれについてクラスタリング →予測値の計算 …上の予測値+クラスタリングを考慮した補正項 3.評価 …MAE(Mean Absolute Error) →最適なクラスタ数を決定
  4. 4. 1(1).類似度計算 2017/3/26 資料「ハイブリッドCF実験」 4 ・ピアソン相関係数(=補正cos類似度)を用いる。 ユーザi,j間の類似度: 𝑆𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦 𝑖, 𝑗 = 𝑡∈𝐼 𝑟 𝑟𝑖𝑡 − 𝑟𝑖 𝑟𝑗 𝑡 − 𝑟𝑗 𝑡∈𝐼 𝑟 𝑟𝑖𝑡 − 𝑟𝑖 2 𝑡∈𝐼 𝑟 𝑟𝑗𝑡 − 𝑟𝑗 2 ※cos類似度: 𝑆𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦 𝑖, 𝑗 = 𝑡∈𝐼 𝑟 𝑟𝑖𝑡 𝑟𝑗𝑡 𝑡∈𝐼 𝑟 𝑟𝑖𝑡 2 𝑡∈𝐼 𝑟 𝑟𝑗𝑡 2 ユーザi,アイテムtの評価値 ユーザiの全アイテムへ の評価値の平均 ユーザi,jが共通で評価し たアイテムの集合
  5. 5. 1(2).予測値作成 2017/3/26 資料「ハイブリッドCF実験」 5 ・計算したユーザの類似度が高いユーザの情報により、ユーザjの アイテムaに対する評価値𝑟𝑎𝑗を予測する 𝑟𝑎𝑗 = 𝑖∈𝐻 𝑆𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦(𝑖, 𝑗) 𝑟𝑎𝑖 − 𝑟𝑗 𝑖∈𝐻 𝑆𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦(𝑖, 𝑗) 類似度計算+予測値作成による欠損値補完を何回か繰り返す (プログラムでは2回)。 類似度の高いユーザの 集合(プログラムでは上 位TopN人のユーザとし て定義定義)
  6. 6. 2.クラスタリング+予測値の補正 2017/3/26 資料「ハイブリッドCF実験」 6 ・ユーザごと、アイテムごとに類似したものでクラスタリング K-means法で、 ユーザ𝑢1, 𝑢2, … , 𝑢 𝑁→𝐶1 𝑢 , 𝐶2 𝑢 , … , 𝐶 𝑘 𝑢 アイテム𝑖1, 𝑖2, … , 𝑖 𝑁→𝐶1 𝑖 , 𝐶2 𝑖 , … , 𝐶 𝑘 𝑖 ・ユーザjのアイテムaへの評価値の予測値を補正: 𝑟𝑎𝑗 = 𝑟𝑎𝑗 ′ + 𝑡∈𝐶 𝑎𝑗,𝑗∈𝐶 𝑖 𝑟𝑖𝑗 − 𝑟𝑖 𝐶 𝑎 データ補完で得 られた予測値 ユーザj,アイテム aの属するクラス タ内のユーザの 集合 ユーザiの属する クラスタ内のア イテムの集合 アイテムaの属す るクラスタ内の ユーザの総数
  7. 7. 3.評価基準 2017/3/26 資料「ハイブリッドCF実験」 7 ・精度をMAE(Mean Absolute error)で評価する。 𝑀𝐴𝐸 = 𝑖∈𝑇 𝑟𝑖 𝑡 𝑢 − 𝑟𝑖(𝑡 𝑢) 𝑇 評価された ユーザの数実際の評価値 予測値
  8. 8. 実験コード 2017/3/26 資料「ハイブリッドCF実験」 8 ・CF4expsushi.ipynb:簡易実験(すしネタの評価) 5000人のユーザによる100個のすしネタの5段階(0~4)評価値 データを用いる。欠損値(0)多い http://www.kamishima.net/sushi/ よりダウンロードした sushi3b.5000.10.scoreを使用。
  9. 9. 今後 2017/3/26 資料「ハイブリッドCF実験」 9 以下は、実験4で立てた仮説・生成したDBを前提としたうえで これまででやりきれていないことで検討したいと土井が思っている事項です。 ・精度評価:ハイブリッドCF .vs. (単純な)ユーザベースCF …補完したいパラメターの数が速度指標のみで、アイテムごとの類似度は必要ないか ・用いるデータの量、処理時間の短縮 …レースを予想する目的ならば、欠損とするデータも少ない(8~16頭) …用いるパラメターを少なくする(相関が特に良いものに絞るなど) …短縮できる処理はないか ・その他 …競馬以外の欠損値予測への応用 e.g. 欠損が多い、アイテム数>>ユーザ数であるデータでは?(ECサイトなど)
  10. 10. 参照 2017/3/26 資料「ハイブリッドCF実験」 10 ・ハイブリッドクラスタリングによる協調フィルタリング手法の提案 https://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web& cd=1&cad=rja&uact=8&ved=0ahUKEwjfl4br8YnaAhVHHZQKHbKeAL 4QFggnMAA&url=https%3A%2F%2Fipsj.ixsq.nii.ac.jp%2Fej%2Finde x.php%3Faction%3Dpages_view_main%26active_action%3Dreposito ry_action_common_download%26item_id%3D109981%26item_no% 3D1%26attribute_id%3D1%26file_no%3D1%26page_id%3D13%26b lock_id%3D8&usg=AOvVaw1kWD0WaT23umry71k98f_Q ※上記参考資料では、「アイテムベース→評価値生成→…」

×