数据挖掘_毕业设计.doc

上传人:小小飞 文档编号:3277323 上传时间:2019-08-07 格式:DOC 页数:39 大小:743.51KB
返回 下载 相关 举报
数据挖掘_毕业设计.doc_第1页
第1页 / 共39页
数据挖掘_毕业设计.doc_第2页
第2页 / 共39页
数据挖掘_毕业设计.doc_第3页
第3页 / 共39页
数据挖掘_毕业设计.doc_第4页
第4页 / 共39页
数据挖掘_毕业设计.doc_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《数据挖掘_毕业设计.doc》由会员分享,可在线阅读,更多相关《数据挖掘_毕业设计.doc(39页珍藏版)》请在三一文库上搜索。

1、中南大学本科生毕业论文(设计) 题 目 基于客户资料挖掘的电子商务网站的设计与实现 学生姓名 张武健 指导教师 费洪晓 蒋翀 学 院 软件学院 专业班级 软件工程0401班 完成时间 2008年5月 目 录摘 要IABSTRACTII第一章 绪论11.1研究背景与现状11.2个性化推荐系统综述21.3个性化推荐系统的评价标准41.4个性化推荐系统面临的挑战51.4.1实时性问题51.4.2数据与技术集成问题51.4.3隐私问题51.5论文组织结构6第二章 协同过滤推荐系统72.1协同过滤推荐综述72.1.1基于用户的协同过滤算法72.1.2基于资源项的协同过滤算法72.1.3 Slope On

2、e算法82.2协同过滤推荐系统的流程82.2.1兴趣数据的收集与处理82.2.2最近邻搜索102.2.3生成推荐结果112.3协同过滤推荐的特性分析122.3.1协同过滤推荐系统的优点122.3.2协同过滤推荐系统的缺点132.4 本章小结13第三章 协同过滤推荐系统设计143.1 协同过滤推荐系统的总体设计143.1.1 协同过滤推荐系统的设计目标143.1.2协同过滤推荐系统总体框架143.2数据管理DataManager的模块设计153.2.1资源项模块153.2.2用户偏好模块163.2.3用户模块163.2.4数据管理模块163.3相关性算法实现的模块设计173.3.1基于Pears

3、on相关性算法173.3.2基于资源项相关性算法183.3.3基于Spearman相关性算法193.4最近邻用户算法的模块设计203.5个性化推荐213.5.1基于资源项和用户的推荐213.5.2 SlopeOne算法推荐223.6基于用户聚类的推荐233.7本章小结25第四章 实验结果及其分析264.1数据集264.2评价指标274.2.1 测试准备274.2.2 测试对象274.3测试结果及分析284.3.1相似度算法的影响284.3.2最近邻体积的影响284.3.3推荐质量的测试294.3.4基于用户聚簇的测试304.4本章小结30第五章 总结与展望315.1总结315.2展望31致 谢

4、33参 考 文 献35摘 要随着因特网在全球的普及和人们生活水平的提高,商品和服务信息指数级的增长造成的信息过载已经成为制约电子商务发展的瓶颈。伴随着电子商务平台的日益成熟,个性化的商品推荐已经成为满足个体对个性化商品信息需求的重要手段。本课题针对目前在电子商务领域应用最成功也是最广泛的协同过滤推荐系统技术进行了学习研究,并具体实现了其中的典型算法基于项目的和基于用户的协同过滤算法,Slope One算法等。在此基础上,针对随着电子商务系统用户数目和商品数目日益增加,在整个用户空间上寻找目标用户的最近邻居非常耗时,导致推荐系统的实时性要求难以保证的问题,提出并实现了一种基于用户聚类的协同过滤推

