为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于阿里移动平台的商品个性化推荐实证分析

2021-03-24 3页 doc 89KB 14阅读

用户头像 个人认证

東門涙

暂无简介

举报
基于阿里移动平台的商品个性化推荐实证分析基于阿里移动平台的商品个性化推荐实证分析摘要:推荐系统产生于对信息过载问题的研究,其已在电子商务、音乐、新闻资讯等领域得到了广泛应用,但仍有着广阔的改进和应用的空间,蕴含着巨大的商业和社会价值,很值得我们研究。本文通过对来自阿里巴巴移动电商平台抽样截取的1200万余条的真实用户购物记录进行统计分析,进行一个月后的用户购买行为预测,并给出了商品推荐结果。本文利用RapidMiner软件进行建模,采用了基于商品的协同过滤算法、基于用户的协同过滤算法、基于贝叶斯网络的协同过滤算法和MostPopular算法等四种推荐算法对上述数据进...
基于阿里移动平台的商品个性化推荐实证分析
基于阿里移动平台的商品个性化推荐实证摘要:推荐系统产生于对信息过载问题的研究,其已在电子商务、音乐、新闻资讯等领域得到了广泛应用,但仍有着广阔的改进和应用的空间,蕴含着巨大的商业和社会价值,很值得我们研究。本文通过对来自阿里巴巴移动电商平台抽样截取的1200万余条的真实用户购物记录进行统计分析,进行一个月后的用户购买行为预测,并给出了商品推荐结果。本文利用RapidMiner软件进行建模,采用了基于商品的协同过滤算法、基于用户的协同过滤算法、基于贝叶斯网络的协同过滤算法和MostPopular算法等四种推荐算法对上述数据进行了训练和预测,然后通过不断地调整抽样和推荐参数,最终找到本实验数据的最佳算法模型和最佳参数设置。在对比四种算法的结果之后,我们发现MostPopular推荐算法有着较高的预测准确率。接着对模型进行参数调优,我们发现当抽样率为0.15时,预测准确率最高。采用MostPopular推荐算法,我们得到的准确率(Precision)为2.13%,召回率(Recall)为5.20%,F1(准确率和召回率的加权值)得分为3.02%。本次实验过程为今年“阿里移动推荐算法”参赛过程,一共有7186支参赛队伍,我们取得了第836名的最好名次。关键词:数据挖掘;推荐算法;电子商务;EmpiricalAnalysisofPersonalizedCommodityRecommendationBasedonAlibabaMobilePlatformAbstract:Recommendationsystem,developedinthestudyontheproblemofinformationoverload,ithasine-commerce,music,newsandotherfieldshasbeenwidelyused,butthereisstillavastimprovementandapplicationofthespace,containsenormouscommercialandsocialvalue,itisworthourstudy.BasedonfromAlibabamobilebusinessplatformsamplinginterceptionof1200millionofrealusershoppingrecordsforstatisticalanalysis,amonthaftertheuserpurchasebehaviorpredictionispresented,andtherecommendationresults.UsingRapidMinersoftwaremodeling,basedonproductcollaborativefilteringalgorithm,basedonusercollaborativefilteringalgorithm,basedonBayesiannetworkcollaborativefilteringalgorithmandthemostpopularalgorithm,andfourcommonrecommendationalgorithmofthedataofpretrainingandtest,andthenbyconstantlyadjustingthesamplingandtherecommendedparameters,finallyfoundtheexperimentaldatabestalgorithmmodelandparametersettings.Aftercomparingtheresultsofthefouralgorithms,wefindthatthePopularMostrecommendationalgorithmhasahigherpredictionaccuracy..Thentheparametertuningofthemodel,wefoundthatwhenthesamplingrateis0.15,thepredictionaccuracyofthebest.UsingthePopularMostrecommendationalgorithm,wegettheaccuracyrate(Precision)of2.13%,therecallrate(Recall)of5.20%,F1(accuracyandrecallrateoftheweightedvalue)scoreof3.02%.TheexperimentalprocessforthisyearistheAlimobilerecommendationalgorithmprocess,atotalof7186teamsparticipating,wehaveachieved836ofthebestplace.Keywords:DataMining;Recommendationalgorithm;E-commerce;第1章绪论1.1研究背景和意义1.1.1研究背景自互联网从1969年诞生以来,经过几十年的爆炸式发展,现今已达到了极大的规模。据中国互联网络信息中心(CNNIC)最新发布的《第35次中国互联网络发展状况统计报告》统计数据显示,截止2014年12月,中国网民规模达6.49亿,互联网普及率为47.9%,其中中国手机网民规模达5.57亿,网民中使用手机上网人群占比为85.8%。截止2014年12月,中国网页数量已达1899亿个。人们已经可以通过协同办公软件足不出户地在家办公,通过电商平台足不出户地在家购物,通过新闻类应用软件足不出户地获取全球实时发生的讯息。互联网的发展极大地方便了人们的工作和生活:但同时也带来了一个问题,信息的严重过载。互联网上已有数以千亿计的网页,电商平台上有数以亿计的商品,在线视频网站有着数以百万计的视频影像,而且互联网还在随时随地地产生着数量庞大的信息,对于我们而言,不眠不休也浏览不完这些信息。换句话说,互联网上信息应有尽有,我们却对其中绝大多数的信息一无所知。所以我们需要一种发现机制,去发现那些用户需要的,但不清楚是否存在,或者知道存在也不知道通过什么渠道去获取的信息。发现机制与搜索引擎获取信息的区别在于使用搜索引擎时用户时明确自己需要什么信息,接着通过特定的关键字组合去搜索,然后获取信息。这种机制就是推荐系统(RecommendationSystem,RS)。推荐系统是一种信息过滤的技术(InformationFiltering,IF),它可以从大量信息中自动筛选出用户感兴趣的部分,并将其推荐给用户,这就在用户信息需求并不十分明确或者信息量过于庞大时,良好地帮助用户解决了信息过载的问题。推荐系统作为信息过滤的一种有效的手段,在很多行业领域有着应用,也体现着巨大的价值:在电子商务领域,电商网站使用推荐系统来导购,向消费者推荐感兴趣的商品,据报道亚马逊30%的销售额是推荐系统实现的;在音乐领域,豆瓣FM通过推荐系统,猜你喜欢的歌曲,由此积累了巨大的用户群;在影视领域,网站通过推荐系统向你推荐感兴趣的电影,Netfilx号称其60%的会员会按照系统推荐名单顺序租赁影片;另外,在文章推荐,广告精准投放等方面,推荐系统也有着深入应用。推荐系统体现出来的巨大商业价值,吸引了大量产业界和学界的注意力。1.1.2研究意义推荐系统已经在很多行业领域得到了应用,获得了非凡的价值,也延伸出了基于内容的推荐系统、基于协同过滤的推荐系统、基于混合模型的推荐系统等分支,但依然有着许多的问题(如推荐准确率低),并有着极大的改进空间和应用空间,可以进一步释放价值。推荐系统帮助消费者,在纷繁的商品(产品/服务)中,向用户推荐他们可能感兴趣的商品。推荐系统节省了消费者时间,因为用户可以通过推荐系统,更加快速、准确地定位到自己喜欢的商品。同时,推荐系统也提升了用户体验,通过感兴趣商品的推荐,用户可能会找到自己挑选范围外但是自己喜欢的商品,丰富了用户体验。推荐系统也帮助企业,完成商品导购服务,提高了商品购买的转化率,也实现了与其他竞争者的差异化服务提供,增加了用户的忠诚度。除此之外,推荐系统还是一种良好的均衡机制,有效提升了平台电商的商家和商品曝光的覆盖率,有着良好的效益。综上所述,推荐系统产生于对信息过载问题的研究,其在电子商务、音乐等领域有着广泛应用,释放了巨大的价值,为多方带来了效益,值得我们研究。1.2国内外研究现状推荐系统的先驱者是Tapestry(Goldberg,Nicholasetal.1992),它在20世纪90年代诞生,基于用户间的关系,为用户过滤和推荐文章。但对于一个复杂的推荐系统,用户间不可能相互认识,因此出现了基于打分机制的推荐系统:GroupLens系统(Resnick,Iacovouetal.1994),该系统基于打分机制向用户自动推荐新闻和电影;VideoRecommender系统(Hill,Steadetal.1995),则根据用户的网页浏览行为向用户推荐可能喜欢的音乐和电影。之后推荐系统越来越火,获得了越来越多的学界和工业界的注意力。在工业界,作为一种有效的信息过滤技术,被广泛地应用在各大网站和移动应用之中,为它们提供个性化推荐服务,去更好地服务客户。在学界,美国计算机协会、SIGKDD、SIGIR、TKDE、AIII等已经多次成功举办过以推荐系统为主题的国际学术会议;同时,几年前举办过的Netflix竞赛,最近正在举办的阿里巴巴天池大数据竞赛也掀起了对推荐系统的一股研究热潮。下表1-2归纳展示了目前一些在不同的行业领域中应用的推荐系统。表1-2一些典型的推荐系统领域推荐系统电子商务淘宝、一号店、Amazon、ebay音乐、电影豆瓣、网易云音乐、虾米音乐、Netflix、Pandora、MovieLens视频优酷、爱奇艺、Youtube、Hulu网页Foxtrot、ifWeb、MEMOIR、ProfBuilder、US、Fab新闻网易新闻、GoogleNews、digg、GroupLens社交网络新浪微博、腾讯微博、Facebook、Linkedin、twitter目前常见的推荐系统有以下几个分支:基于内容的推荐系统、基于协同过滤的推荐系统、基于关联规则的推荐系统、基于效用的推荐系统、基于知识的腿甲系统以及基于混合模型的推荐系统。基于内容的推荐系统(Content-basedRecommendation)是对信息过滤技术的继承和发展,它基于项目的内容信息,无需参考用户对项目的评价信息,向用户推荐喜爱的或者以前浏览过的产品(如电影、歌曲、饭店或其他服务)。它依赖产品的特征和文字说明。基于协同过滤的推荐系统(CollaborativeFilteringRecommendation)是推荐系统中应用最早,也是最为流行的技术之一。它一般用最近邻的技术,用用户喜好的历史数据来计算用户间的关系/距离,然后利用与目标用户最相似的最近邻用户对商品的评价值来预测目标用户对商品的喜好程度。协同过滤推荐系统就是根据喜好程度的评分值来对用户进行推荐。基于关联规则的推荐系统(AssociationRule-basedRecommendation)是以关联规则为基础,规则头为已购商品,规则体为推荐商品,通过关联规则挖掘出不同商品在销售中的相关联程度,从而可以帮助商家制定销售策略,提高销售水平。啤酒-尿布就是关联规则推荐系统在零售业一个经典案例。基于效用的推荐系统(Utility-basedRecommendation)是为每一个用户建立一个效用函数,根据这个效用函数值向用户推荐产品。基于效用的推荐系统的优点在于它可以把非产品属性纳入效用函数中(如产品的可得到性和提供商的可靠性等因素),这样可以提高推荐的准确度。基于知识的推荐系统(Knowledge-basedRecommendation),在某种程度上可以看做一种推理技术,它不是简单的建立在用户的偏好和需要基础上进行推荐,而是基于任何可能支持推理的用户资料,通过数据挖掘技术来挖掘这些用户资料中一些隐含的有意义知识,并利用这些知识建立模型,进行推荐。基于混合模型的推荐系统(Mixed-model-basedRecommendation)就是上述推荐系统的一种混合体,因为通过算法组合后,能够避免或者减弱某一特定推荐系统的弱点,有效提高推荐准确率,而被经常采用。常见的基于混合模型的推荐系统是基于内容的推荐系统和基于协同过滤的推荐系统的组合。虽然推荐系统发展快速,应用广泛,也产生了巨大的社会价值,但是推荐系统仍然面临很多的挑战,亟待研究人员解决:1.系统冷启动问题(Schein,Popesculetal.2002)指的是由于用户-项目评价矩阵的数据过于稀疏,导致推荐系统对用户的推荐准确率极低。解决这一问题一般采取两种方式:一是通过发放奖励等各种方式去激励用户进行项目评分;二是当用户-项目评价矩阵达到足够密度再使用推荐系统。2.新项目问题(ParkandTuzhilin2008)的产生则是因为新项目刚上线时缺少评分数据,于是新项目很难被推荐给用户,而用户没有发现新项目直接导致项目更加缺少评分数据,从而导致恶性循环,导致新项目一直在推荐之外。解决这一问题的途径一般是激励或者专门雇佣少量人对新项目进行评分。3.新用户问题(Rashid,Karypisetal.2008)是目前挑战最大的问题,当一个新用户使用推荐系统时,因为用户没有项目评分数据,因此系统无法进行个性化推荐;即使新用户有了少量的项目评分数据,由于数据量太少,推荐系统仍然无法给出良好的推荐,这直接就影响了用户体验,甚至会导致用户的离开。解决这一问题主要是通过混合模型,结合基于内容的推荐系统和基于协同过滤的推荐系统,通过了解用户的兴趣特征和统计特征,完成新用户缺少评分数据情况下的推荐。4.扩展性问题(Scalability)是推荐系统遇到的又一难题,随着用户数和项目数的飞涨,传统的推荐系统会随着数据规模的扩大而大大降低效率。耗费大量时间才得到推荐的结果是不可接受的,特别是对一些在线推荐系统,这将直接导致他们的客户离开。解决扩展性问题,业界一般采用基于模型(Model-based)的推荐技术,即线下学习,线上使用的:通过离线数据预先处理好用户-项目间的关系度,然后线上只要直接参考这些已经算好的数值进行推荐。当然,这并没有从根本上提高推荐算法的效率。除了以上提到的问题,随着推荐系统的应用场景越来越来越丰富,推荐系统还有着兴趣变化问题、隐私保护问题、流行偏见问题、同义项目问题等大量问题,正是这些已经存在的挑战和新挑战的不断出现,使得推荐系统的研究一直保持着活跃。1.3本文的内容安排本文的研究以阿里巴巴移动电商平台为对象,根据消费者在电商平台上历史的消费数据,接着运用不同的推荐系统/算法对数据进行建模,利用RapidMiner软件实现建模和推荐过程,然后对不同的推荐算法根据预测结果准确度进行对比和参数调整,最终构造出最优化的模型和参数设定。并得出相应算法的最优推荐预测结果。本文的研究内容主要可以分为以下几个方面:第一.介绍了推荐系统的国内外现状、一些常见的推荐算法和数据挖掘的一些基础知识,其中包括基于用户的协同过滤的推荐算法、基于商品的协同过滤算法、基于内容的推荐算法、基于贝叶斯网络的推荐算和MostPopular推荐算法等,为进一步实证分析做准备。第二.依据阿里巴巴移动电商平台的真实用户购买记录进行建模,采用基于商品的协同过滤算法、基于用户的协同过滤算法、基于贝叶斯网络的协同过滤算法和MostPopular算法等四种推荐算法对上述数据进行了训练和预测,分别得到用户一个月后的购买行为预测结果。第三.比较不同算法的预测准确度,挑选最佳模型MostPopular,然后通过不断地调整抽样和推荐参数,最终找到本实验数据的最佳参数设置,并生成对用户最终的商品推荐结果。第四.分析其他可能影响预测结果准确率的因素,并提出可能改进。第2章数据挖掘技术2.1数据挖掘技术概述随着数据库理论技术和计算机相关硬件设备的快速发展,很多的行业企业都具备了独立地收集、储存、处理和分析数据的能力。在这个信息爆炸的“信息就是生产力”的信息时代,数据拥有者们都期待着从海量数据中挖掘出有用的信息,并用这些信息换取巨大的商业价值,如企业通过用户的历史浏览信息,发现用户的兴趣,向其推荐感兴趣的商品或服务,获取商业回报。但是,随着互联网尤其是移动互联网的普及,系统所获取的数据呈现出了越来越海量、非结构化、高纬度等特性;同时,随着人们物质生活的极度丰富,人们的需求也变得越来越多样和难以预测。传统的数据分析技术已经不再适应当前的现实环境,难以从海量数据中获取到有用的信息。因此,如何更加有效利用数据,从海量数据中挖掘出有用的知识模型和关联规则,成了一个亟待解决的问题。数据收集,数据存储和数据分析是一个不断发展的过程。随着数据挖掘技术的快速发展和大量数据源的增加,为了更好地整合数据,提供有效的分析,学者们希望寻求一种更优化的技术来实现这一目的。因此,数据仓库技术应运而生。数据仓库技术可以帮助企业快速找到用户的需求,并找到商品之间的潜在关系,帮助提高销售水平。因此,越来越多的企业把数据仓库技术当做是一种营销模式,并投入大量资源,力求更好的技术发展。数据仓库技术的出现顺应了市场的需求,所以它已经在各个领域得到了广泛关注。原有的联机事务处理(OLTP)已经逐渐被联机分析处理(OLAP)所取代,因为联机分析处理(OLAP)可以实现多维分析,在数据仓库中更具有使用价值。然而,在联机分析处理也有一些缺陷,如用户的知识结构模型必须在OLAP对数据进行处理前得到。但在现实操作中,未经处理的数据源和数据会使得模型有漏洞。所以,在企业的运作中,要时刻关注用户的喜好变化并且完成推荐的变化,那必须要有一个新的技术或工具,这种技术可以适应不同的数据类型和拥有超越原来的预先假设基础模型的能力。这项技术还需要其他学科的知识运用,如数理统计、知识获取、模式识别、粗糙集理论等等。研究在不同领域技术的混合是一项很有突破性的工作,一些学者正是在融合不同类型的知识后,才研究出新的技术,这为企业,甚至整个产业带来了发展新机遇。数据挖掘技术得到了快速的发展有多方面的原因,其主要原因是由于信息技术的普及,使各个领域的从业人员都能接触到海量的数据,其中的很多人也因此有了对海量数据的处理能力。此外,隐藏在数据背后的商业信息是推动数据挖掘技术的一个重要因素,正是这些商业信息推动着数据挖掘技术的不断发展。数据挖掘技术采用了一种全新的对数据进行处理、分析和利用的方法,它满足了人们对商业价值的追求,因此有着较大的研究价值。2.2数据挖掘的概念数据挖掘(DataMining),即“从数据中挖掘知识”,是知识发现(KnowledgeDiscoveryinDatabase,KDD)的一个基本步骤,它可以使用不同的工具和算法,对数据库或数据仓库中海量的,高纬度的、复杂的数据进行分析,并找出可能有用的信息。用户和数据之间的关系因为这项技术的诞生而发生了改变。在早期,人们只能单纯地接收接收信息,但有了数据挖掘技术的支持,用户可以从数据中提取有价值的、尚未被发现的信息。数据挖掘技术在推荐系统中也发挥着它独特的作用。比如,在豆瓣FM中,系统收集有用户A的历史播放记录,我们可以利用数据挖掘技术挖掘出用户A的听歌兴趣。因此,在未来的推荐中,豆瓣FM可以向用户多推荐一些符合他/她兴趣的歌曲。再比如,在亚马逊电商平台,系统收集有用户A和用户B的历史购买数据,通过数据挖掘技术,发现用户A和用户B的购买行为很相似,因此,亚马逊可以向用户A推荐一些用户B已经购买了但A没有购买的商品,因为A很可能对这些商品也感兴趣。2.3数据挖掘与推荐系统电子商务的发展使得人们的生活变得越来越方便,随着网购用户总量的不断增加,存储在电子商务系统中的信息量也快速的增加着。每一个新用户注册,每一个网站的浏览,每一个产品的的电击,这些信息都将被电商系统所采集。因此,在电子商务系统中存储大量的用户相关的信息,不论是用户的注册信息或用户行为数据或项目信息或用户的评价信息,都被记录在了系统中。系统中的数据量是非常大的,同时数据还在保持指数增长的趋势。在这些看似简单的数据背后,隐藏了很多有用的信息。为了挖掘出隐藏在数据背后有用的信息,这得依靠数据挖掘技术了。现在一些电商企业已经可以凭借数据挖掘技术,根据用户的历史数据挖掘出用户的兴趣点,并为用户提供专属的个性化推荐服务。当前,在推荐系统中应用的常见数据挖掘技术有:(1)聚类(Clustering)。聚类技术起源于分类,是将一堆未预先给定假设和组数的数据进行分组,最终的分组情况是由数据间的关系和相似性自动形成的。在商业中,聚类分析可以帮助市场人员从消费者中区分出不同的消费群体,并找出每类消费者的消费习惯,帮助营销。聚类分析是数据挖掘中对数据进行进一步分析的预处理过程。聚类技术运用在在目标用户和其相似用户的比对中,可以无需和每一位用户比较,只需将目标用户和少量的用户簇去比较,可以有效地减少系统工作量,提升推荐系统的性能。(2)关联规则(AssociationRule)。通过关联规则原理运用获得成功的商业案例有很多,因此关联规则技术也很受研究者的青睐。关联规则技术就是在一堆看似毫无关系的、海量的数据中挖掘出数据间隐藏的规则和信息。关联规则技术通常有两个考察指标:支持度(support)和置信度(confidence)。支持度表示某两个事务(事务A,事务B)在数据库中同时出现的频率。置信度表示这两个特定事务(事务A,事务B),一个事务(事务A)出现时,另一个事务(事务B)同时出现的概率。需要同时满足人为给定的最小支持度和最小置信度的关联规则,我们才认为是“有趣的”或者说是有意义的。在推荐系统中,从数据中通过关联规则挖掘隐藏的商品间的关系可以为商家带来有价值的信息,从而提高销售水平。最经典关联规则的例子是尿布和啤酒的故事,商家通过对大量的用户购买数据挖掘后发现,买尿布的客户通常在买完尿布后去购买啤酒。若不是关联规则的应用,这样隐秘的商品间的关系将很难被人发现。关联规则的应用可以帮助商家更加清楚在什么地方提供什么的产品或服务(如将尿布和啤酒捆绑销售),这将为商家带来新的商业机会。为商家找到新的利润增长点。(3)贝叶斯网络(BayesianNetwork)。贝叶斯网络又称为信度网络,能够用于预测分析,可以根据不同事件的经验条件下的发生概率数据,来推理预测估计事件间同时发生的概率。在推荐系统中,贝叶斯网络的应用还是有很多的问题,其中最大的问题是是因为用户量的增加、用户交易数据的不断产生、用户的兴趣发生变化以及用户不可避免的一些不理性消费行为数据的产生,导致贝叶斯网络需要不断地重建,这会严重推荐系统效率和推荐结果的质量。(4)Horting图(HortingGraph)。Horting图就是建立用户与用户之间或者商品项目与项目之间的相似关系图。类似于贝叶斯网络,Horting图也是一种通过图表示关系的方法。Horting图中的节点表示一个个用户或商品项目,每条边的权重表示边两端节点之间的相似程度。当进行推荐操作时,推荐系统会对整个图进行搜索,找到与目标用户最相似的用户,然后进行对目标用户的推荐。(5)协同过滤技术(CollaborativeFiltering)。协同过滤是推荐系统中应用最早,也是最为流行的技术之一。它一般用最近邻的技术,用用户喜好的历史数据来计算用户间的关系/距离,然后利用与目标用户最相似的最近邻用户对商品的评价值来预测目标用户对商品的喜好程度。协同过滤推荐系统就是根据喜好程度的评分值来对用户进行推荐。第3章推荐算法概述3.1基于内容的推荐算法基于内容的推荐技术是对信息过滤技术的继承和发展,系统不需要获取用户对商品的评价信息,而是通过对用户历史的选择信息的学习来预测用户的偏好项目,并为目标用户提供个性化的产品推荐。其流程图如下图3-1:图3-1流程图基于内容的推荐技术的是收集不同用户的历史信息,如用户浏览的网站地址,浏览的商品项目,用户是否进行了商品购买等。然后,从历史信息中过滤出商品信息,形成商品的集合。然后,用这些商品的属性信息来进行用户的特征信息描述。在推荐系统中,系统可以直接将商品属性和用户属性比较匹配,如果相似度很高,系统可以向用户推荐这个他/她可能喜欢的商品,这就是一个有效的推荐。比如,用户在当当网上浏览过计算机、历史、哲学类书籍,用户就被贴上了计算机、历史、哲学等特征标签,推荐系统就会根据这些用户的特征信息,找到和用户兴趣相似度高的书籍,然后推荐给用户。基于内容的推荐技术发展已经相对成熟,也有着多种实现的算法,其中最常用就是TF-IDF算法,该算法来自信息过滤技术,该算法能够表示出文本中关键词(用表示)对一个文本(用表示)的重要程度(用表示),公式如下:其中TF表示词频(表示关键词在这个文本中出现的频率),IDF表示逆向文本频率(即拥有该关键词的文本在所有文本中的比例),表示关键词在目标文本中出现的次数,m代表关键词的个数,表示拥有关键词的语料数量,N表示语料的总数量。用向量=(,,…,)来表示文本,用U(c)=(,,…,)来描述用户u与关键词之间的偏好程度。那么在基于内容的推荐系统中,用户u对文本j的偏好x就可以利用以下公式得到:基于内容的推荐系统只需要用户特征文件和商品项目的描述文件,因此有着可以克服新项目和系统冷启动问题的优势。但是也由于对项目内容特征的依赖程度过高,只能向用户推荐已经访问过的商品相似的产品,有着很难发展新的兴趣点的缺点。3.2基于协同过滤的推荐算法3.2.1协同过滤推荐算法概述协协同过滤算法概念,首次提出是在1992年。在这之后,随着越来越多的学者投入研究,该项算法被应用在了很多不同的领域。同时,由于越来越多的专家学者投入到对协同过滤算法的研究中,这也已经成为目前学术界较为活跃的领域之一。协同过滤是通过计算对象之间偏好的相似性,在相似对象的基础上,为目标对象进行匹配。其基本思想是当对象具有相似属性时,它们也将会有相似的需求。所以,协同过滤算法不仅可以处理数据,同时也可以处理抽象的属性。另外,协同过滤算法在前期收集数据的过程中,一般采用隐性的形式,这需要该系统能够自行的获取信息,并且拥有独立分析预测的能力,无需过多的打扰对象,造成对象的不便。在个性化推荐中的协同过滤算法也是拥有相同的原理,即根据相似对象的爱好来预测目标对象的购买行为。协同过滤算法综合考虑了系统中所有对象的对于商品的评价信息,基于K-NN算法(最近邻),然后找出与目标用户兴趣相似性较高的对象集合,然后运用加权的方法计算这些近邻对象集合的兴趣偏好值,从而预测目标用户可能会感兴趣的商品。基于这种K-NN算法的推荐过滤,其个性化程度很高,同时也能够更加敏感的发现目标对象的偏好更改。Breese等人对协同过滤类推荐算法进行过分类,分类图如下图3-2所示图3-2协同过滤类算法分类图3.2.2基于内存的协同过滤算法基于内存(Memory-base)的协同过滤算法可分为基于用户的协同过滤(User-based)和基于项目的(Item-based),其主要原理是用户或系统是基于相似性,并分为不同的组。当有目标用户或商品,系统会自动匹配和发现最近带集,通过对一个目标用户的最近邻聚类的相似用户的产品的评价分数来预测产品对目标用户的评分,然后基于这些信息来决定是否推荐。这是一个基于K近邻算法,在本文的第四章,我将重点放在使用协同过滤类算法进行分析和预测数据。一、基于用户的协同过滤算法基于用户的协同过滤推荐算法是指,在个性化推荐系统中,当进行一个目标用户的个性化推荐,匹配第一个找到数据库和用户收藏有相似的兴趣,并找出从代表性,受到用户的欢迎,用户没有购买物品的进行收藏,并就推荐这个产品给用户。举个生活的例子:每学期和各位学长前辈会推荐专业学习辅助课外书给学弟们学妹们。此建议的原因是高年级学生与低年级的同学有交流,所以彼此信任。更深层次的原因是,他们有相似的兴趣,因为他们是相同的专业,所以有一些相似的需求。二、基于商品的协同过滤算法该算法与上面的算法不一样的是,基于商品协同过滤的算法是种纵向推荐思想的算法。其思想是,挖掘历史的用户购买的数据,找到用户喜好的所在,然后向用户推荐那些他买过的的或者和买过相似度较高的类似商品。我们因此可以看出,基于商品的推荐算法在相当的程度上依赖这用户的网络历史访问信息数据。同样举生活的例子,用户在手机店买了一个IPhone,这时,店员就很有可能向你推荐一些IPhone的配件,比如原装的手机壳、数据线、外接电源等等。这因为这些是手机的附属产品,与手机有着相当高的关联性。基于商品的推荐算法就是通过分析用户的行为记录来得到物品信息,然后根据物品属性来直接计算得到物品间的相似程度,然后完成商品推荐。这种算法的核心思想是,如果两个商品具有较大的相似度,那么喜欢其中一个商品的用户大都也会表示对另一个商品感兴趣。3.2.3基于模型的协同过滤算法一、基于贝叶斯网络的协同过滤本文2.3中已经介绍过贝叶斯网络的技术的原理,贝叶斯网络是个有向无环的图,由些具有代表性节点以及连接这些节点有向的边组成的,图中节点代表随机的变量,节点间有向边代表节点间的相互关系,其关系强度的值是用条件概率来表示[15]。个性化推荐系统中,节点表示的是商品的项目,节点间边代表评分的状态。由于建立模型的所需的时间非常长,所以通常采用离线方式进行建模,然后使得最后得到的模型体谅相对比较小,应用的速度较快,对内存要求也比较小的。贝叶斯网络技术在个性化推荐系统中的应用是一项重要的工作,这两种技术的集成来解决许多传统的推荐系统存在的不足。然而,由于不断增长的用户数量,商品和对项目的评分用户量的变化,原始数据集的数据会不断变化,所以贝叶斯网络模型需要不断更新和重建,重建模型,需要花费很长时间的训练,所以这贝叶斯网络技术不适合那些信息更新频繁的环境,但这在实际应用中很难保证。因此,该算法在实际的推荐系统中的应用是有限的。二、基于MostPopular商品的协同过滤算法基于最流行商品的推荐算法目前在商业中的普及度还不高,网络上对该算法的介绍也很少。在本文第四章,我们使用RapidMiner软件自带的MostPopular的模型算法,并得到较高的预测准确率。这其中,RapidMiner软件对此算法的解释是,用商品项目被用户购买的越多,在推荐时的权重比例越大。三、基于聚类协同过滤算法在推荐系统中,协同过滤类算法可以分为基于用户与基于商品的算法分支。与别的推荐算法相比较,聚类技术算法的主要缺陷在于,其个性化的程度并不算高。因此,很多的协同过滤的推荐系统采用缩小候选的最近邻的集合范围的方式来提高个性化程度。在本文第四章中基于K-NN的推荐算法,就是一种采用聚类技术的协同过滤算法。四、基于降维技术协同过滤算法基于降维技术协同过滤算法的原理就是通过降低数据说组成的矩阵的维度,比以达到提高推荐系统性能的效果。让系统能够更好的适用在处理庞大海量数据中。常用降维方法有矩阵的分解法、主成分分析发等。但是,对数据或者矩阵进行降维操作的同时,也会出现不少问题,比如一定程度上可能会导致些有用的信息的缺失,这会影响后面推荐的结果,因此在实际的应用中必须注意选择适当的维度。我们对数据进行时间顺序的排序,之后时间的记录就可以删除,以此达到降维效果,减小系统的运算的复杂度,这也是数据变得更加精练。五、其他模型除了上述介绍的几种常用推荐算法,当前,大量被使用的推荐算法还有很多,如:基于关联规则的推荐算法、线性回归算法、最大熵算法和基于Horting图的熟饭等[18]。随着个性化推荐影响越来越大,研究的学者的越来越多,在未来的时间内还会有更多不同的、更有效的、更优化的推荐算法诞生,来满足消费者、企业的不同需求。3.3混合推荐算法不同的推荐系统都有其自身的缺点,所以我们可以通过组合算法来优化我们的预测模型。目前,许多系统都采用的是推荐算法的组合。混合推荐算法的主要思想是通过组合不同的算法,以达到互补的效果。在混合推荐算法研究的现阶段,应用最广泛的是基于内容推荐算法和协同过滤推荐算法,该算法的工作原理是首先使用了两种不同的推荐方法进行预测分析的数据。根据两种预测结果的反馈,按照一定的组合规则,将两种推荐结果整。,有许多类型推荐算法组合方式,然而,并不是所有的推荐算法的组合是有效的,所以在组合推荐,具体情况要具体分析,根据不同的情况选择相应的推荐算法。目前,商业中所使用的几种常见组合组合思路,主要有:组合;变换;加权;特征组合;层叠;特征扩充;元级别。3.4本章小结本章主要介绍了几种推荐算法,包括基于商品的协同过滤算法、基于用户的协同过滤算法、基于内容的推荐算法、基于贝叶斯网络的推荐算法、混合推荐算法等等。不同的推荐算法有着不同的理论基础,不同的推荐算法也有这相应的优缺点。在本文的第四章实证分析中,将利用以上几种推荐算法来处理阿里巴巴移动电商平台的真实交易数据,并比较不同算法预测出来的准确度。第4章实证研究4.1数据的介绍第二、三章中,本文已经介绍了几种商业中经常用到的推荐算法。在本章节中,我将依据阿里巴巴移动电商平台采集到的一定量用户在一个月时间(2014年11月18日-2014年12月18日)之内的移动端行为数据,利用不同推荐算法来研究用户的购物兴趣,预测用户一个月之后的一天(2014年12月19日)的购买行为。我将RapidMiner软件来完成建模过程,用实证分析并验证各个推荐算法理论的优劣势,然后适当调优参数,最后确定最适合本文数据的推荐算法,并给出对用户在的在2014年12月19日的购买行为预测结果。本章材料均来自阿里巴巴移动电商平台数据,数据中共有10000位用户在一个月中对2876947件商品的超过1200万条操作信息。图4-1为本章的数据使用截图,其中user-id对应不同用户,item-id对应不同的商品,behavior_type对应用户对商品的行为类型(其中1是浏览;2是收藏;3是加购物车;4是购买),user_geohash对应用户位置的空间标识,可以为空,item_category对应商品的分类标识,time对应用户发生行为的时间,精确到小时。图4-1用户行为数据截图4.2数据的预处理数据的处理主要分为三部分,一重新整理时间;二是去除其中的噪音数据;三是划分训练集与检验集。首先,要重新整理数据的时间。在初始数据中,用户行为数据时间是2014年11月18日至2014年12月18日,我们需要将数据整理为31天,方便后期的分析与预测。操作图如下图4-2。图4-2重新整理数据时间的截图接着,进行噪音数据的去除工作。去除噪音数据无论是在哪个领域都是非常重要的,因为这些无效数据会在很大程度上影响到预测的推荐结果的准确率。在之后的章节中,你可以看到,去除噪音数据的前后,预测准确率是不同的。在本次实验中,我还做不到完全去除噪音数据,我利用RapidMiner软件,对原始数据进行简单抽样,用抽样的方法来减小噪音数据对预测结果的干扰。本章的4.4.2中,我将介绍RapidMiner上可以采用的几种抽样方法。然后,我们要将原始数据划分为训练集与测试集。推荐算法基于训练集进行训练,做出预测结果,然后测试集作为结果进行比对。我设置的训练集和测试集的比例为7:3,即70%数据用于算法的模型训练,30%的数据用于预测结果的比对验证。建模如图4-3图4-3划分数据集的截图4.3数据的分组统计在对数据进行处理分析之前,我们需要先对数据进行一下分组统计,大概地了解数据各个维度的一些情况。首先,统计记录总量,见图4-4。我们可以看出一共有12256906条记录。图4-4记录总量截图接着,统计用户总量,RapidMiner建模如下图4-4.图4-4统计用户总数建模截图从图4-5中可以看到,本次实验中一共有10000名用户。图4-5用户总量截图然后统计商品总量,操作类似于筛选用户数,结果见图4-6,可知本次实验一共有2876947件商品(item)。图4-6商品的总量从图4-7可以看到用户行为中最多的是浏览(behavior_type=1),其他如购买行为(behavior_type=4)的数据量很少,这也在一定程度影响了我们对结果的预测。图4-7用户操作行为比较图下图4-8是各个用户在这一个月中平均购买的产品数量。因为不同用户的购买力和购物兴趣是不同的,要实现个性化推荐,我们必须了解到用户的平均购买量,这决定了我们在预测时向用户推荐多少件商品。图4-8各用户平均的购买量将图4-8以统计图表的形式呈现出来就可以得到下图4-9。我们可以看到,用户的月平均购买量一般都是集中在1-4件商品。在向用户进行个性化推荐时,我们将适当增加推荐的商品数量以提高推荐的效果。图4-9各用户每天购买量直方图接着,通过RapidMiner软件统计这一个月中每天发生的购买行为(behavior_type=4)的总量。图4-9用户的每天发生购买行为总量(部分天数)将图4-9的每天购买行为发生量的统计表转化成折线图(见图4-10),我们可以清楚地看到,这一个月内的消费量呈明显的波浪形。需要我们预测的11月19日正处于低缓的位置,但这波动的购买量一定会对推荐结果的质量产生影响。图4-10一个月内用户购买量变化趋势图4.4基于KNN的推荐算法4.4.1基于商品的协同过滤算法这是基于最近邻思想(k-NearestNeighboralgorithm)的一种算法,我们在RapidMiner软件上建模,先将数据按时间的顺序进行升序排序,接着用splitdata的操作将数据集以7:3划分为训练集与测试集,使用ItemK-NN操作符,启动程序,算法用训练集数据进行训练,其做出来的预测结果与测试集中的数据进行对比,从而得出这个算法的准确率。过程如图4-11图4-11KNN建模截图图4-12KNN预测结果图4-12显示的就是基于商品的协同过滤算法做出的预测结果,其中k=16,即每个目标用户被推荐16件商品。图4-13KNN性能测试建模截图重新建模,在RapidMiner上使用performance操作符,仍然用分割后的数据集进行结果的比对,得出准确率。通过performance操作符的参数调整,我们可以得到不同的预测准确率。图4-14以及图4-15显示的就是不同KNN参数下的准确率。图4-14KNN默认参数截图图4-15KNN,k=80准确率截图图4-15显示当KNN的参数k为80时,其平均准确率为.311,其准确率并不是很高。图4-16KNN,k=160准确率截图图4-16显示的是KNN的参数k为160时的预测结果,其平均准确率为0.326。增加了KNN算法中的参数k,有所提高了预测准确率,但是改变的幅度并不大,准确率的绝对值也不高。由于该算法的准确率并没有满足我们的理想值,因此,我们将寻求更加适宜的算法重新来对数据进行一次预测。4.4.2基于用户的协同过滤算法本小节采用基于用户的协同过滤算法进行实验。继续用RapidMiner进行建模,先将数据按时间的顺序进行升序排序,接着用splitdata的操作将数据集以7:3划分为训练集与测试集,使用UserK-NN操作符,启动程序,算法用训练集数据进行训练,其做出来的预测结果与测试集中的数据进行对比,从而得出这个算法的准确率。过程如图4-17。图4-17UserKNN协同过滤建模截图图4-18推荐结果(部分)截图上图4-18呈现的就是基于用户的过滤算法的结果,其中Rank越小表示用户就越有购买的可能,例如:user_id为1206500的用户在一个月后最有可能购买的是item_id为21838的商品,然后最可能购买的是item_id为15584的商品。在图4-18中,前面的图显示的是rank=80的部分结果,表示每个目标用户被推荐80件商品。后面的图rank=10,表示每个用户被推荐10件商品的结果。预测完用户的购买的item_id后,我们需要估测下userKNN算法的准确率。在RapidMiner的建模过程中,我们将applymodel操作符换掉,使用performance操作符,参照上一个算法的实验过程进行预测结果的检验,建模过程如图4-19图4-19UserKNN建模截图图4-20UserKNNk=80准确率截图图4-21UserKNNk=160准确率截图图4-20为UserK-NNk=80时,平均准确率为0.355;图4-21为UserK-NNk=160时,其平均准确率为0.367。我们可见,与基于商品的过滤算法对比,基于用户的过滤算法结果略准确点,但是准确率的提高同样并不多,与期望中的准确率距离相差比较大。所以,我们还是得继续寻找更加优良的模型来进行结果的预测。我们可以看到上述算法的准确率并不理想,考虑到我们是单纯的对原始数据集进行了预测,没有排除噪音数据对预测结果的影响,所以我们尝试使用对数据进行抽样的方法,来适当避免噪音数据的影响,希望可以借此来提高准确率。在RapidMiner软件中,有多种抽样操作符可供使用,如图4-22。图4-22抽样操作符截图Sample(Bootstrapping)、Sample、Sample(Stratified)、Sample(Model-Based)以及Sample(Kennard-Stone)分别对应的是随机抽样,它是一种不放回的抽样方法;自举法抽样,它是一种有放回的抽样方法;分层抽样,将整体先划分为几层次,再按照层次比例实现抽样;基于模型的抽样;基于KS算法的抽样。本实验数据比较适合的抽样方法是前两种抽样-Sample(Bootstrapping)和Sample。图4-23UserKNN加抽样优化的建模截图我们尝试通过抽样,和调整抽样参数的方式,来尝试优化模型。RapidMiner软件中,抽样参数的调整有两种方式,一种是抽样总量的绝对数(absolute)的调整,一种是抽样相对比例(relative)的调整,过程见图4-24和图4-25。图4-24Sample(Bootstrapping)设定绝对抽样参数图4-25Sample(Bootstrapping)设定相对抽样参数我们使用Sample(Bootstrapping),当设置SampleRatio=0.1时,其平均年的准确率为0.548。见图4-26。图4-26UserKNN加Sample(Bootstrapping)抽样准确率截图将Sample(Bootstrapping)更换为Sample抽样。但我们设置SampleRatio=0.1时,其结果为0.564。sample抽样结果略优于Sample(Bootstrapping)这种有放回的抽样。图4-27UserKNN加sample抽样优化建模截图图4-28UserKNN加sample抽样优化建准确率截图根据以上的结果可得,在通过抽样,过滤噪音数据之后,我们的预测准确率可从之前的36%显著地提升到56%。并且,采用不同抽样的方式和对采用同一中抽样方式比如sample,调整内部参数,我们也可以做到在小幅度地提升其预测结果的准确率。4.4.3算法的比较基于商品的协同过滤算法和基于用户的协同过滤算法都是商业上常用的推荐算法,都有自身的优缺点。在目前的商业环境中,电子商务的网站大多是采用基于商品的推荐算法。因为,相对于数百万甚至是上亿的用户,在电子商务网站上商品的绝对数量相对就会比较少,再加上很多的网站需要在线推荐的功能。所以,我们采用基于商品的算法是一种较好的选择,因为其运算量会相对来说会比较小。但是,在我们的实验中,我们只有10000位用户的信息,而商品的绝对数量很大,有1200多万条商品记录,所以,在这里我们采用基于用户的推荐算法更为合适。同时,我们在表4-1中也可以看到,采用了基于用户的推荐算法会比基于商品的推荐算法拥有更高的准确率。表4-1两种算法准确率比对图基于商品的推荐算法基于用户的推荐算法k=80的准确率0.3110.355k=160的准确率0.3260.367除此之外,我们还可以通过在原始的数据集上进行抽样方法,来提升准确率,sample可以将准确率从36%显著地提升到56%。因此,通过利用抽样的方式来去除噪音数据集的影响效果,从来提高最终的预测结果的准确率,是一个不错的模型优化思路。在上述的算法优化和比对中,我们尝试得出几个如下的结论:(1)调整模型的参数可以提高准确度,可以提升模型的准确率。(2)用sample和sample(Bootstrapping)等抽样方法,可以减少噪音数据集对结果预测的影响,我们也可以提高准确率(3)在这个阿里数据集的购买情况预测的实证分析中,单纯的只采用基于用户的协同过滤算法或者基于商品的推荐算,其得到最后结果的准确率都并不高。我们必须得找到一种寻找更加适合本次数据的算法模型,并进行调优。4.5基于贝叶斯网络协同过滤算法我们参考上面的建模过程,实现基于贝叶斯网络协同过滤算法的RapidMiner建模,如图4-29。图4-29基于贝叶斯网络的推荐算法建模截图图4-30基于贝叶斯网络的推荐算法准确率截图从图4-30可以看出,对于贝叶斯网络协同过滤推荐算法,建模得出的平均准确度为0.591(默认参数情况下)。和之前的几种算法进一步操作类似,调整参数,可以适当的优化模型。参数调整见图4-31。图4-31基于贝叶斯网络的推荐算法参数调整在算法本身的参数调整后,用增加抽样的方法来进行对贝叶斯网络模型的优化,优化建模如图4-32。图4-32贝叶斯网络模型优化建模截图图4-33贝叶斯网络模型优化后的准确率截图当SampleRatio=0.4时,优化后的贝叶斯网络模型的平均准确率为0.595。相比于未抽样优化前的0.591,其优化准确率提高的并不明显。通过修改抽样参数,最多可将贝叶斯网络模型的准确率提高到0.6。4.6基于MostPopular算法MostPopular是RapidMiner内置的一种算法。参考之前的RM建模过程,替换建模操作符为MostPopular操作符,如图4-34。执行程序,得出预测的平均准确率,如图4-35。图4-34MostPopular算法建模截图图4-35MostPopular算法准确率截图由结果可知,在本次实证中,基于MostPopular算法的预测,其准确率最高。为了更加的优化本模型,于前面的做法相类似,我们对原始数据集进行抽样,减小噪音数据对预测结果的干扰影响。建模如图4-36。图4-36MostPopular算法优化建模截图图4-37MostPopular优化算法准确率截图进行sample(Bootstrapping)抽样后,其预测的平均正确率如上图4-37所示。当SampleRatio=0.15时,其平均准确率达到0.667。调整不同的抽样参数,其预测结果的变化趋势如表4-2所示。表4-2不同抽样参数下的准确率对比图SampleRatio0.10.150.20.30.6平均准确率0.6620.6670.6550.6480.633图4-38不同抽样参数下的准确率对比图将表4-2转化为图4-38,可以更加观的看到,当SampleRatio=0.15时,准确率达到峰值。将sample(Bootstrapping)更换Sample抽样后,得到的准确率反而降低了。因此,在基于MostPopular算法,使用Sample(Bootstrapping)这种有放回的抽样方法,可以得到相对更好的平均准确率。4.7推荐的结果本章节的几种个性化推荐算法对比,可看出不同的推荐算法预测出的推荐数据,以及其平均精确度的情况。我们可以清楚地看见,无论是对哪一种推荐算法,直接拿原始数据集的预测都没进行过抽样后的预测结果好。因此,本文的实证原始数据存在着噪音数据是很明显的。通过抽样的方式,我们恰好达成了减小噪音数据集的对预测结果干扰的效果。对不同的算法,预测得出的推荐结果也是不相同的,它们的结果对比如图4-38。由图,我们可以得知,对于本次验数据来说,MostPopular推荐算法模型会更加的适合,得到预测的数据也会和实际情况更加的吻合。除此之外,模型中的抽样参数影响着最后的推荐结果,在图4-38中可得,当SampleRatio=0.15时,其平均准确率最接近峰值。此时,最优的算法模型产生,我将
/
本文档为【基于阿里移动平台的商品个性化推荐实证分析】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索