文章名称
Model-Agnostic Counterfactual Reasoning for Eliminating Popularity Bias in Recommender System
核心要点
上一节讲述了如何利用因果图的方法描述流行度偏差对模型训练的影响以及如何利用因果推断的TIE正确估计用户-物品元组偏好。本节解释具体如何建模,并且进行参数学习,以及最终如何进行推荐。
方法细节
问题引入
虽然我们可以利用TIE进行用户-物品元组偏好效应的估计,并且纠正流行度偏差。然而,具体如何建模,并利用模型来估计这个值,以及如何学习模型的参数呢?
具体做法
MACR
大部分的推荐模型利用BCE建模,如下图所示。其中,是模型对用户-物品元组偏好的预估。但其实数据却包含了对的影响,也就是数据是。这样的数据存在以及,并且这些影响使得流行度较高的用户-物品元组的交互频率增加。当使用经验风险最小化的极大似然估计时,必然会高估这些用户-物品元组的出现概率,也就是用户-物品元组的点击率(或者是评分),这样就导致了前述的流行度偏差。
为了完整描述,作者在原有的推荐系统模型,引入两个额外的模型,1)物品模型,2)用户模型,分别建模物品流行度反馈的影响。结合用户-物品元组匹配模型,共同构成对训练数据的估计,其公式如下图所示。把带入如上图所示的BCE,可以联合训练模型的3个模块。
然而,为了更好的学习和,作者利用多任务学习的思想,构建了两个额外的损失函数,把用户的embedding和物品的embedding向评分空间投影,以此反应流行度偏差。两个损失函数的公式如下图所示。
因此,训练过程的整体损失函数与整体训练流程如下图所示。
上述过程描述了如何通过正确的构建生成数据的因果图,拟合观测数据,进行模型参数的学习。然而,在预测时,我们希望只关注,这需要用到我们上一节介绍的TIE的方法,消除掉对的直接影响。
首先考虑直接影响NDE,该影响反映的是,在没有任何用户-物品元组偏好效应影响下,对的影响有多大。具体公式如下,代表一种常规值(或者说control组,因为是求因果效应),通常用所有用户、物品的embedding的平均向量替代。
而TE,是都是事实取值(都是观测到的取值)的情况下,相对于这些值都是基准值(对照组,这里采用均值)时,对的整体影响。具体公式如下图所示。
最终,对的影响,由TIE表示,如下图所示。
由于并且,最终,TIE为,其中表示当时候的值(也就是用户、物品embedding都是均值时,的值)。可以利用TIE对用户-物品元组进行排序,得到最终推荐结果。
代码实现
文章的伪代码如下图所示。
心得体会
用户-物品元组模型到底建模什么?
推荐系统模型实际希望建模的是,也就是仅仅由两者交互得到的反馈。如果忽略流行度等偏差,观测到数据就是的实际反映。然而,流行度偏差使得观测到的数据是,进而如果型建模不做调整的话,建模的也是这个值。但我们却还以为建模的只是。