論文紹介:collaborative deep learning for recommender systems(チームラボ勉強会)

19
Collaborative Deep Learning for Recommender Systems Hao Wang, Naiyan Wang and Dit-Yan Yeung @ Hong Kong Univ. SIGKDD 2015. チチチチチチチチチ チチチ チチチチチ チチチチチ 2017/02/09

Upload: ryo-yamamoto

Post on 14-Apr-2017

95 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: 論文紹介:Collaborative Deep Learning for Recommender Systems(チームラボ勉強会)

Collaborative Deep Learning for Recommender

SystemsHao Wang, Naiyan Wang and Dit-Yan Yeung @ Hong Kong Univ.

SIGKDD 2015.

チームラボ株式会社 山本遼論文読み会@チームラボ2017/02/09

Page 2: 論文紹介:Collaborative Deep Learning for Recommender Systems(チームラボ勉強会)

2

一言で言うと・・・• コンテンツ情報を利用した協調フィルタを

Deep Neural Network で構成• コンテンツ特徴とユーザ評価を同時に最適化するようにアイテムの特徴ベクトルを学習• 実データによるレコメンデーションにおいて、

state-of-the-art の精度を大きく超える

Page 3: 論文紹介:Collaborative Deep Learning for Recommender Systems(チームラボ勉強会)

3

目次• 背景技術 Matrix Factorization• コンテンツ情報を用いた協調フィルタ

– DeepMusic– Collaborative Topic Model– Collaborative Deep Learning (提案手法)

• 評価実験

Page 4: 論文紹介:Collaborative Deep Learning for Recommender Systems(チームラボ勉強会)

背景技術MATRIX FACTORIZATION

4

Page 5: 論文紹介:Collaborative Deep Learning for Recommender Systems(チームラボ勉強会)

5

Matrix Factorization (1)

• 協調フィルタの次元削減の定番手法• ユーザ × アイテム の評価行列を低次元化(欠損値を推定)

user 1

user 2

item 1 1 3 1 2

item 2 1 1 2

1 3

2 1

2 1

Page 6: 論文紹介:Collaborative Deep Learning for Recommender Systems(チームラボ勉強会)

6

Matrix Factorization (2)

• 各ユーザ・アイテムをベクトルで表現item1: v1 = [0.85, 0.43, 0.12, 2.83] item2: v2 = [0.94, 3.81, 8.93, 0.71]user1: u1 = [6.83, 0.54, 0.43, 2.11] user2: u2 = [9.68, 0.56, 0.26, 2.19]

• ユーザのアイテムへの評価をベクトル同士の内積とする• 評価の誤差とベクトル長の和を最小化

user

1

user

2

item 1 1 3 1 2

item 2 1 1 2

1 3

2 1

2 1

評価がある組合せのみ和をとる

ユーザベクトルとアイテムベクトルの内積 = 推定評価値ユーザベクトルのノルムは小さく アイテムベクトルのノルムも小さく

Page 7: 論文紹介:Collaborative Deep Learning for Recommender Systems(チームラボ勉強会)

7

Matrix Factorization (3)

• 欠損値を除外して最適化できるため高精度– アイテムを見ていないことと、評価が 0 点であることを区別できる– SVD (特異値分解)などでは区別できない

• 拡張性が高い– アイテム・ユーザ単位のバイアス項の導入万人受けするアイテムや、評価が全体的に辛口 / 甘口なユーザをモデル化– アイテム・ユーザベクトルの非負制約( Non-Negative Matrix Factorization )ベクトル各成分が非負である制約をつけることで経験的に精度が向上– アイテム・ユーザ以外の次元の追加( Tensor Factorization )アイテム・広告・ユーザの3次元での協調フィルタで「ユーザ A が広告 x を見た時のアイテム i への評価」等をモデル化– その他、 Factorization Machines(2010) 、 Field-Aware

Factorization Machines(2016) など近年も研究多数

Page 8: 論文紹介:Collaborative Deep Learning for Recommender Systems(チームラボ勉強会)

コンテンツ情報を用いた協調フィルタ8

Page 9: 論文紹介:Collaborative Deep Learning for Recommender Systems(チームラボ勉強会)

9

コンテンツ情報を用いた協調フィルタ• 協調フィルタの限界

– 評価行列がスパースだと精度が出ない– ユーザからの評価が少ない、新しいアイテムを推薦できない

• コンテンツ情報の利用– ニュース記事本文、商品説明文、商品画像、音楽波形など– コンテンツの類似性を利用すれば、あるアイテムの評価を別のアイテムに活用できる

• 分離型と融合型– 分離型(単純)

• コンテンツ特徴計算と協調フィルタの、一方を単独で計算後、その情報をもう一方の処理に利用する(2ステップに分かれる)– 融合型(高精度)

• コンテンツと協調フィルタを融合したシームレスなモデル化

Page 10: 論文紹介:Collaborative Deep Learning for Recommender Systems(チームラボ勉強会)

10

分離型手法 DeepMusicOord, et. al. “Deep Content-Based Music Recommendation,” NIPS 2013.

• 協調フィルタにより各楽曲のアイテムベクトルを求め、波形からアイテムベクトルへの変換を CNN で学習する– 2ステップの分離型手法

• 再生履歴のない曲についても波形からアイテムベクトルが推定でき、推薦できる• 楽曲推薦の精度で既存手法を大きく超える

