在上一篇文章中,我们谈到了推荐系统中基于内容的过滤及其利弊,今天我们来看看协同过滤。
与基于内容的过滤(CBF)不同,协同过滤(Collaborative Filtering)技术独立于域,适用于无法利用元数据充分描述的项目,如电影、音乐等。
协同过滤技术(CF)首先会构建用户项目偏好的数据库,即user-item矩阵,然后,计算用户画像之间的相似性,匹配具有相似的兴趣爱好的用户,完成整个推荐。这些用户获得的推荐项目,是他之前未评级但已被其它相似用户评价过的项目。
由CF生成的结果可能是预测,也可能是推荐。预测表示用户i的项目j的预测得分的数值Rij,而推荐是用户最喜欢的前N个项目的列表,如图下所示。
协同过滤可以分为两类:1)基于记忆;2)基于模型。

协同过滤过程
基于记忆
在用户的搜索过程中,与他兴趣爱好相似的用户之前评价过的项目扮演着重要角色。一旦匹配到与该用户兴趣爱好相似的其他用户,就可以使用不同的算法,结合该用户和其他用户的兴趣爱好,生成推荐结果。
基于记忆的CF可以通过基于用户(user-based)和基于项目(item-based)两种技术实现。
基于用户的CF通过比较用户对同一项目的评级来计算用户之间的相似性,然后计算活跃用户对项目的预测评级,并将该预测作为类似的其他用户对项目评级的加权平均值。
基于项目的CF则利用项目之间的相似性预测结果:从用户-项目矩阵中检索活跃用户评价的所有项目,建立项目相似性的模型,计算项目之间的相似度,然后选择前K个最相似的项目,计算前K个项目的加权平均值,生成预测。
计算物品/用户之间的相似性有很多方法:
计算欧几里得距离:

本文深入探讨协同过滤(Collaborative Filtering, CF)技术,包括基于记忆和基于模型的方法,如关联规则、聚类分析、决策树、人工神经网络等。同时,分析了CF的优缺点,如冷启动问题、数据稀疏性、可扩展性和同义问题。协同过滤在推荐系统中发挥了重要作用,但也面临挑战,需要通过多种技术手段来优化。"
103888157,7735947,合成复用原则在软件设计中的应用,"['软件工程', '设计原则', '面向对象', '复用', '继承']
最低0.47元/天 解锁文章
478

被折叠的 条评论
为什么被折叠?



