【論文紹介】Local Collaborative Autoencoders

文献情報

タイトル:Local Collaborative Autoencoders
著者:Minjin Choi, Yoonki Jeong, Joonseok Lee, Jongwuk Lee
会議:WSDM 2021

概要

Implicit feedbackに基づく推薦手法では、全ユーザと全アイテムから構成されるグローバルなユーザ・アイテム行列を1つ作成し、各ユーザと各アイテムの潜在ベクトルを求めるのが一般的である。しかしそれでは、1人のユーザが持つ多様な好みを十分に表現できないため、グローバルなユーザ・アイテム行列から数百個の部分行列を抽出し、各行列からユーザベクトルを学習して統合する手法LOCAを提案した。

従来研究との差異

グローバルなユーザ・アイテム行列から部分行列を抽出するアプローチは提案されてきたが、(1) 部分行列のサイズが大きすぎて、グローバルな行列を使った結果と大差ない、(2) 100個未満の似たような部分行列を作って学習しており、アンサンブル学習の効果で精度を上げている、といった点が不十分であった。本論文の手法では、各部分行列がユーザコミュニティに対応するように部分行列を抽出することで、ユーザの多様な好みを反映する。

手法

提案手法は下図のように(1) 部分行列の作成、(2) 部分行列を使ったモデル学習、(3) 各部分行列の学習結果の統合、から構成される(図は論文より引用)。

(1) 部分行列の作成

作成したい部分行列の数だけ、アンカーユーザを抽出する。アンカーユーザaに対する、各ユーザの距離を計算する。ユーザ間の距離は、事前に学習したユーザベクトル間の距離により求める。アンカーユーザaに対して、距離が閾値未満のユーザだけが含まれる部分行列が作られる。このとき、2種類の閾値がアンカーユーザaに対して用意され、学習用の部分行列と、推薦結果生成用の部分行列が作られる。学習用の閾値の方を大きくしてより多くのユーザが含まれる部分行列が作り、推薦結果生成用の閾値を小さくすることでより類似したユーザの情報だけを使って推薦結果を生成する。

アンカーユーザの抽出方法:300個の部分行列を作る場合、アンカーユーザは、300個の各コミュニティを代表するユーザにしたい。そのために、ユーザがノード、類似ユーザ同士がエッジで結ばれたグラフを作成し、貪欲法によりアンカーユーザを選ぶ。具体的には、これまでに作られた部分行列に含まれていないより多くのユーザとつながっているユーザを順に選ぶ。

(2) 部分行列を使ったモデル学習

オートエンコーダを用いた推薦手法(MutlVAEなど)を使って、各部分行列の各ユーザの圧縮ベクトルを学習する。

(3) 各部分行列の学習結果の統合

ユーザuの最終的なベクトルは、各部分行列から求めたuのベクトルの重み付き和で求める。重みは各部分行列におけるアンカーユーザとの類似度で決まる。さらに、グローバルなユーザ・アイテム行列から学習したuのベクトルとの線形和を取ったものをuの最終的なベクトルとする。

実験

5種類のデータセット(MovieLens 10M、MovieLens 20M、Amazon Digital Music、Amazon Video Games、Yelp 2015)を使用してRecallとnDCGで評価。従来手法は部分行列の数が50程度で推薦精度が収束するのに対して、提案手法では部分行列が300程度になるまで収束せず、意味のある多数の部分行列が作れていることを示した。下図のような定性的な評価もしており、あるユーザに対する、グローバルな行列での推薦結果には含まれない正解データが、部分行列をもとにした推薦結果には含まれることを示した(図は論文より引用)。

この記事が気に入ったらサポートをしてみませんか?