推荐算法

飞鸟各投林 飞鸟各投林     2022-08-26     327

关键词:

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

基于内容的推荐

基于内容的推荐(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


























推荐算法入门

推荐算法概览(一)为推荐系统选择正确的推荐算法非常重要,而可用的算法很多,想要找到最适合所处理问题的算法还是很有难度的。这些算法每种都各有优劣,也各有局限,因此在作出决策前我们应当对其做以衡量。在实践... 查看详情

推荐算法入门

推荐算法大致能够分为下面几类基于流行度的算法协同过滤算法(user-basedCFanditem-basedCF)基于内容的算法(content-based)基于模型的算法混合算法1.基于流行度的算法能够依照一个项目的流行度进行排序,将最流行的项目推荐给用... 查看详情

常用的推荐算法分类

推荐算法大致可以分为以下几类:基于流行度的算法协同过滤算法基于内容的算法基于模型的算法混合算法  查看详情

协同过滤推荐算法(代码片段)

协同过滤推荐算法是诞生最早,并且较为著名的推荐算法。主要的功能是预测和推荐。算法通过对用户历史行为数据的挖掘发现用户的偏好,基于不同的偏好对用户进行群组划分并推荐品味相似的商品。协同过滤推荐算法分为两... 查看详情

推荐算法总汇

...空白的物品和数据之间的评分关系,找到最高评分的物品推荐给用户。推荐算法具有非常多的应用场景和商业价值,因此对推荐算法值得好好研究。推荐算法种类很多,但是目前应用最广泛的应该是协同过滤类别的推荐算法,本... 查看详情

推荐算法基于内容的推荐算法(content-based)(代码片段)

基于内容的推荐算法(Content-Based)基于内容的推荐算法(Content-Based)简介基于内容的推荐实现步骤问题:物品的标签来自哪儿?基于内容推荐的算法流程:物品冷启动处理:基于内容的电影推荐基... 查看详情

协同过滤推荐算法

协同过滤推荐算法分为基于用户的协同过滤推荐UserCF和基于物品的协同过滤推荐ItemCF。介绍见《协同过滤的实现步骤》  查看详情

关于推荐算法未来的思考:推荐诗与远方

关于推荐算法未来的思考:推荐诗与远方2021年8月27日,国家互联网信息办公室发布了关于《互联网信息服务算法推荐管理规定(征求意见稿)》公开征求意见的通知。其中第十五条规定:算法推荐服务提供者应当... 查看详情

关于推荐算法未来的思考:推荐诗与远方

关于推荐算法未来的思考:推荐诗与远方2021年8月27日,国家互联网信息办公室发布了关于《互联网信息服务算法推荐管理规定(征求意见稿)》公开征求意见的通知。其中第十五条规定:算法推荐服务提供者应当... 查看详情

用spark学习矩阵分解推荐算法

    在矩阵分解在协同过滤推荐算法中的应用中,我们对矩阵分解在推荐算法中的应用原理做了总结,这里我们就从实践的角度来用Spark学习矩阵分解推荐算法。1.Spark推荐算法概述    在SparkMLlib中,推荐算法这块只实... 查看详情

有哪些较为熟知的推荐算法

链接:http://www.zhihu.com/question/20326697/answer/58148605推荐算法大致可以分为三类:基于内容的推荐算法、协同过滤推荐算法和基于知识的推荐算法。基于内容的推荐算法,原理是用户喜欢和自己关注过的Item在内容上类似的Item,比如... 查看详情

电商推荐算法

一、电商推荐算法简述目前比较多的电商模式为B2B,B2C,O2O,在本文介绍和需要举例说明的地方B2B电商模式为主。电商推荐根据推荐内容不同分为物品推荐、商家推荐;流行的推荐应用主要有三个方面:1)针对用户的浏览、搜... 查看详情

协同过滤推荐算法

一、推荐算法当你在电商网站购物时,天猫会弹出“和你买了同样物品的人还买了XXX”的信息;当你在SNS社交网站闲逛时,也会看到“你可能认识XXX“的信息;当你在微博添加关注人时,也会看到“你可能对XXX也... 查看详情

协同过滤推荐算法概述摘要

...关性或用户之间的相似性程度从而为用户提供有效内容的推荐算法即为协同过滤推荐算法。协同过滤推荐算法是推荐算法中应用最广泛,最成功的。它又分为基于用户的协同过滤和基于项目的协同过滤两种方式。前者是基于用户... 查看详情

基于上下文的推荐--包括时间衰减算法和位置推荐算法(代码实现)

基于上下文的推荐   基于时间特征的推荐       时间衰减           基于时间衰减的ItemCF算法               算法核心两部分,都加入了时间衰减项                   以movielens数据集实现ItemCF  ... 查看详情

推荐算法

 推荐系统实践第一章:好的推荐系统 推荐系统实验方法:离线实验用户调查在线实验:AB测试,将用户分成不同的组,然后不同组里面用不同算法,最后根据后台日志数据库,分析得出哪些算法比较好  推荐系统... 查看详情

推荐系统的常用算法----算法岗面试题(代码片段)

●请你说一说推荐算法,fm,lr,embedding参考回答:推荐算法:基于人口学的推荐、基于内容的推荐、基于用户的协同过滤推荐、基于项目的协同过滤推荐、基于模型的协同过滤推荐、基于关联规则的推荐FM:LR:逻辑回归本质上... 查看详情

推荐算法model-based协同过滤算法(代码片段)

基于模型的协同过滤推荐算法Model-Based协同过滤算法基于K最近邻的协同过滤推荐基于回归模型的协同过滤推荐基于矩阵分解的CF算法Model-Based协同过滤算法随着机器学习技术的逐渐发展与完善,推荐系统也逐渐运用机器学习的... 查看详情