当前位置: 首页 > >

协同过滤推荐算法_协同过滤推荐算法





摘要:随着互联网技术和应用的飞速发展,推荐系统在电子商务、电影和视频、音乐、社交网络、阅读、基于位置的服务、个性化邮件和广告等领域得到了广泛利用。在大数据时代,网络用户很难从海量信息当中找到自己需求的信息,推荐系统可以很好地解决信息过载问题,帮助用户快速发现有用信息以及提供个性化服务。


论文首先介绍了推荐系统,并说明当前比较成熟且常用的个性化推荐技术。这些技术通常被分为三类:协同过滤(CF)、基于内容的过滤(CBF)以及混合推荐方法。CF是通过用户偏好的进行信息过滤,即用用户已知的历史数据或者其他用户已知的历史数据为该用户预测喜爱的物品。


论文的重点是协同过滤,它的类型和所面临的挑战,例如冷启动问题、数据稀疏、可扩展性等


关键词:推荐系统;协同过滤;冷启动问题;数据稀疏;可扩展性



1. 引言

随着信息技术的和互联网的发展,人们逐渐从信息匮乏的时代走入了信息过载的时代。在这个时代,我们每天都要面对各式各样的选择,通常会以周围朋友或家人的意见而做出选择。然而,面对海量的网络资源和商品信息,用户要从中做出最适合的选择不是一件容易的事情。因为他们可能没有足够的知识和时间对这些可供选择的商品进行一一评价。电子商务网站是推荐系统的一大应用领域,其作为目前典型的成功互联网应用,提供了更丰富的物品。为帮助大家更快速准确地定位自己的需求,例如著名的亚马逊、淘宝等*台。


目前推荐系统主要分为三类:


(1) 基于内容的推荐:它的核心思想是根据推荐物品或内容的元数据,发现物品或者内容的相关性,然后基于用户以往的喜好记录,推荐给用户相似的物品。


(2) 协同过滤:它根据用户对物品或者信息的偏好,发现物品或者内容本身的相关性,或者是发现用户的相关性,然后再基于这些关联性进行推荐。


