Collaborative Topic Regression with Social Matrix Factorization for Recommendation Systems[Purushotham+, ICML'12]のメモ
http://icml.cc/2012/papers/407.pdf
Collaborative Topic Regression*1 + Social Matrix Factorization*2で,新たな協調フィルタリングの方法を提案する論文.モチベーションは以下の通り.
- 多くの強調フィルタリングモデルは,アイテムの情報を使えていない
- レーティングデータの不足や偏りが問題になる(特に新しいユーザに対する)
- Collaborative Topic Regressionはアイテム情報をモデルに入れて,上記問題を改善してる
- ソーシャルネットワークベースの協調フィルタリングもあるが,アイテム情報とソーシャルネットワークの両方を使った研究はほぼ無い
モデルは階層ベイズで表現.Collaborative Topic Regressionは以下のようなモデル.
- アイテムの情報はLDA*3と同じように生成される
- ユーザiのアイテムjに対するレーティングはで決定
- はユーザiのK次元潜在ベクトルで,トピックに対するユーザの好みを表す
- はアイテムjのK次元潜在ベクトル,アイテムのトピック選好度を表す
- アイテムのトピックとユーザの好みが合致すれば(の内積が大きければ),高評価になる.
このモデルに対して,Social Matrix Factorizationの考えを導入する.すなわち,ユーザiとkの関係がを平均とするガウシアンから生成されるとする.ここでg(・)はシグモイド関数,はユーザkのソーシャルファクター特徴ベクトル.
学習はCollaborative Topic Regression同様に,EMライクな方法.
実験では,約99%欠損したユーザ-アイテムのレーティング行列(二値行列)を使う.評価には独自に定義したrecall@Mを使う.ここで,recall@M=(トップM個のユーザが好きなアイテムの数)/(ユーザの好きなアイテムのトータル数)で計算できる*4.結果の概要は以下の通り.
- 提案モデルはCollaborative Topic Regressionより3%ほどRecallが良い
- LDAベースなので計算コストは高い.トピック数K=50のとき14分くらい,K=200のとき10時間くらい学習に時間がかかる.
- ユーザ数: 1867, アイテム数: 69226, タグ(rating済み): 53388, ユーザ間リンク数: 15328の場合.
論文によれば,主な貢献は以下の3点.
- 推薦システムの性能向上にソーシャルネットワークが使えることを示した
- ソーシャルネットワークと情報の内容が両方使える場合,予測精度を向上させる有効なトレードオフテクニックを提供
- メモでは触れなかったけど,ハイパーパラメータの調整によってそういうことが出来るらしい
- 推薦システムにおける新しい問題(ソーシャルな情報のリーク)の提起
- ネットワークは時間ごと変化するので,それを考慮するとどうなるかという問題提起