ユーザの再生履歴情報

曲 1

曲 2

曲 3Matrix Factorization

CNN曲 1 の波形

CNN曲 2 の波形

CNN曲 3 の波形

Page 11: 論文紹介:Collaborative Deep Learning for Recommender Systems(チームラボ勉強会)

11

融合型手法 CTR (Collaborative Topic Regression)Wang, et. al. “Collaborative Topic Modeling for Recommending Scientific Articles,” SIGKDD 2011

• トピックモデルのトピック分布と協調フィルタのアイテムベクトルが同じ値になるように2つの誤差の和を最小化する(融合型)– コンテンツとユーザ評価を総合的にみたベクトルを推定

• 既存手法より精度がよく、新規文書についても良い結果

topic A topic B topic C topic D

文書 1 のトピック分布 文書 1(単語列)一単語ごとにトピックが確率的に選択、

そのトピックから確率的に単語が生成

文書 1

ユーザ 1ユーザ 2

ユーザ 1ユーザ 2

分布を協調フィルタのアイテムベクトルとみなし、ユーザ評価を推定 ※ 1 ユーザベクトル(文書間で共有)

× = 各ユーザの文書 1 への評価

※1 実際はこの部分に小さなノイズ項が乗るモデルになっている

Page 12: 論文紹介:Collaborative Deep Learning for Recommender Systems(チームラボ勉強会)

12

融合型手法 CDL (Collaborative Deep Learning)Wang, et. al. “Collaborative Deep Learning for Recommender Systems,” SIGKDD 2015

• この論文の提案手法• コンテンツ情報( Bag of Words )を入力とした

Denoising Auto-Encoder(DAE) の中間出力が同時に協調フィルタのアイテムベクトルであるようにモデルを結合 ※ 1– DAE の誤差と推定評価値の誤差の和を最小化

• コンテンツと評価の両方を考慮したアイテムベクトルを推定

文書 1 のBag of Words

ノイズ付加 出力

NN

NN

近づける( Denoising Auto-Encoder )

ユーザ 1ユーザ 2

ユーザ 1ユーザ 2

ユーザベクトル× = 各ユーザの文書 1 への評価(実際の評価に近づける)

※1 CTM 同様のノイズ項がある。またモデルはベイジアンネットワークで記述し、  事後確率最大のパラメタを推定する

Page 13: 論文紹介:Collaborative Deep Learning for Recommender Systems(チームラボ勉強会)

評価実験13

Page 14: 論文紹介:Collaborative Deep Learning for Recommender Systems(チームラボ勉強会)

14

データセット• 3種のデータセット

– citeulike-a: CiteULike (論文のレーティングサイト)から5551 ユーザ/ 16980アイテム/ 207360 評価( 0.22% ) 論文本文の TF-IDF 上位 8000 単語でベクトル化

– citeulike-t: CiteULike から7947 ユーザ/ 25975アイテム/ 144500 評価( 0.07% ) 上位 20000 単語でベクトル化

– Netflix: Netflix challenge dataset から407261 ユーザ/

9228映画/ 15348808 評価( 0.41% ) あらすじ文書を上位20000 単語でベクトル化

• 評価は5段階、評価数3未満のユーザは除外

Page 15: 論文紹介:Collaborative Deep Learning for Recommender Systems(チームラボ勉強会)

15

評価方法• 各データセット、2種類のセッティングを用意

– Sparse setting: 各ユーザの評価をランダムに1つ選び学習セットとし、残りを評価セットとする ユーザの嗜好情報がほとんどない場合を再現– Dense setting: 各ユーザの評価をランダムに10個選び学習セットとし、残りを評価セットとする ユーザの嗜好情報が一定数ある場合を再現

• 評価指標は、 M個をレコメンドした時の再現率ユーザが高評価したアイテム数M個レコメンドした中の、ユーザが高評価したアイテム数

recall@M =

Page 16: 論文紹介:Collaborative Deep Learning for Recommender Systems(チームラボ勉強会)

16

結果:Dense setting の場合

• 横軸 = M: レコメンドするアイテム数縦軸 = recall@M

• CDL:提案手法( NN は Encode/Decode 各 1層、アイテムベクトルは 50 次元)CTR:融合型の既存手法DeepMusic:分離型の既存手法

citeulike-a citeulike-t Netflix

Page 17: 論文紹介:Collaborative Deep Learning for Recommender Systems(チームラボ勉強会)

17

結果:Sparse setting の場合

• Sparse setting 、 Dense setting ともに提案手法 > 既存手法(融合型) > 既存手法(分離型)• 特に Sparse の場合に精度向上が大きい

– コンテンツ情報とユーザ評価の関係をよくモデル化できている

citeulike-a citeulike-t Netflix

Page 18: 論文紹介:Collaborative Deep Learning for Recommender Systems(チームラボ勉強会)

まとめ18

Page 19: 論文紹介:Collaborative Deep Learning for Recommender Systems(チームラボ勉強会)

19

まとめ• コンテンツ情報とユーザ評価を共通の特徴ベクトルによりモデル化

– コンテンツ情報はニューラルネット、ユーザ評価は協調フィルタ– ステップを分けず、両者を同時に最適化

• 既存手法を大きく上回る精度を達成