基于用户的协同过滤算法

基于用户的协同过滤算法

作者:罗沐阳([1**********]28)

指导教师:张勇

【摘要】:随着网络技术的应用和普及、电子商务的迅猛发展,越来越多的信息充斥在网络之上。如何在众多的资源中找到适合自己需求的信息,成为众多学者、专家和网络用户火心的核心问题之一。个性化推荐技术在这样的背景下应运而生。协同过滤技术是个性化推荐技术最为核心的技术之一,也是目前应用最为广泛和成功的技术。本文主要研究的是基于用户的协同过滤推荐算法的实现。 【关键词】:协同过滤,相似度,个性化推荐 1.电子商务个性化推荐技术 1.1个性化推荐技术

电子商务对传统的商务交易产生了革命性的变化,从而要求“以产品为中心”向“面向客户”、“以客户为中心”的新的商业模式的转变,要求电子商务网站按客户群划分产品,围绕客户进行服务,为客户提供所需要的东西,所以对每个顾客提供个性化的服务成为必要。在这种背景下,推荐系统(Recommender System)应运而生,它是根据用户个人的喜好、习惯来向其推荐信息、商品的程序。电子商务网站可以使用推荐系统分析客户的消费偏好,向每个客户具有针对性地推荐产品,帮助用户从庞大的商品目录中挑选真正适合自己需要的商品,尽可能为每个顾客提供个性化的服务。

个性化推荐(personalized recommendation)技术通过研究不同用户的兴趣,主动为用户推荐最需要的资源,从而更好地解决互联网信息日益庞大与用户需求之间的矛盾。目前,推荐技术被广泛应用到电子商务、数字图书馆、新闻网站等系统中。因此,各种适用于推荐系统的技术应运而生,如协同过滤技(CF)、bayesian网技术、聚类分析技术、关联规则技术、神经网络技术和图模型技术等,其中,协同过滤是应用最为广泛的个性化推荐技术。协同过滤推荐又分为基于模型(Model-based)的协同过滤和基于用户的协同过滤。后来,sarwr教授在2001年提出基于项目的协同过滤算法 1.2协同过滤

协同过滤推荐技术是用“相似统计”的方法发现具有相似偏好或是兴趣特征的“相邻用户”。“协同过滤”的思想最早由美国明尼苏达州大学的学者Paul Resnick在1994年,发表的《GroupLens: AnOpen Architecture for Collaborative Filtering of Netnews》 一文中提出的。迄今为止, 协同过滤是在个性化推荐系统中应用最广泛和最被人们所认可的一种推荐技术。

协同过滤的基本原理是:根据用户对信息产品的评分情况,对其他用户进行检索, 找出与该用户“品味”相似的一小群人, 也就是“邻居”,然后再基于这些相似性进行信息产品评分预测,产生Top-N的推荐结果。

协同过滤具有以下几个主要优点:第一,可以处理非结构化的信息产品,对非结构化如电影、音视频等复杂对象进行推荐;第二,奇异兴趣发现。协同过滤推荐技术可以根据如信息产品的质量, 用户的品味等一些复杂的、不易表达的概念进行信息过滤, 并发现用户的潜在兴趣; 第三, 推荐的个性化、自动化程度较高。

本文主要研究的是基于用户的协同过滤推荐算法的实现。 2.基于用户的协同过滤推荐算法 2.1算法简介

基于用户的协同过滤是个性化推荐中应用最为广泛的方法,它是基于邻居用户的兴趣爱好预测目标用户的兴趣偏好。算法先使用统计技术寻找与目标用户有相同喜好的邻居,然后根据目标用户的邻居的偏好产生向目标用户的推荐。

它的基本原理是利用用户访问行为的相似性来互相推荐用户可能感兴趣的资源对当前用户,系统通过其历史访问记录及特定相似度函数,计算出与其访问行为(购买的产品集合、访问的网页集等)最相近的N个用户作为用户的最近邻居集,统计的近邻用户访问过而目标用未访问的资源生成候选推荐集,然后计算候选推荐集中每个资源对用户的推荐度,取其中K个排在最前面的资源作为用户的推荐集。 2.2算法步骤