5、荐算法,根据用户对项目评分的相似性对用户进行聚类,生成相应的聚类中心,在此基础上计算目标用户与聚类中心的相似性,从而只需要在与目标用户最相似的若干个聚类中就能寻找到目标用户的大部分最近邻居并产生推荐列表。最后利用美国明尼苏达大学的世界上最大的开放数据集MovieLens进行了协同过滤算法不同衍化版本的实验分析,试验结果表明用户聚类的算法要比基于用户的算法在性能上要好得多,同时在质量上也比基于用户的算法要好。关键词:电子商务,个性化推荐,协同过滤,聚类ABSTRACTWith the high-speed development of internet and improvement of pe

6、oples living, because of the exponential increment of products and services information, information overload and information disorientation are obstructions which restrain people from using internet information efficiently. Personalized recommendation system can recommend information automatically

7、according to users interest . It has become an important means to meet the individual needs of individual commodity information.Recommendation system is one of the most important techniques used in E-Commerce. Many recommendation systems employ collaborative filtering to generate recommendations. Th

8、e thesis summarizes and realizes the classical algorithms of collaborative filtering system ,such as user-based and item-based collaborative filtering system. With the gradual increase of users and commodities in E-Commerce, the time-consuming nearest neighbor search of the target user in the total

9、user space resulted in the failure of ensuring the real-time requirement of recommendation system. A collaborative filtering recommendation algorithm based on user clustering was proposed in this paper to solve this problem. Users are clustered based on users ratings on items, each cluster has a clu

10、ster center. Based on the similarity between target user and cluster centers, the nearest neighbors of target user can be found in the user clusters that most similar to the target user.The system analyzes the performance and quality of the different CF algorithms with the biggest data set MovieLens

11、 provided by Minnesota university. Experimental results indicate that this algorithm can effectively improve the real-time performance of recommendation systems. KEY WORDS: E-Commerce , recommendation systems , collaborative filtering , clustering6基于客户资料挖掘的电子商务网站的设计与实现 第一章 绪论第一章 绪论 1.1研究背景与现状 随着因特网的

12、日益普及,人们的购物方式已经发生了巨大的变化,已经由传统到商店直接购买转到因特网去订购,这样也改变了销售商和客户之间的关系,客户所追求的不再是购买场所是否方便,而关心的是商品的价值,当然客户选择商品还有他自己的偏好,这样电子销售商就必需了解客户的网上行为、价值取向、兴趣爱好,从而来提高自己产品的市场竞争力。Web数据挖掘能从Web服务器上大量的数据中提取初原来不知道的但有用的信息和规律。利用Web数据挖掘可以发现顾客的购买偏好,发现什么样的客户是忠实的客户,为他们提供个性化服务,延长客户的驻留时间;发现潜在客户,为他们提供个性化的页面,变潜在客户为忠实客户,扩大市场占有率;分析客户未来可能发生

13、的行为,进行有针对性的营销活动,提高广告的投资回报率;当然利用Web挖掘还可以事先信用评估,欺诈检测,投资组合管理等多方面的应用1。 因特网的迅猛发展将人类带入了信息社会和网络经济时代,对企业发展和个人生活都产生了深刻的影响2。一方面,基于因特网的虚拟企业不再需要像传统的物理环境下企业那样的实体投资,企业与顾客、供应商等建立起更直接的联系,电子商务模式为企业发展提供了更多的机会;同时,因特网的发展正在极大地改变社会每个人的生活,人们不出家门就可随心所欲地得到自己想要的商品,网上购物的经历让大众感受到电子商务带来的惊喜。 在电子商务的虚拟环境下,商家所提供的商品种类和数量非常多,用户不可能通过一

14、个小小的计算机屏幕一眼就知道所有的商品,用户也不可能象在物理环境下那样检查挑选商品。因此,需要商家提供一些智能化的选购指导,根据用户的兴趣爱好推荐用户可能感兴趣或是满意的商品,使用户能够很方便地得到自己所需要得到的商品。而且,从现实经验来看,用户的需求经常是不明确的、模糊的,可能会对某类商品有着潜在的需求,但并不清楚什么商品能满足自己的模糊需求。这时,如果商家能够把满足用户模糊需求的商品推荐给用户,就可以把用户的潜在需求转化为现实的需求,从而提高产品的销售量。 在这种背景下,推荐系统(Recommender Systems)应运而生,它是根据用户的特征,比如兴趣爱好,推荐满足用户要求的对象,也

