著者: Longqi Yang, Yin Cui, Yuan Xuan, Chenyang Wang, Serge Belongie, and Deborah Estrin
所属:Cornell University
発表会議:RecSys 2018
[link]
概要
Implicit-feedback Recommendersにおいて、IPSを導入したUnbiased Evaluatorを提案。実験データはMNARであることを示し、Unbiased Evaluatorと従来のAverage-over-all (AOA) Evaluatorの結果を比較することでAOA Evaluatorが従来の推薦アルゴリズムの性能を過大評価していることを示唆した。
導入
Explicit FeedbackとImplicit Feedback
Explicit Feedback
ユーザーからアイテムへの評価が陽に与えられている。(e.g. ★5)
Implicit Feedback
ユーザーからアイテムへの評価が与えられず、クリックや購入の有無(0/1)しか与えられない。
Explicit Feedbackと比べて比較的容易に収集可能。
今回の論文はこっち
(理想的な) Evaluatorについて
R ( Z ^ ) = 1 ∣ U ∣ ∑ u ∈ U 1 ∣ S u ∣ ∑ i ∈ S u c ( Z ^ u , i ) R(\hat{Z})=\frac{1}{|\mathcal{U}|} \sum_{u \in \mathcal{U}} \frac{1}{\left|\mathcal{S}_{u}\right|} \sum_{i \in \mathcal{S}_{u}} c\left(\hat{Z}_{u, i}\right) R ( Z ^ ) = ∣ U ∣ 1 u ∈ U ∑ ∣ S u ∣ 1 i ∈ S u ∑ c ( Z ^ u , i )
ここで Z ^ u , i \hat{Z}_{u, i} Z ^ u , i はアイテム i i i をユーザー u u u に対して推薦する順位、 S u \mathcal{S}_{u} S u はユーザー u u u がpositive feedbackする全てのアイテム集合 。AUCやDCGなどを計算したい場合、関数 c c c を下記
にする、とあるがAUCの式はおかしい気が。。。
この理想的なEvaluatorはユーザーが全てのアイテムを認識しているわけではないのでそもそも S u ⊆ I \mathcal{S}_{u} \subseteq \mathcal{I} S u ⊆ I が観測できない->計算できない。
(近似的な) Evaluatorについて
R ^ A O A ( Z ^ ) = 1 ∣ U ∣ ∑ u ∈ U 1 ∣ S u ∗ ∣ ∑ i ∈ S u ∗ c ( Z ^ u , i ) \hat{R}_{\mathrm{AOA}}(\hat{Z})=\frac{1}{|\mathcal{U}|} \sum_{u \in \mathcal{U}} \frac{1}{\left|\mathcal{S}_{u}^{*}\right|} \sum_{i \in \mathcal{S}_{u}^{*}} c\left(\hat{Z}_{u, i}\right) R ^ A O A ( Z ^ ) = ∣ U ∣ 1 u ∈ U ∑ ∣ S u ∗ ∣ 1 i ∈ S u ∗ ∑ c ( Z ^ u , i )
これをAverage-over-all (AOA) Evaluatorという。このとき、S u \mathcal{S}_{u} S u のうち観測できた集合をS u ∗ \mathcal{S}_{u}^{*} S u ∗ とする。
ユーザーu u u がアイテムi i i を観測した(1)か否か(0)を表す確率変数O u , i O_{u, i} O u , i を導入すると、
R ^ A O A ( Z ^ ) = 1 ∣ U ∣ ∑ u ∈ U 1 ∑ i ∈ S u O u , i ∑ i ∈ S u c ( Z ^ u , i ) ⋅ O u , i \hat{R}_{\mathrm{AOA}}(\hat{Z})=\frac{1}{|\mathcal{U}|} \sum_{u \in \mathcal{U}} \frac{1}{\sum_{i \in \mathcal{S}_{u}} O_{u, i}} \sum_{i \in \mathcal{S}_{u}} c\left(\hat{Z}_{u, i}\right) \cdot O_{u, i} R ^ A O A ( Z ^ ) = ∣ U ∣ 1 u ∈ U ∑ ∑ i ∈ S u O u , i 1 i ∈ S u ∑ c ( Z ^ u , i ) ⋅ O u , i
と変形することができる。
しかしこれは
E O [ R ^ A O A ( Z ^ ) ] ≠ R ( Z ^ ) \mathbb{E}_{O}\left[\hat{R}_{\mathrm{AOA}}(\hat{Z})\right] \neq R(\hat{Z}) E O [ R ^ A O A ( Z ^ ) ] = R ( Z ^ )
である。
提案手法
Unbiased Evaluator
AOA Evaluatorに対して傾向スコア(=ユーザーu u u がアイテムi i i にpositive feedbackする確率P u , i P_{u,i} P u , i )の逆数で重み付け(Inverse-Propensity-Scoring: IPS)を行う。直感的にはよく観測されるアイテムの重みは小さく、あまり観測されないアイテムの重みは大きくなるように重み付けを行う。
R ^ I P S ( Z ^ ∣ P ) = 1 ∣ U ∣ ∑ u ∈ U 1 ∣ S u ∣ ∑ i ∈ S u ∗ c ( Z ^ u , i ) P u , i = 1 ∣ U ∣ ∑ u ∈ U 1 ∣ S u ∣ ∑ i ∈ S u c ( Z ^ u , i ) P u , i ⋅ O u , i \begin{aligned} \hat{R}_{\mathrm{IPS}}(\hat{Z} | P) &=\frac{1}{|\mathcal{U}|} \sum_{u \in \mathcal{U}} \frac{1}{\left|\mathcal{S}_{u}\right|} \sum_{i \in \mathcal{S}_{u}^{*}} \frac{c\left(\hat{Z}_{u, i}\right)}{P_{u, i}} \\ &=\frac{1}{|\mathcal{U}|} \sum_{u \in \mathcal{U}} \frac{1}{\left|\mathcal{S}_{u}\right|} \sum_{i \in \mathcal{S}_{u}} \frac{c\left(\hat{Z}_{u, i}\right)}{P_{u, i}} \cdot O_{u, i} \end{aligned} R ^ I P S ( Z ^ ∣ P ) = ∣ U ∣ 1 u ∈ U ∑ ∣ S u ∣ 1 i ∈ S u ∗ ∑ P u , i c ( Z ^ u , i ) = ∣ U ∣ 1 u ∈ U ∑ ∣ S u ∣ 1 i ∈ S u ∑ P u , i c ( Z ^ u , i ) ⋅ O u , i
これについて期待値を取ると
E O [ R ^ I P S ( Z ^ ∣ P ) ] = 1 ∣ U ∣ ∑ u ∈ U 1 ∣ S u ∣ ∑ i ∈ S u c ( Z ^ u , i ) P u , i ⋅ E O [ O u , i ] = 1 ∣ U ∣ ∑ u ∈ U 1 ∣ S u ∣ ∑ i ∈ S u c ( Z ^ u , i ) = R ( Z ^ ) \begin{aligned} \mathbb{E}_{O}\left[\hat{R}_{\mathrm{IPS}}(\hat{Z} | P)\right] &=\frac{1}{|\mathcal{U}|} \sum_{u \in \mathcal{U}} \frac{1}{\left|\mathcal{S}_{u}\right|} \sum_{i \in \mathcal{S}_{u}} \frac{c\left(\hat{Z}_{u, i}\right)}{P_{u, i}} \cdot \mathbb{E}_{O}\left[O_{u, i}\right] \\ &=\frac{1}{|\mathcal{U}|} \sum_{u \in \mathcal{U}} \frac{1}{\left|\mathcal{S}_{u}\right|} \sum_{i \in \mathcal{S}_{u}} c\left(\hat{Z}_{u, i}\right)=R(\hat{Z}) \end{aligned} E O [ R ^ I P S ( Z ^ ∣ P ) ] = ∣ U ∣ 1 u ∈ U ∑ ∣ S u ∣ 1 i ∈ S u ∑ P u , i c ( Z ^ u , i ) ⋅ E O [ O u , i ] = ∣ U ∣ 1 u ∈ U ∑ ∣ S u ∣ 1 i ∈ S u ∑ c ( Z ^ u , i ) = R ( Z ^ )
理想的なEvaluatorに一致することがわかる。
実際にはこのEvaluatorの分散を抑えるためにSelf-Normalized IPS (SNIPS)を導入する。
R ^ SNIPS ( Z ^ ∣ P ) = 1 ∣ U ∣ ∑ u ∈ U 1 ∣ S u ∣ E O [ ∑ i ∈ S u ∗ 1 P u , i ] ∑ i ∈ S u ∗ 1 P u , i ∑ i ∈ S u ∗ c ( Z ^ u , i ) P u , i = 1 ∣ U ∣ ∑ u ∈ U 1 ∑ i ∈ S u ∗ 1 P u , i ∑ i ∈ S u ∗ c ( Z ^ u , i ) P u , i \begin{aligned} \hat{R}_{\text {SNIPS }}(\hat{Z} | P) &=\frac{1}{|\mathcal{U}|} \sum_{u \in \mathcal{U}} \frac{1}{\left|\mathcal{S}_{u}\right|} \frac{\mathbb{E}_{O}\left[\sum_{i \in \mathcal{S}_{u}^{*}} \frac{1}{P_{u, i}}\right]}{\sum_{i \in \mathcal{S}_{u}^{*}} \frac{1}{P_{u, i}}} \sum_{i \in \mathcal{S}_{u}^{*}} \frac{c\left(\hat{Z}_{u, i}\right)}{P_{u, i}} \\ &=\frac{1}{|\mathcal{U}|} \sum_{u \in \mathcal{U}} \frac{1}{\sum_{i \in \mathcal{S}_{u}^{*}} \frac{1}{P_{u, i}}} \sum_{i \in \mathcal{S}_{u}^{*}} \frac{c\left(\hat{Z}_{u, i}\right)}{P_{u, i}} \end{aligned} R ^ SNIPS ( Z ^ ∣ P ) = ∣ U ∣ 1 u ∈ U ∑ ∣ S u ∣ 1 ∑ i ∈ S u ∗ P u , i 1 E O [ ∑ i ∈ S u ∗ P u , i 1 ] i ∈ S u ∗ ∑ P u , i c ( Z ^ u , i ) = ∣ U ∣ 1 u ∈ U ∑ ∑ i ∈ S u ∗ P u , i 1 1 i ∈ S u ∗ ∑ P u , i c ( Z ^ u , i )
SNIPSの出典は下記参照。
傾向スコアの推定
まず、傾向スコアP u , i P_{u,i} P u , i がuser independentであると仮定する。これはつまり、P u , i = P ( O u , i = 1 ) = P ( O ∗ , i = 1 ) = P ∗ , i P_{u, i}=P\left(O_{u, i}=1\right)=P\left(O_{*, i}=1\right)=P_{*, i} P u , i = P ( O u , i = 1 ) = P ( O ∗ , i = 1 ) = P ∗ , i 。さらにP ∗ , i = P ∗ , i select ⋅ P ∗ , i interact ∣ select P_{*, i}=P_{*, i}^{\text {select }} \cdot P_{*, i}^{\text {interact } | \text { select }} P ∗ , i = P ∗ , i select ⋅ P ∗ , i interact ∣ select とP ∗ , i interact ∣ select = P ∗ , i interact P_{*, i}^{\text {interact } | \text { select }}=P_{*, i}^{\text {interact }} P ∗ , i interact ∣ select = P ∗ , i interact を仮定する。このとき、P ∗ , i interact P_{*, i}^{\text {interact }} P ∗ , i interact はuser independentなのでtrue popularity n i = ∑ u ∈ U 1 [ i ∈ S u ] n_{i}=\sum_{u \in \mathcal{U}} 1\left[i \in \mathcal{S}_{u}\right] n i = ∑ u ∈ U 1 [ i ∈ S u ] (観測できない)に比例する。
P ^ ∗ , i interact ∝ n i \hat{P}_{*, i}^{\text {interact }} \propto n_{i} P ^ ∗ , i interact ∝ n i
一方でP ∗ , i select P_{*, i}^{\text {select }} P ∗ , i select はべき乗分布を仮定して
P ^ ∗ , i select ∝ ( n i ∗ ) γ \hat{P}_{*, i}^{\text {select }} \propto\left(n_{i}^{*}\right)^{\gamma} P ^ ∗ , i select ∝ ( n i ∗ ) γ
このときn i ∗ = ∑ u ∈ U , i ∈ S u ∗ O ∗ , i n_{i}^{*}=\sum_{u \in \mathcal{U}, i \in \mathcal{S}_{u}^{*}} O_{*, i} n i ∗ = ∑ u ∈ U , i ∈ S u ∗ O ∗ , i なのでこっちは観測可能。なので、
P ^ ∗ , i ∝ ( n i ∗ ) γ ⋅ n i \hat{P}_{*, i} \propto\left(n_{i}^{*}\right)^{\gamma} \cdot n_{i} P ^ ∗ , i ∝ ( n i ∗ ) γ ⋅ n i
n i n_i n i が観測できない問題について、n i ∗ n_i^{*} n i ∗ がn i n_i n i でparameterizeされた二項分布n i ∗ ∼ B ( n i , P ∗ , i ) n_{i}^{*} \sim \mathcal{B}\left(n_{i}, P_{*, i}\right) n i ∗ ∼ B ( n i , P ∗ , i ) に従うと仮定すると、
P ^ ∗ , i = n i ∗ n i ∝ ( n i ∗ ) γ ⋅ n i \hat{P}_{*, i}=\frac{n_{i}^{*}}{n_{i}} \propto\left(n_{i}^{*}\right)^{\gamma} \cdot n_{i} P ^ ∗ , i = n i n i ∗ ∝ ( n i ∗ ) γ ⋅ n i
となるので
n i ∝ ( n i ∗ ) 1 − γ 2 n_{i} \propto\left(n_{i}^{*}\right)^{\frac{1-\gamma}{2}} n i ∝ ( n i ∗ ) 2 1 − γ
最終的に、
P ^ ∗ , i ∝ ( n i ∗ ) ( γ + 1 2 ) \hat{P}_{*, i} \propto\left(n_{i}^{*}\right)^{\left(\frac{\gamma+1}{2}\right)} P ^ ∗ , i ∝ ( n i ∗ ) ( 2 γ + 1 )
となるので、γ \gamma γ を推定してやれば良い。γ \gamma γ の推定については力尽きたので省略。
実験
データセット
cliteulike
Mendeley的なやつ?
論文?を保存するかどうか
Tradesy
ECサイト
商品を買う / 欲しい物リストに入れるかどうか
Amazon book
比較手法
Bayesian Personalized Ranking (BPR)
Collaborative Metric Learning with Uniform Weights (U-CML)
CML with Approximate-Rank Weights (A-CML)
Probabilistic Matrix Factorization (PMF)
Popularity biasの調査
interaction bias
ユーザーは人気アイテムとinteractionしがちである = 偏りがある
presentation bias
推薦システム自体が偏りのあるデータから学習しているので人気アイテムを推薦しがち
横軸はアイテムの観測回数、縦軸は上位50で推薦された回数
Unbiased Evaluatorでの評価結果
バイアス除去の性能評価
Yahoo! Music rating datasetを使用。このデータセットのテストデータは完全にランダムな推薦によって収集されているところがポイント。このテストデータとは別に訓練データからサンプリングすることで「バイアスありテストデータ」を作成。「(バイアスの無い)テストデータ」と「バイアスありテストデータ」に対する各Evaluatorの値の誤差を比較。
おわりに
人気アイテムは推薦機会とfeedbackの機会が多いので、そうでないアイテムとの差について問題意識をもってlossを設計していきたいな〜