2.2.1发现兴趣相似的用户

通常用Jaccard公式或者余弦相似度计算两个用户之间的相似度。设N(u)为用户 u 喜欢的物品集合。N(v)为用户v喜欢的物品集合,那么u和v的相似度是多少呢: Jaccard 公式:

余弦相似度:

假设目前共有4个用户:A、B、C、D;共有5个物品:a、b、c、d、e。用户与物品的关系(用户喜欢物品)如下所示:

如何一下子计算所有用户之间的相似度呢?为计算方便,通常首先需要建立“物品—用户”的倒排表,如下所示:

2.2.2推荐物品

首先需要从矩阵中找出与目标用户u最相似的K个用户,用集合S(u, K) 表示,将S中用户喜欢的物品全部提取出来,并去除u已经喜欢的物品。对于每个候选物品i,用户u对它感兴趣的程度用如下公式计算:

其中rvi表示用户v对i的喜欢程度,在本例中都是为1,在一些需要用户给予评分的推荐系统中,则要代入用户评分。

举个例子,假设我们要给A推荐物品,选取K = 3个相似用户,相似用户则是:B、C、D,那么他们喜欢过并且A没有喜欢过的物品有:c、e,那么分别计算p(A, c) 和p(A, e):

看样子用户A对c和e的喜欢程度可能是一样的,在真实的推荐系统中,只要按得分排序,取前几个物品就可以了。 3.总结

我觉得关于协同过滤的推荐算法是一个很有趣的课题,但这个需要我们有很大的耐心,因为中间可能会出现很多错,即使是一个小的误区,可能导致结论相差很多,只有通过不断试验,得出一些数据,才有可能发现自己存在的问题,然后再改进。

经过本次试验,虽然对基于用户的协同过滤推荐算法的研究没有深入到能提出一些建设性的改进,但对于算法已经有了一定的了解,对以后更深入的研究打下了扎实的基础。

参考文献

[1]范波,程久军.用户间相似度协同过滤推荐算法.计算机科学,2012(1). [2]吴月萍,郑建国.协同过滤推荐算法[J].计算机工程与设计,2011,(09). [3]周强.基于用户的协同过滤推荐算法研究[J].南昌高专学报.2006.

基于用户的协同过滤算法

作者:罗沐阳([1**********]28)

指导教师:张勇

【摘要】:随着网络技术的应用和普及、电子商务的迅猛发展,越来越多的信息充斥在网络之上。如何在众多的资源中找到适合自己需求的信息,成为众多学者、专家和网络用户火心的核心问题之一。个性化推荐技术在这样的背景下应运而生。协同过滤技术是个性化推荐技术最为核心的技术之一,也是目前应用最为广泛和成功的技术。本文主要研究的是基于用户的协同过滤推荐算法的实现。 【关键词】:协同过滤,相似度,个性化推荐 1.电子商务个性化推荐技术 1.1个性化推荐技术

电子商务对传统的商务交易产生了革命性的变化,从而要求“以产品为中心”向“面向客户”、“以客户为中心”的新的商业模式的转变,要求电子商务网站按客户群划分产品,围绕客户进行服务,为客户提供所需要的东西,所以对每个顾客提供个性化的服务成为必要。在这种背景下,推荐系统(Recommender System)应运而生,它是根据用户个人的喜好、习惯来向其推荐信息、商品的程序。电子商务网站可以使用推荐系统分析客户的消费偏好,向每个客户具有针对性地推荐产品,帮助用户从庞大的商品目录中挑选真正适合自己需要的商品,尽可能为每个顾客提供个性化的服务。