15、称个性化推荐系统(Personalized Recommender Systems)。个性化服务是因特网信息增长的必然结果,1995年至1997年,美国人工智能协会春季会议(AAAI)、国际人工智能联合大会(IJCAI),ACM智能用户接口会议(ACMIUI)和国际WWW大会等重要会议发表了多篇个性化服务原型系统的论文,标志着个性化服务研究的开始。1997年3月,Communications of the ACM组织了个性化推荐系统的专题报道,个性化服务己经受到相当的重视。2000年8月,Communications of the ACM再次组织了个性化服务的专刊,个性化服务的研究己经进入快速

16、发展阶段3。 此外,IEEE Intelligent System,IEEE Computer,User Modeling and User-Adapted Interaction也发表了有关个性化服务的重要成果。2000年,美国NSF基金开始支持有关个性化服务的研究。同年4月,以美国为主的多国个性化研究机构和网络公司成立了个性化协会,旨在推动个性化服务的发展,同时保护个性化服务中涉及的用户隐私。目前,国外已经推出了多个实现初步个性化服务的原型系统,如SyskilI & Webert,Personal Web Watcher,Fab等;部分大型网站也推出了个性化服务,如Yahoo!,CNN等1

17、0。 1.2个性化推荐系统综述 现在被广泛引用的推荐系统的定义是Resnick & Varian 在1997年给出的:“它是利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程”8。 推荐有三个组成要素:推荐候选对象、用户、推荐方法,个性化推荐系统的基本框架如图1.1所示。图1.1 个性化推荐系统的基本框架 推荐活动在日常生活中普遍存在,根据不同的推荐对象和推荐方法,推荐活动形式多样,例如,超市购物导购员为用户推荐用户喜爱的产品,提高销售能力;现实生活中朋友间相互推荐喜爱的电影;推销员向用户推销产品等,都是推荐活动,可以说,只要存在多个候选对

18、象,就存在选择问题,存在选择就有推荐问题存在。 个性化推荐的最大的优点在于,它能收集用户特征资料并根据用户特征,如兴趣偏好,为用户主动作出个性化的推荐。而且,系统给出的推荐是可以实时更新的,即当系统中的商品库或用户特征库发生改变时,给出的推荐序列会自动改变。这就大大提高了电子商务活动的简便性和有效性,同时也提高了企业的服务水平。 推荐方法是整个推荐系统中最核心、最关键的部分,很大程度上决定了推荐系统性能的优劣。目前,主要的推荐方法包括:基于内容推荐、协同过滤推荐、基于关联规则推荐、基于效用推荐、基于知识推荐和组合推荐6。 1协同过滤推荐 协同过滤推荐(Collaborative Filteri

19、ng Recommendation)技术是推荐系统中应用最早和最为成功的技术之一。在当今的电子商务领域中,协同过滤推荐是研究最多,也最为成功,应用最为广泛的个性化推荐方法。协同过滤基于这样的假设:为用户找到他真正感兴趣的内容的好方法是,首先找到与目标用户兴趣相似的邻居用户,协同过滤推荐系统使用统计技术搜索目标用户的若干最近邻居,然后根据最近邻居对项目的评分预测目标用户对项目的评分,产生对应的推荐列表。 2基于内容的推荐 基于内容的推荐(Content-based Recommendation)是信息过滤技术的延续与发展,它是建立在项目的内容信息上作出推荐的,而不需要依据用户对项目的评价意见,更

20、多地需要用机器学习的方法从关于内容的特征描述的事例中得到用户的兴趣资料。在基于内容的推荐系统中,项目或对象是通过相关的特征的属性来定义,系统基于用户评价对象的特征,学习用户的兴趣,考察用户资料与待预测项目的相匹配程度。用户的资料模型取决于所用学习方法,常用的有决策树、神经网络和基于向量的表示方法等。基于内容的用户资料是需要有用户的历史数据,用户资料模型可能随着用户的偏好改变而发生变化。 3基于关联规则推荐 基于关联规则的推荐(Association Rule-based Recommendation)是以关联规则为基础,把已购商品作为规则头,规则体为推荐对象。关联规则挖掘可以发现不同商品在销售

