概述
基于物品的协同过滤更受欢迎
历史原因:基于邻居的协同过滤是早期推荐系统的主流。
现实原因:比如亚马逊的电商系统,用户数是指数增长的,而物品(图书)数量是线性增长的。所以说item是相对稳定的。而用户数是不稳定的。
这样,我们就能很好的计算项目之间的相似度,不用频繁的计算用户之间的相似度。
所以用户的增长对我们项目的影响不是很大,因为我们的项目还是由用户进行表示的。我们新来的用户并不需要急着加入到项目之间的相似度计算中,因为由历史数据就可以知道项目之间的相似度,并且对新来的用户还是比较适用的。
用户数一般都是大于项目数了,所以很明显,我们应该以项目数来所谓相似度矩阵的计算。
用户偏好数据:
显示反馈:点击,评分,收藏等,但很多用户是不评分的,矩阵特别稀疏,所以计算是非常不准确的。这时候可以用到隐示反馈
隐示反馈:从用户评论当中去挖掘用户的偏好。
把这些信息都参与进评分权重中。
user1 user2 user3...
item1
item2
item3
在这个item矩阵中,是有很多缺失值的,那么怎么去对待这些缺失值。
比如我们对于item1来说,我们想知道user1给他的打分,我们发现user1给item1的相似item,item2评分是5,在实际应用中,要计算item1和所有用户偏好item的相似度,把这个相似度乘以用户对偏好item的评分,做一个累加,来作为对item1的评分,那么我们很有可能就把5填充到user1对item1的打分。
那么所有推荐的集合里面我们都用这种方式,我们就能得到对于user1的topN,再除去已有打分,那么就可以推荐了。
最后
以上就是欣慰母鸡为你收集整理的基于项目的协同过滤的全部内容,希望文章能够帮你解决基于项目的协同过滤所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复