常用推荐算法的介绍与说明

浏览: 4656

一、基于内容推荐    

定义:

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

说明:

        基于内容的推荐其实就是寻找用户喜欢和用户关注过的特性,在其他的对象内容上类似的特征,比如你看过《纸牌屋》第一季,基于内容的推荐算法会发现并推荐《纸牌屋》的第二季,第三季,这与用户的浏览记录在内容上面(共有很多关键词)有很大相似性,算法就自动把后者推荐给用户,这种方法可以避免对象的相关特征属性冷启动的问题(冷启动:比如说优酷网站上,如果一个视频从没有被关注过,其他推荐算法则很少会去推荐,但是基于内容的推荐算法可以分析视频之间的关系,实现推荐),弊端在于推荐的Item可能会重复,典型的就是新闻推荐,如果你看了一则关于《算法与数学之美微信号》的新闻,很可能推荐的新闻和你浏览过的,内容一致;另外一个弊端则是对于一些多媒体的推荐(比如音乐、电影、图片等)由于很难提取内容特征,就很难进行推荐,一种解决方式则是人工给这些对象特征打标签。

优点:

        1.不需要其它用户的数据,没有冷启动问题和稀疏问题。

        2.能为具有特殊兴趣爱好的用户进行推荐。

        3.能推荐新的或不是很流行的项目,没有新项目问题。

        4.通过列出推荐项目的内容特征,可以解释为什么推荐那些项目。

        5.已有比较好的技术,如关于分类学习方面的技术已相当成熟。

缺点:

        1.要求内容能容易抽取成有意义的特征

        2.要求特征内容有良好的结构性,并且用户的口味必须能够用内容特征形式来表达,不能显式地得到其它用户的判断情况。

二、协同过滤推荐

定义:

        协同过滤推荐(Collaborative Filtering Recommendation)技术是推荐系统中应用最早和最为成功的技术之一。它一般采用最近邻技术,利用用户的历史喜好信息计算用户之间的距离,然后 利用目标用户的最近邻居用户对商品评价的加权评价值来预测目标用户对特定商品的喜好程度,系统从而根据这一喜好程度来对目标用户进行推荐。

说明:

        协同过滤是基于这样的假设:为一用户找到他真正感兴趣的内容的好方法是首先找到与此用户有相似兴趣的其他用户,然后将他们感兴趣的内容推荐给此用户。其基本 思想非常易于理解,在日常生活中,我们往往会利用好朋友的推荐来进行一些选择。协同过滤正是把这一思想运用到电子商务推荐系统中来,基于其他用户对某一内 容的评价来向目标用户进行推荐。

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

优点:

        1.能够过滤难以进行机器自动内容分析的信息,如艺术品,音乐等。

        2.共享其他人的经验,避免了内容分析的不完全和不精确,并且能够基于一些复杂的,难以表述的概念(如信息质量、个人品味)进行过滤。

        3.有推荐新信息的能力。可以发现内容上完全不相似的信息,用户对推荐信息的内容事先是预料不到的。这也是协同过滤和基于内容的过滤一个较大的差别,基于内容的过滤推荐很多都是用户本来就熟悉的内容,而协同过滤可以发现用户潜在的但自己尚未发现的兴趣偏好。

        4.能够有效的使用其他相似用户的反馈信息,较少用户的反馈量,加快个性化学习的速度。

缺点:

        1.稀疏问题(Sparsity)

        2.可扩展问题(Scalability)

三、基于关联规则推荐

定义:

        基 于关联规则的推荐(Association Rule-based Recommendation)是以关联规则为基础,把已购商品作为规则头,规则体为推荐对象。

说明:

        关联规则挖掘可以发现不同商品在销售过程中的相关性,在零 售业中已经得到了成功的应用。管理规则就是在一个交易数据库中统计购买了商品集X的交易中有多大比例的交易同时购买了商品集Y,其直观的意义就是用户在购 买某些商品的时候有多大倾向去购买另外一些商品。比如购买牛奶的同时很多人会同时购买面包。

难点:

        1.算法的第一步关联规则的发现最为关键且最耗时,是算法的瓶颈,但可以离线进行。

        2.商品名称的同义性问题也是关联规则的一个难点。

四、基于效用推荐

定义:

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

 说明:

        用户上京东买手机时,有各种各样的手机:苹果,三星,华为,小米,联想等等,至于具体推荐哪款手机,就要结合用户的效用函数进行推荐

难点:

        1.用户资料信息很少

        2.效用函数的精度不高

五、基于知识推荐

定义:

        基于知识的推荐(Knowledge-based Recommendation)在某种程度是可以看成是一种推理(Inference)技术,它不是建立在用户需要和偏好基础上推荐的。

说明:

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

难点:

        1.需要深入理解业务规则

六、组合推荐

说明:

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

        在组合方式上,有研究人员提出了七种组合思路:

        1.加权(Weight):加权多种推荐技术结果。

        2.变换(Switch):根据问题背景和实际情况或要求决定变换采用不同的推荐技术。

        3.混合(Mixed):同时采用多种推荐技术给出多种推荐结果为用户提供参考。

        4.特征组合(Feature combination):组合来自不同推荐数据源的特征被另一种推荐算法所采用。

        5.层叠(Cascade):先用一种推荐技术产生一种粗糙的推荐结果,第二种推荐技术在此推荐结果的基础上进一步作出更精确的推荐。

        6.特征扩充(Feature augmentation):一种技术产生附加的特征信息嵌入到另一种推荐技术的特征输入中。

        7.元级别(Meta-level):用一种推荐方法产生的模型作为另一种推荐方法的输入。

其他  

        推荐系统还包括很多方法,其实机器学习或者数据挖掘里面的方法,很多都可以应用在推荐系统中,比如说LR(逻辑回归算法)、GBDT(迭代的决策树算法)、RF(这三种方法在一些电商推荐里面经常用到),社交网络里面的图结构等,都可以说是推荐方法。

参考链接:

        【推荐模型】中常用算法以及优点缺点对比

        推荐算法有哪些?

        选择合适的推荐系统模型

        个性化推荐模型

推荐 2
本文由 牟瑞 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

1 个评论

总结的不错,赞一个。

要回复文章请先登录注册