21、过程中的相关性,在零售业中已经得到了成功的应用。管理规则就是在一个交易数据库中统计购买了商品集X的交易中有多大比例的交易同时购买了商品集Y,其直观的意义就是用户在购买某些商品的时候有多大倾向去购买另外一些商品。比如购买牛奶的同时很多人会同时购买面包。 算法的第一步关联规则的发现最为关键且最耗时,是算法的瓶颈,但可以离线进行。其次,商品名称的同义性问题也是关联规则的一个难点。 4基于效用推荐 基于效用的推荐(Utility-based Recommendation)是建立在对用户使用项目的效用情况上计算的,其核心问题是怎么样为每一个用户去创建一个效用函数,因此,用户资料模型很大程度上是由系统所采

22、用的效用函数决定的。基于效用推荐的好处是它能把非产品的属性,如提供商的可靠性(Vendor Reliability)和产品的可用性(Product Availability)等考虑到效用计算中。 5基于知识的推荐 基于知识的推荐(Knowledge-based Recommendation)在某种程度是可以看成是一种推理(Inference)技术,它不是建立在用户需要和偏好基础上推荐的。基于知识的方法因 它们所用的功能知识不同而有明显区别。效用知识(Functional Knowledge)是一种关于一个项目如何满足某一特定用户的知识,因此能解释需要和推荐的关系,所以用户资料可以是任何能支持推

23、理的知识结构,它可以是用户已经规范化的查询,也可以是一个更详细的用户需要的表示。 6组合推荐 由于各种推荐方法都有各自的优缺点,所以在实际中,组合推荐(Hybrid Recommendation)经常被采用。研究和应用最多的是内容推荐和协同过滤推荐的组合。最简单的做法就是分别用基于内容的方法和协同过滤推荐方法去产生一个推荐预测结果,然后用某方法组合其结果。尽管从理论上有很多种推荐组合方法,但在某一具体问题中并不见得都有效,组合推荐一个最重要原则就是通过组合后要能避免或弥补各自推荐技术的弱点。在组合方式上,有研究人员提出了七种组合思路11:(1)加权(Weight):加权多种推荐技术结果;(2)

24、变换(Switch):根据问题背景和实际情况或要求决定变换采用不同的推荐技术;(3)混合(Mixed):同时采用多种推荐技术给出多种推荐结果为用户提供参考;(4)特征组合(Feature combination):组合来自不同推荐数据源的特征被另一种推荐算法所采用;(5)层叠(Cascade):先用一种推荐技术产生一种粗糙的推荐结果,第二种推荐技术在此推荐结果的基础上进一步作出更精确的推荐;(6)特征扩充(Feature augmentation):一种技术产生附加的特征信息嵌入到另一种推荐技术的特征输入中;(7)元级别(Meta-level):用一种推荐方法产生的模型作为另一种推荐方法的输入

25、。 1.3个性化推荐系统的评价标准 电子商务网站个性化推荐系统由于直接关系到用户的切身感受,所以在电子商务网站中它的地位尤其重要。一个优秀的推荐系统需要满足下面几个目标: (1)不可强制用户进行某些操作:用户个性化推荐系统必须能够基于用户之前的口味和喜好提供相关的精确的推荐,而且这种口味和喜欢的收集必须尽量少的需要用户的劳动; (2)实时性:推荐的结果必须能够实时计算,这样才能够在用户离开网站前之前获得推荐的内容,并且及时地对推荐结果作出反馈。实时性也是推荐系统与通常的数据挖掘技术显著不同的一个特点; (3)组成结构:一个完整的推荐系统由三部分构成:行为记录模块、模型分析模块和推荐模块。行为记

