首页 > 编程语言 > 详细

基于用户的协同过滤算法

时间:2019-09-09 16:21:53      阅读:88      评论:0      收藏:0      [点我收藏+]

下面讲解的链接

https://blog.csdn.net/shf1730797676/article/details/97100815

基本思路:当用户A需要个性化推荐的时候,可以先找到和他兴趣相似的用户群体G,然后把G中所包含的且A中没有的东西进行预测评估,最后根据预测评估值对用户A进行推荐。

方法:
1、找到与用户A兴趣相似的用户群体
2、对G中所包含的且A没有听说过或没有见过的进行预测分析。
3、根据预测分析值对A进行推荐

过程:

1发现兴趣相似的用户

通常用 Jaccard (杰卡德相似度)公式或者余弦相似度计算两个用户之间的相似度。设 N(u) 为用户 u 喜欢的物品集合,N(v) 为用户 v 喜欢的物品集合,那么 u 和 v 的相似度是多少呢?

如何一下子计算所有用户之间的相似度呢?为计算方便,通常首先需要建立“物品—用户”的倒排表,如下图所示:

技术分享图片

 

 然后对于每个物品,喜欢他的用户,两两之间相同物品加1。例如喜欢物品 a 的用户有 A 和 B,那么在矩阵中他们两两加1。如下图所示:

技术分享图片

 

      计算用户两两之间的相似度,上面的矩阵仅仅代表的是公式的分子部分。以余弦相似度为例,对上图进行进一步计算:

技术分享图片

 

基于用户的协同过滤算法

原文:https://www.cnblogs.com/18800105616a/p/11492205.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!