基于物品的协同过滤算法(ItemCF)原理以及代码实践.pdfVIP

基于物品的协同过滤算法(ItemCF)原理以及代码实践.pdf

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基基于于物物品品的的协协同同过过滤滤算算法法 ((IItteemmCCFF))原原理理 以以及及代代码码实实践践 简简介介 协同过滤 (co aborative fi tering)是⼀种在推荐系统中⼴泛使⽤的技术。该技术通过分析⽤户或者事物之间的相似性,来预测⽤户可能感兴趣 的内容并将此内容推荐给⽤户。这⾥的相似性可以是⼈⼝特征的相似性,也可以是历史浏览内容的相似性,还可以是个⼈通过⼀定机制给与某个事 物的回应。⽐如,A和B是⽆话不谈的好朋友,并且都喜欢看电影,那么协同过滤会认为A和B的相似度很⾼,会将A喜欢但是B没有关注的电影推 荐给B,反之亦然。 协同过滤推荐分为3种类型 : 基于⽤户(user-based)的协同过滤(UserCF) 基于物品(item-based)的协同过滤 (ItemCF算法) 基于模型(mode -based)的协同过滤 (Mode CF算法) 本⽂主要讲述基于物品的协同过滤 (ItemCF)算法的原理以及代码实现。ItemCF算法跟UserCF算法⼗分相似,关于UserCF算法的介绍可以参 考这篇⽂章。 算算法法原原理理 ItemCF算法是 ⽬前业界使⽤最⼴泛的算法之⼀,亚马逊、Netf ix、YouTube的推荐算法的基础都是基于ItemCF。 不知道⼤家平时在⽹上购物的时候有没有这样的体验,⽐如你在⽹上商城下单了⼀个⼿机,在订单完成的界⾯,⽹页会给你推荐同款⼿机的⼿机 壳,你此时很可能就会点进去浏览⼀下,顺便买⼀个⼿机壳。其实这就是ItemCF算法在背后默默⼯作。ItemCF算法给⽤户推荐那些和他们之前 喜欢的物品相似的物品。因为你之前买了⼿机,ItemCF算法计算出来⼿机壳与⼿机之间的相似度较⼤,所以给你推荐了⼀个⼿机壳,这就是它的 ⼯作原理。看起来是不是跟UserCF算法很相似是不是?只不过这次不再是计算⽤户之间的相似度,⽽是换成了计算物品之间的相似度。 由上述描述可以知道ItemCF算法的主要步骤如下 : 1. 计算物品之间的相似度 2. 根据物品的相似度和⽤户的历史⾏为给⽤户⽣成推荐列表 那么摆在我们⾯前的第⼀个问题就是如何计算物品之间的相似度,这⾥尤其要特别注意⼀下 : ItemCF算法并不是直接根据物品本⾝的属性来计算相似度,⽽是通过分析⽤户的⾏为来计算物品之间的相似度。 什么意思呢?⽐如⼿机和⼿机壳,除了形状相似之外没有什么其它的相似点,直接计算相似度似乎也⽆从下⼿。但是换个⾓度来考虑这个问题,如 果有很多个⽤户在买了⼿机的同时,⼜买了⼿机壳,那是不是可以认为⼿机和⼿机壳⽐较相似呢? 由此引出物品相似度的计算公式: 上式中,分母 表⽰的是喜欢物品 的⽤户的数量,分⼦ 是同时喜欢物品 和 的⽤户数量。因此 上式可以理解成,喜欢 的⽤户当中有多少也喜欢 的,如果喜欢 的都喜欢 ,那么 。 上述公式看起来还是很合理的,但是如果物品 很热门,很多⼈都喜欢,那么上式中分⼦与分母就会很接近,此时 就会很接近 1。 即任何商品都和热门商品之间的相似度很⾼,这会导致ItemCF算法会总是推荐热门商品,这并不是⼀个好的设计。因此可以采⽤下⾯的公式: 上式的改进在于,如果 很⼤的话,分母也会相应变⼤,相当于惩罚了物品 的权值,减轻了热门物品会和很多其他物品相似的可能性。 在建⽴起了物品的相似度矩阵之后,与UserCF算法⼀样,我们也要⾯临⼀个问题,就是如何从众多相似的物品中挑选出⽤户最感兴趣的物品。因 此ItemCF算法通过以下公式计算⽤户u对物品j 的感兴趣程度 : 上式中的 是⽤户喜欢的物品集合, 是和物品j 最相似的K个物品的集合, 是物品j 和i的相似度, 是⽤户 对物 品i的兴趣 (对于隐反馈数据集,如果⽤户 对物品i有过⾏为,即可令 )。 对于上式的通俗理解就是,对于⽤户 喜欢的物品列表中的每⼀个物品i,都根据物品相似度矩阵找到与其最相似的K个物品,令为 ,然后使⽤物品相似度 来表⽰⽤户对物品j 的感兴趣程度。 最后将筛选出来的物品按照⽤户对其感兴趣程度逆序排序,取全体列表或者列表前K个物品推荐给⽤户,⾄此ItemCF算法完成。 算算法法⼯⼯作作流流程程

文档评论(0)

movie + 关注
实名认证
文档贡献者

喜欢分享的作者

1亿VIP精品文档

相关文档