协同过滤推荐算法(包括传统协同过滤、矩阵分解、NeuralCF)

一、什么是协同过滤推荐算法

传统的协同过滤(Collaborative Filtering, CF)是一种推荐系统技术,它基于用户的历史行为数据预测用户对未评分项目的潜在兴趣

协同大家的反馈、评价和意见一起对海量的信息进行过滤,从中筛选出用户可能感兴趣的信息”。

传统协同过滤有两种主要的方法:用户-用户协同过滤(User-based Collaborative Filtering, UCF)和项目-项目协同过滤(Item-based Collaborative Filtering, ICF)。

、用户-用户协同过滤

用户-用户协同过滤的基本思路是找到与目标用户兴趣相似的其他用户(即相似用户),然后根据这些相似用户对物品的评分来预测目标用户对未评分物品的兴趣程度。

例子——问题:一是用户相似度到底该怎么定义,二是最后我们预测用户 X 对“电视机”的评价也是负面的,这个负面程度应该有一个分数来衡量,但这个推荐分数该怎么计算呢?

具体步骤如下

  1. 计算相似度:首先,需要计算用户之间的相似度——每个用户向量由该用户对所有物品的评分(从用户-物品评分表中来)组成。常用的相似度计算方法包括皮尔逊相关系数(Pearson correlation coefficient)、余弦相似度(Cosine similarity)、欧式距离等。
  2. 寻找相似用户:根据相似度计算结果,找到与目标用户最相似的一组用户。
  3. 加权评分预测:使用相似用户对未评分物品的评分,根据他们的相似度进行加权平均,来预测目标用户对该物品的评分。

三、项目-项目协同过滤

项目-项目协同过滤与用户-用户协同过滤类似,但其核心思想是找到与目标物品相似的其他物品,然后根据用户对这些相似物品的评分来预测用户对目标物品的评分。

先找出相似的项目(计算相似度),通过用户A对相似项目的评分来推测用户对项目的评分(加权平均)。

共现矩阵则是在项目-项目协同过滤中使用的,用于计算项目之间的相似度。——记录项目之间共同出现频率的矩阵(即两个项目同时被同一个用户评分的次数)。它并不直接参与预测评分,而是用于计算项目之间的相似度,进而帮助预测用户对未评分物品的评分。

优点和局限性
  • 优点:协同过滤方法不需要了解物品的具体属性,也不需要知道用户的具体偏好,只需要历史评分数据就可以进行推荐。
  • 局限性
    • 冷启动问题:新用户或新物品加入系统时,由于缺乏足够的历史数据,很难给出准确的推荐。
    • 稀疏性问题:随着用户和物品数量的增加,评分矩阵变得非常稀疏,这使得计算相似度变得困难。
    • 扩展性问题:当用户和物品的数量很大时,计算相似度和预测评分的计算量会变得非常大。

四、衍生模型——矩阵分解算法Netflix

出现原因:在用户历史行为很少的情况下,寻找相似用户的过程并不准确。矩阵分解算法加强了模型处理稀疏矩阵的能力。——帮助我们理解用户和物品之间的潜在联系,并预测用户对未评分物品的潜在兴趣

可能很稀疏

矩阵分解的主要过程,就是先分解协同过滤生成的共现矩阵,生成用户和物品的隐向量——先人为确定特征数量,然后初始化用户、物品特征矩阵,不断优化,得到隐向量,再通过用户和物品隐向量间的相似性进行推荐。

期望为每一个用户和视频生成一个隐向量,将用户和视频定位到隐向量的表示空间上(如图 2(b) 所示),距离相近的用户和视频表明兴趣特点接近,在推荐过程中,我们就应该把距离相近的视频推荐给目标用户。

五、如何用深度学习改造协同过滤——NeuralCF

传统的协同过滤方法主要依赖于用户-项目交互矩阵,并通过矩阵分解等技术来预测用户对未评分项目的偏好。然而,这些方法通常局限于线性的关系建模,这限制了它们捕捉复杂用户偏好模式的能力。

相比于矩阵分解算法,NeuralCF 用一个多层的神经网络,替代了矩阵分解算法中简单的点积操作,让用户和物品隐向量之间进行充分的交叉。通过改进物品隐向量和用户隐向量互操作层的方法,增强模型的拟合能力。

NeuralCF的模型结构图 (出自论文Neural Collaborative Filtering)

模型的泛化能力(generalization ability)是指模型在未见过的数据上表现的能力。一个好的模型不仅要在训练数据上表现良好,还应该能够在新的、未见过的数据上也表现出色。泛化能力是衡量模型质量的一个重要指标,因为它决定了模型的实际应用价值。

  • 36
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值