《推荐系统实践》第八章学习笔记

  本章讲的是评分预测问题,也就是如何通过已知的用户历史评分记录预测未知的用户评分记录。

评测算法

1. 平均值

  取平均值作为预测结果是最简单有效的一种统计方法,取平均值的方式有:全局平均值、用户评分平均值、物品评分平均值和用户分类对物品分类的平均值(同类用户对同类物品的评分平均值)。

2. 基于邻域的方法

  基于用户的邻域方法认为预测一个用户对一个物品的评分,需要参考和这个用户相似的用户对该物品的评分。用户之间的相似度计算可以通过皮尔逊系数计算:而基于物品的邻域算法则是在预测用户对物品的评分时会参考用户对和物品相似的其他物品的评分,此时物品之间的相似度可以用3种衡量方式:余弦相似度、皮尔逊系数和带修正的余弦相似度。3种衡量方式的公式对比如下图:

基于物品的邻域算法的3种不同衡量方式.jpg

隐语义模型和矩阵分解模型

  这两种方法其实都是通过降维的方法将评分矩阵补全。怎么样补全才算是对矩阵扰动最小呢?一般认为如果补全后矩阵的特征值和补全前矩阵的特征值相差不大,就算是扰动比较小。SVD分解是早期常用的矩阵分解方法,其缺点在于计算复杂度很高,而且占用很大的存储空间。隐语义模型(LFM)就是将大的稀疏矩阵用两个小的矩阵相乘来表示,此时就不需要用大量存储空间来保存原始评分矩阵,此时两个小的矩阵一般使用随机数填充,根据经验随机数需要1/sqrt(F)成正比(F就是隐类的个数)。LFM通过隐类将用户和物品联系在一起。但是一般来说,一个评分系统有些固有属性和用户物品无关,而用户也有属性和物品无关,物品也有属性和用户无关。此时就需要对三者加上偏置,即:,其中、、就分别代表了系统、用户和物品的固有属性。
  当然还可以对LFM继续改进,比如考虑邻域影响,其实就是在上面公式(2)的基础上再加上Item CF预测的评分结果,不过此时这个评分结果不是统计的,而是利用可学习的参数计算出来的。此时新的优化公式如下:N(u)就是和物品相似的物品集合,公式后面这一部分就体现出了邻域物品的影响。而且上面公式对邻域影响矩阵进行分解,从而大大降低了参数的数量和存储空间。

加入时间信息

  有两种方式加入时间信息,一种是基于邻域的模型融合时间信息,一般是将时间信息融合到基于物品的邻域模型中,其实就是对相似物品的评分贡献加上时间权重。之前可以视为所有的相似物品评分贡献权重都是1,但是考虑了时间因素后就需要提高用户最近的评分行为对推荐结果的影响,也就是加大近期行为物品的评分贡献权重。
  另一种是基于矩阵分解的模型融合时间信息,此时用户评分矩阵不再是一个二维矩阵,而是变成了一个三维矩阵。三维矩阵的分解可以参考这篇论文,评分优化公式如下:书上说的是建模了用户兴趣随时间影响的效应。

你可能感兴趣的:(《推荐系统实践》第八章学习笔记)