个性化推荐(personalized recommendation)技术通过研究不同用户的兴趣,主动为用户推荐最需要的资源,从而更好地解决互联网信息日益庞大与用户需求之间的矛盾。目前,推荐技术被广泛应用到电子商务、数字图书馆、新闻网站等系统中。因此,各种适用于推荐系统的技术应运而生,如协同过滤技(CF)、bayesian网技术、聚类分析技术、关联规则技术、神经网络技术和图模型技术等,其中,协同过滤是应用最为广泛的个性化推荐技术。协同过滤推荐又分为基于模型(Model-based)的协同过滤和基于用户的协同过滤。后来,sarwr教授在2001年提出基于项目的协同过滤算法 1.2协同过滤

协同过滤推荐技术是用“相似统计”的方法发现具有相似偏好或是兴趣特征的“相邻用户”。“协同过滤”的思想最早由美国明尼苏达州大学的学者Paul Resnick在1994年,发表的《GroupLens: AnOpen Architecture for Collaborative Filtering of Netnews》 一文中提出的。迄今为止, 协同过滤是在个性化推荐系统中应用最广泛和最被人们所认可的一种推荐技术。

协同过滤的基本原理是:根据用户对信息产品的评分情况,对其他用户进行检索, 找出与该用户“品味”相似的一小群人, 也就是“邻居”,然后再基于这些相似性进行信息产品评分预测,产生Top-N的推荐结果。

协同过滤具有以下几个主要优点:第一,可以处理非结构化的信息产品,对非结构化如电影、音视频等复杂对象进行推荐;第二,奇异兴趣发现。协同过滤推荐技术可以根据如信息产品的质量, 用户的品味等一些复杂的、不易表达的概念进行信息过滤, 并发现用户的潜在兴趣; 第三, 推荐的个性化、自动化程度较高。

本文主要研究的是基于用户的协同过滤推荐算法的实现。 2.基于用户的协同过滤推荐算法 2.1算法简介

基于用户的协同过滤是个性化推荐中应用最为广泛的方法,它是基于邻居用户的兴趣爱好预测目标用户的兴趣偏好。算法先使用统计技术寻找与目标用户有相同喜好的邻居,然后根据目标用户的邻居的偏好产生向目标用户的推荐。

它的基本原理是利用用户访问行为的相似性来互相推荐用户可能感兴趣的资源对当前用户,系统通过其历史访问记录及特定相似度函数,计算出与其访问行为(购买的产品集合、访问的网页集等)最相近的N个用户作为用户的最近邻居集,统计的近邻用户访问过而目标用未访问的资源生成候选推荐集,然后计算候选推荐集中每个资源对用户的推荐度,取其中K个排在最前面的资源作为用户的推荐集。 2.2算法步骤

2.2.1发现兴趣相似的用户

通常用Jaccard公式或者余弦相似度计算两个用户之间的相似度。设N(u)为用户 u 喜欢的物品集合。N(v)为用户v喜欢的物品集合,那么u和v的相似度是多少呢: Jaccard 公式:

余弦相似度:

假设目前共有4个用户:A、B、C、D;共有5个物品:a、b、c、d、e。用户与物品的关系(用户喜欢物品)如下所示:

如何一下子计算所有用户之间的相似度呢?为计算方便,通常首先需要建立“物品—用户”的倒排表,如下所示:

2.2.2推荐物品

首先需要从矩阵中找出与目标用户u最相似的K个用户,用集合S(u, K) 表示,将S中用户喜欢的物品全部提取出来,并去除u已经喜欢的物品。对于每个候选物品i,用户u对它感兴趣的程度用如下公式计算:

其中rvi表示用户v对i的喜欢程度,在本例中都是为1,在一些需要用户给予评分的推荐系统中,则要代入用户评分。

举个例子,假设我们要给A推荐物品,选取K = 3个相似用户,相似用户则是:B、C、D,那么他们喜欢过并且A没有喜欢过的物品有:c、e,那么分别计算p(A, c) 和p(A, e):

