常见推荐算
‣
什么是推荐算法?
所谓推荐算法就是利用用户的一些行为,通过一些数学算法,推测出用户可能喜欢的东西。
搜狐新闻推荐算法原理
推荐算法的类型有哪些?
推荐算法主要有6种,分别是:1、基于内容;2、基于协同;3、关联规则;4、基于效用模型;5、基于知识;6、组合推荐。
让你一眼了解TikTok推荐算法机制
1、基于内容
基于内容的信息推荐方法的理论依据主要来自于信息检索和信息过滤,所谓的基于内容的推荐方法就是根据用户过去的浏览记录来向用户推荐用户没有接触过的推荐项。
主要是从两个方法来描述基于内容的推荐方法:启发式的方法和基于模型的方法。
启发式的方法就是用户凭借经验来定义相关的计算公式,然后再根据公式的计算结果和实际的结果进行验证,然后再不断修改公式以达到最终目的。
而对于模型的方法就是根据以往的数据作为数据集,然后根据这个数据集来学习出一个模型。
以基于模型的方法为例:
推荐算法里最基础的算法。又叫做基于标签的推荐,Content-based召回。根据用户历史喜欢内容所具有的Tag,找到具有同样Tag的内容然后对同一用户进行推荐。
比如上图中用户A看过的《卧虎藏龙》电影中有2/3的标签“武侠”和“爱情”和用户C看过的电影《新龙门客栈》是一样的,而《泰坦尼克号》只有1/3的标签“爱情”和用户A看过的电影一致。所以系统就会给用户A推荐《新龙门客栈》。这种基于内容的推荐,在电影网站、音乐网站中应用最多。这种内容上的标签都需要人工打标。
优点:仅依赖单个用户本身的数据即可,扩展性强。算法整体应用简单
缺点:非常依赖业务领域知识和标签体系,对于打标要求很高。并没有将用户与用户之间的行为利用起来,只关注了内容和单个用户本身。
2、基于协同
基于协同过滤的推荐算法理论上可以推荐世界上的任何一种东西。图片、音乐、样样可以。协同过滤算法主要是通过对未评分项进行评分预测来实现的。不同的协同过滤之间也有很大的不同。
协同过滤算法分为基于用户的协同过滤算法和基于物品的协同过滤算法。
(1)基于用户的协同过滤算法
基于一个这样的假设"跟你喜好相似的人喜欢的东西你也很有可能喜欢。"所以基于用户的协同过滤主要的任务就是找出用户的最近邻居,从而根据最近邻 居的喜好做出未知项的评分预测。这种算法主要分为3个步骤:
1)用户评分。可以分为显性评分和隐形评分两种。显性评分就是直接给项目评分(例如给百度里的用户评分),隐形评分就是通过评价或是购买的行为给项目评分 (例如在有啊购买了什么东西)。
2)寻找最近邻居。这一步就是寻找与你距离最近的用户,测算距离一般采用以下三种算法: 1.皮尔森相关系数。2.余弦相似性。3调整余弦相似性。调整余弦 相似性似乎效果会好一些。
3)推荐。产生了最近邻居集合后,就根据这个集合对未知项进行评分预测。把评分最高的N个项推荐给用户。这种算法存在性能上的瓶颈,当用户数越来越多的时候,寻找最近邻居的复杂度也会大幅度的增长。
(2)基于物品的协同过滤算法
物品组合(A.D)被同时偏好出现的次数最多,因而可以认为AD两件物品的相似(其实BD组合出现次数也最多真实的推荐应该根据A用户的A文档推荐结果汇总B文档推荐结果,然后评分取前N名)度最高。从而,可以为选择了A物品的用户推荐D物品。这就是基于物品的协同过滤算法ITEMCF指导思想。
3、关联规则
基于关联规则的推荐是以关联规则为基础,把已购商品作为规则头,规则体为推荐对象。关联规则挖掘可以发现不同商品在销售过程中的相关性,在零售业中已经得到了成功的应用。关联规则就是在一个交易数据库中统计购买了商品集X的交易中有多大比例的交易同时购买了商品集Y,其直观的意义就是用户在购买某些商品的时候有多大倾向去购买另外一些商品。比如购买牛奶的同时很多人会同时购买面包。
举例:分别计算3项集“面包,牛奶,尿布”和“面包→牛奶,尿布”对应支持度和置信度。
1)可统计“面包,牛奶,尿布”同时出现的TID有4和5,所以支持度是2/5;2)面包出现的TID有1,2,4,5,因此支持度为2/4。
因此关联规则实际上包含两个子任务:
频繁模式发现:也称频繁模式挖掘、频繁项挖掘等,是指从一系列候选的项中选择频繁的部分,通常衡量频繁的程度可以是对每一项出现的频率,当超过某一阈值时候,则任务这个项是频繁的。
生成关联规则:在已经发现的最大频繁项目集中,寻找置信度不小于用户给定的minconfidence的关联规则。
算法的第一步关联规则的发现最为关键且最耗时,是算法的瓶颈,但可以离线进行。其次,商品名称的同义性问题也是关联规则的一个难点。
4、基于效用
基于效用的推荐(Utility-based Recommendation)是建立在对用户使用项目的效用情况上计算的,其核心问题是怎么样为每一个用户去创建一个效用函数,因此,用户资料模型很大程度上是由系统所采用的效用函数决定的。基于效用推荐的好处是它能把非产品的属性,如提供商的可靠性(Vendor Reliability)和产品的可得性(Product Availability)等考虑到效用计算中。
在基于约束的推荐中,容易导致约束冲突问题
举例:
基本思想:将约束转换成多个不同的效用维度,利用专业知识评估项目对每个效用维度的得分。
5、基于知识
基于知识的推荐(Knowledge-based Recommendation)在某种程度是可以看成是一种推理(Inference)技术,它不是建立在用户需要和偏好基础上推荐的。基于知识的方法因它们所用的功能知识不同而有明显区别。效用知识(Functional Knowledge)是一种关于一个项目如何满足某一特定用户的知识,因此能解释需要和推荐的关系,所以用户资料可以是任何能支持推理的知识结构,它可以是用户已经规范化的查询,也可以是一个更详细的用户需要的表示。
基本思想:通过交互、会话等方式直接了解到用户需求(“问”),然后再寻找匹配的视频(“找”)解决思路。
优点:不存在冷启动的问题;由于与用户存在互动,用户偏好发生改变时不需要任何训练。
缺点:知识获取比较困难;用户必须说明他的需求,系统才能够做出推荐,在这个过程中,若找不到合适的推荐视频的时候,用户需要修改其需求。
6、组合推荐
由于各种推荐方法都有优缺点,所以在实际中,组合推荐经常被采用。研究和应用最多的是内容推荐和协同过滤推荐的组合。最简单的做法就是分别用基于内容的方法和协同过滤推荐方法去产生一个推荐预测结果,然后用某方法组合其结果。尽管从理论上有很多种推荐组合方法,但在某一具体问题中并不见得都有效,组合推荐一个最重要原则就是通过组合后要能避免或弥补各自推荐技术的弱点。
Loading...