【每州一讲】简述4种常用推荐系统

一不小心就被推荐了

推荐系统现在在各种网站和应用中可谓是大行其道,从令人类泪目的网易云音乐推荐,到淘宝搜索后满目的相关推送,再到今日头条上点击了一条重口味新闻然后满屏的都是相关讯息。

各个网站使用的推荐算法或许各有不同,但是其归根结底都属于几个大类的推荐系统。下面,小州就简单介绍一下4种常用的推荐系统。日后可能会有推荐系统的实战文章,便于大家理解。

协同过滤推荐系统

协作过滤是推荐引擎的基本形式。在这种类型的推荐引擎中,通过用户的偏好协同完成大量替代项目的筛选项目。

协同过滤推荐系统的基本假设是,如果两个用户过去有相同的兴趣,他们将来也会有相似的品味。例如,如果用户A和用户B具有相似的电影偏好,并且用户A最近观看了《妖猫传》(用户B还没有看到),则协同过滤的想法是将《妖猫传》推荐给用户B。

协同过滤推荐系统有两种基本类型:

  • 基于用户的协同过滤:在基于用户的协同过滤中,通过考虑用户邻居的偏好来生成推荐。基于用户的协作过滤分两步完成: -- 根据类似的用户偏好识别类似的用户; -- 根据类似用户对未被活跃用户评价的项目给出的评价,将新项目推荐给活跃用户。
  • 基于物品的协同过滤:在基于物品的协同过滤中,推荐是使用物品的邻居生成的。 与基于用户的协作过滤不同,我们首先找到物品之间的相似性,然后推荐与活跃用户过去评分过的项目相似的非评级项目。基于物品的推荐系统分两步构建: -- 根据物品的偏好计算物品相似度 -- 找到与活跃用户评分最高的物品类似的物品,并向他们推荐

在构建协同过滤推荐系统的同时,我们将了解以下几个方面:

  • 如何计算用户之间的相似度?
  • 如何计算物品之间的相似度?
  • 如何给出推荐建议?
  • 如何处理数据未知的新物品和新用户?

协同过滤系统的优点是它们实现简单,非常准确。 但是,它们有其自身的一些局限性,例如冷启动问题,这意味着协同过滤系统无法向系统中第一次提供信息的用户进行推荐。

基于内容的推荐系统

在协同过滤中,我们只考虑用户和物品偏好来构建推荐系统。 虽然这种方法是准确有效的,但如果我们在构建推荐引擎时考虑用户属性和物品属性,则更有意义。 与协作过滤不同,我们在构建基于内容的推荐引擎时,使用项目属性和用户偏好来指定物品属性。

如同名称所表示的,基于内容的推荐系统使用物品的内容信息来构建推荐模型。 内容推荐系统通常包含:

  • 用户简历的生成
  • 项目简历的生成
  • 模型构建

以生成对活动用户的推荐。 基于内容的推荐系统通过获取物品和用户简历的内容或特征向用户推荐物品。 例如,如果你在淘宝上搜索了小米手机,那么基于内容的推荐系统将会了解你的偏好,并推荐与小米手机和其他与数码产品相关的商品给你。

简单地说,系统建议的物品与用户过去喜欢的物品类似。 根据与其他比较物品相关的特征计算物品的相似度,并与用户的历史偏好相匹配。

在构建基于内容的推荐系统时,我们需要考虑到以下问题:

  • 我们如何选择产品的内容或功能?
  • 我们如何创建类似于产品内容的用户配置文件?
  • 我们如何根据物品的特点创建物品之间的相似性?
  • 我们如何创建和更新用户配置文件?

这种技术不需要考虑用户的邻居偏好。因此,它不需要大量的用户组对项目的偏好,它只考虑用户的过去偏好和项目的属性/特征,以获得更好的推荐准确性。

混合推荐系统

这种类型的推荐引擎通过组合各种推荐系统来构建更强大的系统。 通过结合各种推荐系统,我们可以用另一个系统的优点来代替一个系统的缺点,从而建立一个更强大的系统。 例如,通过将模型在新物品没有评分时失败的协同过滤方法与基于内容的系统(其中关于物品的特征信息可用)相结合,可以更准确和有效地推荐新物品。

例如,如果你经常阅读今日头条的新闻,则其底层推荐引擎会将由与你类似人员阅读的热门新闻文章与你的个人偏好结合起来,并根据你以前的点击信息计算出推荐新闻文章。

在构建混合推荐系统之前,我们应该考虑以下问题:

  • 应该结合哪些推荐技术来实现业务解决方案?
  • 我们应该如何将各种技术和结果结合起来,做出更好的推荐?

混合推荐引擎的优点是与单独的推荐技术相比,这种方法将提高推荐的效率。这种方法也向用户提出了一个很好的组合建议,无论是在个人层面还是在邻居层面。