看样子用户A对c和e的喜欢程度可能是一样的,在真实的推荐系统中,只要按得分排序,取前几个物品就可以了。 3.总结

我觉得关于协同过滤的推荐算法是一个很有趣的课题,但这个需要我们有很大的耐心,因为中间可能会出现很多错,即使是一个小的误区,可能导致结论相差很多,只有通过不断试验,得出一些数据,才有可能发现自己存在的问题,然后再改进。

经过本次试验,虽然对基于用户的协同过滤推荐算法的研究没有深入到能提出一些建设性的改进,但对于算法已经有了一定的了解,对以后更深入的研究打下了扎实的基础。

参考文献

[1]范波,程久军.用户间相似度协同过滤推荐算法.计算机科学,2012(1). [2]吴月萍,郑建国.协同过滤推荐算法[J].计算机工程与设计,2011,(09). [3]周强.基于用户的协同过滤推荐算法研究[J].南昌高专学报.2006.


相关文章

  • 基于用户的协同过滤推荐算法研究
  • 南昌高专学报 2006年第3期(总第64期) 2006年6月出版JournalofNanchangJuniorCollegeNo.3(Sum64)Jun.2006 基于用户的协同过滤推荐算法研究 周 强 (江西科技师范学院大专部计算机系,江 ...查看


  • 基于用户的协同过滤推荐算法原理和实现===
  • 基于用户的协同过滤推荐算法原理和实现 在推荐系统众多方法中,基于用户的协同过滤推荐算法是最早诞生的,原理也较为简单.该算法1992年提出并用于邮件过滤系统,两年后1994年被 GroupLens 用于新闻过滤.一直到2000年,该算法都是推 ...查看


  • 基于同义标签分组的协同推荐
  • 第38卷 2 O1 第5期湖南大学学报(自然科学版)V01.38,No.5 journalofHunanUmversity(Naturalsciences) May.2O1l 1年5月 文章编号:1674・2974[2011)05一0083 ...查看


  • [推荐算法]基于用户的协同过滤算法
  • 什么是推荐算法 推荐算法最早在1992年就提出来了,但是火起来实际上是最近这些年的事情,因为互联网的爆发,有了更大的数据量可以供我们使用,推荐算法才有了很大的用武之地. 最开始,所以我们在网上找资料,都是进yahoo,然后分门别类的点进去, ...查看


  • 用于推荐系统聚类分析的用户兴趣度研究
  • 2262011,47(7) ComputerEngineeringandApplications计算机工程与应用 用于推荐系统聚类分析的用户兴趣度研究 崔春生"2,吴祈宗1,王莹3 Chtmshen91-,wuQizon91,WA ...查看


  • 移动商务应用的个性化推荐模式
  • 营销指导 G uide of Marketing 会产生的流量大小,只有当无论是运营商还是用户都为提供和获得更加优质的3G业务而努力时,中国3G的发展才能真正迎来春天. 补贴.笔者认为,现阶段逐步放开手机终端价格补贴可从以下几个方面入手: ...查看


  • 面向服务的战场态势感知与协同技术研究
  • 第2期2012 年4月 Journal of CAEIT Vol.7No.2Apr.2012 檵檵0 共用态势图(COP )简称态势图,是军事指挥部门了解战场态势的主要手段,是广泛的战场态势感知系统.服务和应用的一个关键部分,是服务于决策制 ...查看


  • 人工智能概述_胡勤
  • 第6卷第年5月)13期(2010电脑知识与技术ComputerKnowledgeandTechnology Vol.6,No.13,May2010,pp.3507-3509ISSN1009-3044电脑知识与技术ComputerKnowle ...查看


  • 网络安全笔记 1
  • 网络安全笔记 清华1+6网络工程师培训 2005年1月10日 第一章 网络安全研究背景 ·计算机网络及通信的发展·社会对网络的依赖 ·网络开放性与信息资源共享·网络商业化及商业化网络·Inetrnet 面临的挑战 网络安全概述 什么是安全 ...查看


热门内容