Blog

【IJCAI’22】推薦システムにおけるバイアス除去手法


 

AI Lab Creative Researchチームの野村です。本稿では、推薦システムのバイアス除去に関する研究について概要を解説します。この研究成果はコーネル大学/半熟仮想株式会社の齋藤優太さんとの共同研究成果であり、IJCAI2022に採択されています。論文のリンクはこちらです。

 

推薦システムとデータの欠損メカニズム

推薦システムにおいては、ユーザーに関連のあるアイテムを適切に推薦できるよう、予測器を高精度で学習することが重要となります。これが推薦システムにおいて困難になる理由としては、一般にデータの欠損メカニズムがランダムではない(missing-not-at-random; MNAR)ことが挙げられます。具体的には、過去の推薦システムが人気のアイテムをより高い確率で推薦していたり、ユーザーが好みのアイテムを評価しやすいといった理由から、観測されるデータはバイアスを持ったものになってしまっています。

 

問題設定

いまやりたいことの定式化を行います。\(u \in [m]\)をユーザー、\(i \in [n]\)をアイテムとし、\(\mathcal{D} := [m] \times [n]\)をユーザーとアイテムのペアとします。そして、\({\bf R} \in \mathbb{R}^{m \times n}\)を真のレーティング行列とします。

ここでの目的はより良い予測行列\(\hat{{\bf R}}\)を得ることです。そこで、\(\ell(\cdot, \cdot): \mathbb{R} \times \mathbb{R} \mapsto [0, \Delta]\)として、真に最小化したい損失関数を以下で定義します。

$$\mathcal{L}^{\ell}_{ideal} ( \widehat{\boldsymbol{R}} ) := \frac{1}{mn} \sum_{(u,i) \in \mathcal{D}} \ell (R_{u,i}, \hat{R}_{u,i} ).$$

ここで欠損メカニズムを正確に記述するため、後に使用する2つの行列を導入しておきます。1つ目が傾向行列で、\({\bf P} \in \mathcal{P}\)と書きます。ここで\(\mathcal{P}\)は\(D\)上の確率分布の集合です。もう1つは観測行列\(\boldsymbol{O} \in \{ 0,1 \}^{m \times n}\)であり、\(\mathbb{E}[O_{u,i}] = P_{u,i}\)です。\(O_{u,i} = 1\)のときはユーザーとアイテムのペアが観測されたことを表し、\(O_{u,i} = 0\)のときは観測されていないことを表します。

 

既存手法
最も基本的な方法として、以下で定義されるNaive推定量があります。

$$\mathcal{\hat{L}}^{\ell}_{naive} ( \widehat{\boldsymbol{R}}; \boldsymbol{O} ) := \frac{1}{\sum_{(u,i) \in \mathcal{D}} O_{u,i}} \sum_{(u,i) \in \mathcal{D}} O_{u,i} \cdot \ell (R_{u,i}, \hat{R}_{u,i} ).$$

Naive推定量は観測されたユーザー/アイテムのペア\((u,i)\)の損失について単に平均をとったものです。これはもし欠損メカニズムが完全にランダム(missing-completely-at-random; MCAR)であれば有効なアプローチですが、そうでない場合には一般にバイアスされた推定量となり、精度が悪化する原因となります。

Naive推定量より優れた方法として、傾向スコア\(P_{u,i}\)を用いた補正を行う手法であるInverse Propensity Score (IPS)推定量があります。

$$\mathcal{\hat{L}}^{\ell}_{IPS} ( \widehat{\boldsymbol{R}}; \boldsymbol{O} ) := \frac{1}{mn} \sum_{(u,i) \in \mathcal{D}} O_{u,i} \cdot \frac{\ell (R_{u,i}, \hat{R}_{u,i} )}{P_{u,i}}.$$

これは真の損失に対して不偏な推定量となっています(つまり,\(\mathbb{E}[\mathcal{\hat{L}}^{\ell}_{IPS}] = \mathcal{L}^{\ell}_{ideal}\))。しかし、この不偏性が保証されるのは真の傾向スコアが利用可能な場合のみであり、一般に推薦システムでは利用できません。既存手法ではこの傾向スコアを推定するためにMCARデータを利用していました。しかし、元々IPS推定量はMCARデータが存在しない状況で真の損失を推定するために用いられた方法であることを考えると、MCARデータを利用することはそのモチベーションに矛盾しているといえます。

 

提案手法

そこで本研究では、傾向スコアやMCARデータに依存しない理論とアルゴリズムの構築を行いました。ドメイン適応的な方法により真の損失の上界を導出した上で、それに基づいた次の目的関数の最小化を行います。

$$
\min_{\widehat{\boldsymbol{R}} \in \mathcal{H}}
\underbrace{\mathcal{\hat{L}}^{\ell}_{naive} ( \widehat{\boldsymbol{R}}; \boldsymbol{O}_{MNAR} )}_{\text{naive loss on MNAR training data}}+ \beta \cdot \underbrace{\psi_{\widehat{\boldsymbol{R}}, \mathcal{H}} (\boldsymbol{O}_{MCAR}, \boldsymbol{O}_{MNAR} )}_{\text{discrepancy}}.
$$

ここで\(\psi_{\widehat{\boldsymbol{R}}, \mathcal{H}}\)は2つの傾向行列の異なり具合を定量化したものです。\(\psi_{\widehat{\boldsymbol{R}}, \mathcal{H}}\)や他のパラメータの正式な定義などは論文をご参照ください。重要なこととしては、この目的関数は傾向スコアやMCARデータに依存しておらず、傾向スコアを推定することなくモデルを学習することが可能となっています。

実験では、MCARデータが全く存在しないという現実的な設定においてNaive推定量やIPS推定量を用いて学習された行列分解モデルより正確なレーティング予測が可能になることが確認されました。

 

最後に

欠損メカニズムがランダムでないデータのみから学習を行う手法について紹介しました。手法の詳細や数値実験の結果などについては論文をご参照ください。また、今回我々が対象としていた明示的フィードバックを用いた推薦システム構築については、施策デザインのための機械学習入門の3章により詳細な説明がありますのでそちらもご覧ください。

 

Author

アバター
nomura