26、录模块负责记录能够体现用户喜好的行为,比如购买、下载、评分等。这部分看起来简单,其实需要非常仔细的设计。比如说购买和评分这两种行为表达潜在的喜好程度就不尽相同,完善的行为记录需要能够综合多种不同的用户行为,处理不同行为的累加。模型分析模块的功能则实现了对用户行为记录的分析,采用不同算法建立起模型描述用户的喜好信息。最后,通过推荐模块,实时地从内容集筛选出目标用户可能会感兴趣的内容推荐给用户; (4)需要有合适的数据集:除了推荐系统本身,为了实现推荐,还需要一个可供推荐的内容集。比如,对于音乐推荐系统来说,一个音乐库就是这样的内容集。大众对内容集本身需要提供的信息要求非常低,在经典的协同过滤算法

27、下,内容集甚至只需要提供ID就足够。而对于基于内容的推荐系统来说,由于往往需要对内容进行特征抽取和索引,就会需要提供更多的领域知识和内容属性。这种情况下,还是拿音乐举例,歌手、流派之类的属性和音频信息就成为必需的内容集信息。 1.4个性化推荐系统面临的挑战 电子商务推荐系统在研究和实践中都非常成功,但是,随着电子商务系统规模越来越大,电子商务推荐系统也面临着一系列挑战。 1.4.1实时性问题 推荐系统的推荐精度和实时性是一对矛盾。大部分推荐技术在保证实时性要求的同时,是以牺牲推荐系统的推荐质量为前提的。在提供实时推荐服务的同时,如何有效提高推荐系统的推荐质量,需要做进一步深入的研究。 大型电子

28、商务推荐系统必须能够同时为数以万计的客户产生实时的推荐列表,随着客户数量和商品数量的不断增加,电子商务推荐系统的伸缩能力和实时性要求越来越难以保证,需要在电子商务推荐系统中采用降维技术、并行技术以及数据挖掘领域的最新研究成果来解决上述问题12。 1.4.2数据与技术集成问题电子商务推荐面临的另外一个挑战就是对多种数据和多种技术的有效集成13。当前大部分的电子商务推荐系统都只利用了一部分可用信息来产生推荐。随着研究的深入,电子商务推荐系统应该利用尽可能多的信息,收集多种类型的数据并有效集成,从而产生更加有效的推荐。 1.4.3隐私问题这是一个不可回避的问题,因为要想建立个性化Web系统就必须有用

29、户的参与,同时还要分析用户反馈的信息,如果使用Cookies一类技术,这就可能涉及到用户的隐私.目前的Web个性化技术还不能很好地解决这个问题,即在实现个性化服务地同时而又不侵犯用户的隐私。 1.5论文组织结构 本课题的重心在于在研究电子商务中基于客户资料挖掘的服务器端个性化推荐的工作。由于电子商务技术庞大而复杂,本课题选取了其中的核心技术个性化推荐予以研究分析。以客户显式或隐式的对资源与服务打分的前提,主要学习研究了协同过滤推荐算法的原理,实现了协同过滤推荐的两大传统算法基于用户和基于资源项的协同过滤推荐,根据Daniel Lemire 教授在2005年提出的Slope One算法思想,给出

30、了自己的实现。同时为了解决电子商务产品服务信息的爆炸性增长带来的个性化推荐实时性下降的问题,本设计结合用户聚簇技术将相似度较高的客户归类到相同的聚类之中,从而缩减了用户的搜索空间,达到实时性和推荐质量的平衡。最后采用MovieLens数据集进行测试,分析关键参数对协同过滤算法的影响和在相同环境下的各个协同过滤算法的性能。本设计的结构安排如下: 第一章主要分析了个性化推荐系统的背景与现状,介绍了个性化推荐领域主要的技术和面临的挑战,最后给出了本设计的结构安排。 第二章阐述了本课题主要探讨的协同过滤推荐技术,描述了协同过滤算法的思想,流程和分析了协同过滤的优缺点。 第三章主要讲述了协同过滤推荐系统

