论文《Causal Inference for Recommender Systems》阅读
- 论文概况
- 论文动机(Introduction)
- Methodology
- Preliminaries
- Classical Causal Inference & Causal Adjustment
- Deconfounded Recommender
- 总结
论文概况
今天给大家带来的是发表在推荐系统顶会 RecSys 2020 上的文章《Causal Inference for Recommender Systems》,文章聚焦 推荐系统中 曝光 (exposure) 和 评分(rating)之间的偏差问题,通过因果推断,完成了模型 Deconfounded Recommder 。
论文动机(Introduction)
在 Intro 部分,作者着重强调了当前主流推荐系统的不合理的地方,即
推荐系统推荐的核心是:用户看了电影以后会如何评分? 但这实际上是不经济不合理的,因为实际上应该给用户推荐的是用户没看过但是想去看的物品。
作者形象地将这一问题比喻为临床试验,相当于随机地给患者(用户)进行诊断(电影的曝光),然后要求患者对诊断给出反应(评分)。
这一现象的核心在于,一般用户看电影是有目的去看的,那么根据用户看过的电影的评分去判断用户喜好这一行为本身就是存在bias的。驱使用户去看某一点用的出发点,可能是电影导演,可能是电影类型,更多情况下,可能是没法儿测量的。
针对上述问题,作者提出了 deconfounded recommender模型,基于矩阵分解模型去除 unobserved confounder 。作者首先将作者对物品的交互分成两步:(1)曝光 exposure;(2)评分 rating。
由于用户只能对看过的电影进行打分,即评分这一行为是有偏的,这一行为将 exposure 和 rating 耦合在一起。后续的操作也是根据这两个步骤具体进行操作的。
Methodology
Preliminaries
作者使用 a u i a_{ui} aui 作者是否用户对物品进行了评分, y u i ( 1 ) y_{ui}(1) yui(1) 用于表示 用户 u u u 在看过 电影 i i i 的情况下给出的评分( y u i ( 1 ) ≠ 0 y_{ui}(1) \neq 0 yui(1)=0 当且仅当 用户看过之后且进行了评分)。 y u i ( 0 ) y_{ui}(0) yui(0) 表示用户 u u u 没看过电影 i i i(一般情况下, y u i ( 0 ) = 0 y_{ui}(0) = 0 yui(0)=0 )。
作者将数据集分成两部分:
(一)曝光数据集(binary,非0即1),具体形式表现为: { a u i , u = 1 , 2 , ⋯ , U , i = 1 , 2 , ⋯ , I } \{a_{ui}, u = 1, 2, \cdots, U, i=1, 2, \cdots, I\} {aui,u=1,2,⋯,U,i=1,2,⋯,I} 用于表示用户是否看过电影。
(二)评分数据集,具体为 { y u i f o r ( u , i ) s u c h t h a t a u i = 1 } \{y_{ui} \ for (u, i)\ \mathrm{such\ that \ a_{ui} = 1 } \} {yui for(u,i) such that aui=1}
推荐系统预测目标应该为 针对 a u i = 0 a_{ui} = 0 aui=0 的 ( u , i ) (u,i) (u,i),预测 y u i ( 1 ) y_{ui}(1) yui(1) 并推荐影片。即给未交互用户物品对预测评分。
针对上述目标,给出对应的矩阵分解模型如下:
y u i ( a ) = θ u ⊤ β i ⋅ a + ϵ u i , ϵ u i N ( 0 , σ 2 ) , (1) y_{ui}(a) = \boldsymbol{\theta}_u^\top \boldsymbol{\beta}_i \cdot a + \epsilon_{ui}, \qquad \epsilon_{ui} ~ \mathcal{N}(0, \sigma^2), \tag{1} yui(a)=θu⊤βi⋅a+ϵui,ϵui N(0,σ2),(1)
当 a = 1 a=1 a=1,均值为 θ u ⊤ β i \boldsymbol{\theta}_u^\top \boldsymbol{\beta}_i θu⊤βi。当 a = 0 a=0 a=0,分布为标准正态分布。
Classical Causal Inference & Causal Adjustment
作者这里提出一个 Ignorability(可忽略性?不知道怎么翻比较合适),要求对于任意用户 u u u,满足 { y u ( 0 ) , y u ( 0 ) } ⊥ ⊥ a u \{\mathbf{y}_{u}(0), \mathbf{y}_{u}(0)\} \perp\!\!\!\! \perp \mathbf{a}_{u} {yu(0),yu(0)}⊥⊥au,其中, y u ( a ) = ( y u 1 ( a ) , y u 2 ( a ) , ⋯ , y u I ( a ) ) \mathbf{y}_{u}(a)=( y_{u1}(a), y_{u2}(a), \cdots, y_{uI}(a) ) yu(a)=(yu1(a),yu2(a),⋯,yuI(a))
a u = ( a u 1 , a u 2 , ⋯ , a u I ) \mathbf{a}_{u} = (a_{u1}, a_{u2}, \cdots, a_{uI}) au=(au1,au2,⋯,auI)。
上述要求即保证电影 i i i 是否 曝光给 用户 u u u,用户给出的对应评分都应与用户的观影历史无关。
矩阵分解一类的方法显然是无法做到的。
那么如何去偏呢?作者给出方案,假设我们得到一个针对每个用户的confounder w u \mathbf{w}_u wu,那么就可以满足 { y u ( 0 ) , y u ( 0 ) } ⊥ ⊥ a u ∣ w u \{\mathbf{y}_{u}(0), \mathbf{y}_{u}(0)\} \perp\!\!\!\! \perp \mathbf{a}_{u} \mid \mathbf{w}_u {yu(0),yu(0)}⊥⊥au∣wu。对于预测,则相应改为下式:
y u i ( a ) = θ u ⊤ β i ⋅ a + η ⊤ w u + ϵ u i , ϵ u i N ( 0 , σ 2 ) , (2) y_{ui}(a) = \boldsymbol{\theta}_u^\top \boldsymbol{\beta}_i \cdot a + \boldsymbol{\eta}^{\top}\mathbf{w}_u + \epsilon_{ui}, \quad \epsilon_{ui} ~ \mathcal{N}(0, \sigma^2), \tag{2} yui(a)=θu⊤βi⋅a+η⊤wu+ϵui,ϵui N(0,σ2),(2)
这一过程需要得到所有用户的 confounder w u \mathbf{w}_u wu,这显示是做不到的。
Deconfounded Recommender
由上面的内容,作者提出了 去混淆推荐模型 (Deconfounded Recommender, DCR)。
作者利用 曝光 数据计算 不可观测的 Confounder w u \mathbf{w}_u wu。
这一过程被称为 多重因果推理 (multiple causal inference)。假设对于用户 u u u 对 任意物品 i ∈ I i \in I i∈I 的曝光数据 a u i a_{ui} aui 作为一个 treatment,那么针对一个用户,就包含 I I I 个 treatment。 y u ( 1 ) \mathbf{y}_{u}(1) yu(1) 作为输出,是一个 I I I 维向量,只有部分评分数据能够观测。因此,作者利用 泊松分解(Poisson Factorization, PF)拟合 曝光数据,并填补空白数据,用于去掉bias。具体如下:
a u i ∣ π u , λ i ∼ Poisson ( π u ⊤ λ i ) , ∀ u , i , (3) a_{u i} \mid \pi_u, \lambda_i \sim \operatorname{Poisson}\left(\pi_u^{\top} \lambda_i\right), \forall u, i,\tag{3} aui∣πu,λi∼Poisson(πu⊤λi),∀u,i,(3)
其中, π u ∼ i i d Gamma ( c 1 , c 2 ) and λ i ∼ iid Gamma ( c 3 , c 4 ) \pi_u \stackrel{i i d}{\sim} \operatorname{Gamma}\left(c_1, c_2\right) \text { and } \lambda_i \stackrel{\text { iid }}{\sim} \operatorname{Gamma}\left(c_3, c_4\right) πu∼iidGamma(c1,c2) and λi∼ iid Gamma(c3,c4),即拟合数据得到由 π u \pi_u πu 和 λ i \lambda_i λi 控制的泊松分布曲线。根据曲线,就可以计算得到符合分布的重新计算的曝光矩阵 a ^ \hat{\mathbf{a}} a^,如下所示:
a ^ u i = E P F [ π u ⊤ λ i ∣ a ] . (4) \hat{a}_{u i}=\mathbb{E}_{\mathrm{PF}}\left[\pi_u^{\top} \lambda_i \mid a\right].\tag{4} a^ui=EPF[πu⊤λi∣a].(4)
将补充得到的去偏的评分数据 a ^ \hat{\mathbf{a}} a^ 融入PMF模型,得到新的预测函数如下:
y u i ( a ) = θ u ⊤ β i ⋅ a + γ u ⋅ a ^ u i + ϵ u i , ϵ u i ∼ N ( 0 , σ 2 ) , (5) y_{u i}(a)=\theta_u^{\top} \beta_i \cdot a+\gamma_u \cdot \hat{a}_{u i}+\epsilon_{u i}, \quad \epsilon_{u i} \sim \mathcal{N}\left(0, \sigma^2\right), \tag{5} yui(a)=θu⊤βi⋅a+γu⋅a^ui+ϵui,ϵui∼N(0,σ2),(5)
这里, γ u \gamma_u γu 是 用户 u u u 混淆因子 的 宏参系数。
进一步地,在PMF的基础上,作者重新设计outcome函数如下:
y u i ( a ) ∼ p ( ⋅ ∣ m ( θ u ⊤ β i , a ) , v ( θ u ⊤ β i , a ) ) , y_{u i}(a) \sim p\left(\cdot \mid m\left(\theta_u^{\top} \beta_i, a\right), v\left(\theta_u^{\top} \beta_i, a\right)\right), yui(a)∼p(⋅∣m(θu⊤βi,a),v(θu⊤βi,a)),
其中, m ( θ u ⊤ β i , a ) m\left(\theta_u^{\top} \beta_i, a\right) m(θu⊤βi,a)表示均值, v ( θ u ⊤ β i , a ) v\left(\theta_u^{\top} \beta_i, a \right) v(θu⊤βi,a)表示方差。
上式可以改成多种形式,包括概率分布形式,weighted MF,PMF等。
具体地,作者使用下式作为主要的 output 函数:
y u i ( a ) ∼ p ( ⋅ ∣ m ( θ u ⊤ β i , a ) + γ u a ^ u i + β 0 , v ( θ u ⊤ β i , a ) ) . y_{u i}(a) \sim p\left(\cdot \mid m\left(\theta_u^{\top} \beta_i, a\right)+\gamma_u \hat{a}_{u i}+\beta_0, v\left(\theta_u^{\top} \beta_i, a\right)\right) . yui(a)∼p(⋅∣m(θu⊤βi,a)+γua^ui+β0,v(θu⊤βi,a)).
函数整体流程如算法所示:
总结
本文从 反事实推理 的角度出发,通过将 exposure 和 rating 进行区分,将推荐系统中基于矩阵分解的 explicit rating 模型进行了优化。