因果推断推荐系统工具箱 - Doubly robust joint learning for recommendation on data missing not at random(三)

文章名称

Doubly robust joint learning for recommendation on data missing not at random

核心要点

上一节主要讲解了文章提出的Doubly Robust的方法,以及该方法相比与EIB和IPS的优势。但是imputation error的错误估计仍然会对DR方法造成不小的影响,因此作者提出利用联合训练imputation error和DR loss的方法提升性能。本节主要讲解联合训练的方法细节。

方法细节

问题引入

采用DR方法进行纠偏虽然减小了偏差的影响,但由于通常插值模型的策略是启发式的让然会让推荐模型的效果不能让人接受。作者通过推导,得到了一个插值模型偏差对最终推荐模型误差的影响的界限。并且,依据对这个界限的分析结果提出了联合训练的思路。

具体做法

Doubly Robust Loss

再给定观测评分矩阵R^{o}的情况下,最优的评分矩阵,如下图所示。注意这里的最优是相对DR loss来说的。

optimal rating prediction

通过推导,可以看出模型的预估误差也就是上一节提到的\mathbb{P},包括了三项,第一项是DR loss,第二项是上节导出的偏差项(只和插值误差和倾向性得分偏差比率有关系)。
bound

第三项是方差项,和插值误差\delta^{§}_{u, i}表示如下图所示的loss中得到的最优评分矩阵对应的插值误差。注意,这里的最优评分矩阵和上边的最优评分矩阵不同,是在不同loss下求得的,一个是DR loss,一个是IPS后的插值误差loss。
imputation error loss

因此,我们发现为了让整体模型预测误差最小,不仅要DR误差小,同时需要控制在另一个loss下的插值偏差\delta^{§}_{u, i}来减小模型的预测方差。
因此,模型包括两个预测函数f_{\theta}(x_{u,i})以及g_{\phi}(x_{u,i}),分别用来预测user-item对的真实评分,以及预测某一种预测误差。具体的公式如下图所示,首先是模型预估评分的损失函数,其中e_{u,i}表示评分估计的MSE,\hat{e}_{u,i}则表示估计的插值误差。
training loss of prediction,DR

而训练插值模型的损失如下图所示。
imputation training loss

只是,这里的误差损失e_{u,i}是真实评分和预估评分的直接差距,而非MSE。目的是为了能够让模型感知到差距表示的是预测值比真实值偏高还是偏低。
error

模型交替的训练两个loss,来分别更新\theta\phi

代码实现

算法伪代码如下。


pseudo code

心得体会

不同的loss有不同的error表示

在联合训练的两个loss里,e_{u,i}\hat{e}_{u,i}有表示不同的内容。DR的时候,e_{u,i}表示的是MSE,而imputation error的时候是直接差距。\hat{e}_{u,i}则在DR时,通过衡量f_{\theta}(x_{u,i})g_{\phi}(x_{u,i})的差异来表示。在imputation error的时候是直接等于g_{\phi}(x_{u,i}),体现了不同阶段需要关注的不同内容,同时也和bound里的两个不同的评分估计矩阵对应。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容