• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Matrix Factorizationを使った評価予測
 

Matrix Factorizationを使った評価予測

on

  • 10,599 views

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

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

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

Statistics

Views

Total Views
10,599
Views on SlideShare
3,172
Embed Views
7,427

Actions

Likes
5
Downloads
28
Comments
0

9 Embeds 7,427

http://ameblo.jp 7251
http://s.ameblo.jp 131
http://blog.ameba.jp 23
http://feedblog.ameba.jp 8
http://translate.googleusercontent.com 6
http://webcache.googleusercontent.com 4
http://www.slideshare.net 2
http://www.teubux.somee.com 1
http://rssblog.ameba.jp 1
More...

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Matrix Factorizationを使った評価予測 Matrix Factorizationを使った評価予測 Presentation Transcript

    • Matrix Factorization を使った評価予測株式会社サイバーエージェントアメーバ事業本部 Ameba Technology Laboratory服部 司
    • 株式会社サイバーエージェント 2今日紹介する話・ ユーザーがアイテムにつける評価を予測する。 - 大半のレビューサイトには5星評価有 - 典型的な推薦の問題
    • 株式会社サイバーエージェント 3実現方法・ 購買履歴、評価データを使った 協調 Filtering - 詳細は割愛 ( “collaborative filter “ でググるべし )
    • 株式会社サイバーエージェント 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)
    • 株式会社サイバーエージェント 5Matrix Factorization ・ 概要 - 正則化項付きのSVDの亜種 - 利点 * 精度がいい * 計算時間が速い * モデルの柔軟性が非常に高い - 悪点 * 並列計算が苦手 - MapReduceと相性が悪い
    • 株式会社サイバーエージェント 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)* ( * 本ケースでは理論的な収束保障が全くない )
    • 株式会社サイバーエージェント 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評価実験 データ: 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結果 ◆ 精度 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雑記 ・ TIPS・ SlopeOne を使うのなら、SVDの方が良いかも。・ とはいえ、 - SlopeOneに比して0.04程度(rmse)の改善幅。 - 学習パラメータを決めるのに時間がかかる。・ 評価予測だけでは推薦には使えない。 - 所詮人気の商品の評価は高い。 ( 個人の趣向による効果は薄い ) - 評価予測をいかに推薦に昇華させる方が結構大事。
    • 株式会社サイバーエージェント 11・ timeSVD++ - 時間によるユーザーの興味の編成を考慮したモデル - 精度は SVD++ より更に良い。 ( rmse で 0.02 程度改善 ) - パラメータを決めるのに時間がかかり過ぎる・ サンプルコード - mf_predictor http://code.google.com/p/mf-predictor/
    • 株式会社サイバーエージェント 12ご清聴ありがとうございました!