文章名称
Modeling User Exposure in Recommendation
核心要点
上一节,我们描述了文章中提出的生成概率图模型,这一节主要描述如何利用EM算法对模型进行参数学习。
方法细节
问题引入
具有隐变量的生成模型,参数学习的方法一般是EM算法,这篇文章也不例外。
具体做法
参数学习
利用上一节写出的对数似然公式,交的在E步最大化缺失数据的期望(这里是曝光),在M步最大化惨数的似然。由于利用了共轭先验,这篇文章的模型参数是具有解析解的。
在E步最大化所有没有点击的用户-物品元组的,因为如果
,那么
。因此,我们最大化的目标如下图所示,其中
,表示在0这一点
的概率密度。
E-step
在M步,我们更显参数,来最大化似然函数。更新步骤如下图所示。其中,
update parameters
同时,如上一节所述,我们可以扩展曝光先验
update with item popularity
如果,我们建模为
update prior parameter
gradient
实际预测
通常情况下,协同过滤方法直接利用来进行用户对物品的评分预测,这种方法是一种点估计方法。这篇文章因为求得了整个生成分布,可以利用求期望的方式,来考虑不确定性的影响。具体的预测方法如下。
prediction with expectation
作者实际测试,如果是简单地物品流行度场景,原来的协同过滤点估计方法效果就可以了,但是如果有exposurer covariates的话,求期望的方式可能会有更好的结果。
代码实现
文章的伪代码如下图所示。
pseudo code
心得体会
外源信息
其实当扩展了到
的时候,模型并非端到端的训练,有可能存在两阶段的误差引入。但是,通常信息是文本和地理位置这类可以显示解释的信息,其误差会比较小,并且相对于完全不引入这些信息,还是有比较大的提升的。