推荐算法

目前,主要的推荐方法包括:基于内容的推荐、协同过滤推荐、基于关联规则的推荐、基于效用的推荐、基于知识的推荐和组合推荐。

基于内容的推荐

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

优点

基于内容推荐方法的优点是: 
1)不需要其它用户的数据,没有冷开始问题和稀疏问题。 
2)能为具有特殊兴趣爱好的用户进行推荐。 
3)能推荐新的或不是很流行的项目,没有新项目问题。 
4)通过列出推荐项目的内容特征,可以解释为什么推荐那些项目。 
5)已有比较好的技术,如关于分类学习方面的技术已相当成熟。

缺点

缺点是要求内容能容易抽取成有意义的特征,要求特征内容有良好的结构性,并且用户的口味必须能够用内容特征形式来表达,不能显式地得到其它用户的判断情况。

协同过滤推荐

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

基于协同过滤的推荐系统可以说是从用户的角度来进行相应推荐的,而且是自动的,即用户获得的推荐是系统从购买模式或浏览行为等隐式获得的,不需要用户努力地找到适合自己兴趣的推荐信息,如填写一些调查表格等。

优点

和基于内容的过滤方法相比,协同过滤具有如下的优点: 
1) 能够过滤难以进行机器自动内容分析的信息,如艺术品,音乐等。 
2) 共享其他人的经验,避免了内容分析的不完全和不精确,并且能够基于一些复杂的,难以表述的概念(如信息质量、个人品味)进行过滤。 
3) 有推荐新信息的能力。可以发现内容上完全不相似的信息,用户对推荐信息的内容事先是预料不到的。这也是协同过滤和基于内容的过滤一个较大的差别,基于内容的过滤推荐很多都是用户本来就熟悉的内容,而协同过滤可以发现用户潜在的但自己尚未发现的兴趣偏好。 
4) 能够有效的使用其他相似用户的反馈信息,较少用户的反馈量,加快个性化学习的速度。

缺点

虽然协同过滤作为一种典型的推荐技术有其相当的应用,但协同过滤仍有许多的问题需要解决。最典型的问题有稀疏问题(Sparsity)和可扩展问题(Scalability)。

基于关联规则的推荐

基于关联规则的推荐(Association Rule-based Recommendation)是以关联规则为基础,把已购商品作为规则头,规则体为推荐对象。*关联规则挖掘可以发现不同商品在销售过程中的相关性*,在零售业中已经得到了成功的应用。关联规则就是在一个交易数据库中统计购买了商品集X的交易中有多大比例的交易同时购买了商品集Y,其直观的意义就是用户在 买某些商品的时候有多大倾向去购买另外一些商品。比如购买牛奶的同时很多人会同时购买面包。

商品之间的关联规则可以分为空间关联和时间关联两种,时间关联又可以分为周期关系和顺序关联两种。

空间关联

空间关联,也就是在同一个时间(同一次购买)里,对消费者经常一起购买的商品进行分析,这也是所谓“购物篮分析”的主要支撑技术。 
最常见的空间关联规则挖掘技术,是所谓的“支持-置信”分析。以消费者在超市购买商品为例,如果把每一个消费者的一次购买看作一个事件,考虑从商品X到商品Y的关联规则,支持度是指在所有事件中同时购买商品X和商品Y的比例,置信度则是在所有购买了商品X的事件中也购买商品Y的比例[1]。如果支持度和置信度都超过了相应的阈值,则从X到Y的规则被认为是有效的。

时间关联

顺序关联

顺序关联是指购买了商品X的消费者,倾向于在一个特定的时间间隔后购买商品Y。 
更严格地说,如果商品X和商品Y之间存在很强的时间关联性,则所有购买过X和Y的消费者购买X和Y的间隔时间的分布具有一个比较窄而高的峰值。

周期关联

周期关联和空间关联与顺序时间关联不同,不是两个商品之间的关联,而是同一个商品在被同一个消费者购买时在购买时间上的周期性。

关联规则算法的第一步关联规则的发现最为关键且最耗时,是算法的瓶颈,但可以离线进行。其次,商品名称的同义性问题也是关联规则的一个难点。

基于效用的推荐

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

基于知识的推荐

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

组合推荐

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

组合方式

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

主要推荐方法的对比

各种推荐方法都有其各自的优点和缺点,见表1。





可阅读的参考书: 
《推荐系统实战》http://max.book118.com/html/2016/0304/36867303.shtm

时间: 2024-12-16 17:01:15

推荐算法的相关文章

SQL自连接(源于推荐算法中的反查表问题)

"基于用户的协同过滤算法"是推荐算法的一种,这类算法强调的是:把和你有相似爱好的其他的用户的物品推荐给你. 要实现该推荐算法,就需要计算和你有交集的用户,这就要用到物品到用户的反查表. 先举个例子说明下反查表:甲喜欢的物品有:A.B.C:乙喜欢的物品有:B.E.F:丙喜欢的物品有:A.J.K:而你喜欢的物品是:A.J.M.反查表就是喜欢A物品的有你.甲.丙,喜欢J物品的有你.丙,喜欢M物品的只有你,这就是和你喜欢的物品有联系的用户.有了这个反查表,我们就可以看出和你有关系的用户只有甲和

