专栏首页数据森麟基于大数据的推荐算法综述

基于大数据的推荐算法综述

致力于为机器学习、深度学习、数据挖掘等AI技术的“初学者”或者“爱好者”,进行基础理论与实战技能的介绍和学习。我们团队成员既有各个著名院校的在校硕士生、博士生,也有BAT一线资深工程师,我们会竭诚为您服务!

前言

随着移动互联网技术和社交网络的发展,每天都有大量包括博客,图片,视频,微博等等的信息发布到网上。我们正处于大数据的时代,传统的信息检索技术已经不能满足用户对信息发现的需求,推荐引擎的出现,可以帮用户获取更丰富,更符合个人口味和更加有意义的信息。

个性化推荐主要是根据用户的兴趣和和利时行为特点,向用户推荐所需的信息或商品,帮助用户在海量信息中快速发现真正所需的商品,提高用户黏性,促进信息点击和商品销售。推荐系统是基于海量数据挖掘分析的商业智能平台,推荐主要基于以下信息:

  • 热门的商品或者新闻
  • 详细的用户画像信息
  • 用户历史购买或者阅读等行为信息
  • 社会化关系

推荐算法分类

1

基于流行度的算法

基于流行度的推荐算法比较简单粗暴,主要是对热点商品或者信息推荐。它主要是根据PV、UV、日均PV或分享率等数据来按某种热度排序来推荐给用户。

这种算法基又有点也有缺点。优点是简单,适用于刚注册的新用户,能够解决对新用户进行推荐的冷启动问题。缺点也很明显,它无法针对用户提供个性化的推荐。基于这种算法也可做一些优化,比如加入用户分群的流行度排序,例如把热榜上的体育内容优先推荐给体育迷,把政要热文推给热爱谈论政治的用户。

2

基于内容的推荐

基于内容的推荐是在推荐引擎出现之初应用最为广泛的推荐机制,它的核心思想是根据推荐物品或内容的元数据,发现物品或者内容的相关性,然后基于用户以往的喜好记录,推荐给用户相似的物品。这种推荐系统多用于一些资讯类的应用上,针对文章本身抽取一些tag作为该文章的关键词,继而可以通过这些tag来评价两篇文章的相似度。

这种推荐系统的优点在于:

  1. 易于实现,不需要用户数据因此不存在稀疏性和冷启动问题。
  2. 基于物品本身特征推荐,因此不存在过度推荐热门的问题。

然而,缺点在于抽取的特征既要保证准确性又要具有一定的实际意义,否则很难保证推荐结果的相关性。豆瓣网采用人工维护tag的策略,依靠用户去维护内容的tag的准确性。

3

基于关联规则的推荐

基于关联规则的推荐更常见于电子商务系统中,并且也被证明行之有效。其实际的意义为购买了一些物品的用户更倾向于购买另一些物品。基于关联规则的推荐系统的首要目标是挖掘出关联规则,也就是那些同时被很多用户购买的物品集合,这些集合内的物品可以相互进行推荐。目前关联规则挖掘算法主要从Apriori和FP-Growth两个算法发展演变而来。

基于关联规则的推荐系统一般转化率较高,因为当用户已经购买了频繁集合中的若干项目后,购买该频繁集合中其他项目的可能性更高。该机制的缺点在于:

  1. 计算量较大,但是可以离线计算,因此影响不大。
  2. 由于采用用户数据,不可避免的存在冷启动和稀疏性问题。
  3. 存在热门项目容易被过度推荐的问题。

4

基于协同过滤的推荐

协同过滤是一种在推荐系统中广泛采用的推荐方法。这种算法基于一个“物以类聚,人以群分”的假设,喜欢相同物品的用户更有可能具有相同的兴趣。基于协同过滤的推荐系统一般应用于有用户评分的系统之中,通过分数去刻画用户对于物品的喜好。协同过滤被视为利用集体智慧的典范,不需要对项目进行特殊处理,而是通过用户建立物品与物品之间的联系。

