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

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

评测算法

1. 平均值

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

2. 基于邻域的方法

  基于用户的邻域方法认为预测一个用户对一个物品的评分,需要参考和这个用户相似的用户对该物品的评分。用户之间的相似度计算可以通过皮尔逊系数计算:w_{uv}=\frac{\sum_{i \in I}(r_{ui}-\hat{r}_u)*(r_{vi}-\hat{r}_v)}{\sqrt{\sum_{i \in I}(r_{ui}-\hat{r}_u)^2*\sum_{i \in I}(r_{vi}-\hat{r}_v)^2}}......(1)而基于物品的邻域算法则是在预测用户对物品的评分时会参考用户对和物品相似的其他物品的评分,此时物品之间的相似度可以用3种衡量方式:余弦相似度、皮尔逊系数和带修正的余弦相似度。3种衡量方式的公式对比如下图:

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

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

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

加入时间信息

  有两种方式加入时间信息,一种是基于邻域的模型融合时间信息,一般是将时间信息融合到基于物品的邻域模型中,其实就是对相似物品的评分贡献加上时间权重。之前可以视为所有的相似物品评分贡献权重都是1,但是考虑了时间因素后就需要提高用户最近的评分行为对推荐结果的影响,也就是加大近期行为物品的评分贡献权重。
  另一种是基于矩阵分解的模型融合时间信息,此时用户评分矩阵不再是一个二维矩阵,而是变成了一个三维矩阵。三维矩阵的分解可以参考这篇论文,评分优化公式如下:\hat{r_{uit}}=\mu+b_u+b_i+b_t+p_u^T*q_i+x_u^T*y_t+s_i^T*z_t+\sum_fg_{u,f}*h_{i,f}*l_{t,f}书上说的是\sum_fg_{u,f}*h_{i,f}*l_{t,f}建模了用户兴趣随时间影响的效应。

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

推荐阅读更多精彩内容

  • 这篇文章的技术难度会低一些,主要是对推荐系统所涉及到的各部分内容进行介绍,以及给出一些推荐系统的常用算法,比起技术...
    我偏笑_NSNirvana阅读 12,138评论 5 89
  •   这一章的标题是“利用用户行为数据”,整章讲的是如何利用用户的行为数据分析出用户的兴趣和需求。用户的行为不是随机...
    妖皇裂天阅读 491评论 0 0
  • 推荐算法&评分预测问题 参考书本: 项亮, 推荐系统实践. 2012本文系阅读笔记 实际系统-topN问题 推荐系...
    锦绣拾年阅读 3,935评论 0 3
  • 基于用户行为分析的推荐算法是个性化推荐系统的重要算法,一般将这种类型的算法称为协同过滤算法。协同过滤就是指用户可以...
    七八音阅读 2,308评论 0 5
  • 这几天一直都是处于低迷状态,也反反复复写了很多篇文章,但都删掉了,觉得自己写的都是一堆垃圾。 然后,就自我否定,负...
    安小成阅读 3,310评论 16 37