推荐算法浅析

来源:互联网 发布:赛门铁克备份软件 编辑:程序博客网 时间:2024/05/17 21:38

推荐系统中最核心和最关键的部分就是使用推荐算法,其很大程度上决定了推荐系统的优劣。根据推荐算法的不同,推荐系统大致可以分为4类。1、基于内容的推荐。2、协同过滤算法。3、基于知识的推荐算法。4、融合的推荐算法。
一、基于内容的推荐算法:基于内容的推荐主要是向用户推荐那些与用户喜好相似的物品,这是推荐系统中比较常用的一种做法。其基本过程是先为每一个用户建立一个描述其喜好和兴趣属性的描述文件,然后根据物品属性与描述文件的匹配程度或者直接根据比较物品之间属性的相似程度来决定是否推荐该物品。基于内容的推荐主要基于信息检索与信息过滤技术。基于内容的推荐系统主要集中在基于文本的应用上。基于内容的推荐系统的优点:通过使用用户和物品的描述文件,可以较好地解决冷启动问题;由于不需要用户的评分数据,因此可以不受评分数据稀疏性的约束;通过列出推荐项目的内容特征,可以解释推荐的原因,非常直观;能够推荐新的或者不是很流行的物品,没有新物品问题。其缺点就是要求内容能容易抽象出有意义的特征,要求内容有良好的结构性。通常只能对资源进行简单特征提取,对于多媒体(图形视频、音乐等)非结构化的数据,缺乏有效的特征提取方法。另外,基于内容的推荐系统在对用户进行推荐时,只能推荐与用户访问过的物品上相似的物品,因此,用户将会被局限在特定的兴趣点而很难发展新的兴趣。
二、协同过滤推荐算法:协同过滤推荐技术是推荐系统中应用最为成功的技术之一。协同过滤算法不需要事先获得用户或物品的特征,它们只依赖于用户过去的行为(如对物品的浏览或购买等),以评分的形式收集用户对物品的反馈,接着计算用户之间的相似度,然后利用与目标用户相似度较高的邻居对其他物品的评价,来预测目标用户对特定物品的喜好程度,最后系统根据这一喜好程度来对目标用户进行推荐。协同过滤最大优点是对推荐物品没有特殊的要求,能处理非结构化的复杂对象。如音乐、电影、图片等等与基于内容的推荐算法相比,协同过滤具有的优点有:能够过滤难以进行机器自动内容分析的信息,能避免分析不完全和不精确的缺点并且能够基于一些复杂的、难以表述的概念进行过滤;有推荐新信息的能力;能够有效地使用其他相似用户的反馈信息。但是协同过滤技术还有许多问题需要解决,最典型的问题就是数据稀疏问题和可扩展性问题。基于内存的协同过滤算法分为两种:基于用户的协同过滤算法和基于物品的协同过滤。基于用户的协同过滤也称为K最近邻算法。其核心思想是,首先根据相似度计算出目标用户的邻居集合,然后用邻居用户评分的加权组合来为目标用户作推荐。通常这些算法都可以总结成三步:首先使用用户已有的评分来计算用户之间的相似度;然后选择与目标用户相似度最高的K个用户来为目标用户作推荐,最后通过对邻居用户的评分的加权平均来预测目标用户的评分。基于物品的协同过滤算法,根据用户对目标物品相似性程度较高的物品的评分信息来预测用户对目标物品的评分情况。它基于这样一个假设:用户更倾向于选择与其喜欢的物品相关或相似的物品。该算法首先计算所有物品与目标物品的相似性,以获取目标物品的最近邻集合;然后根据目标用户对最近邻居集中物品的评分信息来预测对其目标物品的评分情况,最后选择评分预测值最高的前N项作为结果推荐给用户。物品之间的相似性一般比用户之间的相似性更稳定,因些基于物品的协同过滤算法经常在离线阶段就预先计算好所有项目之间的相似性,并利用项目相似性矩阵加以存放,在线推荐的时候就可以直接使用该矩阵来获取系统所需要的数据信息,从而减少在线的计算时间。
三、基于知识的推荐算法:尽管基于内容的推荐算法和协同过滤算法都有各自的优点,但它们有一个共同的缺点是不适用于一次性购买者、被一次性购买物品如房屋、汽车等,更新频繁的物品如电脑等情况的推荐。因为第一种和第二种情况下,我们可以利用的评分信息比较少,这样协同过滤算法就不能很好的发挥作用。
而像电脑这种更新很快的情况,五年前的对于物品的评分信息对于协同过滤和基于内容的过滤都没有太多利用价值;另外当用户购买房屋、汽车等物品时,往往会有明确的说明很多需求。如汽车是黑色的,所需费用不得超过多少等,这种明确的需求即使被形式化表示后,也不能很好的利用基于内容的推荐和协同过滤
算法进行推荐。基于知识的推荐系统恰好是为了帮助我们解决这类问题。因为它不是建立在用户需求和偏好基础上进行推荐的,所以也就不存在评分信息而引起的问题了。基于知识的推荐系统在某种程度上可以看作是一种推荐技术,它能很好的利用用户需求信息推理出用户可能会喜欢的物品。基于知识的推荐系统优点是相比于其他的推荐技术,具有更好的解释性;它能够挖掘一些额外的知识来产生推荐等。但是正是对这种知识的需求,也给基于知识的推荐技术带来了一些问题,如领域知识如何获取、领域知识如何表示以及在推荐系统中采用怎样的交互模式等。
四、融合推荐算法:融合推荐算法的一个重要原则就是通过组合应能够避免或弥补各自推荐技术的弱点。我们可以组合以上介绍的几种推荐算法的某几种。现在研究和应用中最多的融合技术是基于内容的推荐和协同过滤推荐的组合。组合思路大致分为三类:后融合、中融合、和前融合。后融合是指融合两种或两种
以上的推荐算法各自产生的推荐结果,如使用基于内容的推荐算法和协同过滤推荐算法分别得到推荐列表,融合列表的结果决定最后推荐的物品。中融合是指以一种推荐算法为框架,融合另一种推荐算法。如以基于内容的推荐算法为框架,融合协同过滤算法,或者以协同过滤算法为框架,融合基于内容的推荐算法前融合则是直接融合各种推荐算法,如将基于内容和协同过滤的算法整合到一个统一的框架模型下。


0 0
原创粉丝点击