第4回:論文紹介 Are We Evaluating Rigorously? Benchmarking Recommendationfor Reproducible Evaluation and Fair Comparison
収録日:20201025
発表者: @smochi_pub
聞き手: @yohei_kikuta
- Recsys2020で発表された、推薦システムの公平なベンチマークに向けた調査と提案に関する論文
- なぜ読もうと思ったか?
- 昨年のbest paper(https://arxiv.org/abs/1907.06902) 以来、推薦システムに関する公平な評価に関心が集まっているので
- 実務において、様々なモデルや処理が実際にどんなデータに有効なのか知っておくのは非常に重要だと思ったから
- 論文の貢献
- 主要学会を中心に推薦システム論文85本を系統的にレビュー, 性能比較において重要な要素を特定した
- 実際に各要素ごとに対照実験を行い、再現可能性の高い性能比較データを提供した
- 後続の研究者に向けて、比較実験が容易かつ拡張性も高いツールを提供した
評価項目は データセット、アルゴリズム、前処理、損失関数、負例のサンプリング法、データ分割、評価指標
- データセット
- 対象となるデータセットは ML1M(映画), Lastfm(音楽), Yelp(位置情報), Epinions(SNS), BookX(本), AMZe(EC)
- 結果分析
アルゴリズムと合わせて後述
- アルゴリズム
- メモリベース(MM)
- MostPop: 人気度上位のアイテムを全員に推薦
- ItemKNN: アイテム類似度(ここではcos)を定義し、K-NNベースで推薦
- 潜在因子ベース(LFM)
- BPRMF: 行列分解を用いて、BPR(Baysian Personalized Ranking)損失を最小化する
- BPRFM: Factorization Machine系でユーザ、アイテム間の二次の特徴まで考慮
- PureSVD: ユーザアイテム行列に対して単純にSVDを適用
- SLIM: 制約項つきの二乗損失を、分解再構成した行列に対して適用
- 表現学習ベース(RLM)
- NeuMF: 行列分解の潜在ベクトル積のGMFとMLPを結合して回帰する深層推薦アルゴリズム
- 結果分析
- ほとんどでMostpopが一番悪く、パーソナライズの効果を示している(Fig2)
- ML-1Mにおいては、ItemKNN, SVD, BPRMFに勝っており、データセット次第では有効
- LastFMではItemKNNは、LFM、DFMに勝っている
- 近傍ベースの考え方を取り入れることでよくなるかも?
- NeuMFはML-1M, AMZeでは健闘してるが、他は負けている
- DLMがパラメータを最適化した既存手法に勝てるわけではない
- 訓練コストが高いのもネック
- 10-filterで固定すると(Table-4), BPRFMがよさそうか?
- ML-1M:BPRFMが全勝
- AMZe:BPRFMが全勝
- Yelp:BPRFM(Pre, Rec, HR, NDCG)、PureSVD(MAP, MRR)
- Epnions:NeuMF(Rec, HR, MAP, MRR NDCG)、BPRFM(Pre)
- LastFM:SLIMが全勝
- Book-X:BPRMF(Pre, Rec, HR, NDCG)、PureSVD(MAP, MRR)
- メモリベース(MM)
- 前処理
- original, 5-filter, 10-filter
- 評価数N以上のユーザのみ扱う
- 結果分析
- 一人あたりの平均評価量の増減と相関している
- 密度があがるものは向上、減るものは減少する(密度:Table2b, 性能: Fig2)
- ML-1Mでは影響なし
- Yelp, BookX, AMZeはフィルターするほど性能向上
- Lastfm, Epinionsは性能低下
- original, 5-filter, 10-filter
- 損失関数
- point-wise (49%が採用)
- クロスエントロピー(CE)
- TOPN推薦なので二乗誤差は評価せず
- pair-wise (42%が採用)
- 対数損失(LL), ヒンジ損失(HL)
- 結果分析
- Pair-wise+LogLoss(赤)が総じて優れている(Fig3)
- BPRFM(中)は目的関数に対する感度が低くロバスト
- point-wise (49%が採用)
- 負例のサンプリング法
- 未評価を負例としてサンプリングして使う
- 一様サンプラー
- 低人気度サンプラー(Lpop)
- 人気の低いアイテムを好む可能性が低いという仮説に基づく
- 高人気度サンプラー(Hpop)
- 人気があるけどその人が敢えて選んでないので負例にできるという仮説に基づく
- 結果分析
- 一様サンプラー(灰)が最も優れている(Fig4)
- Lpop(赤)の方が不人気なアイテムを負例として扱うため良さそうだが、直感に反する結果
- データ分割とハイパーパラメータ探索
- split-by-ratio(学習:テスト=80:20)
- random
- 時系列考慮
- 学習セットの10%をハイパーパラメータ探索に使う
- 基本的にはNDCGに対してBaysian Hyper Optで探索
- パラメータ決定後、学習時にハイパーパラメータ探索に使ったデータも使う
- 結果分析
- Epnionsではランダムが有利になった(Fig5 a-d)
- 実際のシナリオに近いのは時系列分割
- ランダム分割による検証は実環境より、過大評価されている可能性がある
- Epnionsではランダムが有利になった(Fig5 a-d)
- split-by-ratio(学習:テスト=80:20)
- 評価指標
- ある指標を最適化するハイパーパラメータが、別の指標でも最適とは限らない
- 指標xベースラインごとに30回試行して、ある指標において最良な試行をとりだす
- それが、別の指標においても最良であれば、その指標間で得点1、相関係数は総得点を試行回数で割ったもの
- 6つの手法x6つのデータセットで全部で36で得点を割る
- 異なる指標で最適化された時の、推薦されるアイテムのKendall順序相関もみた
- 計測に使った指標
- 上位リスト内に含まれるか計測
- Precision
- Recall
- Mean Average Precision(MAP): Precision@k / sum_k の平均
- Hit Ratio(HR): 順位を計測
- Mean Reciprocal Rank(MRR): 順位の逆数の平均
- Normalized Discounted Cumlative Gain (NDCG): スコアを順位の対数逆数で割り引く
- 上位リスト内に含まれるか計測
- 結果分析
- ある指標を最適化するハイパーパラメータが、別の指標でも最適ではなかった(Fig:5-e)
- 相関行列は非対称
NDCG->HRは0.72, HR->NDCGは0.64 - Kendall順序相関においては、Recallが著しく他の指標と異なることがわかった(Fig:5-f)
- ある指標を最適化するハイパーパラメータが、別の指標でも最適とは限らない
大前提、データの性質に左右されやすいが、以下のような解釈。
- アルゴリズム
- データによって異なる、BPRFMがやや強い
- 必ずしも複雑なモデルが強いわけではない(e.g. NeuMF)
- 前処理
- ユーザごとのデータ密度が上がるならやった方がよい
- 損失関数
- Pair-wise+LogLossが第一選択か
- 負例のサンプリング法
- 一様サンプラーが第一選択か
- データ分割
- グローバルで学習:テスト=80:20
- 時系列は考慮して分割すべき
- 評価指標
- 指標ごとに強いモデルが異なり、相関も低かったりするので実際の状況に近い指標を選択すべき
- 原論文:https://dl.acm.org/doi/10.1145/3383313.3412489
- この論文で提案された指標計算に関する GitHub repository:https://github.com/AmazingDD/daisyRec