问题:流行偏差问题
在数据上,项目在交互频率上呈现不均匀分布
在方法上,协同过滤方法容易通过过度推荐热门项目来放大偏见
如何利用流行偏差来提高推荐的准确性?
问题分解:
(1)如何去除训练时受欢迎度偏差的不良影响?
(2)如何在生成top-推荐的推理阶段注入期望的受欢迎度偏差
1.用因果图分析了受欢迎度偏差对推荐系统的影响
2.新框架:流行偏差消除和调整(PDA)
该框架通过演算进行去中心化训练,并在推荐推理过程中对人气偏差进行因果干预。
因果图分析
传统因果图:
传统方法主要执行用户-项目匹配来预测相似性数:
(用户节点)和(项目节点)是原因,是表示交互概率的结果节点。
例如:流行的潜在因素模型将预测形成为用户嵌入和项目嵌入之间的内积。
因为模型如何形成预测暗示了它如何假设标记数据被生成,这个因果图也可以解释观察到的交互数据的假设生成过程。
项目流行度虽然对数据生成过程有重要影响,但这种粗粒度建模方法并没有明确考虑项目流行度。
目流行度如何影响过程?
节点表示项目受欢迎程度,它有两条边分别指向和。
第一, → 意味着物品受欢迎程度直接影响互动概率。
因为很多用户都有从众心理,从而倾向于跟随大多数人去消费流行的物品。
第二, → 意味着项目受欢迎程度会影响项目是否被曝光。
因为推荐系统通常会继承数据中的偏见,更频繁地曝光受欢迎的项目。
值得注意的是,我们发现是和的共同原因,是暴露项目和观察到的相互作用之间的混淆因素。
这意味着,项目流行度通过两个因果路径影响观察到的交互数据:
- →
- → → ,
其中第二个路径包含偏差放大的不良影响
因为它增加了观察到的流行项目的交互,即使它们可能与用户兴趣不太匹配。
消除流行偏见对模特训练的不良影响,我们需要对推荐的项目进行干预,使其不受.流行的影响。
在实验中,这意味着我们需要改变曝光策略,使其不受物品流行的影响,然后重新收集数据,然而这对学术界研究人员来说是昂贵且不可能实现的。
由于因果科学的进步,我们可以在不进行介入实验的情况下用 do-calculation[35]获得同样的结果。
简而言之,我们将用户-项目匹配估计为 (|(, ))在训练期间切断了 →的路径,这不同于现有的混淆用户的推荐模型所估计的相关性 (|, )
描述推荐过程的因果图:
U:用户
I:暴露物品
C:交互概率
Z:项目流行度
我们将 确定为 和C之间的混杂因素,并提出与 (|( , )) 的去混淆训练作为兴趣匹配。
训练后,(|( , )) 比(| , ) 更准确地估计用户对项目的兴趣匹配,消除了和C之间的虚假相关性。
由于的混杂,在推理阶段,我们将排名分数推断为(|( , ),()),对项目进行干预
干预流行度 与我们期望的偏差(例如,预测的流行度在测试阶段)。
定义
大写字母表示随机变量,小写字母表示特定值
斜体表示对应随机变量的样本空间,例如U
用(.)表示随机变量的概率分布
让 D 表示按顺序收集的历史数据
经过了T阶段:
D = {D1∪· · ·∪D };
U = {1, . . . ,|U |}
I = {1, . . . ,|I |}
通过对历史数据的学习,推荐系统有望捕捉用户偏好,为下一阶段的 + 1做好服务.也就是说,它的目标是在 D +1 上获得高推荐准确度。
物品在阶段上的当地受欢迎程度定义为:
其中表示观察到的项目交互的数量D的。
我们可以类似地根据一个项目在D 中的交互频率来定义它在的全球受欢迎程度,但我们认为本地受欢迎程度对系统的曝光机制和用户决策有较大的影响
因为系统通常会定期重新训练,最新的数据影响最大。
人气漂移。 直观地说,项目受欢迎程度是动态变化的,随着时间的推移,这意味着流行偏见的影响也可能是动态的。
为了量化流行度漂移,我们定义了一个称为流行度漂移(DP)的度量来衡量两者之间的漂移
+++++++++++++++++++++++++++++++++++++++++++++++++++++
图 中:
人气漂移在:(a)连续两个阶段(,+1);
第一阶段和现阶段 (1,). 阶段。
首先,我们将的每个阶段表示为项目的概率分布:[|1|,. . . ,|T| ],其中每个条目表示一个项目在阶段上的出现频率。
然后,我们使用詹森-香农散度(JSD) 来测量两个阶段之间的相似性:
和是两个阶段。
和 JSD 类似, DP 的范围是[0,(2)]
较高的值表示较大的人气漂移。
图 (a)显示了两个连续阶段的差压值,即 (, +1), 在三个真实数据集上从 1 迭代到 9。
我们可以看到,这三个数据集都明显存在流行度漂移,不同的数据集表现出不同程度的流行度漂移。
图 (b)显示了第一阶段和当前阶段的差压值,即 (1,),衡量累积的人气漂移。
我们可以看到一个明显的增长趋势,表明时间间隔越长,数据呈现的流行度漂移越大。
这些结果表明,流行偏见及其影响也随着时间的推移而变化。未来阶段的流行偏向与过去阶段不同。如果我们将模型泛化的目标设定为追求下一阶段数据 (D +1)^2 的高精度,那么一个可行的方法是预测流行趋势并将其注入到推荐中
+++++++++++++++++++++++++++++++++++++++++++++++++++++
推荐的因果观
根据定义,
因果图是一个有向无环图,其中一个节点表示一个变量,一条边表示两个节点之间的因果关系。
它被广泛用于描述数据生成的过程,可以指导预测模型的设计。
接下来,我们解释这个因果图的合理性:(理解因果图)
• 节点代表用户节点:
例如。 用于表示用户的用户配置文件或历史特征。
• 节点代表项目节点。
我们假设用户只能与(例如:点击)暴露给他/她的物品交互,因此表示暴露的物品。
• 节点表示交互标签。
指示用户是否已经选择/消费了所展示的项目。
• 节点表示项目流行度。
它可以被视为隐藏变量,因为它通常不被传统方法明确建模(例如,用图 1(a)形成预测。 但对推荐有很大影响。
边 { , , } → 表示交互标签
由三个因素决定:用户、物品和物品受欢迎程度
传统的方法只考虑{、 } → ,这很容易解释:用户兴趣和物品属性的匹配决定了用户是否消费物品。
在这里,我们有意添加一个原因节点来捕捉用户从众心理——许多用户都有从众心理,倾向于跟随大多数人消费流行商品。因此,是否存
在互动是、 和.的共同作用。
•边 → 表示物品受欢迎程度影响物品的曝光度。
这一现象已经在许多推荐模型上得到了验证,这些模型在对有偏数据进行训练后显示出对热门项目的偏好。
从这个因果图中,我们发现物品受欢迎程度是一个混杂因素,既影响暴露物品,也影响观察到的互动.
这导致了从开始的两条影响观察到的相互作用的因果路径:→ 和
→ → . 第一条路径与用户-项目匹配相结合,捕捉用户从众效果,这是意料之中的。
相比之下,第二条路径意味着项目受欢迎程度增加了受欢迎项目的曝光可能性,使得观察到的交互更多地由受欢迎项目组成。这种效应会导致偏差放大,这是应该避免的,因为真实的推荐模型应该可靠地估计
用户偏好,并且不受暴露机制的影响。
在上面的文本中,我们从数据生成的角度解释了因果图。
其实从模型预测的角度来解读也是有道理的。这里,我们将和分别表示为用户嵌入和项目嵌入,并且传统模型在它们之上应用内积或神经网络进行预测(即,图1(a))。
大多数模型都没有明确考虑项目流行度,但是它确实影响了项目嵌入的学习。
例如,它增加了流行项目的向量长度,使得内部产品模型对每个用户的流行项目评分都很高。
这样的效果证明了边缘 → 的合理性,这对了解真实的用户兴趣产生了负面影响。
总而言之,→ 造成不良影响,在建立预测模型时应予以消除。
无基础培训
目的:不受→ .影响的模型
+++++++++++++++++++++++++++++++++++++++++++++++++++++
如果我们能够干预暴露机制,使其随机向用户暴露物品,那么收集到的交互数据就不受 → 的影响。
直接在上面训练传统模型就可以了。然而,这种解决方案的可行性和有效性较低:
首先,只有推荐者构建者可以干预曝光机制,其他任何人都可以但是无权这样做;
其次,即使对于可以干预曝光机制的推荐器构建者来说,他们也只能使用少量的随机流量,因为随机曝光对用户体验的伤害很大。 小型统一数据的有效使用仍然是推荐研究中的一个开放问题
+++++++++++++++++++++++++++++++++++++++++++++++++++++
因果科学的进步为我们提供了一种无需进行干预实验就能实现干预的工具。
关键在于微积分。
在我们的上下文中,执行()强制消除's 父节点的影响,实现我
们的目标。因此,我们将预测模型表述为(|(、 )),
而不是用传统方法估计的 (|、 )。
假设图 1(b)所示的因果图是,图 1(c)所示的介入因果图是。然后,在上执行微积分会导致:
其中′ (.)表示在’上评估的概率函数。
下面一步一步解释这个推导:
(1)是因为借壳准则[35]作为唯一的借壳路径←→已经被(,)封锁);
(2)是因为贝叶斯定理;
(3)因为和独立, 在
(4)(| , , ) = ′(| , , )因为因果机制,{ , , } → 切断时不改变 →
因为 在两个图上有相同的先验,() = ′()
接下来,我们考虑如何估计数据中(|( , ))
先估计(| , , ),然后估计∑ (| , , )()
第一步,估计 (|, ,).
该条件概率函数评估给定用户项目对= 、 = 以及项目当前流行度为 = i,用户将消费该项目的可能性有多大。
假设条件概率函数的参数为 θ,我们可以按照传统的推荐训练来学习 θ,例如,对历史数据D上的成对 BPR 目标函数进行优化;
其中表示的负样本, (.)是 sigmoid函数。
使用了2 正则化,但为了简洁起见没有显示
框架结束,开始参数优化:
设计为任何可微模型、因子分解机器或神经网络。
但是这里我们主要考虑的是将用户项目匹配与项目流行度分离。
好处是双重的:
1)解耦使我们的框架可以扩展到任何关注用户-项目匹配的协同过滤模型;
2)解耦使得能够在推断阶段快速调整流行偏差,因为我们不需要重新评估整个模型。
为此,我们将其设计为:
θ(,)表示任何用户-项目匹配模型
我们在本作品中选择简单矩阵分解(MF);
超参数是为了平滑物品人气,可以控制从众效果的强弱:
设定 = 0 表示没有影响,数值越大分配的影响越大。
′ (.)是指数线性单位激活函数的变体,可确保匹配分数的积极性:
这是为了确保概率函数的单调性,因为(i)总是正数。
最后,请注意一个人需要归一化θ(=1|,,)使其成为严格的概率函数,但是我们省略了它,因为它很耗时,并且不影响项目的排名。
第二步。估计 í(|、 ,) (). 现在我们继续估计(|(, )).
由于的空间很大,所以对每个预测评估对其空间求和是不合适的。
幸运的是,我们可以执行以下缩减来消除总和:
其中()表示的期望。
注意,一个变量的期望值是一个常数。
由于(|(、 ))被用于为用户对项目进行排名,
所以()的存在不会改变排名。
因此,我们可以用′(θ(,)来估计(|(,)).
总而言之,我们将历史交互数据与θ(=1|,,)进行拟合,并使用用户-项目匹配组件′ (θ(,))来进行去相关排名。
我们称这种方法为流行偏见去中心化。
调整推理中的流行偏差
由于(|(, )),我们可以消除流行偏见的不良影响。
我们现在寻求更好地利用流行偏见,例如,。推广有潜力受欢迎的产品。假设目标受欢迎程度偏差是˜,我们想赋予推荐策略这种偏差。
为了实现这个目标,我们只需要做 = ˜的干预进行模型推断:
其中˜ 代表˜.的受欢迎程度。
这个介入概率直接等于条件概率,因为在因果图中 和之间没有后门路径。
由于这项工作的重点不是流行预测,我们采用一个简单的时间序列预测方法来设定˜
是最后阶段的人气值, 是预测未来时控制人气漂移强度的超参数。我们把这种方法命名为流行偏差消除和调整(PDA)。
图 说明了 PDA 的工作流程,其中训练阶段优化等式(4),
推理阶段可以调整流行度偏差如下:
˜ 表示用于模型推断的流行平滑超参数,它可以不同于训练中使用的参数。
这是考虑到流行偏见的力量可以漂移
方法的工作流程。蓝色箭头代表训练阶段,红色箭头
代表推理阶段
实际上,设置˜ = 可以达到预期的性能。
设置˜ = 0 会将该方法降级为仅使用兴趣匹配进行推荐的 PD。
考虑到适当停止模型训练的重要性, PDA 使用了基于调整后推荐的模型选择策略,这与 PD 的策略略有不同。
相关性P(|、)的比较一开始,
我们选传统的方法估计相关性 (|, ),并遭受流行偏差放大的不良影响。
在这里,我们分析了 (|、 )和 (|(、 ))之间的差异,以提供关于这一点的更多见解。
我们首先通过以下步骤改造 (|、 ):
(1)是边际分布的定义;
(2)是因为贝叶斯定理;
(3)是因为根据因果图独立于;
(4)是因为贝叶斯定理,与(|( , )) = ∑ (| , , )()相比,我们可以看到(| , ) 有一个附项:( |),从根本上改变了推荐评分。
假设= 是一个受 欢 迎 的 项 目 , (|, = , = )是 一 个 大 值,因为大,
这意味着该项对预测得分有很大的贡献。
由于曝光机制中的流行偏差, ( = | = )也是一个很大的数值。 将这两个项相乘,更大地扩大了的得分,这给了一个更高的分数。
结果,人气偏差被不当放大。这种比较进一步证明了(|(,)可靠地学习用户兴趣的合理性和必要性。