推荐系统:Collaborative recommendation

本文深入探讨了协同过滤(CF)推荐系统的原理,包括UserCF和ItemCF算法,分析了评分尺度、数据稀疏性、冷启动问题及其解决方案。此外,还提到了概率模型和关联分析在推荐系统中的应用,以及下一代推荐系统的发展趋势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、CF算法处理的问题描述:

  • 给定用户集合 U={u1,u2,...un} 以及物品集合 P={p1,p2,...pm} 和用户对物品的评分矩阵R(nxm维),预测某些用户没有评分物品可能的评分分数
  • 基于此,CF算法有两个基本的假设:(a)如果用户过去有相同的兴趣,那么在未来用户也会有相同的兴趣(b)用户的兴趣具有稳定性和连续性

2、UserCF

  • 基本思路:寻找与用户兴趣相近的用户,按照他们对物品的评价来估计目标用户对物品的评价
  • 面临的主要问题是如何规定相似性,这里根据经验来说,UserCF采用皮尔逊系数法比用其他距离评价指标更好:
    这里写图片描述
    皮尔逊系数的值位于-1到1之间,1表示完全正相关,-1表示完全负相关;应用皮尔逊系数的一个重要原因是它去除了平均值,即去除了每个用户自己对评分的理解(现实生活中可能会出现有些用户的评分普遍很高,有些用户的评分普遍偏低的情况,皮尔逊系数能很好地解决这一问题)
  • 利用皮尔逊系数评判相关系数之后,就可以预测用户对某个物品的评分,假设取N个近邻用户,要预测用户a对物品P的评分则可以用下式:
    这里写图片描述
  • 该方法的劣势:(a)上述方法是在理想情况下,现实中用户和商品的数量会达到数以亿计,计算的复杂度问题是需要考虑的,而且需要注意的是评分矩阵可能会很稀疏(b)对于新用户和新物品(冷启动问题)不能有很好的解答(c)对于热门物品,该种方法不能区分用户的喜爱程度,可以通过类似与idf的方法对热门物品做出惩罚(d)可以通过variance weighting增加方差比较大的物品的权重
    (e)另一个问题是当两个用户共同评分的物品很少或者很多的情况时,这种方法可能会出现问题。(f) case amplification 方法可以说是将相关系数接近-1或者1的相关系数强制乘以一个系数,可以用fine-tuning
  • K近邻,K取全部用户时有两个劣势:(1)计算复杂度高(2)影响预测精度

3、ItemCF

  • 现实中存在很多的问题,考虑到实时推荐的问题可以采用离线处理
    采用余弦相似度,考虑到不同用户对评分有偏差,考虑修正余弦相似度:
    这里写图片描述
    预测的话采用:
    这里写图片描述

4、评分scale的影响
采用不同尺度的分数,可能会对用户的评分产生相当大的影响。进而影响到推荐系统的精度。

  • 评分可以分为隐式评分和显示评分,显示评分的优点是用户自己意愿的表达,是十分有效的数据,但同时获取难度大,而且数量相对较小。因此,有很多的研究在如何”劝”用户评分。
  • 隐式评分是用户隐含的行为模式。比如买了一个物品,又或者查看了某件物品的详细信息,又或者在页面停留较长时间等
  • 隐式评分的缺点是推荐系统在推测用户是不是对一件物品感兴趣,这是一个概率事件。而且假设用户在帮别人买东西,那么这个行为就被推荐系统完全曲解,可能会得到较差的推荐结果。

5、数据的稀疏性和冷启动问题
当评分矩阵十分稀疏时,推荐系统的效果可能会很差。有以下几种思路:

  • 一个可能的思路是利用用户的年龄、性别、地理位置等信息,构成混合推荐系统
  • 利用图模型。若比较稀疏,可以增长user顶点到Item顶点的距离。论文指出在数据稀疏的情况下,该种方法效果要优于UserCF和ItemCF。但当数据矩阵变得稠密时,效果会变差,而且计算的开销会很大。
  • 利用voting的思想。计算相似性矩阵时,若评测的两个用户相似的物品太少,计算相似性矩阵会有困难,该种思路是把两个用户中只有一个用户的物品评分用平均值填充。
  • 考虑相似用户对相似物品的评分
  • 对于新用户的冷启动问题可以先选择一些热门但是很有区分度的物品让用户选择。

