首页 理论教育 协同过滤推荐的优化方法

协同过滤推荐的优化方法

时间:2023-06-11 理论教育 版权反馈
【摘要】:协同过滤推荐方法也称为基于用户行为信息的推荐方法。因此,在用户增长速度大于项目增长速度的系统中,应用基于项目的协同过滤推荐方法,能够更加节约系统的计算资源。单纯的基于项目的协同过滤推荐方法的推荐精度往往并不很理想,因此许多研究人员采用了一些新的方法对其进行改进。基于模型的协同过滤推荐方法的优势是能够一定程度缓解数据稀疏问题,但推荐结果的可解释性相对不好,推荐的结果有时候会存在奇异点现象。

协同过滤推荐的优化方法

协同过滤推荐方法也称为基于用户行为信息的推荐方法。该类推荐方法的思想是“具有相同兴趣偏好的用户,在选择商品、项目、服务时,往往存在着一定的相似性”。因此,它通过收集用户的历史交易数据,来为用户的兴趣偏好进行建模,并根据该兴趣模型寻找目标用户的兴趣相似用户群体,然后基于该相似用户群体,为目标用户未选择的商品、项目、服务进行评分预测,进行推荐。协同过滤推荐方法又可以细分为3种类型,基于用户的协同过滤推荐方法、基于项目的协同过滤推荐方法和基于模型的协同过滤推荐方法。

1.基于用户的协同过滤推荐方法

基于用户的协同过滤推荐方法基于假设“两个用户的历史交易行为越相似,他们在未来的历史交易行为也会同样相似”,可以将目标用户未购买,但与其相似用户购买过的商品推荐给他。用户的兴趣相似度通常采用Pearson相似度或Cosine相似度计算方法进行计算。如公式2-13和公式2-14所示。

其中,Sim(i,j)表示用户ui和用户uj的Pearson偏好相识度,Si,j表示用户ui和用户uj共同使用过的项目集,表示用户ui、uj对Si,j中所有项目评分的均值。Ri,k、Rj,k表示用户ui、uj对项目Sk的实际评分值。

其中,Cos(i,j)表示用户ui和用户uj的Cosine偏好相识度,Si,j表示用户ui和用户uj共同使用过的项目集,Ri,k、Rj,k表示用户ui、uj对项目Sk的实际评分值。

由于用户的兴趣偏好会随着时间的推移而发生变化,因此,在计算用户的偏好相似度时,需要考虑时间因素,并且需要对用户的兴趣偏好模型进行及时更新[93-94]

2.基于项目的协同过滤推荐方法

基于项目的协同过滤推荐方法基于假设“用户以前感兴趣的项目,在未来的时间里,用户仍然会继续购买该类项目”。基于项目的协同过滤推荐方法关键在于计算两个项目的相似性,因此,在过去的时间中,两个项目被用户同时购买的次数越多,评价越相同,这两个项目的相似度就越高。(www.xing528.com)

基于用户的协同过滤推荐方法和基于项目的协同过滤推荐方法也被合称为基于记忆的协同过滤推荐方法,它们需要在用户-项目评价矩阵基础上,维护一个用户相似度矩阵或项目相似度矩阵,并进行定期更新。相对于用户相似度矩阵的更新频率,项目相似度矩阵的更新频率要更低,且项目相似度一般较为稳定,不容易受到单点攻击的干扰[95]。因此,在用户增长速度大于项目增长速度的系统中,应用基于项目的协同过滤推荐方法,能够更加节约系统的计算资源。如Amazon建立的推荐系统采用的就是基于项目的协同过滤推荐方法[96]。而在一些关键词推荐系统中,关键词的数量远远大于用户数量,因此常常采用基于用户的协同过滤推荐方法进行推荐。

单纯的基于项目的协同过滤推荐方法的推荐精度往往并不很理想,因此许多研究人员采用了一些新的方法对其进行改进。Han L等人(2016)[97]提出了一种基于聚类融合的项目协同过滤推荐方法,该方法首先对项目同时出现在用户购买清单的次数进行统计,然后根据用户的偏好属性对用户进行聚类,再将该两部分数据进行融合,进行基于项目的协同过滤推荐,并采用了分布式模型将该推荐系统部署在了Hadoop架构上,取得了较好的推荐效果。Du X等人(2013)[98]将在项目相似度矩阵的基础上,对用户的项目浏览信息进行统计分析和建模,取得了较好的推荐效果,在命中率和平均召回率两个指标上都比原有的基于项目的协同过滤推荐方法效果要好。

3.基于模型的协同过滤推荐方法

基于记忆的协同过滤推荐方法通常需要大量的用户评价数据作为推荐方法的基础,但现有的电子商务系统通常都存在评价数据稀疏的问题,因此,研究人员提出了基于模型的协同过滤推荐方法,采用机器学习和数据挖掘中的方法来对用户的兴趣度进行学习、分析、训练和建模,然后根据得到的用户兴趣模型为用户进行项目推荐。文献[99]以服务信誉为对象,提出了一种融合模糊多属性决策理论的服务推荐方法,该方法对服务评价的多种形式,包括服务评分、服务标签、自然语言评价等进行量化处理,分配不同的信誉权重,计算得到用户对服务的综合信誉评分,然后进行服务推荐。其服务对用户的效用度采用公式2-15进行计算。

其中,Mr,f表示服务f对用户r的效用度,表示服务f以标签形式表述的服务质量指标yi中具有tagj的特征,对于该项特征yi的每个tag以偏好pi,j为权重进行加权,即为yi对用户r的效用,对m个质量指标进行ci为权重的加权,便可以计算得到服务f对用户r的效用度。

目前基于模型的协同过滤推荐方法有很多,比较典型的有基于贝叶斯网络的协同过滤推荐方法[100]、基于概率统计的协同过滤推荐方法[101]、基于模糊聚类的协同过滤推荐方法[102]、基于神经网络的协同过滤推荐方法[103]、基于矩阵分解的协同过滤推荐方法[104]、基于隐语义的协同过滤推荐方法[105]、基于单值分解的协同过滤推荐方法[106]等。

基于模型的协同过滤推荐方法的优势是能够一定程度缓解数据稀疏问题,但推荐结果的可解释性相对不好,推荐的结果有时候会存在奇异点现象。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