目前,协同过滤推荐系统被分化为两种类型:基于用户(User-based)的推荐和基于物品(Item-based)的推荐。

基于用户的推荐

基于用户的协同过滤推荐的基本原理是,根据所有用户对物品或者信息的偏好(评分),发现与当前用户口味和偏好相似的“邻居”用户群,在一般的应用中是采用计算K近邻的算法;然后,基于这 K 个邻居的历史偏好信息,为当前用户进行推荐。

这种推荐系统的优点在于推荐物品之间在内容上可能完全不相关,因此可以发现用户的潜在兴趣,并且针对每个用户生成其个性化的推荐结果。缺点在于一般的Web系统中,用户的增长速度都远远大于物品的增长速度,因此其计算量的增长巨大,系统性能容易成为瓶颈。因此在业界中单纯的使用基于用户的协同过滤系统较少。

基于物品的推荐

基于物品的协同过滤和基于用户的协同过滤相似,它使用所有用户对物品或者信息的偏好(评分),发现物品和物品之间的相似度,然后根据用户的历史偏好信息,将类似的物品推荐给用户。基于物品的协同过滤可以看作是关联规则推荐的一种退化,但由于协同过滤更多考虑了用户的实际评分,并且只是计算相似度而非寻找频繁集,因此可以认为基于物品的协同过滤准确率较高并且覆盖率更高。

同基于用户的推荐相比,基于物品的推荐应用更为广泛,扩展性和算法性能更好。由于项目的增长速度一般较为平缓,因此性能变化不大。缺点就是无法提供个性化的推荐结果。

协同过滤算法总结

两种协同过滤:基于用户和基于物品两个策略中应该如何选择呢?其实基于物品的协同过滤推荐机制是 Amazon 在基于用户的机制上改良的一种策略,因为在大部分的 Web 站点中,物品的个数是远远小于用户的数量的,而且物品的个数和相似度相对比较稳定;同时基于物品的机制比基于用户的实时性更好。但也不是所有的场景都是这样的情况,在一些新闻推荐系统中,也许物品,也就是新闻的个数可能大于用户的个数,而且新闻的更新程度也有很快,所以它的相似度依然不稳定。所以,推荐策略的选择其实也和具体的应用场景有很大的关系。

基于协同过滤的推荐机制是现今应用最为广泛的推荐机制,它有以下几个显著的优点:

  1. 它不需要对物品或者用户进行严格的建模,而且不要求物品的描述是机器可理解的,所以这种方法也是领域无关的。
  2. 这种方法计算出来的推荐是开放的,可以共用他人的经验,很好的支持用户发现潜在的兴趣偏好。 然后而它也存在以下几个问题:
  3. 方法的核心是基于历史数据,所以对新物品和新用户都有“冷启动”的问题。
  4. 推荐的效果依赖于用户历史偏好数据的多少和准确性。
  5. 在大部分的实现中,用户历史偏好是用稀疏矩阵进行存储的,而稀疏矩阵上的计算有些明显的问题,包括可能少部分人的错误偏好会对推荐的准确度有很大的影响等等。
  6. 对于一些特殊品味的用户不能给予很好的推荐。
  7. 由于以历史数据为基础,抓取和建模用户的偏好后,很难修改或者根据用户的使用演变,从而导致这个方法不够灵活。

5

基于建模的算法

基于模型的方法有很多,主要是使用常用的机器学习算法对目标用户简历推荐算法模型,然后对用户的爱好进行预测推荐以及对推荐的结果打分排序等。

基于模型的算法特点十分明显:快速、准确。因此它比较适用于实时性比较高的业务如新闻、广告等。当然,而若是需要这种算法达到更好的效果,则需要人工干预反复的进行属性的组合和筛选,也就是我们常说的特征工程。而由于新闻的时效性,系统也需要反复更新线上的数学模型,以适应变化。

6

混合算法

