一、推荐系统的概述
个性化推荐是根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品。随着电子商务规模的不断扩大,商品个数和种类快速增长,顾客需要花费大量的时间才能找到自己想买的商品。这种浏览大量无关的信息和产品过程无疑会使淹没在信息过载问题中的消费者不断流失。为了解决这些问题,个性化推荐系统应运而生。个性化推荐系统是建立在海量数据挖掘基础上的一种高级商务智能平台,以帮助电子商务网站为其顾客购物提供完全个性化的决策支持和信息服务。
定义:它是利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程"。
推荐系统有3个重要的模块:用户建模模块、推荐对象建模模块、推荐算法模块。通用的推荐系统模型流程如图。推荐系统把用户模型中兴趣需求信息和推荐对象模型中的特征信息匹配,同时使用相应的推荐算法进行计算筛选,找到用户可能感兴趣的推荐对象,然后推荐给用户。
二、推荐系统的常见评价方法
评价方法分为离线评估,用户调查,在线评估。由于用户调查和在线评估代价要求高,目前大多数的研究采用的是离线测试。其中文献[3]总结了离线评价中用到的指标,包括准确度指标、基于排序加权的指标、覆盖率、多样性和新颖性等。本文的研究工作采用了几种离线评估指标。将其归纳为准确性指标非准确性指标
2.1 准确性指标
准确性指标是推荐系统中最重要的指标。最常使用的准确性指标包括准确率召回率

准确率 召回率
推荐列表中用户喜欢的物品所占的比例。 测试集中有多少用户喜欢的物品出现在推荐列表中。

准确性指标局限性:
(1)不适合评估排序性能。
(2)离线的准确率的提高并不意味着实际线上系统效果的提高。
2.2 非准确性指标
推荐系统中,除了推荐准确性外,还有其他一些重要的指标。包括推荐的多样性、新颖性、惊喜度和覆盖率等等。本文将这些指标统称为非准确性指标。其中非准确性指标又可以分为用户级非准确性指标系统级非准确性指标

用户级非准确性指标 系统级的非准确性指标
个体多样性;新颖性。 整体多样性;覆盖率 。

具体指标计算请点击链接:推荐系统的评价指标总结
三、常见的推荐算法总结
3.1 基于内容推荐
3.2 协同过滤推荐
3.3 基于关联规则推荐
3.4 基于效用推荐
3.5 基于知识推荐
3.6 组合推荐

3.1 基于内容推荐:

基于内容的推荐(Content-based Recommendation)是信息过滤技术的延续与发展,它是建立在项目的内容信息上作出推荐的,而不需要依据用户对项目的评价意见,更多地需要用机器学习的方法从关于内容的特征描述的事例中得到用户的兴趣资料。在基于内容的推荐系统中,项目或对象是通过相关的特征的属性来定义,系统基于用户评价对象的特征,学习用户的兴趣,考察用户资料与待预测项目的相匹配程度。用户的资料模型取决于所用学习方法,常用的有决策树、神经网络和基于向量的表示方法等。基于内容的用户资料是需要有用户的历史数据,用户资料模型可能随着用户的偏好改变而发生变化。 基于内容推荐方法的优点是:

(1)不需要其它用户的数据,没有冷开始问题和稀疏问题;
(2)能为具有特殊兴趣爱好的用户进行推荐。
(3)能推荐新的或不是很流行的项目,没有新项目问题。
(4)通过列出推荐项目的内容特征,可以解释为什么推荐那些项目。
(5)已有比较好的技术,如关于分类学习方面的技术已相当成熟。
缺点是要求内容能容易抽取成有意义的特征,要求特征内容有良好的结构性,并且用户的口味必须能够用内容特征形式来表达,不能显式地得到其它用户的判断情况。

3.2 协同过滤推荐:

协同过滤推荐 (Collaborative Filtering Recommendation)技术是推荐系统中应用最早和最为成功的技术之一。它一般采用最近邻技术,利用用户的历史喜好信息计算用户之间的距离,然后 利用目标用户的最近邻居用户对商品评价的加权评价值来预测目标用户对特定商品的喜好程度,系统从而根据这一喜好程度来对目标用户进行推荐。协同过滤最大优 点是对推荐对象没有特殊的要求,能处理非结构化的复杂对象,如音乐、电影。 协同过滤是基于这样的假设:为一用户找到他真正感兴趣的内容的好方法是首先找到与此用户有相似兴趣的其他用户,然后将他们感兴趣的内容推荐给此用 户。其基本思想非常易于理解,在日常生活中,我们往往会利用好朋友的推荐来进行一些选择。协同过滤正是把这一思想运用到电子商务推荐系统中来,基于其他用 户对某一内容的评价来向目标用户进行推荐。 基于协同过滤的推荐系统可以说是从用户的角度来进行相应推荐的,而且是自动的即用户获得的推荐是系统从购买模式或浏览行为等隐式获得的,不需要用户努力地找到适合自己兴趣的推荐信息,如填写一些调查表格等。 和基于内容的过滤方法相比,协同过滤具有如下的优点:

(1) 能够过滤难以进行机器自动内容分析的信息,如艺术品,音乐等。
(2)共享其他人的经验,避免了内容分析的不完全和不精确,并且能够基于一些复杂的,难以表述的概念(如信息质量、个人品味)进行过滤。
(3)有推荐新信息的能力。可以发现内容上完全不相似的信息,用户对推荐信息的内容事先是预料不到的。这也是协同过滤和基于内容的过滤一个较大的差别,基于内容的过滤推荐很多都是用户本来就熟悉的内容,而协同过滤可以发现用户潜在的但自己尚未发现的兴趣偏好。
(4)能够有效的使用其他相似用户的反馈信息,较少用户的反馈量,加快个性化学习的速度。
虽然协同过滤作为一种典型的推荐技术有其相当的应用,但协同过滤仍有许多的问题需要解决。最典型的问题有稀疏问题(Sparsity)和可扩展问题(Scalability)。

3.3 基于关联规则推荐:

基于关联规则的推荐 (Association Rule-based Recommendation)是以关联规则为基础,把已购商品作为规则头,规则体为推荐对象。关联规则挖掘可以发现不同商品在销售过程中的相关性,在零 售业中已经得到了成功的应用。管理规则就是在一个交易数据库中统计购买了商品集X的交易中有多大比例的交易同时购买了商品集Y,其直观的意义就是用户在购 买某些商品的时候有多大倾向去购买另外一些商品。比如购买牛奶的同时很多人会同时购买面包。 算法的第一步关联规则的发现最为关键且最耗时,是算法的瓶颈,但可以离线进行。其次,商品名称的同义性问题也是关联规则的一个难点。

3.4 基于效用推荐:

基于效用的推荐 (Utility-based Recommendation)是建立在对用户使用项目的效用情况上计算的,其核心问题是怎么样为每一个用户去创建一个效用函数,因此,用户资料模型很大 程度上是由系统所采用的效用函数决定的。基于效用推荐的好处是它能把非产品的属性,如提供商的可靠性(Vendor Reliability)和产品的可得性(Product Availability)等考虑到效用计算中。

3.5 基于知识推荐:

基于知识的推荐 (Knowledge-based Recommendation)在某种程度是可以看成是一种推理(Inference)技术,它不是建立在用户需要和偏好基础上推荐的。基于知识的方法因 它们所用的功能知识不同而有明显区别。效用知识(Functional Knowledge)是一种关于一个项目如何满足某一特定用户的知识,因此能解释需要和推荐的关系,所以用户资料可以是任何能支持推理的知识结构,它可以 是用户已经规范化的查询,也可以是一个更详细的用户需要的表示。

3.6 组合推荐:

由于各种推荐方法都有优缺点,所以在实际中,组合推荐(Hybrid Recommendation)经常被采用。研究和应用最多的是内容推荐和协同过滤推荐的组合。最简单的做法就是分别用基于内容的方法和协同过滤推荐方法 去产生一个推荐预测结果,然后用某方法组合其结果。尽管从理论上有很多种推荐组合方法,但在某一具体问题中并不见得都有效,组合推荐一个最重要原则就是通 过组合后要能避免或弥补各自推荐技术的弱点。 在组合方式上,有研究人员提出了七种组合思路:

(1)加权(Weight):加权多种推荐技术结果。
(2)变换(Switch):根据问题背景和实际情况或要求决定变换采用不同的推荐技术。
(3)混合(Mixed):同时采用多种推荐技术给出多种推荐结果为用户提供参考。
(4)特征组合(Feature combination):组合来自不同推荐数据源的特征被另一种推荐算法所采用。
(6)层叠(Cascade):先用一种推荐技术产生一种粗糙的推荐结果,第二种推荐技术在此推荐结果的基础上进一步作出更精确的荐。
(7)特征扩充(Feature augmentation):一种技术产生附加的特征信息嵌入到另一种推荐技术的特征输入中。
(8)元级别(Meta-level):用一种推荐方法产生的模型作为另一种推荐方法的输入。

注:部分知识参考自“360百科”。