6、Memory-based or Model Baesd?
CF有两种思路,一种是Memory-based,一种是Model-based。对于Memory-based,需要存储相似性矩阵内存占用大,对于Model-based则需要离线训练模型内存占用小

  • 矩阵分解:SVD和PCA
    将数据映射到低维空间,得到用户向量和物品向量,下面便有两种方法:
    (1)直接将用户向量和物品向量做正弦相似度的判断,从而间接得到评分
    (2)先计算出最相似的K个用户,然后利用类似UserCF的方法求解
    PCA解法的一个思路是,现将评分矩阵进行降维,之后用户就被映射到了最为主要的特征向量之上,也就是说用户向量的纬度降低,那么利用K-Means将用户聚类(以上的操作都可以离线进行)。当新来一个用户时先让他对有区分度的物品评分。之后将分数向量映射到主成分之上,看看用户向量属于哪一类,就推荐给他哪一类中的热门物品。该方法优点是预测基本上是实时进行的,而且也能够得到不错的精度。但是缺点是设计有区分度的物品是很关键的,否则不能够得到很好地分数。
  • Memory-based和Model-based的区别:试验证明有时Memory效果好,因为他只考虑了与其最接近的K个邻居;但有时Model-based更好,这可能是因为Model-based做了一个降维的处理滤除了部分噪声,而且能够检查出重要的数据中的共线情况。有时精度取决于选择的Factor的个数一般为20~100,可以利用Fine-Tuning来得到

7、关联分析

  • 关联分析通常用于交易中的一些规则
  • 这些规则类似于ItemCF的思想,类似于如果用户喜欢商品1、2,那么他也喜欢商品10
  • 关联规则分析主要的算法是 Apriori 其主要思想是:
    a、对于用户1,确定所有可能的物品关系映射A–>B,其中A应是假定用户已经购买过的物品,而B是用户未购买的,作为预测,假设这些映射共有N个
    b、对于每一对映射,计算support和cofidence:
    这里写图片描述
    c、按照计算的cofidence选出最大的K个推荐给用户

8、概率模型

  • 对于评分问题来说,假设可选评分为1~5共5个整数,那么预测用户对item2的评分可以把对item2的评分当做待预测的类标签,由于类的维度是离散的,可以使用朴素Bayesian的方法求解
  • 概率模型的优点,相对于Memory-based方法,明显节省内存,因为参数可以离线处理,而且朴素Bayesian的方法不会带来过严重的拟合问题。另外当数据不完整的情况下,也可以使用
  • 朴素Bayesian的方法虽然会带来概率性的预测,但是也有缺点比如计算复杂度高,比如样本稀疏性的问题、样本量过少的问题这些问题导致的结果是使各类的概率比较平均,从而预测精度带来误差
  • 对于样本稀疏性和计算复杂性的问题,可以考虑将用户(或者商品)聚类,当对用户做出推荐时,先将用户归为几类中的1类,依靠那一类中的数据进行考虑
    。该种方法的一个问题是类的个数需要确定

9、现实系统的评分问题
以5分为例,一般来说现实的评分均分一般大于3,这是可能是因为a)、人们可能只对自己喜欢的物品评分b)、人们可能倾向于给物品一个很高的分数,并且认为3分是一个很差的分数

10、新闻推荐
当前面临的主要问题:a)实时推荐的问题,在1s之内产生新的内容b)物品(新闻)更新很快,物品很容易过时。一个解决思路是不断对用户的点击行为做出反应

11、推荐系统

  • 推荐系统与传统机器学习方法不同的是,模型精度的验证比较麻烦,而且并不是所有领域都适合CF,比如物品是车,那么如果用户或物品数据过少就不能实现CF方法。

下一代推荐系统的发展趋势

协同捆绑推荐是一种通过深度学习算法用户物品集进行匹配的方法。这种方法可以为用户提供个性化的捆绑推荐,准确地满足用户的需求与兴趣。 在这种方法中,使用者的行为数据被采集并存储,例如购买记录、浏览历史、评分等。利用这些数据,可以建立一个用户-物品矩阵,其中行表示用户,列表示物品,矩阵元素则表示用户物品的行为。通过分析用户-物品矩阵的模式与关联,可以预测用户对未来物品的偏好。 深度学习模型通常由多个层次的神经网络组成,通过学习分类大量数据样本,能够提取出潜在的用户物品特征。这些特征可以捕捉到更多的信息,用于计算用户物品之间的相似度或相关度。通过比较用户特征与物品特征的差异,可以得出最合适的捆绑推荐。 协同捆绑推荐算法具有以下优点: 1. 个性化推荐:该算法可以根据用户的兴趣偏好,为每个用户提供个性化的捆绑推荐,增加用户的满意度体验。 2. 精准的匹配:通过深度学习算法,可以准确地计算用户与每个物品之间的匹配度,从而找到最佳的匹配项。 3. 时间效率:深度学习算法能够快速处理大规模的用户-物品矩阵,实现实时的捆绑推荐。 然而,协同捆绑推荐算法也存在一些挑战: 1. 数据稀疏性:用户物品的行为数据通常是稀疏的,某些物品可能没有足够的数据支持,导致推荐的准确性有所降低。 2. 冷启动问题:当新用户或新物品加入系统时,缺乏充分的数据进行推荐,需要设计特殊的策略来解决这个问题。 3. 模型可解释性:深度学习算法推荐过程中产生的结果往往难以解释,这可能对用户产生疑虑,影响用户的信任度。 综上所述,协同捆绑推荐算法通过深度学习模型实现用户物品集之间的匹配,能够提供个性化且精准的捆绑推荐。然而,需要克服数据稀疏性、冷启动问题模型可解释性等挑战,以进一步提高算法的效果用户的满意度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值