真正的现实应用中,其实基本上很少会使用单一的推荐算法去实现推荐任务。因此,大型成熟网站的推荐系统都是基于各种推荐算法的优缺点以及适合场景分析的情况下的组合使用的“混合算法”。当然,混合策略也会是十分丰富的,例如不同策略的算法加权、不同场景和阶段使用不同的算法等等。具体的怎么混合需要结合实际的应用场景进行分析与应用。

总结

随着机器学习和大数据技术的不断火热与成熟,推荐系统的发展与应用也越来越成熟。但是需要我们学习的地方也有很多,无论怎么样,希望对推荐算法感兴趣的朋友能够继续努力。

后续文章我会详细地介绍各种具体的推荐算法以及应用实战,敬请期待!

◆ ◆ ◆  ◆ ◆

长按二维码关注我们
数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。

管理员二维码:

猜你喜欢● 互联网大佬学历&背景大揭秘,看看是你的老乡还是校友● 上万条数据撕开微博热搜的真相!● 你相信逛B站也能学编程吗? ● 大数据解读B站火过蔡徐坤的“鬼畜“区巨头们 ● 豆瓣已玩烂,来爬点有逼格的 ——IMDB 电影提升你的品位

本文分享自微信公众号 - 数据森麟(shujusenlin)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-16

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • EMNLP 2019 | 哈工大刘挺团队,基于事件背景知识进行 If-Then 类型常识推理

    本文来自公众号哈工大SCIR,AI科技评论获授权转载,如需转载请联系原公众号。 原标题:赛尔原创 | EMNLP 2019 基于上下文感知的变分自编码器建模事件...

    AI科技评论
  • 机器学习-决策树(Decision Tree)简介

    从上图中可以看出,决策树在产品总和表上工作,也称为析取范式。在上图中,我们预测计算机在人们日常生活中的使用。

    亚乐记
  • 机器学习-支持向量机(SVM:Support Vector Machine)案例

    我第一次听到“支持向量机”这个名字,我觉得,如果这个名字本身听起来那么复杂,那么这个概念的表述将超出我的理解范围。 幸运的是,我看到了一些大学讲座视频,并意识到...

    亚乐记
  • 如何用LSTM自编码器进行极端事件预测?(含Python实现)

    原标题 | Extreme Event Forecasting with LSTM Autoencoders

    AI研习社
  • 如何实现高速卷积?深度学习库使用了这些「黑魔法」

    我的笔记本电脑CPU还可以,在TensorFlow等库的加持下,这台计算机可以在 10-100 毫秒内运行大部分常见CNN模型。2019年,即使是智能手机也能在...

    OpenCV学堂
  • 机器学习-将多项式朴素贝叶斯应用于NLP问题

    朴素贝叶斯分类器算法是一系列概率算法,基于贝叶斯定理和每对特征之间条件独立的“朴素”假设而应用。 贝叶斯定理计算概率P(c | x),其中c是可能结果的类别,...

    亚乐记
  • AI实战派,这家公司如何做到AI应用的从1到N

    「啤酒和尿布」的故事已流传近 20 年,却依然被奉为大数据分析的经典案例,代表了大数据应用的雏形,挖掘数据之间的相关性来指导商业决策。

    机器之心
  • 周志华教授:如何做研究与写论文?

    每个人从本科到硕士,再到博士、博士后,甚至工作以后,都会遇到做研究、写论文这个差事。论文通常是对现有工作的一个总结和展示,特别对于博士和做研究的人来说,论文则显...

    yuquanle
  • 机器学习-朴素贝叶斯(Naive Bayes)案例

    这是一种基于贝叶斯定理的分类技术,假设预测变量之间具有独立性。简而言之,朴素贝叶斯分类器假定类中某个特定特征的存在与任何其他特征的存在无关。例如,如果水果是红色...

    亚乐记
  • 机器学习-朴素贝叶斯分类器

    使用贝叶斯定理,我们可以找到已知B发生,A发生的可能性。在这里,B是证据,A是假设。这里所做的假设是预测变量/特征是独立的。也就是说,一个特定功能的存在不会影响...

    亚乐记

扫码关注云+社区

领取腾讯云代金券