31、的设计架构和典型推荐算法的实现,包括基于项目的协同过滤算法和基于用户的协同过滤算法以及Slope One算法等。最终实现了基于客户聚类的推荐办法。 第四章主要分析了利用明尼苏达大学的MovieLens数据集进行协同过滤算法之间性能的比较。详细介绍了性能测试的环境,方法以及测试的标准,详细介绍了试验的过程,并对试验结果进行了详细的分析。 第五章是进行了毕业设计工作的总结与致谢。基于客户资料挖掘的电子商务网站的设计与实现 第二章 协同过滤推荐系统第二章 协同过滤推荐系统2.1协同过滤推荐综述 基于协同过滤的推荐系统可以说是从用户的角度来进行相应推荐的,而且是自动的,即用户获得的推荐是系统从购买模式

32、或浏览行为等方式中隐式获得的,不需要用户努力地找到适合自己兴趣的推荐信息,如填写一些调查表格等。 协同过滤技术可以分为两类:基于用户(User-based)的协同过滤、基于项目(Item-based)的协同过滤10。2.1.1基于用户的协同过滤算法 基于用户的协同过滤,通过比较目标用户的一系列行为选择和其他用户之间的相似性,来识别出一组相互具有类似喜好的用户,又可以称为“同好”6。一旦系统能够识别一个用户的同好用户,就能够将他们最感兴趣的内容作为当前用户的推荐结果推荐给这个用户。也就是说,以前的行为选择与你相似的用户,在以后的行为中很可能也会和你相似。因此将这些用户做为基准来向你推荐内容。协同

33、过滤的核心问题是寻找与目标用户兴趣相近的一组用户。这种相似用户通常被称为最近邻居(Nearest Neighbor)。用户之间的相似度是通过比较两个用户的行为选择矢量得到的。 基于用户的协同过滤技术在个性化推荐系统中获得了极大的成功,但它有自身的局限性。推荐集的产生方式意味着一个内容只有已经被用户选择(购买)后才有机会被推荐给其他用户。2.1.2基于资源项的协同过滤算法 和基于用户的推荐系统相比,基于资源项的推荐系统最大的改进是更具有扩展性。基于资源项的方法通过计算资源项之间的相似性来代替用户之间的相似性。对于通常的互联网应用来说,提供的资源项数量相对较为稳定。比如一个大型网上书店,可能出售的

34、书籍数量也就在几十万上下,而用户数量就可能达到几百万。所以,比起用户,资源项之间的相似性计算需要的计算量要少很多,从而大大降低了在线计算量,提高系统性能。当然,在降低了计算量的同时,完全基于资源项的推荐技术也在推荐的准确度上做了小小的牺牲。大多数情况下,基于用户的推荐技术表现要略好于基于资源项的方法。这是因为基于内容的方法忽略了相似用户之间的组群特征。 2.1.3 Slope One算法 Slope One 算法是由Daniel Lemire教授在2005年提出的一个基于资源项的推荐算法12。Slope One 算法试图同时满足这样的的5个目标: (1)易于实现和维护:普通工程师可以轻松解释所

35、有的聚合数据,并且算法易于实现和测试; (2)运行时可更新的:新增一个评分项,应该对预测结果即时产生影响; (3)高效率的查询响应:快速的执行查询,可能需要付出更多的空间作为代价; (4)对初次访问者要求少:对于一个评分项目很少的用户,也应该可以获得有效的推荐; (5)合理的准确性:与最准确的方法相比,此方法应该是有竞争力的,准确性方面的微小增长不能以简单性和扩展性的大量牺牲为代价。2.2协同过滤推荐系统的流程 在协同过滤算法的典型的应用场景中,系统拥有m个用户 和n个资源项,每个用户都会拥有一个可以表示自己的评分列表,所以用户评分数据可以用一个的评分矩阵来表示,m行代表m个用户,n列代表n个