阿里天池大数据之移动推荐算法大赛总结及代码全公布

移动推荐算法比赛已经结束了一个多星期了,现在写一篇文章来回顾一下自己的参赛历程. 首先,对不了解这个比赛的同学们介绍一下这个比赛(引用自官网): 赛题简介 2014年是阿里巴巴集团移动电商业务快速发展的一年,例如2014双11大促中移动端成交占比达到42.6%,超过240亿元.相比PC时代,移动端网络的访问是随时随地的,具有更丰富的场景数据,比如用户的位置信息.用户访问的时间规律等. 本次大赛以阿里巴巴移动电商平台的真实用户-商品行为数据为基础,同时提供移动时代特有的位置信息,而参赛队伍则需要通

协同过滤推荐算法

协同过滤推荐算法分为基于用户的协同过滤推荐UserCF和基于物品的协同过滤推荐ItemCF.介绍见<协同过滤的实现步骤>

今日头条核心技术“个性推荐算法”揭秘

今日头条核心技术"个性推荐算法"揭秘 最近面试华兴资本, 他们比较关注今日头条算法的实现, 今天特转载网上 今日头条算法解密 [IT168 评论]互联网给用户带来了大量的信息,满足了用户在信息时代对信息的需求,也使得用户在面对大量信息时无法从中获得对自己真正有用的那部分信息,对信息的使用效率反而降低了,而通常解决 1月20日,新生代移动互联网企业今日头条在北京国家会议中心举办了"算数·年度数据发布会",数据发布会的主题名为"算数",实际上指的是&

基于用户的协同过滤推荐算法原理和实现

在推荐系统众多方法中,基于用户的协同过滤推荐算法是最早诞生的,原理也较为简单.该算法1992年提出并用于邮件过滤系统,两年后1994年被 GroupLens 用于新闻过滤.一直到2000年,该算法都是推荐系统领域最著名的算法. 本文简单介绍基于用户的协同过滤算法思想以及原理,最后基于该算法实现园友的推荐,即根据你关注的人,为你推荐博客园中其他你有可能感兴趣的人. 基本思想 俗话说"物以类聚.人以群分",拿看电影这个例子来说,如果你喜欢<蝙蝠侠>.<碟中谍>.&l

一个简单的基于内容的推荐算法

最近闲下来又开始继续折腾推荐系统了,声明一下,本文只是介绍一下最基础的基于内容的推荐系统(Content-based recommender system)的工作原理,其实基于内容的推荐系统也分三六九等Orz,这里只是简单的较少一下最原始的.最基本的工作流程. 基于内容的推荐算法思路很简单,它的原理大概分为3步: 1.为每个物品(Item)构建一个物品的属性资料(Item Profile) 2.为每个用户(User)构建一个用户的喜好资料(User Profile) 3.计算用户喜好资料与物品属

【天池竞赛系列】阿里移动推荐算法思路解析

赛题地址:http://tianchi.aliyun.com/competition/information.htm?raceId=1 登录就可以下载数据 从4月到7月,学习了非常多也收获了非常多 题目就不多说了.一句话表达就是依据过去一个月的行为预測14年12月19号的购买情况. 看题目貌似推荐算法.自然就有队伍想到用协同过滤什么的.当然效果不好. 首先是特征的问题,然后是这是基于行为的相似,不太类似用户和商品类似的ItemCF.UserCF,还有非常多其它的原因.比方我买过一部手机,难道还要

微博推荐算法学习(Weibo Recommend Algolrithm)

原文:http://hijiangtao.github.io/2014/10/06/WeiboRecommendAlgorithm/ 基础及关联算法 作用:为微博推荐挖掘必要的基础资源.解决推荐时的通用技术问题.完成必要的数据分析.为推荐业务提供指导. 分词技术与核心词提取:是微博内容推荐的基础,用于将微博内容转化为结构化向量,包括词语切分.词语信息标注.内容核心词/实体词提取.语义依存分析等. 分类与anti-spam:用于微博内容推荐候选的分析,包含微博内容分类和营销广告/色情类微博识别:内

天猫推荐算法大赛总结

原文:http://closure.blog.ustc.edu.cn/?p=117 阿里这次天猫推荐算法大赛题目的核心是给定用户对品牌的四个月的操作记录,预测下个月哪些用户对哪些品牌产生购买行为,这可以抽象为一个01分类问题,更确切的可以抽象为一个点击率预估(CTR).与其说这是一次比赛,我觉得更多的是一次认识,一次对大数据价值的深刻认识,在分享自己的体会之前,我真心的感谢阿里,给我们提供这样一种机会,让我们在学校里可以接触真实的数据业务需求,让所学的理论可以有一次真实的实践机会. 关于这次比赛