情景感知推荐系统

个性化推荐系统(如基于内容的推荐系统)效率低下,因为他们不能提出有关当前情景的建议。 例如,假设一个妹子非常喜欢吃冰淇淋,再假定这个妹子元旦去了雪乡旅游。

嗯!现在,个性化推荐系统提供最近流行的网红冰淇淋品牌的可能性很大。 但是反问一下自己:在雪乡寒冷的地方向一个人推荐冰淇淋是否正确? 相反,建议一杯热奶茶才是缓缓的更贴心。 这种个性化和情境感知的推荐被称为情境感知推荐系统。 在前面的例子中,地点就是上下文情景。

用户偏好可能随情景而不同,诸如一天中的时间,季节,心情,地点,位置,系统提供的选项等等。 不同地点的人在不同的时间与不同的人可能需要不同的东西。 情景感知推荐系统在计算或服务推荐之前考虑情景因素。这种推荐系统在不同的环境下针对不同的人群不同的需求。

在构建上下文感知模型之前,我们应该考虑以下问题:

  • 我们应该如何定义在推荐系统中使用的情景?
  • 应该使用什么技术来建立实现业务解决方案的建议?
  • 我们如何提取用户对产品的喜好背景?
  • 我们应该使用什么技术将情景的首选项与用户配置文件的首选项相结合以生成推荐建议?

最后

上述4种推荐系统都是很常见的推荐系统,基于这些类型,有各种算法进行建模,当然,用Python构建推荐系统也是很方便的。大家可以去了解一下。

原文发布于微信公众号 - 州的先生(zmister2016)

原文发表时间:2018-01-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏智能算法

IT 职业进化线路图

来自:新浪微博@互联网GIF 1、程序员 ? 2、设计师 ? 3、产品经理 ? 4、手机工程师 ? 声明:本文系网络转载,版权归原作者所有。如涉及版权,请联系删...

3173
来自专栏CDA数据分析师

谈谈MATLAB大数据处理

摘要: 今天多数的大数据方案都是依托Hadoop环境来做结构化和非结构化数据处理,如何把自己的Hadoop算法快速部署到实际的生产环境当中去,对很多企业的大数据...

2845
来自专栏大数据挖掘DT机器学习

【解析】网站分析:关联推荐、交叉营销与向上营销

很多网站都具备了内容推荐的功能,不仅是像B2C电子商务类的卓越的图书推荐,也包括兴趣类网站像豆瓣的豆瓣猜等。这类功能无疑在帮助用户发现需求,促进商品购...

3314
来自专栏EAWorld

DevOps 5.0版本的150天历程

做DevOps产品差不多三年了,中间经历了诸多架构变迁、团队变动、业务目标调整,终于在七月下旬,正式发布了DevOps产品的 5.0 LA版本。这个版本从三月到...

3143
来自专栏灯塔大数据

如何快速全面建立自己的大数据知识体系?

作者刘永平经过研发多个大数据产品,将自己形成关于大数据知识体系的干货分享出来,希望给大家能够快速建立起大数据产品的体系思路,让大家系统性学习和了解有关大数据的设...

4095
来自专栏数据猿

大数据精准营销必读的“三步曲”及“两误区“

<数据猿导读> 大数据浪潮,汹涌来袭,与互联网的诞生一样,这绝不仅仅是信息技术领域的升级,更是在全球范围企业加速创新、社会加速变革的利器。未来的营销会是精准化营...

34911
来自专栏程序员互动联盟

软件工程专业和计算机专业哪一个更适合毕业后做程序猿?

大学学的是计算机科学与技术专业,已经从事编码十几年,楼主这个问题从理论上讲都是可以切入到程序员领域的 先从这两个专业着手分析,软件工程专业开设的课程我们了解下 ...

3305
来自专栏CSDN技术头条

如何做好大数据产品设计架构和技术策略?

作者经过研发多个大数据产品,将自己形成关于大数据知识体系的干货分享出来,希望给大家能够快速建立起大数据产品的体系思路,让大家系统性学习和了解有关大数据的设计架构...

2578
来自专栏SDNLAB

问世间云为何物:业务向云迁移的十大原因

云计算基础设施指的是支持云计算模型计算需求的软件和硬件组合,包括存储单元、服务器、虚拟化监控和网络软件。众多迁移到云计算中的业务已经充分享受到了云计算带来的便利...

33810
来自专栏云计算D1net

边缘计算仍难取代云计算

虽然在涉及云计算应用的功能方面,人们只是开始触及,但许多人已经考虑到云架构的继承者。一种人们正在讨论的这样的技术称之为边缘计算。这是一个概念,人们将目前集中在云...

3207

扫码关注云+社区