(3) 混合推荐:该技术采用一些策略(如加权、切换、特征放大等整合多种推荐技术,比如基于内容的推荐系统,基于人口统计学的推荐系统,基于效用的推荐系统和基于基础知识的推荐系统。


本文首先介绍协同过滤推荐算法,其次指出协同过滤算法存在的挑战和解决方案,再者对未来工作进行展望,最后进行了总结。


2. 协同过滤推荐技术

协同过滤推荐技术之所以得到广泛的应用,主要得益于它对推荐对象没有特殊的要求,能处理非结构化的复杂对象,如音乐、电影。基于协同过滤的推荐系统是从用户的角度来进行相应推荐的,而且是自动的,即用户获得的推荐是系统从购买模式或浏览行为等隐式获得的,不需要用户努力地找到适合自己兴趣的推荐信息,如填写一些调查表格等。协同过滤可以发现用户潜在的但自己尚未发现的兴趣偏好。这些优点使得它几乎适用于所有领域。


2.1 当前的协同过滤推荐算法

当前最常用的协同过滤推荐算法是基于用户的协同过滤和基于项目的协同过滤算法。


2.1.1 基于用户的协同过滤

基于用户的协同过滤,根据所有用户对物品或者信息的偏好,发现与当前用户口味和偏好相似的“邻居”用户群,在一般的应用中是采用计算“K-邻居”的算法。然后,基于这K个邻居的历史偏好信息,为当前用户进行推荐。下图给出了原理图。







图1 基于用户的协同过滤推荐机制的基本原理

图2-1示意出基于用户的协同过滤推荐机制的基本原理,假设用户A喜欢物品A,物品C,用户B喜欢物品B,用户C喜欢物品 A ,物品C和物品D;从这些用户的历史喜好信息中,我们可以发现用户A和用户C的口味和偏好是比较类似的,同时用户C还喜欢物品D,那么我们可以推断用户A可能也喜欢物品D,因此可以将物品D推荐给用户A。


    基础算法

在一个在线个性化推荐系统中,当一个用户A需要个性化推荐时,可以先找到和他有相似兴趣的其他用户,然后把那些用户喜欢的、而用户A没有听说过的物品推荐给用户A。这就是基于用户的协同过滤算法。


基于用户的协同过滤算法主要包括两个步骤。


(1)找到和目标用户兴趣相似的用户集合。


(2)找到这个集合中的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户。


步骤(1)的关键就是计算两个用户的兴趣相似度。在此,协同过滤算法主要利用行为的相似度计算用户兴趣的相似度。假定用户u和用户v,令N(u)表示u曾经有过的正反馈的物品集合,令N(v)表示v曾经有过的正反馈的物品集合。那么,我们可以通过如下的Jaccard公式简单计算u和v的兴趣相似度:






或者通过余弦相似度计算:






在得到用户之间的兴趣相似度后,UserCF算法会给用户推荐和他兴趣最相似的K个用户喜欢的物品。如下公式度量了UserCF算法中用户u对用户i的感兴趣程度:






其中,S(u,K)包含和用户u兴趣最接*的K个用户,N(i)是对物品i有过行为的用户集合,



是用户u和用户v的兴趣相似度,


代表用户v对物品i的兴趣,因为使用的是单一行为的隐反馈数据,所以




    用户相似度计算的改进

如果两个用户对热门物品采取过同样的行为,可能不足以说明他们的兴趣的相似度,比如我们都用过《新华字典》。两个用户对冷门物品采取过同样的行为更能说明他们兴趣的相似度,比如两个用户都购买过《数据挖掘概念与技术》,因为只有研究数据挖掘的人才会购买这本书。因此, John S.Breese提出了如下公式,根据用户行为计算用户的兴趣相似度:






可以看到,该公式通过



惩罚了用户u和用户v共同兴趣列表中热门物品对他们相似度的影响。

2.1.2 基于项目的协同过滤

基于项目的协同过滤,它使用所有用户对物品或者信息的偏好,发现物品和物品之间的相似度,然后根据用户的历史偏好信息,将类似的物品推荐给用户。







图2 基于项目的协同过滤推荐机制的基本原理

假设用户A喜欢物品A和物品C,用户B喜欢物品A,物品B和物品C,用户 C喜欢物品A,从这些用户的历史喜好可以分析出物品A和物品C时比较类似的,喜欢物品A的人都喜欢物品C,基于这个数据可以推断用户C很有可能也喜欢物品 C,所以系统会将物品C推荐给用户C。


    基础算法

基于物品的协同过滤算法给用户推荐那些和他们之前喜欢的物品相似的物品。ItemCF算法并不利用物品的内容属性计算物品之间的相似度,它主要通过分析用户的行为记录计算物品之间的相似度。该算法认为,物品A和物品B具有很大的相似性是因为喜欢物品A的用户大都也喜欢物品B。


基于物品的协同过滤算法主要分为两个步骤:


(1)计算物品之间的相似度。


(2)根据物品的相似度和用户的历史行为给用户生成推荐列表。


我们使用下面的公式定义物品的相似度:






其中,|N(i)|是喜欢物品i的用户数,|N(j)|是喜欢物品j的用户数,|N(i)∩N(j)|是同时喜欢物品i和物品j的用户数。从上面的定义看出,在协同过滤中两个物品产生相似度是因为它们共同被很多用户喜欢,两个物品相似度越高,说明这两个物品共同被很多人喜欢。


为了避免推荐出热门的物品,可以使用下面的公式:






这个公式惩罚了物品j的权重,因此减轻了热门物品会和很多物品相似的可能性。


在得到物品之间的相似度后,ItemCF通过如下计算用户u对一个物品j的兴趣:






其中N(u)是用户喜欢的物品的集合,S(i,K)是和物品i最相似的K个物品集合,wji是物品j和i的相似度,rui是用户u对物品i的兴趣。该公式的含义是,和用户历史上感兴趣的物品越相似的物品,越有可能在用户的推荐列表中获得比较高的排名。


    用户活跃度对物品相似度的影响

Jhon S.Breese提出了一个称为IUF,即用户活跃度对数的倒数的参数,他认为活跃用户对物品的相似度的贡献小于不活跃的用户,因此提出应该增加IUF参数来修正物品相似度的计算公式:






2.2 UserCF和ItemCF的比较

基于内容的协同过滤推荐和基于项目的协同过滤推荐实际上都是基于物品相似度预测推荐,只是相似度计算的方法不一样,前者是从用户历史的偏好推断,而后者是基于物品本身的属性特征信息。







知乎无表格,就截图了哈


3. 特点和挑战
3.1 冷启动问题

推荐系统需要根据用户的历史行为和兴趣预测用户未来的行为和兴趣,对于BAT这类大公司来说,它们已经积累了大量的用户数据。但是对于很多做纯粹推荐系统的网站或者很多在开始阶段就希望有个性化推荐应用的网站来说,如何在对用户一无所知(即没有用户行为数据)的情况下进行最有效的推荐呢?这就衍生了冷启动问题。


冷启动问题主要分为三类:
覆盖率描述一个推荐系统对物品长尾的发掘能力,推荐出来的物品占总物品集合的比例。假设系统的用户集合为U,物品列表为I,推荐系统给每个用户推荐一个长度为N的物品列表R(u)。那么推荐系统的覆盖率可以通过下面公式计算:






Coverage就是推荐的物品集合占总物品的比例。覆盖率为100%的系统可以有无数的物品流行度分布。为了更细致地描述推荐系统发掘长尾的能力,需要统计推荐列表中不同物品出现次数的分布。如果所有的物品都出现在推荐列表中,且出现的次数差不多,那么推荐系统发掘长尾的能力就很好。因此,可以通过研究物品在推荐列表中出现次数的分布描述推荐系统挖掘长尾的能力。



5. 总结和展望

在大数据时代下,人们获取信息的方式越来越多,数以亿计的信息和数据反而使用户很难获得对自己有用的信息,在此背景下,个性化推荐技术应运而生。协同过滤与传统的基于内容过滤直接分析内容进行推荐不同,协同过滤分析用户兴趣,在用户群中找到指定用户的相似(兴趣)用户,综合这些相似用户对某一信息的评价,形成系统对该指定用户对此信息的喜好程度预测,因为其能够处理复杂结构的数据,良好推荐效果,成为个性化推荐中广泛使用的技术。在这篇文章中,介绍了协同过滤的两大推荐技术和它的主要挑战,讨论了推荐系统的评测指标。各种各样的研究结果表明,虽然它在数据稀疏性、可扩展性和冷启动方面仍存在着问题.但是协同过滤仍是推荐系统中应用最广泛的技术之一。



注:本文作者原创,版权所有,转载须获得授权,谢谢!



友情链接: year2525网 工作范文网 QS-ISP 138资料网 528200 工作范文网 baothai 表格模版