推荐系统常用的推荐算法总结相关推荐

  1. 推荐系统常用的推荐算法

    转载自  推荐系统常用的推荐算法 一.推荐系统概述和常用评价指标 1.1 推荐系统的特点 在知乎搜了一下推荐系统,果真结果比较少,显得小众一些,然后大家对推荐系统普遍的观点是: (1)重要性UI> ...

  2. 电商大数据项目-推荐系统实战之推荐算法(三)

    电商大数据项目-推荐系统实战(一)环境搭建以及日志,人口,商品分析 https://blog.51cto.com/6989066/2325073 电商大数据项目-推荐系统实战之推荐算法 https:/ ...

  3. 在线新闻推荐网 Python+Django+Mysql开发技术 基于用户、物品的协同过滤推荐算法 个性化新闻推荐系统 协同过滤推荐算法在新闻网站中的运用 个性化推荐算法、机器学习、分布式大数据、人工智

    在线新闻推荐网 Python+Django+Mysql开发技术 基于用户.物品的协同过滤推荐算法 个性化新闻推荐系统 协同过滤推荐算法在新闻网站中的运用 个性化推荐算法.机器学习.分布式大数据.人工智 ...

  4. 在线图书推荐网 Python+Django+Mysql开发技术 个性化图书推荐系统 协同过滤推荐算法在图书网站中的运用 基于用户、物品的协同过滤推荐算法 个性化推荐算法、机器学习、分布式大数据、人工智

    在线图书推荐网 Python+Django+Mysql开发技术 个性化图书推荐系统 协同过滤推荐算法在图书网站中的运用 基于用户.物品的协同过滤推荐算法 个性化推荐算法.机器学习.分布式大数据.人工智 ...

  5. 如何使用Spring+SpringMVC+Mybatis开发实现个性化小说推荐系统 协同过滤推荐算法实现 基于用户、项目的协同过滤推荐 基于聚类、关联规则、内容推荐算法 WebNovelCFRS

    如何使用Spring+SpringMVC+Mybatis开发实现个性化小说推荐系统 协同过滤推荐算法实现 基于用户.项目的协同过滤推荐 基于聚类.关联规则.内容推荐算法 WebNovelCFRS 一. ...

  6. 个性化试题推荐系统 协同过滤推荐算法在在线考试系统中的运用 基于用户/项目的协同过滤推荐算法 混合协同过滤推荐算法 协同过滤混合推荐算法

    个性化试题推荐系统 协同过滤推荐算法在在线考试系统中的运用 一.项目开发技术及功能介绍 1.SSH开发框架(spring+struts+hibernate) 2.js.jquery.bootstrap ...

  7. 实战智能推荐系统(1)-- 个性化推荐系统及其基本推荐算法

    个性化推荐系统是建立在海量数据挖掘基础上的一种高级商务智能平台,以帮助电子商务网站为其顾客购物提供完全个性化的决策支持和信息服务. 推荐系统有3个重要的模块:用户建模模块,推荐对象模块,推荐算法模块. ...

  8. ncf 推荐系统_TopN物品推荐算法评测设置回顾

    论文标题:Revisiting Alternative Experimental Settings for Evaluating Top-N Item Recommendation Algorithm ...

  9. 推荐系统的常见推荐算法的性能比较

    数据集是movielens-1M(下载)版本. 1. 训练集大小对于推荐性能的影响 使用SlopeOne算法,每次随机选取6%的用户预测其喜好,进行5次实验,取MAE的均值,得到下表: 训练集大小(% ...

最新文章

  1. IIS配置网站定时任务必设参数图文教程
  2. 『 编程思维』之我见
  3. 华为root工具_华为Mate9解锁后无法ROOT 需要手动刷入Recovery怎么办【解决方法】...
  4. Redis(1):简介
  5. spark与storm的对比
  6. 怎样把计算机放到手机桌面,如何将电脑桌面的文档发送到手机微信
  7. Java基础--多态
  8. 次小生成树的某些结论及其算法O(V^2)
  9. 用Python全自动下载抖音视频!
  10. python断言语句_Python断言assert的用法代码解析
  11. 大三了,我真的好迷茫
  12. 项目开发团队分配管理软件总结
  13. linux必应搜索,浏览器UA(四):必应搜索引擎(bing.com)的UserAgent参数
  14. windows linux终端模拟器,Wsl-Terminal终端模拟器
  15. lisp语言(转自百度)
  16. 微信小程序——简单饮食推荐(四)
  17. 华盛顿大学西雅图分校计算机专业排名,2020年华盛顿大学西雅图分校世界排名...
  18. iOS AVFoundation
  19. VBA SolidWorks 二次开发 API ---从宏开始
  20. C语言标准输入输出缓冲区

热门文章

  1. epson 有时通电有时不通电
  2. 正益工场,构建社区型移动众包平台
  3. 安装并使用百度地图【vue】
  4. ARCHICAD API开发教程(1)-打印Helloworld
  5. 野火(IM即时通讯)
  6. html5实验教程,html5+css3+js开发APP实例教程1 -- 文字列表
  7. 一条咸鱼的java学习笔记第7天之Oracle数据库
  8. 超薄广告灯箱的导灯板如何清洁?
  9. 【WEB】解决两个图像重叠的问题
  10. 抖音推广:抖音的分类与变现方式