36、资源,第i行第j列的元素表示第i个用户对第j个资源项的评分。用户评分数据如表2.1所示。表2.1 用户评分数据矩阵. 建立一个协同过滤系统通常需要三个步骤:兴趣数据的收集与处理,最近邻搜索和生成推荐结果。2.2.1兴趣数据的收集与处理 传统的系统一般使用打分的方式,最著名的例如MovieLens,豆瓣网上经常出现在右侧的“我来评价”也是这种方法。这种方式被称为“显式评分”方法。但它有一个明显的缺点,收集数据比较困难,用户通常并不愿意费力气为你贡献这种数据。这导致这种系统通常更多出现在实验室或者论文里面。在实际的商业系统中,即使使用了这种方法,也多会被包装为一种更加友好的样子。 另外一种被认为更

37、有效的方法是“隐式评分”方法。这种方法不需要用户直接输入评价数据,而是根据用户的行为特征由系统代替用户完成评价。一种研究得比较多的方法是网络数据挖掘(Web Mining)。电子商务网站在隐式评分的数据获取上有先天的优势,用户购买的商品记录是非常有用的数据。 数据挖掘通常并不需要使用所拥有的所有数据,有些数据对象和数据属性对建立模型、获得模式是没有影响的,这些数据的加入会大大影响挖掘效率,甚至还可能导致挖掘结果的偏差,因此,有效地选择数据是很有必要的7。数据预处理模块就是出于这一目的,对存在大量的噪声数据、冗余数据、稀疏数据或不完全数据等进行处理,以解决数据应用质量的问题。 数据预处理模块包含

38、两个方面7:一是从多个数据源去整合挖掘所需要的数据,保证数据的综合性、易用性和数据的时效性;另外一方面就是如何从现有数据中衍生出所需要的指标,这主要取决于数据挖掘者的分析经验和工具的方便性。 1. 数据清理 数据清理也称为数据清洗。在数据中消除错误和不一致,并解决对象识别问题的过程。数据清洗包括空值处理、噪声数据处理以及不一致数据处理等。数据的不一致性导致数据挖掘结果的可信度的降低,数据清理去除噪声或无关数据,并处理数据中缺失的数据域7。 2. 数据集成 数据集成也就是将多个数据源的数据合并存放在一个统一的数据存储中7。数据集成将多个数据源中的数据进行合并处理,解决语意模糊性并整合成一致的数据

39、存储。主要涉及到三个方面的问题: (1)模式集成是从多个异构数据库、文件或遗留系统提取并集成数据,解决语义二义性,统一不同格式的数据,消除冗余、重复存放数据的现象。因此,模式集成涉及实体识别,通常借助于数据库或数据仓库的原数据进行模式识别,帮助避免模式集成中的错误。此外,数据可能来自多个实际系统,因而存在异构数据的转换问题和数据类型的选择问题; (2)冗余数据集成往往导致数据冗余,对于属性间冗余可以用相关分析检测到,然后将其删除; (3)数据值冲突的检测与处理由于表示、比例、编码等的不同,现实世界中的同一实体,在不同数据源中的数据性质可能不同。这种数据语义上的歧义性是数据集成的最大难点。 3.

40、 数据变换与规约 数据变换要求做到三个方面:一是将连续的数据属性离散化成若干个区间;二是新建变量,在很多情况下需要从原始数据中生成一些新的变量作为预测变量;三是格式变换,规范化数据格式。如定义时间、数值、字符等数据加载格式。关联规则挖掘是数据挖掘中最活跃的研究方法之一。最初其目的是为了发现交易数据库(也称为事务数据库)中不同商品之间的联系规则。2.2.2最近邻搜索 最近邻搜索实质上所做的工作即是用户对目标项目的评分预测。协同过滤的出发点是寻找与你兴趣相同的一组用户,术语叫做“最近邻”。最近邻搜索的核心是计算两个用户或者项目的相似度。例如项目i和项目j之间相似性计算的本质是首先去找出对这两个项目

