前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >推荐系统 入门

推荐系统 入门

作者头像
平凡的学生族
发布2019-05-25 09:33:18
7150
发布2019-05-25 09:33:18
举报
文章被收录于专栏:后端技术后端技术

原文:https://pdfs.semanticscholar.org/943a/e455fafc3d36ae4ce68f1a60ae4f85623e2a.pdf

背景

为了给用户推荐合适的商品,我们要计算用户、商品之间的相似度,这可以用user-item rating matrix完成。有不同的方法来计算相似度。[1]

1. 介绍

用户的行为可被记录,用来预测用户的偏好。 推荐系统一般分为三种:

  1. Content-based System 首先根据物品的元数据,发现物品的相关性,然后基于用户以前的喜好记录推荐给用户相似的物品[2] 详情可看基于内容推荐算法详解(比较全面的文章)
  2. Collaborative Filtering System
    • memory-based method 这两种方法都是将用户的所有数据读入到内存中进行运算的,因此叫做Memory-based Collaborative Filtering。
      1. 基于用户的协同过滤user-CF[3] 找到该用户有相同喜好的同类用户,把那些同类用户喜欢,而该用户没用过的物品列为推荐。
      2. 基于商品的协同过滤item-CF[3] 基于用户的协同过滤基本思想非常简单,就是找到志同道合的朋友,并把朋友感兴趣的而用户没有接触过的商品推荐给用户。
    • model-based method Aspect Model,pLSA,LDA,聚类,SVD,Matrix Factorization等,这种方法训练过程比较长,但是训练完成后,推荐过程比较快。
  3. Hybrid System 结合1.和2.

user-CF与item-CF对比

由于新用户的注册量非常高user-CF需要计算新用户和之前的用户之间的相似度,这会将数据稀疏延展性差等问题暴露的非常明显。

所以item-CF被提出,它根据用户对商品的使用记录,找到商品之间的相似程度,然后根据用户的喜好记录来推荐相似的商品[2]。相较于用户之间的相似度,商品之间的相似度相对是静态的,当新用户注册并有了一些自己感兴趣的商品信息时,无需再进行计算,直接根据之前存储的商品之间的相似度,将用户可能感兴趣的商品推荐给用户。

CF的两种形式

在实际中,Collaborative Filtering System被运用得最广泛。它包括两种形式:

  1. memory-based method 包括user-CFitem-CF。它们首先会通过计算,找到与指定用户最相似的neighbours,然后根据这些neighbours找到推荐的物品。准确率较高,但时间复杂度高。
  2. model-based method 首先建立一个反映用户行为的模型,再预测物品的分数。准确率不如前者高,但时间复杂度低。

CR与item-CF的区别

基于内容的推荐只考虑对象的本质,将对象按标签形成集合

基于商品的协同过滤,会“集合大众的智慧”,由所有用户对商品的使用记录,来找到商品之间的相似点,再根据用户的购买记录,为用户推荐别的商品。它基于两个假设:1. 兴趣相近的用户对同一商品感兴趣 2. 用户会偏爱与其已购买物品相似的其它物品。[2]

CR、user-CF、item-CF的区别

CR分为三步:1.构建物品的属性资料item profile 2. 构建用户的爱好资料user-profile 3. 对于用户U,遍历item集合,找到与其爱好属性最相似的item作为推荐。 user-CF:由所有用户对商品的使用记录,来找到用户之间的相似点。对于用户U,通过计算与U最相似的n个用户,根据这n个用户的购买记录,为U进行推荐。

item-CF:由所有用户对商品的使用记录,来找到物品之间的相似点。对于物品I,通过计算相似度,可以找到与I最相似的n个物品。 对于用户U,根据其购买记录,可用找到相似的物品作为推荐

其它推荐方法

除了collaborative filtering,还有content-based technique , social recommendation , semantic recommendation被用于推荐用户偏好。本文主要阐述memory-based method的推荐系统

相似度的计算方法

推荐物品预测能力的性能,取决于用于计算用户间相似度的方法。人们发明出各种计算相似度的方法。Xiaoyuan Su and Taghi M. Khoshgoftaar[4]把相似度计算方法分为三类:

  1. correlation based similarity (Pearson correlation, Constrained Pearson correlation, Spearman, Kendall’s τ correlation etc)
  2. Vector cosine based similarity
  3. conditional probability based similarity methods

2. 相关工作

collaborative filtering被广泛地运用,然而也受到一些问题的困扰,比如:data sparsity(数据稀疏),cold start problem(冷启动问题),scalability (可扩展性)。collaborative filtering要根据用户的评分来推荐物品,这就需要一个记录评分的数据库,然而,data sparsity的问题始终会存在,因为用户往往只给少量的物品打过分。 本文会阐述Pearson correlation coefficient、 cosine similarity的缺点。 Ahn 推出了一个新的相似度计算公式,PIP (Proximity-Impact-Popularity)...(接下来是各种人提出的各种方法) 人们推出了各种用于提高collaborative filtering的方法。这些方法的计算是基于局部和全局相似度的。然后人们提出了一个用于权衡各种方法的测量参数体系。实验结果显示,在预测用户评分的准确率中,被推荐的测量参数表现优于始终不变的参数。

5. 结论

传统的相似度计算公式,Pearson correlation coefficient, cosine, Mean Squared Difference,都难以捕捉相似的用户,尤其是那些只为少数物品打分的用户。 The experimental results demonstrated that the proposed estimate parameter outperforms the schemes for which the parameter was kept constant on accuracy of prediction ratings.


  1. Similarity Measures used in Recommender Systems: A Study https://pdfs.semanticscholar.org/943a/e455fafc3d36ae4ce68f1a60ae4f85623e2a.pdf
  2. 协同过滤和基于内容推荐有什么区别?https://www.zhihu.com/question/19971859/answer/82255871
  3. 基于用户的推荐算法和基于商品的推荐算法 https://blog.csdn.net/u014473918/article/details/79771558
  4. Xiaoyuan Su and Taghi M. Khoshgoftaar, A Survey of Collaborative Filtering Techniques, Advances in Artificial Intelligence Volume 2009 (2009), Article ID 421425.
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.11.19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 1. 介绍
  • user-CF与item-CF对比
  • CF的两种形式
  • CR与item-CF的区别
  • CR、user-CF、item-CF的区别
  • 其它推荐方法
  • 相似度的计算方法
  • 2. 相关工作
  • 5. 结论
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档