はじめに
Explicit feedbackに基づく推薦システムにおいてバイアス除去を試みた論文を読んだので部分的にメモを紹介します。Explicit feedbackに基づく推薦システムのバイアス除去については前回の記事も参照してみてください。
- タイトル:Doubly Robust Joint Learning for Recommendation on Data Missing Not at Random
- 著者:Xiaojie Wang, Rui Zhang, Yu Sun, Jianzhong Qi
- 所属:University of Melbourne, Twitter
- 発表会議:ICML 2019
[link]
概要
推薦システムを学習、評価するためのデータセットの多くは推薦システムの過去の推薦方策やユーザーの自己選択による選択バイアス(selection bias)の影響を受けている。
本研究ではそういった選択バイアスに対処するための因果推論に基づく手法を提案する。
導入
Notation
Preliminaries
もし、すべてのユーザー×アイテムの真の評価値の行列 Rf を観測できたなら、モデルの予測の不正確さ(prediction inaccuracy) P は
P=P(R^,Rf)=∣D∣1u,i∈D∑eu,i
と表現できる。eu,i はMAEなら eu,i=∣r^u,i−ru,i∣、MSEなら eu,i=(r^u,i−ru,i)2 で表現できる。
ここで O∈{0,1}N×M をindicator matrixとして定義し、エントリ ou,i=1 なら ru,i が観測され、ou,i=0 なら ru,i が観測されていない(missing)ことを意味する。R のうち観測されたものを Ro、観測されなかったものを Rm と置く。
ナイーブな推定量
EN=EN(R^,Ro)=∣O∣1u,i∈O∑eu,i
where O={(u,i)∣u,i∈D,ou,i=1}
しかし観測されているデータはMNARなため ∣P−EO[EN]∣≫0 となりバイアスがある。
EIB推定量
ヒューリスティックな方法としてEIB推定量(error-imputation-based estimator)が提案されている。
これは、観測されていないエントリに対してimputed errorと呼ばれる e^u,i=ω∣r^u,i−γ∣ (for MAE)あるいは e^u,i=ω(r^u,i−γ)2 (for MSE)を計算するというもので、ω や γ はハイパーパラメータである。
EEIB=EEIB(R^,Ro)=∣D∣1u,i∈D∑(ou,ieu,i+(1−ou,i)e^u,i)
δu,i=eu,i−e^u,i をerror diviationといい、imputed errorが正確である場合(i.e., δu,i=0)にEIB推定量は不偏推定量となる。
IPS推定量
IPS推定量は前回紹介した推定量で、観測されやすさであるPropensity pu,i=P(ou,i=1) の逆数をかける(Inverse-Propensity-Scoring)方法。Propensityの予測値を p^u,i とすると
EIPS=EIPS(R^,Ro)=∣D∣1u,i∈D∑p^u,iou,ieu,i
と表される。
IPS推定量はPropensityの予測値 p^u,i が正確である場合(i.e., Δu,i=p^u,ip^u,i−pu,i=0)に不偏推定量となる。
SNIPS推定量
こちらも前回紹介した通り、IPS推定量の分散を抑えるために下記のようなSNIPS推定量が提案されている。
ESNIPS=ESNIPS(R^,Ro)=⎝⎜⎛u,i∈D∑p^u,iou,i⎠⎟⎞−1u,i∈D∑p^u,iou,ieu,i
提案手法=二重にロバストな推定量(Doubly Robust estimator)
キーとなるアイディアは観測されたエントリについてerror diviation δu,i を補正し、その補正値にPropensityの逆数をかけることでMNARを考慮する。
EDR=EDR(R^,Ro)=∣D∣1u,i∈D∑(e^u,i+p^u,iou,iδu,i)=∣D∣1u,i∈D∑(p^u,iou,ieu,i+(1−p^u,iou,i)e^u,i)
p^u,i、ou,i が変化したときのlossのイメージは
|
ou,i=0 |
ou,i=1 |
p^u,i |
e^u,i |
p^u,ieu,i−e^u,i+e^u,i |
p^u,i→1 |
e^u,i |
eu,i |
p^u,i→0 |
e^u,i |
≈e^u,i |
のとおりとなる。
モデルと学習アルゴリズム
prediction model fθ(xu,i) とimputation model gϕ(xu,i) の2つのモデルを同時に学習する方法を提案。
prediction modelは パラメータ θ を持ち、特徴量ベクトル xu,i から真のrating ru,i の予測精度を高めることを目的として学習を行う。具体的なlossは下記。
Lr(θ,ϕ)=u,i∈D∑(e^u,i+p^u,iou,i(eu,i−e^u,i))+v∥θ∥F2
where
- eu,i=(r^u,ifθ(xu,i)−ru,i)2
- e^u,i=(fθ(xu,i)−gϕ(xu,i)−⊥(fθ(xu,i)))2
一方imputation modelは パラメータ ϕ を持ち、特徴量ベクトル xu,i から予測誤差 eu,i の推定精度を高めることを目的として学習を行う。具体的なlossは下記。
Le(θ,ϕ)=u,i∈O∑p^u,i(e^u,i−eu,i)2+ν∥ϕ∥F2
where
- eu,i=ru,i−fθ(xu,i)
- e^u,i=gϕ(xu,i)
学習アルゴリズムは上記のモデルを交互に学習する方法を採用。詳細は下記を参照。
実験
MARとMNARの両方で収集したデータを含むCOAT[Schnabel et al., 2016]とYAHOO[Marlin & Zemel, 2009]で検証。前回同様Propensityの推定にMARなデータ、つまりテストデータを使っている。。。
結果は下記の通りで、先行研究のMF-IPSよりも良くなっていることを示している。
おわりに
一旦上記の実験結果を再現できるか実装していますが、残念ながら現時点で再現できていないです。。。再現できたらその段階で公開したいです。