基于领域的算法【详细说明】

基于领域的算法是推荐系统中最基本的算法。

一、什么是协同过滤算法?

二、什么是基于用户的协同过滤算法

2.1 基础算法

基于用户的协同过滤算法主要有 2 个步骤:

  1. 找到和目标用户兴趣一致的用户集合
  2. 找到这个集合中用户喜欢的,且目标用户没有听说过的物品推荐给目标用户(首先是兴趣一致用户集合感兴趣的内容,且目标用户没有听说过)

步骤1的关键是计算两个用户的兴趣相似度。给定用户u和用户v,令N(u)表示用户u层级有过正反馈的物品集合,令N(v)为用户v曾经有过正反馈的物品集合。那么我们通过Jaccard公式简单计算u和v之间的兴趣相似度:

或者通过余弦相似度计算:

注意:

(1)余弦相似度的计算,时间复杂度是O(|U| * |U|),这在用户数大的时候非常耗时 ,因为很多用户之间没有对同样的用户产生过行为,即 |N(u) ∩ N(v)| = 0

(2)我们可以先算出 |N(u) ∩ N(v)| ≠ 0的用户对(u,v),然后再进行余弦相似度的计算。

 

 

 

 

 

三、什么是基于物品的协同过滤算法

 ItemCF算法并不利用物品的内容属性计算物品之间的相似度,它主要通过分析用户的行为记录计算物品之间的相似度。

基于物品的协同过滤算法主要分两步:

(1)计算物品之间的相似度

(2)根据物品的相似度和用户的历史行为给用户生成推荐列表。

四、UserCF与ItemCF的综合比较

思考,为什么Digg使用UserCF,而亚马孙网使用ItemCF?

 

posted on 2019-07-17 17:28  一颗西蓝花  阅读(261)  评论(0编辑  收藏  举报