协同过滤算法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

领域 实时性
冷启动
推荐理由
很难提供令用户信服的推荐解释(购买了该图 利用用户的历史行为给用户做推荐解释,可以令用户比较 书的用户也购买了。。。) 信服
谢谢观看!
E'N'D
出用户D也可能喜欢物品3。如下图
用户 用户A 用户B 用户C 用户D
商品1 √ √ √ √
商品2
商品3 √
商品4 √
商品5

√ √ 推荐

三、算法特点
PART THREE
1、使用场景
对于电商网站,用户的数量往往超过物品的数量,同时物品数据相对 稳定,因此计算物品的相似度不但计算量小,同时不必频繁更新。但是这 种情况只适用于电子商务类型的网站,像新闻类,博客等这类网站的系统 推荐,情况往往是相反的,物品数量是海量的,而且频繁更新。所以从算 法复杂度角度来说,两种算法各有优势。
点击流
隐式
一组用户的点击,用户对物品感兴趣,需要 用户的点击一定程度上反映了用户的注意力,所以它也可以从一定程度上反映用户的喜好。 进行分析,得到偏好 一组时间信息,噪音大,需要进行去噪,分 用户的页面停留时间一定程度上反映了用户的注意力和喜好,但噪音偏大,不好利用。 析,得到偏好 布尔量化的偏好,取值是 0 或 1 用户的购买是很明确的说明这个项目它感兴趣。
推荐系统之协同过滤算法
演讲人:张博
目录
CONTENT
一、什么是协同过滤
二、协同过滤的实现步骤
三、协同过滤的特点
1、什么是协同过滤?
协同过滤推荐作为个性化推荐中至关重要的一种技术,得到了广 泛的应用。协同过滤分为两种:基于用户的协同过滤(User CF)和基 于商品的协同过滤(Item CF)。基于用户的协同过滤,首先找到用户的 邻居,也就是寻找用户所在的社区,把社区成员所关注喜欢的,而用 户不曾关注过的商品推荐给他。基于商品的协同过滤,根据评分数据 找到该物品的相似物品,当用户关注某个物品后可以直接把该物品的 相似物品推荐给用户,基于商品的协同过滤能够动态实时的为用户推 荐,或者在一段时间内,计算出用户所关注的物品和相似的物品,把 权值较高而用户未曾关注的物品推荐给用户。
用户 用户D 用户E 用户C
商品6 √ √ √
商品7 √ √ √
商品8 √ √ √
商品9 √
商品10 √ √ 推荐
2.4 寻找相似的商品(Item CF)
表格中是两个用户对5件商品的评分,通过两个用户的评分来获得 5件商品之间的相似度情况。
2.4 寻找相似的商品
在散点图中,我们可以发现,商 品1,3,4在用户A和B中有着近似
的评分,说明这三件商品的相关
度较高。而商品5和2则在另一个 群体中。
2.4 寻找相似的商品
通过欧几里德系数可以发现,商品间的距离和关系与前面散点图 中的表现一致,商品1, 3 , 4距离较近,商品2,5距离较近。
2.4 进行推荐
跟上述的基于用户的协同过滤算法类似,但它从物品本身,而不 是用户角度。比如喜欢物品1的用户都喜欢物品3,那么可以知道 物品1与物品3的相关度很高,而用户D喜欢物品1,那么可以推断
2.2 寻找相似的用户
2.2 寻找相似的用户
相似度计算
方法一:欧几里德距离公式
方法二:皮尔逊系数
2.2 寻找相似的用户 (User CF) 欧几里德距离
可以发现,用户A&C用户A&D和用户C&D距离较近。同时用户B&E 的距离也较为接近。与我们前面在散点图中看到的情况一致。
2.2 寻找相似的用户 皮尔逊相关度评价
保存书签
显示
布尔量化的偏好,取值是 0 或 1
通过用户对物品的投票,可以精确的得到用户的偏好。
标记标签
显示
一些单词,需要对单词进行分析,得到偏好 通过分析用户的标签,可以得到用户对项目的理解,同时可以分析出用户的情感:喜欢还是讨厌
评论
显示
一段文字,需要进行文本分析,得到偏好
通过分析用户的评论,可以得到用户的情感:喜欢还是讨厌
2、协同过滤的实现步骤
1. 收集用户偏好 2. 找到相似的用户或物品 3. 进行推荐
2.1 收集用户偏好
要从用户的行为和偏好中发现规律,并基于此给予 推荐,如何收集用户的偏好信息成为系统推荐效果最基
础的决定因素。用户有很多方式向系统提供自己的偏好
信息,下面举例进行介绍:
2.1 收集用户偏好
用户行为
2.3 为相似的用户推荐物品
当我们需要对用户C推荐商品时,首先我们检查之前的相似
度列表,发现用户C、D、E的相似度较高。换句话说这三个wk.baidu.com户
是一个群体,拥有相同的偏好。因此,我们可以对用户C推荐D和 E的商品。但我们不能直接推荐前面商品1-商品5的商品。因为这 些商品用户C以及浏览或者购买过了。不能重复推荐。因此我们 要推荐用户C还没有浏览或购买过的商品。
2、优缺点对比
UserCF 性能
ItemCF
适用于用户较少的场合,如果用户很多,计算 适用于物品数明显小于用户数的场合,如果物品很多(网 用户相似度矩阵代价很大。 页),计算物品相似度矩阵代价很大。 时效性较强,用户个性化兴趣不太明显的领域。 长尾物品丰富,用户个性化需求强烈的领域 用户有新行为,不一定造成推荐结果的立即变 用户有新行为,一定会导致推荐结果的实时变化。 化。 在新用户对很少的物品产生行为后,不能立即 对他进行个性化推荐,因为用户相似度表是每 隔一段时间离线计算的。 新物品上线后一段时间,一旦有用户对物品产 生行为,就可以将新物品推荐给和对它产生行 为的用户兴趣相似的其他用户 新用户只要对一个物品产生行为,就可以给他推荐和该物 品相关的其他物品。 但没有办法在不离线更新物品相似度表的情况下将新物品 推荐给用户。
我们选择使用皮尔逊相关度评价来计算多用户与多商品的关系计算。下 面是5个用户对5件商品的评分表。我们通过这些评分计算出商品间的相 关度。
2.2 寻找相似的用户
通过计算5个用户对5件商品的评分我们获得了用户间的相似度数 据。这里可以看到用户A&B,C&D,C&E和D&E之间相似度较 高。下一步,我们可以依照相似度对用户进行商品推荐。
页面停留时间
隐式
购买
隐式
2.1 收集用户偏好
不同的行为一般可以分为“查看”和“购买”等,然后基于不同的 行为,计算相似度。类似于当当网、淘宝给出的“购买了该图书的人还 购买了 ...”,“查看了图书的人还查看了 ...” 根据不同行为反映用户喜好的程度将它们进行加权,得到用户对于物品
的总体喜好。
2.2 寻找相似的用户 (User CF)
我们模拟了5个用户对两件商品的评分,来说明如何通过用户对不同商 品的态度和偏好寻找相似的用户。在示例中,5个用户分别对两件商品 进行了评分。这里的分值可能表示真实的购买,也可以是用户对商品不 同行为的量化指标。例如,浏览商品的次数,向朋友推荐商品,收藏,
分享,或评论等等。这些行为都可以表示用户对商品的态度和偏好程度。
评分 投票 转发
类型
显式 显式 显式
特征
整数量化的偏好,可能的取值是 [0, n];n 一般取值为 5 或者是 10 布尔量化的偏好,取值是 0 或 1 布尔量化的偏好,取值是 0 或 1
作用
通过用户对物品的评分,可以精确的得到用户的偏好 通过用户对物品的投票,可以较精确的得到用户的偏好 通过用户对物品的投票,可以精确的得到用户的偏好。
相关文档
最新文档