- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
协同过滤推荐系统
协同过滤推荐系统搭建总结 什么是协同过滤 现今的推荐技术和算法中,最被大家广泛认可和采用的就是基于协同过滤的推荐方法。 协同过滤是利用集体智慧的一个典型方法,协同过滤一般是在海量的用户中发掘出一小部分和你品位比较类似的,在协同过滤中,这些用户成为邻居,然后根据他们喜欢的其他东西组织成一个排序的目录作为推荐给你。当然其中有一个核心的问题: 如何确定一个用户是不是和你有相似的品位? 如何将邻居们的喜好组织成一个排序的目录? 要实现协同过滤,需要一下几个步骤 收集用户偏好 找到相似的用户或物品 计算推荐 收集用户偏好 以下图为例,用户偏好收集的表示方式 在一般应用中,我们提取的用户行为一般都多于一种,关于如何组合这些不同的用户行为,有两种方式: 将不同的行为分组:一般可以分为“查看”和“购买”等等,然后基于不同的行为,计算不同的用户 / 物品相似度。类似于当当网或者 Amazon 给出的“购买了该图书的人还购买了 ...”,“查看了图书的人还查看了 ...” 根据不同行为反映用户喜好的程度将它们进行加权,得到用户对于物品的总体喜好。一般来说,显式的用户反馈比隐式的权值大,但比较稀疏,毕竟进行显示反馈的用户是少数;同时相对于“查看”,“购买”行为反映用户喜好的程度更大,但这也因应用而异。 收集了用户行为数据,还需要对数据进行预处理,其中最关键的工作就是减噪和归一化。 减噪:用户行为数据是用户在使用应用过程中产生的,它可能存在大量的噪音和用户的误操作,可以通过经典的数据挖掘算法过滤掉行为数据中的噪音,这样可以使分析更加准确。 归一化:在计算用户对物品的喜好程度时,可能需要对不同的行为数据进行加权。但不同行为的数据取值可能相差很大,比如,用户的查看数据必然比购买数据大的多,如何将各个行为的数据统一在一个相同的取值范围中,从而使得加权求和得到的总体喜好更加精确,就需要进行归一化处理。最简单的归一化处理,就是将各类数据除以此类中的最大值,以保证归一化后的数据取值在 [0,1] 范围中。 进行预处理后,根据不同应用的行为分析方法,可以选择分组或者加权处理,之后可以得到一个用户偏好的二维矩阵,一维是用户列表,另一维是物品列表,值是用户对物品的偏好,一般是 [0,1] 或者 [-1, 1] 的浮点数值。 找到相似的用户或物品 当已经对用户行为进行分析得到用户喜好后,就可以根据用户喜好计算相似用户和物品,然后基于相似用户或者物品进行推荐,这就是最典型的 CF 的两个分支:基于用户的CF和基于物品的CF,这两种方法都需要计算相似度 相似度的计算 相似度的计算,现有的几种基本方法都是基于向量(Vector)的,其实就是计算两个向量的距离,距离越近相似度越大。在推荐的场景中,在用户 - 物品偏好的二维矩阵中,我们可以将一个用户对所有物品的偏好作为一个向量来计算用户之间的相似度,或者将所有用户对某个物品的偏好作为一个向量来计算物品之间的相似度。 常用的相似度计算方法 欧几里德距离, x,y 是 n 维空间的两个点,它们之间的欧几里德距离是: 当 n=2 时,欧几里德距离就是平面上两个点的距离。当用欧几里德距离表示相似度,采用以下公式进行转换,距离越小,相似度越大。 皮尔逊相关系数,皮尔逊相关系数一般用于计算两个变量间联系的紧密程度,它的取值在 [-1,+1] 之间 相似邻居的计算 如何根据相似度找到用户 - 物品的邻居,常用的挑选邻居的原则可以分为两类 1.固定数量的邻居:K-neighborhoods 或者 Fix-size neighborhoods 不论邻居的“远近”,只取最近的 K 个,作为其邻居。如下图中的 A,假设要计算点 1 的 5- 邻居,那么根据点之间的距离,我们取最近的 5 个点,分别是点 2,点 3,点 4,点 7 和点 5。但这种方法对于孤立点的计算效果不好,因为要取固定个数的邻居,当它附近没有足够多比较相似的点,就被迫取一些不太相似的点作为邻居,这样就影响了邻居相似的程度,比如图 1 中,点 1 和点 5 其实并不是很相似。 2.基于相似度门槛的邻居:Threshold-based neighborhoods 与计算固定数量的邻居的原则不同,基于相似度门槛的邻居计算是对邻居的远近进行最大值的限制,落在以当前点为中心,距离为 K 的区域中的所有点都作为当前点的邻居,这种方法计算得到的邻居个数不确定,但相似度不会出现较大的误差。如下图中的 B,从点 1 出发,计算相似度在 K 内的邻居,得到点 2,点 3,点 4 和点 7,这种方法计算出的邻居
文档评论(0)