上QQ阅读APP看书,第一时间看更新
6.4.5 隐式反馈
本章参考文献[5]中有对隐式反馈矩阵分解算法的详细介绍,这里对一些核心点进行讲解,让读者对隐式反馈有一个比较明确的认知。
用二元变量puv表示用户u对标的物v的偏好,puv=1表示用户u对标的物v有兴趣,puv=0表示对标的物v无兴趣。ruv是用户u对标的物v的隐式反馈,如观看视频的时长、点击次数等。ruv与puv的关系见下面公式。
ruv越大,有理由认为用户对标的物兴趣的置信度越高,比如一篇文章读者看了好几遍,肯定比看一遍更能反映出读者对这篇文章的喜爱。具体可以用下面的公式来衡量用户u对标的物v的置信度cuv。
上式中cuv代表用户u对标的物v的偏好置信度,是一个超参数,论文作者建议取=40,效果比较好。
基于隐式反馈,求解矩阵分解可以采用如下公式:
其中,cuv即置信度,puv的定义见前面的公式。
上述隐式反馈算法逻辑将用户的操作ruv分解为置信度cuv和偏好puv能够更好地反映隐式行为的特征,并且从实践上可以大幅提升预测的准确度。同时,通过该分解,利用代数上的一些技巧及该模型的巧妙设计,该算法的时间复杂度与用户操作行为总次数线性相关,不依赖于用户数和标的物数,因此非常容易并行化(读者可以阅读本章参考文献[5]了解更多技术实现细节)。
隐式反馈也有一些缺点,不像明确的用户评分,无法很好地表达负向反馈。用户购买一个商品可能是作为礼物送给别人的,而他自己可能不喜欢这个商品,或者用户观看了某个视频,有可能是进入视频详情页时自动起播的(产品故意这样设计,以提升用户体验,同时也增加广告曝光的可能性),这些行为是包含很多噪声的。