推荐算法有哪些


算法与数学之美
推荐算法有哪些_第1张图片

推荐算法大致可以分为三类:基于内容的推荐算法、协同过滤推荐算法和基于知识的推荐算法。在此都不展开,只简单介绍原理!
基于内容的推荐算法,原理是用户喜欢和自己关注过的Item在内容上类似的Item,比如你看了《花千骨》第一集,基于内容的推荐算法会发现《花千骨》n多集,与你之前的浏览记录在内容上面(共有很多关键词)有很大相似性,算法就自动把后者推荐给你,这种方法可以避免Item的冷启动问题(冷启动:比如说优酷网站上,如果一个视频从没有被关注过,其他推荐算法则很少会去推荐,但是基于内容的推荐算法可以分析视频之间的关系,实现推荐),弊端在于推荐的Item可能会重复,典型的就是新闻推荐,如果你看了一则关于《算法与数学之美微信号》的新闻,很可能推荐的新闻和你浏览过的,内容一致;另外一个弊端则是对于一些多媒体的推荐(比如音乐、电影、图片等)由于很难提取内容特征,就很难进行推荐,一种解决方式则是人工给这些Item打标签。
协同过滤算法,原理是用户喜欢那些具有相似兴趣的用户喜欢过的商品,比如你的女朋友喜欢电影《疯狂的麦克斯》,那么就会推荐给你,这是最简单的基于用户的协同过滤算法(user-based collaboratIve filtering),还有一种是基于Item的协同过滤算法(item-based collaborative filtering),这两种方法都是将用户的所有数据读入到内存中进行运算的,因此成为Memory-based Collaborative Filtering,另一种则是Model-based collaborative filtering,包括Aspect Model,pLSA,LDA,聚类,SVD,Matrix Factorization等,这种方法训练过程比较长,但是训练完成后,推荐过程比较快。

基于知识的推荐算法,也有人将这种方法归为基于内容的推荐,这种方法比较典型的是构建领域本体,或者是建立一定的规则,进行推荐。在某种程度是可以看成是一种推理(Inference)技术,它不是建立在用户需要和偏好基础上推荐的。基于知识的方法因它们所用的功能知识不同而有明显区别。效用知识(Functional Knowledge)是一种关于一个项目如何满足某一特定用户的知识,因此能解释需要和推荐的关系,所以用户资料可以是任何能支持推理的知识结构,它可以是用户已经规范化的查询,也可以是一个更详细的用户需要的表示。

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

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

混合推荐算法,则会融合以上方法,以加权或者串联、并联等方式尽心融合。

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

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

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

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

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

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

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

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


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


你可能感兴趣的:(推荐算法有哪些)