推荐系统常见算法总结

作者: Liam_ml | 来源:发表于2018-12-12 23:04 被阅读15次

1.基于静态信息的推荐

通过用户登录来源或者相关账号绑定,获取用户之前的社交网站上的信息。与2人口统计学获取特征相区别。

1.1 直接获取用户喜好信息

  • 基本原理:利用用户之前的社交网站的信息直接获取用户喜好信息。

  • 例子:

  1. 用户使用微信登录,获取用户发过的朋友圈公开信息,提取与被推荐物品高度相关的信息,进行推荐。

  2. 用户使用微博登录网易云,发现发过喜欢begin again电影的状态,于是推荐主题曲lost star.

  3. 用户用微博登录,切关注了xx领域某个类别的一个大v号,则可以推荐该类别。

  • 优点:推荐准确。

  • 缺点:这种信息不好获取,且不是都能获取。需要一定的物品信息。

1.2 获取用户社交关系信息

  • 基本原理:利用用户之前的社交网站的信息直接获取用户好友信息。

  • 例子:用户使用微博/微信等登录,获取关注者、好友等信息,把好友的喜好推荐给用户。

  • 优点:推荐比较准确。

  • 缺点:好友信息不容易获取,且好友的喜好信息不一定有。

2.基于用户特征的推荐(基于人口统计学的推荐)☆

  • 基本原理:通过用户的属性特征进行建模,比如年龄,性别等,把用户分为不同的人群,然后对同一类人群把该类人群的共同喜好推荐给新用户。

  • 优点:

  1. 不需要历史行为数据;

  2. 不需要物品的属性信息。

  • 缺点:
  1. 区分粒度很粗,效果不会特别好。

3.基于物品内容的推荐 ☆

  • 基本原理:通过物品的属性特征进行建模,计算物品相似度,然后基于用户行为推荐相似物品。

  • 优点:

  1. 比较直观,物品属性维度越多越准确;

  2. 覆盖率广。

  • 缺点:
  1. 需要物品的属性信息;

  2. 物品相似度衡量只考虑物品本身,有一定局限,因为很多推荐内容有很强的主观性,比如音乐书籍电影;

  3. 需要一定的用户历史喜好信息。

4.协同过滤 ☆

  • 基本原理:根据用户的历史行为数据计算用户或者物品的相似度(比如使用余弦相似度),然后进行推荐。

  • 优点:

  1. 不需要任何的用户或者内容的属性特征信息

  2. 推荐效果的惊喜度、准确度、多样性较好

  3. 随着用户行为增多,推荐效果也会提升

  • 缺点:
  1. 需要大量、准确的用户行为数据;

  2. 冷启动问题(新用户/物品没有行为,也找不到类似用户)

  3. 灰羊问题(个别口味特殊的用户找不到口味类似的用户)

  4. 因为采用历史行为数据,不易修改,不够灵活

  5. 覆盖率较低(数据稀疏问题,很多物品没有行为)

4.1 基于用户的CF

基于用户行为计算用户之间的相关性,再通过当前用户行为找到相似度高的用户,然后把他们喜欢的物品推荐给当前用户。

4.2 基于物品的CF

基于用户行为计算物品之间的相关性,再通过当前用户对物品的行为对喜欢的物品找到相似度高的物品,然后推荐给当前用户。

5.因子分解 ☆

  • 资料:
  1. 推荐算法学习-SVM,RSVM,ASVM,SVDPP学习公式推导

  2. 在Python中实现你自己的推荐系统-svd

  3. 潜在因子算法

  • 基本原理:对用户历史行为数据建立用户-物品评分矩阵,然后使用矩阵分解相关算法进行因子分解,得到低维稠密的用户特征矩阵和物品特征矩阵,然后两个矩阵相乘就可以得到估计的得分矩阵。

  • 优点:

  1. 可以处理一定的数据稀疏问题
  • 缺点:
  1. 很依赖历史行为数据量

  2. 速度可能会非常缓慢,并且计算成本比较高

  3. 物品相关推荐集更多的是基于行为,不太适合做详情页推荐

6. 深度学习

目前有很多深度学习推荐系统的研究,但是还没有端到端的纯dl的方法。目前我了解到的有:

  1. 基于电影海报的深度学习方法: 其实也是基于内容的,只是用深度学习来获取海报图像的内容。

  2. youtube视频推荐: 整个推荐系统分为候选集生成(也称为搜索/召回)和排序两个阶段。其中召回阶段负责基于用户画像及场景数据从海量的视频库(百万级别)中将相关度最高的资源检索出来,作为候选集; 排序阶段负责基于更加精细的特征对候选集(百级别)进行排序,最终呈现给用户的只是很少一部分数据。

7.其它

  • MovieTaster-使用Item2Vec做电影推荐: 把Word2Vec迁移到item-based CF.这篇博文是根据豆瓣的豆列来做的。从自然语言序列迁移到物品集合,丢失了空间/时间信息,还无法对用户行为程度建模(喜欢和购买是不同程度的强行为)。好处是可以忽略用户-物品关系,即便获得的订单不包含用户信息,也可以生成物品集合。而论文的结论证明,在一些场景下序列信息的丢失是可忍受的。

相关文章

  • 推荐系统常见算法总结

    1.基于静态信息的推荐 通过用户登录来源或者相关账号绑定,获取用户之前的社交网站上的信息。与2人口统计学获取特征相...

  • 推荐系统

    推荐系统基础 推荐系统简介 了解推荐相关常用概念 知道推荐系统的工程架构和算法架构 知道推荐系统的常用算法 知道协...

  • 推荐系统浅谈系列(二) - 主流算法

    本文介绍几种目前常见的推荐系统的主要思路,后续会针对每个算法结合具体应用场景再具体阐述下。1.协同过滤推荐算法 u...

  • 专属智能推荐算法

    背景介绍 概括说明 标签算法规则 推荐的算法规则 标签触发条件 常见的推荐算法

  • 推荐系统21:推荐排行榜体系构建

    前面的专栏文章中,我们从最常见的内容推荐开始了解,直到了解了最复杂的深度学习在推荐系统中的应用原理,这些推荐算法都...

  • 博客集

    7 天打造前端性能监控系统【推荐收藏】web移动端常见问题总结高性能网站建设

  • 阅读记录-推荐系统

    推荐系统遇上深度学习(十八)--探秘阿里之深度兴趣网络(DIN)浅析及实现 常见ctr预估算法LR,FM,wide...

  • 常见数据结构与算法整理总结(下)

    这篇文章是常见数据结构与算法整理总结的下篇,上一篇主要是对常见的数据结构进行集中总结,这篇主要是总结一些常见的算法...

  • 推荐算法综述(1)

    推荐系统在各种系统中广泛使用,推荐算法则是其中最核心的技术点,为推荐系统选择正确的推荐算法是非常重要的决定。目前为...

  • 推荐系统基础

    推荐系统基础 个性化推荐概述 1.1 推荐系统概述 首先,需要申明一点的就是推荐系统!=推荐算法。推荐系统是一套完...

网友评论

    本文标题:推荐系统常见算法总结

    本文链接:https://www.haomeiwen.com/subject/fwymhqtx.html