0
Matrix Factorization を使った評価予測株式会社サイバーエージェントアメーバ事業本部 Ameba Technology Laboratory服部 司
株式会社サイバーエージェント                                          2今日紹介する話・ ユーザーがアイテムにつける評価を予測する。   - 大半のレビューサイトには5星評価有   - 典型的な推薦の問題
株式会社サイバーエージェント                                                          3実現方法・ 購買履歴、評価データを使った 協調 Filtering   - 詳細は割愛    ( ...
株式会社サイバーエージェント                                                                                           4協調 Filtering のアル...
株式会社サイバーエージェント                                                     5Matrix Factorization ・ 概要      - 正則化項付きのSVDの亜種      - ...
株式会社サイバーエージェント                                                                                                      6MF の種...
株式会社サイバーエージェント                                                                                                            ...
株式会社サイバーエージェント                                                                              8評価実験 データ: MovieLens 100k     ...
株式会社サイバーエージェント                                                                        9結果 ◆ 精度            random       Slo...
株式会社サイバーエージェント                                                   10雑記 ・ TIPS・ SlopeOne を使うのなら、SVDの方が良いかも。・ とはいえ、    - Slop...
株式会社サイバーエージェント                                                            11・ timeSVD++     - 時間によるユーザーの興味の編成を考慮したモデル     ...
株式会社サイバーエージェント                               12ご清聴ありがとうございました!
Upcoming SlideShare
Loading in...5
×

Matrix Factorizationを使った評価予測

12,672

Published on

第1回CA×GREE勉強会のLTで発表した資料です。全然時間なくて時間内に収まりませんでした。

検証に使用した自作コードは以下にあります。
http://code.google.com/p/mf-predictor/

0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
12,672
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
37
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

Transcript of "Matrix Factorizationを使った評価予測"

  1. 1. Matrix Factorization を使った評価予測株式会社サイバーエージェントアメーバ事業本部 Ameba Technology Laboratory服部 司
  2. 2. 株式会社サイバーエージェント 2今日紹介する話・ ユーザーがアイテムにつける評価を予測する。 - 大半のレビューサイトには5星評価有 - 典型的な推薦の問題
  3. 3. 株式会社サイバーエージェント 3実現方法・ 購買履歴、評価データを使った 協調 Filtering - 詳細は割愛 ( “collaborative filter “ でググるべし )
  4. 4. 株式会社サイバーエージェント 4協調 Filtering のアルゴリズム・ Netflix Prize - Netflix : オンラインの映画レンタルショップ * user の映画の評価データいっぱい溜まってる。 - 推薦アルゴリズムの精度(rmse)を10%改善したら100万ドル rmse   r  rij  n 2 i, j ij ( i : user , j : item )・ 流行のアルゴリズム - PLSA、SlopeOne、KNN、Matrix Factorization* * Koren Y, Bell R : Advances in Collaborative Filtering (2011)
  5. 5. 株式会社サイバーエージェント 5Matrix Factorization ・ 概要 - 正則化項付きのSVDの亜種 - 利点 * 精度がいい * 計算時間が速い * モデルの柔軟性が非常に高い - 悪点 * 並列計算が苦手 - MapReduceと相性が悪い
  6. 6. 株式会社サイバーエージェント 6MF の種類 ( SVD )・ 予測モデル r ui    buser (u )  bitem (i )  U u I i (0  u  n , 0  i  m ) rui : 予測評価 buser : 個人の影響 I : 商品の属性 ( I  R k m )  : 全体平均 bitem : 商品の影響 U : 個人の属性 ( U  R uk )・ 学習方法 min bU I (u ,i )R rui  r ui 2   buser 2  bitem 2  | U uT |2  I i 2  最適化法 → 独特な確率的勾配法 (SGD)* ( * 本ケースでは理論的な収束保障が全くない )
  7. 7. 株式会社サイバーエージェント 7MF の種類 ( SVD++ )・ 予測モデル  0.5 r ui    buser (u )  bitem (i )  (U u  R(u ) jR ( u ) y j )Ii R (u ) : ユーザーU が評価したアイテム集合 k m y : 商品へのあるアクションの効果 ( y  R ) - 今回は ”あるアクション = 商品を評価したという行為”・ 学習方法 min bU I  ( u ,i )R rui  r ui  2   1 buser  bitem 2 2    | U 2 T 2 u |  Ii  y j 2 2  最適化法 → SVDの方法を改良したSGD
  8. 8. 株式会社サイバーエージェント 8評価実験 データ: MovieLens 100k ( http://www.grouplens.org/node/73 ) ◆ user num : 938 ◆ item num : 1682 ◆ record num : 100,000 評価 : MAE、RMSE ( 5fold-cross-validation ) mae  ij rij  rij / n ( i : user, j : item ) 環境 : os : windows7 cpu : i7 (2.7G×4HT) memory: 8G 比較アルゴリズム ・ Random、SlopeOne、SVD、SVD++
  9. 9. 株式会社サイバーエージェント 9結果 ◆ 精度 random SlopeOne SVD SVD++ MAE 1.71757 0.74244 0.71411 0.71098 RMSE 2.10189 0.94264 0.90573 0.90293 * 精度は値が低い方が良い ◆ 計算時間 random SlopeOne SVD SVD++ time - 6,843 13,187 1,724,436 (ms)
  10. 10. 株式会社サイバーエージェント 10雑記 ・ TIPS・ SlopeOne を使うのなら、SVDの方が良いかも。・ とはいえ、 - SlopeOneに比して0.04程度(rmse)の改善幅。 - 学習パラメータを決めるのに時間がかかる。・ 評価予測だけでは推薦には使えない。 - 所詮人気の商品の評価は高い。 ( 個人の趣向による効果は薄い ) - 評価予測をいかに推薦に昇華させる方が結構大事。
  11. 11. 株式会社サイバーエージェント 11・ timeSVD++ - 時間によるユーザーの興味の編成を考慮したモデル - 精度は SVD++ より更に良い。 ( rmse で 0.02 程度改善 ) - パラメータを決めるのに時間がかかり過ぎる・ サンプルコード - mf_predictor http://code.google.com/p/mf-predictor/
  12. 12. 株式会社サイバーエージェント 12ご清聴ありがとうございました!
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×