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

一不小心就被推荐了

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

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

协同过滤推荐系统

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

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

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

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

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

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

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

基于内容的推荐系统

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

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

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

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

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

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

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

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

混合推荐系统

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

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

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

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

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

情景感知推荐系统

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

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

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

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

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

最后

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

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

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术专栏

初识数据仓库和维度建模的一些理解和感悟

校招面试的时候面的是java后台,收到的职位offer是大数据相关的东西,虽然啥也不会,不过想到这也是一个比较火的领域,就毅然决然的接受了这个offer。

1012
来自专栏人工智能头条

机器学习API Top 10:AT&T Speech、IBM Watson和Google Prediction

1465
来自专栏架构之美

孙玄:转转如何打造AI工程架构体系

1952
来自专栏牛肉圆粉不加葱

CTR 预估候选集选择方案

最近一段日子,怎么在一个大的新闻候选集合(假设有10w条新闻)选出用来做 CTR 预估的小集合(假设是100条新闻)困扰我们已久,昨夜我夜观星象,突来灵感,遂有...

862
来自专栏新智元

【腾讯优图首度开源深度学习框架ncnn】主打手机端,同类cpu框架最快

【新智元导读】 腾讯 AI 三大支柱之一的腾讯优图实验室公布了成立以来的第一个开源项目ncnn,这是一个为手机端极致优化的高性能神经网络前向计算框架,无第三方依...

5679
来自专栏数据科学与人工智能

【数据挖掘】这些年,这些挖掘机算法,这些反思

写这篇文章,缘自于前几天部门内部成员们进行了一次部门内部现有涉及的一些算法的review以及整理。不过比较囧的就是,由于boss不在,我们讨论讨论着就成了吐槽大...

2399
来自专栏数据派THU

19个超赞的数据科学和机器学习工具,编程小白必看!(附资料)

编程是数据科学的一个组成部分。事实上,理解编程逻辑、循环和函数的人更有可能成为成功的数据科学家。但那些在学校里从未学习过编程的人怎么办?

993
来自专栏互联网数据官iCDO

A/B测试的十个黄金准则

译者:李睿 本文长度为2770字,预估阅读时间4分钟。 互联网营销人员经常会用A/B测试的方法来优化广告策略,进而实现收入或转化率的提升。但是,如果并未采用正确...

3498
来自专栏鸿的学习笔记

关于用户画像的碎碎念

最近做了一个某个类型的用户特征分析,让我对用户画像这个领域有了新的看法。这篇文章是对之前整个特征分析过程的一次梳理和总结。

1213
来自专栏华章科技

关于Python的一切:2018年,你读这8本书就够了

导读:C++、Java大神Bruce Eckel前些天在中国之行中,毫不掩饰对Python的偏爱:“坦白来讲,我最喜欢的语言是Python。每当我有问题需要被解...

541

扫码关注云+社区