参考链接
概述
数据中存在多种多样的偏差,包括但不限于选择偏差(selection bias)、位置偏差(position bias)、曝光偏差(exposure bias)和流行度偏差(popularity bias)。盲目地拟合数据,而忽视这些数据内部的偏差会导致很多问题,比如离线评估和在线指标的差异、伤害用户的对推荐服务的满意度和信任等。要将大量的研究模型转为实际的提升,迫切需要解决这些偏差的影响,必要时需要去除偏差。
推荐系统中偏差是无处不在的,因为
(1)推荐模型训练所依赖的用户行为数据,是观测性的而不是实验性的。用户产生行为是基于曝光的物品,使得观测到的数据混合了系统的曝光机制和用户的自我选择。
(2)物品没有没有被平等地展示,比如流行的物品会有更多的用户行为。这导致了推荐结果会偏向它们。
(3)推荐系统的特性是反馈环(feedback loop)——推荐系统的曝光机制会损害用户的行为,这些行为又反馈给推荐系统作为训练数据,如此循环不但会导致偏差而且会加剧偏差,导致马太效应。
用户和推荐系统在一个反馈环中共同进化,用户的兴趣和行为会收到推荐结果的影响,而用户在新的推荐结果上的反馈又会进一步影响推荐模型的训练:
-
用户到数据阶段。即从用户收集数据的阶段,包括用户-物品交互记录和其他副信息(如用户画像、物品属性等)。用户反馈包括点击和购买等隐式反馈,和评分等显式反馈。
-
数据到模型阶段。即基于收集到的数据训练推荐模型,核心是从历史交互记录中学习用户的偏好。大部分的研究集中在这个阶段。
-
模型到用户阶段。即模型返回推荐结果给用户,该阶段会影响用户未来的行为和决策。
本文总结了7种类型的偏差,包括它们的定义和特性,也对推荐系统去偏差的现有工作进行了分类,并提出了开放型的挑战和展望。
7种偏差
数据中的偏差,出现在用户到数据阶段,分为:显示反馈中的选择偏差(selection bias)和一致性偏差(conformity bias);隐式反馈中的曝光偏差(exposure bias)和位置偏差(position bias)。
显示反馈数据中的偏差
选择偏差
选择偏差是因为用户可以自由选择要评分的哪些物品,因此观测到的评分不是所有评分的代表性样本。换句话说,评分数据通常不是随机丢失的(MNAR)。
下图是Marlin等做的一个验证实验,他们收集了一些用户对随机选择的物品的评分(左图)以及一些用户根据自己的意愿选择物品进行的评分(右图)。
结果表明:1)用户更喜欢选择他们喜欢的物品进行评分;2)用户更喜欢对特别好或特别差的物品进行评分。
因此,选择偏差是观测数据固有的偏差,观测到的评分数据分布不同于所有评分的分布(对比左右图可见)。
一致性偏差
一致性偏差是指用户趋向于同他一个群体的用户评相似的分数(比如受到朋友的影响),尽管这可能违背了用户自身的判断,这使得这些评分无法反映用户的真实偏好。
隐式反馈数据中的偏差
曝光偏差
曝光偏差是因为只有一部分物品曝光给用户,所以没有产生交互的物品并不一定是用户不喜欢的(即负样本)。
之前的研究已经探究了几种维度的曝光偏差:1)曝光受到推荐系统推荐策略的影响,因此一些研究也将曝光偏差称为“先验的模式偏差”(previous mode bias);2)因为用户可能会积极地搜索和寻找感兴趣的物品,所以用户的选择也是曝光的一个因素,使得高相关度的物品更可能被曝光。因此,曝光偏差也称为选择偏差;3)用户的背景是另一个影响曝光的因素,比如社交朋友、所属社区和地域等;4)流行物品更可能被用户看到,因此流行度偏差是曝光偏差另一种形式。为了避免混淆,本文只采用开始的定义。
位置偏差
位置偏差指用户更喜欢与推荐列表总排序更靠前的物品交互,而无论它们真实的相关度(用户的偏好程度)如何,所以产生交互的物品也许并不是很相关的,这些交互数据就不能真实地反映用户的偏好。
模型中的偏差
感应偏差(Inductive Bias)
感应偏差是指模型为更好地学习目标函数并在训练数据之上进行泛化所做的假设。即构建一个推荐系统需要在目标函数上加一些假设,比如假设交互可以通过embedding的内积来估计、过采样困难样本提升训练效率、假设用户和物品的embedding为二进制的以提升推荐效率。
结果中的偏差
流行度偏差(Popularity Bias)
流行度偏差指流行物品被推荐得更频繁,甚至超过它原本的流行度。
物品的交互次数成长尾分布,即极少数的流行物品占据了大部分交互。在这样的数据上进行训练,模型会趋向于给流行物品更高的分数。如果忽略流行度偏差,会导致很多问题:1)降低了推荐的个性化和惊喜性,特别是那些只喜欢小众物品的用户;2)降低了推荐结果的公平性,因为过分地推荐流行物品会减少其他物品的曝光率,哪怕这些不流行的物品非常好,这对于不流行的物品是不公平的;3)流行度偏差会进一步提升流行物品的曝光率,使其变得更流行,收集到的交互数据会变得更不平衡,导致马太效应。
不公平性(Unfairness)
不公平性指该系统有系统地和不公平地歧视某些个人或群体。具体地,基于种族、性别、年龄、教育水平或财富等属性,不同的用户组通常在数据中表示不平等。使用这种不平衡的数据进行训练,模型就更可能学习代表数(样本数)过多的群体,并反映在推荐结果上,潜在地导致了系统性的歧视和减少了劣势群体的可见性。例如,有研究表明,在工作推荐中,女性看到更少的高薪广告和职业指导服务。类似地,在社交网络中的朋友推荐,也许会加深对多数人的历史偏见,防止少数民族成为具有很高影响力的社会影响者。、
去偏差的方法
针对选择偏差
从评估方式上解决选择偏差
传统的评估方式通常只使用所观测到的交互。
H ^ n a i v e ( r ^ ) = 1 ∣ { ( u , i ) : O u , i = 1 } ∣ ∑ ( u , i ) : O u , i = 1 δ u , i ( r , r ^ ) \hat{H}_{naive}\left ( \hat{r}\right )=\frac{1}{\left | \left \{\left ( u,i\right ):O_{u,i}=1\right \}\right |}\sum_{\left ( u,i\right ):O_{u,i}=1}^{}\delta _{u,i}\left ( r,\hat{r}\right ) H^naive(r^)=∣{(u,i):Ou,i=1}∣1∑(u,i):Ou,i=1δu,i(r,r^)
但这不是真实表现的无偏估计,即
E O [ H ^ n a i v e ( r ^ ) ] ≠ H ( r ^ ) E_{O}\left [ \hat{H}_{naive}\left ( \hat{r}\right )\right ]\neq H\left ( \hat{r}\right ) EO[H^naive(r^)]=H(r^)
这是选择偏差造成的,使观测的评分不是所有评分的代表样本。有如下两种解决方法:
倾向分数(Propensity Score)
即用逆倾向分数(inverse propensity score)加权观测数据。倾向分数 P u , i P_{u,i} Pu,i被定义为观测到一个评分的边际概率,即 P u , i = P ( O u , i = 1 ) P_{u,i}=P\left ( O_{u,i}=1\right ) Pu,i=P(Ou,i=1)。如此,对于一个用户-物品对 ( u , i ) \left ( u,i\right ) (u,i),就可以低效选择偏差。新的评估方式定义为:
H ^ I P S ( r ^ ∣ P ) = 1 n m ∑ ( u , i ) : O ( u , i ) = 1 δ u , i ( r , r ^ ) P u , i \hat{H}_{IPS}\left ( \hat{r}|P\right )=\frac{1}{nm}\sum_{\left ( u,i\right ):O\left ( u,i\right )=1}^{}\frac{\delta _{u,i}\left ( r,\hat{r}\right )}{P_{u,i}} H^IPS(r^∣P)=nm1∑(u,i):O(u,i)=1Pu,iδu,i(r,r^)
这样,评估方式就是理想指标的无偏估计了:
E O [ H ^ I P S ( r ^ ∣ P ) ] = 1 n m ∑ u ∑ i E O u , i [ δ u , i ( r , r ^ ) P u , i O u , i ] = 1 n m ∑ u ∑ i δ u , i ( r , r ^ ) = H ( r ^ ) E_{O}\left [ \hat{H}_{IPS}\left ( \hat{r}|P\right )\right ]=\frac{1}{nm}\sum_{u}\sum_{i}E_{O_{u,i}}\left [ \frac{\delta _{u,i}\left ( r,\hat{r}\right )}{P_{u,i}}O_{u,i}\right ]\\ =\frac{1}{nm}\sum_{u}\sum_{i}\delta _{u,i}\left ( r,\hat{r}\right )=H\left ( \hat{r}\right ) EO[H^IPS(r^∣P)]=nm1∑u∑iEOu,i[Pu,iδu,i(r,r^)Ou,i]=nm1∑u∑iδu,i(r,r^)=H(r^)
但是只有真实的倾向值 P u , i P_{u,i} Pu,i是可用的才能采用这种方法。
ATOP
ATOP建立在两个假设之上:1)观测数据中随机缺失相关(高)评分值;2)关于其他的评分值,允许一个任意的数据缺失机制,只要它们缺失的概率高于相关(高)评分值。
ATOP被定义为:
T
O
P
K
u
o
b
s
(
k
)
=
N
u
+
,
o
b
s
,
k
N
u
+
,
o
b
s
TOPK_{u}^{obs}\left ( k\right )=\frac{N_{u}^{+,obs,k}}{N_{u}^{+,obs}}
TOPKuobs(k)=Nu+,obsNu+,obs,k
T
O
P
K
o
b
s
(
k
)
=
∑
u
w
u
T
O
P
K
u
o
b
s
(
k
)
TOPK^{obs}\left ( k\right )=\sum_{u}w^{u}TOPK_{u}^{obs}\left ( k\right )
TOPKobs(k)=∑uwuTOPKuobs(k)
A
T
O
P
o
b
s
=
∫
0
1
T
O
P
K
o
b
s
(
k
)
d
k
ATOP^{obs}=\int_{0}^{1}TOPK^{obs}\left ( k\right )dk
ATOPobs=∫01TOPKobs(k)dk
其中, N u + , o b s N_{u}^{+,obs} Nu+,obs表示观测到的用户 u u u的相关物品数量, N u + , o b s , k N_{u}^{+,obs,k} Nu+,obs,k表示在top k中相关物品的数量。经证明, A T O P u o b s ATOP_{u}^{obs} ATOPuobs是平均召回率的无偏估计,且与所有用户的平均准确率成比例。
但ATOP必须建立在两个假设之上,假设不满足时不可用。
在模型训练时解决选择偏差
数据补全(Data Imputation)
由于选择偏差是用户自由选择评分物品造成的,因此一种缓解选择偏差的方式是同时考虑评分预测任务和缺失数据预测任务。
同时训练缺失数据模型和评分模型会使模型变得复杂,所以提出了一些轻量级的数据补全策略。例如Steck等直接用具体的值 r o r_{o} ro补全缺失数据,并使用下面的目标函数:
a r g min θ ∑ u , i W u , i ⋅ ( r u , i o & i − r ^ u , i ( θ ) ) + R e g ( θ ) arg\min_{\theta }\sum_{u,i}W_{u,i}\cdot \left ( r_{u,i}^{o&i}-\hat{r}_{u,i}\left ( \theta \right )\right )+Reg\left ( \theta \right ) argminθ∑u,iWu,i⋅(ru,io&i−r^u,i(θ))+Reg(θ)
其中, r u , i o & i r_{u,i}^{o&i} ru,io&i表示观测的或补全的数据, W u , i W_{u,i} Wu,i被用于降低补全数据的权重。
但这种缺失数据模型或补全评分值的方法只是一种启发式的方式,容易导致不好的效果。
倾向分数(Propensity Score)
逆倾向分数也可以用在训练模型的时候去减少选择偏差。直接使用基于逆倾向分数的评估指标作为目标函数:
a r g min θ ∑ O u , i = 1 δ ^ u , i ( r , r ^ ( θ ) ) P u , i + R e g ( θ ) arg\min_{\theta }\sum_{O_{u,i}=1}\frac{\hat{\delta }_{u,i}\left ( r,\hat{r}\left ( \theta \right )\right )}{P_{u,i}}+Reg\left ( \theta \right ) argminθ∑Ou,i=1Pu,iδ^u,i(r,r^(θ))+Reg(θ)
但这种方式的表现依然严重依赖倾向分数的定义,容易导致不好的效果。
双重鲁棒模型(Doubly Robust Model)
双重鲁棒模型就是综合了基于数据补全的模型和基于倾向分数的模型。目标函数定义如下:
ϵ D R = ϵ D R ( r ^ , r o ) = 1 n m ∑ u , i ( e ^ u , i + o u , i d u , i p ^ u , i ) \epsilon _{DR}=\epsilon _{DR}\left ( \hat{r},r^{o}\right )=\frac{1}{nm}\sum_{u,i}\left ( \hat{e}_{u,i}+\frac{o_{u,i}d_{u,i}}{\hat{p}_{u,i}}\right ) ϵDR=ϵDR(r^,ro)=nm1∑u,i(e^u,i+p^u,iou,idu,i)
其中 e ^ u , i = δ u , i ( r o , r ^ u , i ) \hat{e}_{u,i}=\delta _{u,i}\left ( r_{o},\hat{r}_{u,i}\right ) e^u,i=δu,i(ro,r^u,i)表示预测评分与补全评分的补全误差, d u , i = e ^ u , i − δ u , i ( r , r ^ ) d_{u,i}=\hat{e}_{u,i}-\delta _{u,i}\left ( r,\hat{r}\right ) du,i=e^u,i−δu,i(r,r^)表示补全误差与预测误差的差值。
元学习(Meta Learning)
Saito等提出基于非对称的三重训练框架的元学习方法。他们先用两个特定的推荐模型预训练两个预测器( A 1 , A 2 A_{1},A_{2} A1,A2),生成一个伪评分数据构成的可信数据集,然后用这些伪评分训练目标推荐模型 A 0 A_{0} A0。
但是,这个方法的效果取决于预训练的预测器 A 2 A_{2} A2的质量。
针对一致性偏差
一致性偏差是用户经常被他人的观点影响,有两种类型的方法解决。
用户评分与公众观点一致
Liu等直接在基础推荐模型中利用三种重要的特征 c u i , a u i , d u i c_{ui},a_{ui},d_{ui} cui,aui,dui。其中, c u i c_{ui} cui是在用户 u u u评分物品 i i i前,物品 i i i的评分数; a u i a_{ui} aui是平均评分; d u i d_{ui} dui是评分分布。然后,用XGBoost得到预测分数。
r ^ u , i = x g b ( { ( 1 − w ) ⋅ t u i + w ⋅ a u i , c u i , a u i , d u i } , Θ x g b ) \hat{r}_{u,i}=xgb\left ( \left \{\left ( 1-w\right )\cdot t_{ui}+w\cdot a_{ui},c_{ui},a_{ui},d_{ui}\right \},\Theta _{xgb}\right ) r^u,i=xgb({(1−w)⋅tui+w⋅aui,cui,aui,dui},Θxgb)
其中, t u i t_{ui} tui表示基础推荐模型的预测值, w w w控制一致性强度。
将用户评分值作为用户偏好和社交影响的综合结果
直接利用基础推荐模型中的社交因素去生成最终评分,引入特定的参数控制社交一致性偏差的影响。
针对曝光偏差
曝光偏差是因为用户只看到了有限的物品,被被看到的物品不一定是负样本。
从评估方式上解决曝光偏差
一种直接的方式依然是使用倾向分数。Yang等提出用逆倾向分数为隐式反馈数据的每一条观测加权。直觉上,应该降低经常被观测到的交互的权重,同时提高罕见的交互的权重。因此,基于逆倾向分数的无偏评价指标被定义为:
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 \hat{R}_{IPS}\left ( \hat{Z}|P\right )=\frac{1}{\left | U\right |}\sum_{u\in U}\frac{1}{\left | S_{u}\right |}\sum_{i\in S_{u}^{*}}\frac{c\left ( \hat{Z}_{u,i}\right )}{P_{u,i}}\\ =\frac{1}{\left | U\right |}\sum_{u\in U}\frac{1}{\left | S_{u}\right |}\sum_{i\in S_{u}}\frac{c\left ( \hat{Z}_{u,i}\right )}{P_{u,i}}\cdot O_{u,i} R^IPS(Z^∣P)=∣U∣1∑u∈U∣Su∣1∑i∈Su∗Pu,ic(Z^u,i)=∣U∣1∑u∈U∣Su∣1∑i∈SuPu,ic(Z^u,i)⋅Ou,i
在模型训练时解决曝光偏差
一种常见的方式是将所有的未观测到的交互视为负样本,并确定它们的置信度。大部分这样的模型的目标函数如下:
min θ ∑ u , i W u , i δ ( x u i , r ^ u i ( θ ) ) + R e g ( θ ) \min_{\theta }\sum_{u,i}W_{u,i}\delta \left ( x_{ui},\hat{r}_{ui}\left ( \theta \right )\right )+Reg\left ( \theta \right ) minθ∑u,iWu,iδ(xui,r^ui(θ))+Reg(θ)
其中, W u , i W_{u,i} Wu,i表示置信度。置信度的确定对模型的效果是很重要的,可以分为三种类型:
启发式的(Heuristic)
比如WMF和动态MF分配给未观测交互一个统一的权重,即对于 x u i = 1 x_{ui}=1 xui=1, W u i = 1 W_{ui}=1 Wui=1;对于 x u i = 0 x_{ui}=0 xui=0, W u i = c ( 0 < c < 1 ) W_{ui}=c\left ( 0< c< 1\right ) Wui=c(0<c<1)。
还有一些基于用户的活跃度水平,即 W u i = c u , c u ∝ ∑ i x u i W_{ui}=c_{u},c_{u}\propto \sum_{i}x_{ui} Wui=cu,cu∝∑ixui。类似地,还可以考虑物品的流行度,用户-物品的特征相似度等。
Satio等启发式地定义理想损失函数如下:
L
i
d
e
a
l
(
θ
)
=
1
n
m
∑
[
r
u
,
i
δ
(
1
,
r
^
u
,
i
)
+
(
1
−
r
u
,
i
)
δ
(
0
,
r
^
u
,
i
)
]
L_{ideal}\left ( \theta \right )=\frac{1}{nm}\sum \left [ r_{u,i}\delta \left ( 1,\hat{r}_{u,i}\right )+\left ( 1-r_{u,i}\right )\delta \left ( 0,\hat{r}_{u,i}\right )\right ]
Lideal(θ)=nm1∑[ru,iδ(1,r^u,i)+(1−ru,i)δ(0,r^u,i)]
其中,每条用户-物品交互使用偏好程度 r u i r_{ui} rui加权。
对于隐式反馈,通过结合倾向分数得到一个代理评估函数:
L ^ s u r ( θ ) = 1 n m ∑ u , i [ x u i ( 1 P u i δ ( 1 , r ^ u , i ) + ( 1 − 1 P u i δ ( 0 , ) r ^ u , i ) ) + ( 1 − x u , i ) δ ( 0 , r ^ u , i ) ] \hat{L}_{sur}\left ( \theta \right )=\frac{1}{nm}\sum_{u,i}\left [x_{ui} \left ( \frac{1}{P_{ui}}\delta \left ( 1,\hat{r}_{u,i}\right )+\left ( 1-\frac{1}{P_{ui}}\delta \left ( 0,\right )\hat{r}_{u,i}\right )\right )+\left ( 1-x_{u,i}\right )\delta \left ( 0,\hat{r}_{u,i}\right )\right ] L^sur(θ)=nm1∑u,i[xui(Pui1δ(1,r^u,i)+(1−Pui1δ(0,)r^u,i))+(1−xu,i)δ(0,r^u,i)]
这是理想损失函数的无偏估计。
但是,这种启发式地决定置信度通常需要人们的经验和大量的计算资源。而且,对于百万级的数据,人工设置一个置信度是不现实的。
采样(Sampling)
采样策略决定了哪些数据、是否频繁被用于更新参数。用采用策略训练的推荐模型的目标函数如下:
E ( u , i ) ∼ p [ δ ( x u i , r ^ u i ( θ ) ) ] = ∑ u , i p u i δ ( x u i , r ^ u i ( θ ) ) E_{\left ( u,i\right )\sim p}\left [ \delta \left ( x_{ui},\hat{r}_{ui}\left ( \theta \right )\right )\right ]=\sum_{u,i}p_{ui}\delta \left ( x_{ui},\hat{r}_{ui}\left ( \theta \right )\right ) E(u,i)∼p[δ(xui,r^ui(θ))]=∑u,ipuiδ(xui,r^ui(θ))
基于曝光的模型(Exposure-based Model)
这种模型能够捕获一个物品有多大概率被曝光给用户。比如,EXMF引入了一个曝光变量,并假设隐式反馈的产生过程如下:
a u i ∼ B e r n o u l l i ( η u i ) ( x u i ∣ a u i = 1 ) ∼ B e r n o u l l i ( r ^ ( θ ) ) ( x u i ∣ a u i = 0 ) ∼ δ 0 a_{ui}\sim Bernoulli\left ( \eta _{ui}\right )\\ \left ( x_{ui}\mid a_{ui}=1\right )\sim Bernoulli\left ( \hat{r}\left ( \theta \right )\right )\\ \left ( x_{ui}\mid a_{ui}=0\right )\sim \delta _{0} aui∼Bernoulli(ηui)(xui∣aui=1)∼Bernoulli(r^(θ))(xui∣aui=0)∼δ0
其中, a u i a_{ui} aui表示用户 u u u是否已经看过了物品 i i i, δ 0 \delta _{0} δ0表示 δ \delta δ函数
p ( x u i = 0 ∣ a u i = 0 ) = 1 p\left ( x_{ui}=0\mid a_{ui}=0\right )=1 p(xui=0∣aui=0)=1
η u i \eta _{ui} ηui是曝光的先验概率。当 a u i = 0 a_{ui}=0 aui=0,有 x u i ≈ 0 x_{ui}\approx 0 xui≈0,因为当用户没见过这个物品,那么他肯定不能跟它交互。当 a u i = 1 a_{ui}=1 aui=1时,即用户能看到这个物品,他会决定是否要交互。
EXMF的目标函数如下:
∑ u i γ u i δ ( x u i , r ^ u i ( θ ) ) + ∑ u i g ( γ u i ) \sum_{ui}\gamma _{ui}\delta \left ( x_{ui},\hat{r}_{ui}\left ( \theta \right )\right )+\sum_{ui}g\left ( \gamma _{ui}\right ) ∑uiγuiδ(xui,r^ui(θ))+∑uig(γui)
其中, γ u i \gamma _{ui} γui定义为用户曝光率的变量参数。
g ( γ u i ) = ( 1 − γ u i ) l ( x u i , ϵ ) + l ( γ u i , η u i ) − l ( γ u i , γ u i ) g\left ( \gamma _{ui}\right )=\left ( 1-\gamma _{ui}\right )l\left ( x_{ui},\epsilon \right )+l\left ( \gamma _{ui},\eta _{ui}\right )-l\left ( \gamma _{ui},\gamma _{ui}\right ) g(γui)=(1−γui)l(xui,ϵ)+l(γui,ηui)−l(γui,γui)
其中, l ( a , b ) = a l o g ( b ) + ( 1 − a ) l o g ( 1 − b ) l\left ( a,b\right )=alog\left ( b\right )+\left ( 1-a\right )log\left ( 1-b\right ) l(a,b)=alog(b)+(1−a)log(1−b)
γ u i \gamma _{ui} γui表示,物品被曝光给用户的可能性,作为置信度控制训练推荐模型的贡献度。
其他方法
还有一些其他解决曝光偏差的方法。比如Ovaisi等将曝光偏差归咎于用户只能从一个截断的top-K的推荐列表里挑选物品。于是提出两步的Hechman方法,首先使用一个Probit模型估计一个物品被看到的概率,然后利用这个概率去修整点击模型。
还有考虑用户的连续行为“曝光-点击-转化”,相应地修改异构逆倾向分数模型。分解模型或图神经网络。
针对位置偏差
点击模型
一种方式是显式建模用户点击位置 p p p上物品 i i i的概率。
P ( C = 1 ∣ u , i , p ) = P ( C = 1 ∣ u , i , E = 1 ) ⋅ P ( E = 1 ∣ p ) P\left ( C=1\mid u,i,p\right )\\=P\left ( C=1\mid u,i,E=1\right )\cdot P\left ( E=1\mid p\right ) P(C=1∣u,i,p)=P(C=1∣u,i,E=1)⋅P(E=1∣p)
其中,隐变量 E E E表示是否用户已经审视过该物品。这个模型做了以下假设:如果用户点击了它,这个物品肯定被审视过;如果用户审视过该物品,点击概率只取决于相关度;审视只取决于位置 p p p。
另一种方式是级联模型。与上述不同的是,它聚合了一个请求会话中的点击和忽略到一个模型。它假设用户审视物品充第一个到最后一个,点击取决于展示物品的相关度。令
E
p
E_{p}
Ep,
C
p
C_{p}
Cp分别为第
p
p
p个物品被审视和点击的概率事件。级联模型生成用户点击数据方式如下:
P
(
E
1
)
=
1
P
(
E
p
+
1
=
1
∣
E
p
=
0
)
=
0
P
(
E
p
+
1
=
1
∣
E
p
=
1
,
C
p
)
=
1
−
C
p
P
(
C
p
=
1
∣
E
p
=
1
)
=
r
u
p
,
i
P\left ( E_{1}\right )=1\\P\left ( E_{p+1}=1\mid E_{p}=0\right )=0\\P\left ( E_{p+1}=1\mid E_{p}=1,C_{p}\right )=1-C_{p}\\P\left ( C_{p}=1\mid E_{p}=1\right )=r_{u_{p},i}
P(E1)=1P(Ep+1=1∣Ep=0)=0P(Ep+1=1∣Ep=1,Cp)=1−CpP(Cp=1∣Ep=1)=rup,i
上述公式表明,级联模型假设在一次会话中至多产生一次点击,如果找到想要的物品,就关闭会话,否则继续审视。审视的时候,一个物品被点击的概率为 r u p , i r_{u_{p},i} rup,i,忽略的概率为 1 − r u p , i 1-r_{u_{p},i} 1−rup,i。
但是,这些点击模型统称需要大量的点击数据,很难应用在点击数据很稀疏的系统。此外,错误地确定用户点击过程的产生方式,会导致经验误差,影响推荐性能。
倾向分数(Propensity Score)
与前面的用法类似,损失函数如下:
L I P W ( S , q ) = ∑ x ∈ π q Δ I P W ( x , y ∣ π q ) = ∑ x ∈ π q , o q x = 1 , y = 1 Δ ( x , y ∣ π q ) P ( o q x = 1 ∣ π q ) L_{IPW}\left ( S,q\right )=\sum_{x\in \pi _{q}}\Delta _{IPW}\left ( x,y\mid \pi _{q}\right )\\=\sum_{x\in \pi _{q},o_{q}^{x}=1,y=1}\frac{\Delta \left ( x,y\mid \pi _{q}\right )}{P\left ( o_{q}^{x}=1\mid \pi _{q}\right )} LIPW(S,q)=∑x∈πqΔIPW(x,y∣πq)=∑x∈πq,oqx=1,y=1P(oqx=1∣πq)Δ(x,y∣πq)
其中, π q \pi _{q} πq为推荐列表, x x x为列表中的一个物品, y y y为用于表示 x x x是否有请求 q q q相关的二值标签。
一种简单又有效的估计基于位置的倾向分数的方式是结果随机化,即随机打乱排序结果,收集用户在不同位置的点击去计算倾向分数。但是这种方式大概率会影响用户体验,因为高排序的物品也许是用户不喜欢的。
为了缓解这个问题,可以采用成对交互的方式,但无法完全消除负面影响。还有一些研究考虑将倾向模型和推荐模型作为对偶问题,形成特定的EM算法去学习两个模型。
针对流行度偏差
正则化(Regularization)
Abdollahpouri等引入LapDQ正则项,即 t r ( Q T L D Q ) tr\left ( Q^{T}L_{D}Q\right ) tr(QTLDQ),其中 Q Q Q为物品的embedding矩阵, L D L_{D} LD为 D D D的拉普拉斯矩阵,其中, D i , j = 1 D_{i,j}=1 Di,j=1,如果物品 i i i和 j j j属于同一个集合(流行物品或长尾物品);否则为0。
Kamishima等在INRS(information-neutral recommender systems)中应用了mean-match正则项去修正流行度偏差。首先引入互信息去度量特征在推荐结果上的影响,通过一系列的数学近似和推导,得到了一个特定的正则项:
− ( M D ( 0 ) ( { r ^ } ) − M D ( 1 ) ( { r ^ } ) ) 2 -\left ( M_{D^{\left ( 0\right )}}\left ( \left \{\hat{r}\right \}\right )-M_{D^{\left ( 1\right )}}\left ( \left \{\hat{r}\right \}\right )\right )^{2} −(MD(0)({r^})−MD(1)({r^}))2,其中, M D ( { r ^ } ) = 1 ∣ D ∣ ∑ ( x i , y i , v i ) ∈ D r ^ ( x i , y i , v i ) M_{D}\left ( \left \{\hat{r}\right \}\right )=\frac{1}{\left | D\right |}\sum_{\left ( x_{i},y_{i},v_{i}\right )\in D}^{}\hat{r}\left ( x_{i},y_{i},v_{i}\right ) MD({r^})=∣D∣1∑(xi,yi,vi)∈Dr^(xi,yi,vi)。
上述的两种方式都是以结果为导向的,引导模型产生更公平的结果。
Chen等设计了一个过程导向的正则项。他们认为无法有效推荐长尾物品是没有有效地训练这些长尾物品表征。由于交互数据少,长尾物品的预测分数接近于初始值。所以他们从域自适应(domain adaptation)提出ESAM(Entire Space Adaptation Model),旨在迁移训练较好的流行物品的知识到长尾物品。具体有三个正则项:1)物品embedding(或属性)关联对齐的域自适应:
L
D
A
=
1
L
2
∑
(
j
,
k
)
(
h
j
s
T
h
k
s
−
h
j
t
T
h
k
t
)
2
=
1
L
2
∥
C
o
v
(
D
s
)
−
C
o
v
(
D
t
)
∥
F
2
L_{DA}=\frac{1}{L^{2}}\sum_{\left ( j,k\right )}\left ( h_{j}^{s^{T}}h_{k}^{s}-h_{j}^{t^{T}}h_{k}^{t}\right )^{2}=\frac{1}{L^{2}}\left \| Cov\left ( D^{s}\right )-Cov\left ( D^{t}\right )\right \|_{F}^{2}
LDA=L21∑(j,k)(hjsThks−hjtThkt)2=L21∥Cov(Ds)−Cov(Dt)∥F2
其中,
C
o
v
(
D
s
)
∈
R
L
∗
L
Cov\left ( D^{s}\right )\in R^{L\ast L}
Cov(Ds)∈RL∗L和
C
o
v
(
D
t
)
∈
R
L
∗
L
Cov\left ( D^{t}\right )\in R^{L\ast L}
Cov(Dt)∈RL∗L表示高阶物品属性的协方差矩阵,可以通过
C
o
v
(
D
s
)
=
D
s
T
D
s
Cov\left ( D^{s}\right )=D^{s^{T}}D^{s}
Cov(Ds)=DsTDs和
C
o
v
(
D
t
)
=
D
t
T
D
t
Cov\left ( D^{t}\right )=D^{t^{T}}D^{t}
Cov(Dt)=DtTDt计算。
s
s
s为源域(流行物品),
t
t
t为目标域(非流行物品)。(2)源域的中心聚类
L
D
C
c
L_{DC}^{c}
LDCc:让有相同反馈(如购买、浏览和点击)物品的特征互相靠近,让不同反馈物品的特征互相远离。(3)目标域的自训练
L
D
C
p
L_{DC}^{p}
LDCp:提高模型对未出现物品的鉴别能力
对抗学习(Adversarial Learning)
判别器D的输入为生成的流行-长尾对 ( i ~ p , i ~ n ∣ u ) \left ( \tilde{i}^{p},\tilde{i}^{n}\mid u\right ) (i~p,i~n∣u)和同等数量的真实的流行-长尾对 ( i p , i n ) \left ( i^{p},i^{n}\right ) (ip,in)。真实的 ( i p , i n ) \left ( i^{p},i^{n}\right ) (ip,in)是从全局的共现中采样得到,而 ( i ~ p , i ~ n ∣ u ) \left ( \tilde{i}^{p},\tilde{i}^{n}\mid u\right ) (i~p,i~n∣u)是由生成器(推荐系统)生成的。通过对抗学习,D学习到流行物品和长尾物品间的潜在联系,G学习捕获更多与用户历史相关的长尾物品。
因果图(Causal Graph)
假设用户对物品的点击取决于兴趣和流行度,构建一个特定的因果图,如下图所示。
解耦用户embedding为兴趣embedding和流行度embedding,通过多任务框架训练。最终用兴趣embedding作推荐,可以去除流行度偏差的影响。
其他方法
可以引入副信息,比如Bressan等利用社交信息减少流行度偏差;Abdollahpouri等通过重排序的方式,首先生成一个较长的推荐列表,然后考虑流行度对其进行重排;也可以像应对曝光偏差一样,使用倾向分数(Propensity Score)减少流行物品对模型训练的影响。
针对不公平性
公平性的概述
令 A A A, X X X, U U U分别表示敏感属性、其他观测属性和未观测属性的集合, Y Y Y表示真实的预测结果, Y ^ \hat{Y} Y^表示预测模型基于 A A A, X X X, U U U的预测结果。公平性的定义可以简单分为4类:1)无意识的公平(fairness through unawareness);2)个体公平(individual fairness);3)组公平(group fairness),如人群平等(demographic parity)、机会平等(equality of opportunity)4)反事实公平(counterfactual fairness)。
无意识的公平(fairness through unawareness)
如果建模过程中没有显示使用敏感属性 A A A,那么模型是公平的。
个体公平(individual fairness)
如果模型对相似的个体有相似的预测结果,那么模型是公平的。例如个体 i i i和 j j j在特定指标下是相似的,那么 Y ^ ( X ( i ) , A ( i ) ) ≈ Y ^ ( X ( j ) , A ( j ) ) \hat{Y}\left ( X\left ( i\right ),A\left ( i\right )\right )\approx \hat{Y}\left ( X\left ( j\right ),A\left ( j\right )\right ) Y^(X(i),A(i))≈Y^(X(j),A(j))。
人群平等(demographic parity)
每个受保护的组(有相同敏感属性的)应该收到同样预测结果,即 P ( Y ^ ∣ A = 0 ) = P ( Y ^ ∣ A = 1 ) P\left ( \hat{Y}|A=0\right )=P\left ( \hat{Y}|A=1\right ) P(Y^∣A=0)=P(Y^∣A=1)。
机会平等(equality of opportunity)
每个受保护的组预测为正类的概率应该一样,即 P ( Y ^ = 1 ∣ A = 0 , Y = 1 ) = P ( Y ^ = 1 ∣ A = 1 , Y = 1 ) P\left ( \hat{Y}=1|A=0,Y=1\right )=P\left ( \hat{Y}=1|A=1,Y=1\right ) P(Y^=1∣A=0,Y=1)=P(Y^=1∣A=1,Y=1)。
反事实公平(counterfactual fairness)
给定一个因果推断模型 ( U , A ∪ X , F ) \left ( U,A\cup X,F\right ) (U,A∪X,F),在任意条件 X = x , A = a X=x,A=a X=x,A=a下,对任意 A A A的可取值 a ′ {a}' a′,有 P ( Y ^ A ← a ( U ) = y ∣ X = x , A = a ) = P ( Y ^ A ← a ′ ( U ) = y ∣ X = x , A = a ) P\left ( \hat{Y}_{A\leftarrow a}\left ( U\right )=y|X=x,A=a\right )=P\left ( \hat{Y}_{A\leftarrow {a}'}\left ( U\right )=y|X=x,A=a\right ) P(Y^A←a(U)=y∣X=x,A=a)=P(Y^A←a′(U)=y∣X=x,A=a)。
有四种方式缓解推荐中的不公平问题:
重新平衡(Rebalancing)
类似于处理类别不平衡问题,可以平衡训练数据或推荐结果。
机器学习中一种通用的方式是re-label训练数据,使受保护组与其他组的正例标签相等。或者,使用重采样(re-sampling)让训练数据达到统计平等。
对于推荐结果,可以根据不同的公平性约束,对其进行重排序,实现公平性。
正则化(Regularization)
基本思想是将公平性指标作为一个正则项,引导模型的优化。一个通用的框架(Learned Fair Representation, LFR)生成编码数据非敏感属性的数据表征,同时移除敏感属性的信息。该框架可以分解为三个损失模块:
min L = α C ( X , R ) + β D ( R , A ) + γ E ( Y , R ) \min L=\alpha C\left ( X,R\right )+\beta D\left ( R,A\right )+\gamma E\left ( Y,R\right ) minL=αC(X,R)+βD(R,A)+γE(Y,R)
其中, C ( ⋅ ) C\left ( \cdot \right ) C(⋅)为输入数据 X X X和 X X X的编码表征 R = E n c ( X ) R=Enc\left ( X\right ) R=Enc(X)间的重构误差; E ( ⋅ ) E\left ( \cdot \right ) E(⋅)是从 R R R中生成预测的预测误差; D ( ⋅ ) D\left ( \cdot \right ) D(⋅)是度量 R R R和敏感属性 A A A间独立性的正则项,可以定义为公平性约束,比如人群平等(demographic parity):
D ( R , A ) = ∣ E R P ( R ∣ A = 1 ) − E R P ( R ∣ A = 0 ) ∣ D\left ( R,A\right )=\left | E_{R}P\left ( R|A=1\right )-E_{R}P\left ( R|A=0\right )\right | D(R,A)=∣ERP(R∣A=1)−ERP(R∣A=0)∣
其中, P ( R ∣ A = 1 ) P\left ( R|A=1\right ) P(R∣A=1)依赖于表征 R R R与组的中心表征 R ~ 1 \tilde{R}_{1} R~1:
P ( R ∣ A = 1 ) = e x p ( − ∥ R − R ~ 1 ∥ 2 ) ∑ a ∈ { 0 , 1 } e x p ( − ∥ R − R ~ a ∥ 2 ) P\left ( R|A=1\right )=\frac{exp\left ( -\left \| R-\tilde{R}_{1}\right \|_{2}\right )}{\sum_{a\in \left \{0,1\right \}}^{}exp\left ( -\left \| R-\tilde{R}_{a}\right \|_{2}\right )} P(R∣A=1)=∑a∈{0,1}exp(−∥R−R~a∥2)exp(−∥R−R~1∥2)
对抗学习(Adversarial Learning)
与LFR的思路是类似的,ALFR(Adversarial Learned Fair Representation)框架如下:
max ϕ min θ L = α C θ ( X , R ) + β D θ , ϕ ( R , A ) + γ E θ ( Y , R ) \max_{\phi }\min_{\theta }L=\alpha C_{\theta }\left ( X,R\right )+\beta D_{\theta ,\phi }\left ( R,A\right )+\gamma E_{\theta }\left ( Y,R\right ) maxϕminθL=αCθ(X,R)+βDθ,ϕ(R,A)+γEθ(Y,R)
其中, C θ ( ⋅ ) C_{\theta }\left ( \cdot \right ) Cθ(⋅)是重构误差,通过一个编码器或解码器网络确保 R R R中保留着 X X X的信息, E θ ( ⋅ ) E_{\theta }\left ( \cdot \right ) Eθ(⋅)用于通过预测网络从 R R R中预测 Y Y Y, θ \theta θ包含了编码器/解码器和预测网络的参数。 D θ , ϕ ( ⋅ ) D_{\theta ,\phi }\left ( \cdot\right ) Dθ,ϕ(⋅)用于对抗网络保证 R R R和敏感属性 A A A的独立性。
因果模型(Causal Modeling)
Wu等构建了一个因果图,包含离散的画像属性和连续的分数,提出了一个特定路径(path-specific)影响的技术去检测和移除直接和间接的排序偏差。
缓解反馈环影响
实际的推荐系统通常有一个恶性的反馈环,不仅会产生偏差还会随时间加剧偏差。解决这一问题,除了上述的针对各个偏差的策略,近年来有很多研究着眼于解决用户与推荐系统间连续交互的迭代偏差。
统一的数据(Uniform data)
利用统一的数据是解决这个问题最直接的方式。对每个用户不使用推荐系统的推荐结果,而是随机选择一些物品,按照均匀分布进行排序。这样就打破了反馈环,避免了各种偏差的影响。但会影响用户体验和平台的利益。
Yuan等从统一的数据学习了一个插补模型,用于插补所有已展示物品和未展示物品;Bonner等为偏差数据和统一数据部署两个推荐模型,然后使用正则项迁移两个模型的知识;Liu等利用知识蒸馏从统一数据中抽取信息,去学习一个无偏推荐系统;Yu等利用影响力函数为训练样本赋予权重,使其在无偏验证集中有更少的损失。
强化学习(Reinforcement learning)
推荐系统中存在探索-开发(exploration-exploitation)的问题,探索(exploration)指推荐最匹配用户偏好的物品;开发(exploitation)指随机推荐一些物品搜集用户的反馈,更好地捕获用户偏好。在交互过程中,强化学习的agent可以根据用户的历史信息或反馈(即状态 s t s_{t} st)不断更新它的策略 π \pi π,然后生成最匹配用户偏好的推荐列表(即动作 a t a_{t} at)或从长期利益角度探索用户的偏好。接着,用户会给出反馈(即奖励 r t r_{t} rt,如评分或点击)用于更新agent。所以强化学习可以平衡探索(exploration)和开发(exploitation)间的竞争,最大化用户的长期满意度。
基于强化学习的推荐系统的一个挑战是,如何评估一种策略。最好的方式是部署到线上,即A/B测试。但这种方式成本高且耗时,还会影响用户体验。
如果使用离线评估,会受到数据中的偏差的影响。去修正这些偏差,Chen等提出使用历史策略概率的逆为策略梯度下降加权。但现有的离线学习方法通常由于反馈的复杂性和稀疏性,并不好用,所以Jeunen等利用带有IPS策略的监督信号去更好地评估一个策略。
未来工作
倾向分数的估计(Evaluation of Propensity Scores)
只有当倾向分数被合理地确定,基于IPS的策略才能起作用。但如何得到合适的倾向分数仍然指定探究。
通用的去偏差框架(General Debiasing Framework)
之前的工作都是针对一个或两个特定的偏差,但是真实场景中,往往是多种偏差混合在一起。因此,推荐系统亟需一个通用的去偏差框架去解决各种偏差的混合。
IPS和它的变体在去除不同偏差上都有成功的应用,如何探究一种创新的基于IPS的框架,可以集结不同类型的偏差并提供一种通用的倾向分数的计算算法。
更好的评估(Better Evaluation)
如何用无偏的方式评估一个推荐系统?现有的方法要么需要准确的倾向分数,要么依赖于一定量的无偏数据。但前者的准确性无法保证,同时后者会损害用户的体验。
需要探索新的评估方法,只使用大量的有偏数据和少量的无偏数据,同时要有理论上的研究,分析提出的评估方法的期望,边界和置信度等。
知识增强的去偏差(Knowlege-enhanced Debiasing)
知识图谱包含丰富的信息,有利于理解数据偏差。所有类型数据、数据源和数据库都可以用知识图谱表示和运算。
利用因果图的解释性和合理性(Explanation and Reasoning with Causal Graph)
一方面,去偏差的关键是对推荐模型或数据的发生、因果进行推理,大部分的偏差可以理解为因果图上的弱因果假设和干扰因素,偏差的影响也可以通过图上的因果路径推断出来;另一方面,推荐通常理解为一种干预,类别于用特定的药物治疗病人。因果图可以回答如果被推荐物品曝光给用户会发生什么。
当因果图被用于去偏差,它也可以通过强因果路径提供解释性。
动态偏差(Dynamic Bias)
偏差通常是动态的,比如衣服的时尚风格会频繁变化;用户会经历新的物品和新的朋友;推荐系统会周期性更新它的推荐策略等。所以,探究偏差如何进化,分析动态偏差如何影响推荐系统是有意义的。
公平性-准确性的权衡(Fairness-Accuracy Trade-off)
我们需要1)明确具体的不公平问题;2)定义公平性指标覆盖更宽的使用场景;3)设计可控的方法,控制公平性和准确性。
此外,现有的大量方法假设用户的敏感属性被显式用于输入的一部分,但在协同过滤中,用户的年龄和性别导致不同的行为模式,但这些用户画像是隐式地影响推荐性能。一个研究方向是设计在敏感属性不可用时,一种公平的协同过滤算法。