协同过滤

原创
2016/10/14 14:39
阅读数 408
  1. 协同过滤简介
    协同过滤就是将物品或者人组织成邻居,这些邻居有相同相似的属性,则维护这些邻居的一个关系矩阵,矩阵的值就是他们的关系的值了,再乘以一个个体的列矩阵或者行矩阵,他们的推荐关系就出来了。 俗话说“物以类聚、人以群分”,拿看电影这个例子来说,如果你喜欢《蝙蝠侠》、《碟中谍》、《星际穿越》、《源代码》等电影,另外有个人也都喜欢这些电影,而且他还喜欢《钢铁侠》,则很有可能你也喜欢《钢铁侠》这部电影。所以说,当一个用户 A 需要个性化推荐时,可以先找到和他兴趣相似的用户群体 G,然后把 G 喜欢的、并且 A 没有听说过的物品推荐给 A,这就是基于用户的系统过滤算法。协同过滤是在海量数据中挖掘出小部分与你品味类似的用户,在协同过滤中,这些用户成为邻居,然后根据他们喜欢的东西组织成一个排序的目录推荐给你。所以就有如下两个核心问题
  • 如何确定一个用户是否与你有相似的品味?
  • 如何将邻居们的喜好组织成一个排序目录?
  1. 协同过滤详解
    参考:协同过滤算法
  2. 协同过滤例子
  • 当当网的买过此书的人还买过?首先系统维护一个书的相关度的矩阵,这个矩阵A如下图,描述的就是书籍之间的关系矩阵,关系是:同时买过x,y这两本书出现的次数,也叫同现度。比如说同时买103和102这两本书出现的次数是4。用这个关系矩阵乘上用户购买此书的矩阵,购买过此书的矩阵是一个列矩阵,在此书上是1,别的都是0,就可以算出最后的值了。参考:mahout机器学习平台->02、推荐系统算法与架构剖析。这一小节课程。
    输入图片说明
  • 电影推荐系统,根据评分推荐,也是基于itemCF的
    通过维护一张电影之间的同现矩阵*用户评分矩阵,同现矩阵同上面当当网的用户购买矩阵,意思差不多,都是一个用户同时看过这两部电影的次数,用户对电影的评分矩阵,用户的评分就相当于权重了,把他们相乘就出来了一点电影分数排名。参考:mahout机器学习平台->02、推荐系统算法与架构剖析。这一小节课程。
展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部