41、都已经评价的用户集,然后利用相似性计算技术来产生相似度 。图2.1已经详述了这个过程,在这里矩阵的行表示用户而列则表示项目。目前使用比较多的相似度算法包括,Pearson相关系数(Person Correlation Coefficient)、余弦相似性(Cosine-based Similarity)以及调整余弦相似性(Adjusted Consine Similarity)。.评分预测推荐结果评分Ri,j.TOP-N推荐.协同过滤算法输出接口输入评分矩阵图2.1协同过滤算法处理流程 1.余弦相似性 在这种情况下,两个项目被视为m个用户空间的两个向量。他们之间的相似性是通过计算两个向量之间角

42、度的余弦值来得到的。正式的说法是,在如表2.1的m*n的评分矩阵中,项目i与项目j的相似度被表示为 公式 (2.1) 这里“.”表示两个向量之间的标量积。 2.基于关联的相似性在这种情况下,两个项目i和j之间的相似性是通过计算Pearson的相关性来衡量的。为了保证相关性计算的准确度,首先必须孤立两项都评分的集合(即用户对项目i和j均做出了评价 ),就像如表2.1所表现的一样。将为项目i和j均评分的用户集表示为U,那么相关相似度可表示为 公式 (2.2) 在这里表示用户u对项目i的评分,而则是第i个项目的评分平均值。 3.调整的基于余弦相似性 基于用户的协同过滤算法和基于项目为基础的协同过滤算

43、法一个根本区别是,以用户为基础的协同过滤计算的是矩阵中行之间的相似度,而基于用户的则是计算矩阵中列之间的相似度,在两项都评分的集合中每一对都是关联到不同的用户。在项目为基础的情况下,使用基本的余弦相似度计算,有一个致命的缺陷就是,不同的用户之间评分的幅度不同没有考虑在内。调整的余弦相似度计算将通过在每一对中减去相应的用户平均分来弥补这个缺陷。正式的形式是,项目i和j之间的相似度可以表示为 公式 (2.3) 这里是第u个用户的评分平均值。2.2.3生成推荐结果 在协同过滤系统中最重要的一步是以推断形式来产生输出接口。一旦基于相似性措施孤立出最相似的项目的集合,下一步就是寻找到目标用户的评分和使用

44、技术去获得的预测。在这里,将考虑两个这样的技术。 1.加权和 顾名思义,这种方法通过计算该用户在与项目i相似项目上的评分总和来计算用户u对项目i的评分预测,每一个评分是根据项目i与项目j之间的相似度来做加权的。正式的形式是,可以将推断表示为:公式 (2.4) 基本上,这种做法试图捕捉那些活跃的用户在类似项目项目中是如何评分的。加权是由相似度和的形式以确保预测是在预定的范围内。 2.回归 这种做法是类似加权和的方法,唯一的不同是取代了直接使用相似项目的评分的方法,它使用一种基于回归的模型评分通知的方法。在实践中,采用余弦或关联相似的相关措施计算出的评分可能误导两个评分向量是冷漠的,但可能有很高的

45、相似性。在这种情况下使用“所谓”的行评分可能会导致很差的预测。这里基本思路是使用和加权和技术相同的形式,但是取代了相似项目N的行评分值,这个模型使用基于线性回归模型的近似值。如果采用和分别表示目标项目i和相似项目N,那么这个线性回归模型可表示为: 公式 (2.5) 回归模型的两个参数和是通过仔细检查两个评分向量来决定的,是该回归模型的误差。 有了最近邻集合,就可以对目标用户的兴趣进行预测,生成推荐结果。通常根据推荐目的的不同,可以进行多种形式的推荐。最常见的推荐结果有两种,Top-N 推荐和关联推荐。 (1)Top-N推荐:这里的 Top-N和一般网站(比如digg)上见到的“最热门”列表是不同的。热门列表是基于全部数据集产生的,它对每个人都是一样的;Top-N 推荐是针对单个用户产生的,它对每个人是不一样的:通过对你的最近邻用户进行统计,选择出现频率

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1