计算机研究与发展JournalofComputerResearchandDevelopmentIssN1000一1239/CN11—1777/TP50(Suppl.):153—162,2013基于迭代训练的WebService混合协同过滤推荐模型王斌斌周作建过洁潘金贵南京210046)(计算机软件新技术国家重点实验室(南京大学)(南京大学计算机科学与技术系(yew.wang.os@hotmail.com)南京2l0046)WebServiceRecommendationBasedWangonIteratiVeColIabOratiVeFiIteringBinbin,ZhouZuojian,GuoJie,andPanJingui(Szn抛KeyLn60m£o删如rNowzSD丘硼nrPn曲nozogy(Nn幻ingU耐伽”ny),N口可i挖g210046)(DP户口r£,7lg,l£D,CD研pt‘饱rSciE以cP鲫dT■如,lofDgy,Nn巧锄gU疵御rsi桫,Nn巧i"g210046)Abstr越tWiththeexplosivegro叭htoofWebservicesontheWorldWideWeb,serviceusers.recommendationInthispaper,weisbecomingextremelyimportantproposeaboththeserviceprovidersandtheactiveWebonservicerecommendationmodelwhichut订izescollaborativefilteringwithoptimizediteration.thatSinceisthepredictionofQuality—of—Services(QoS)basedThebenefitofemployingiterationincancollaborativefilteringisrecursivethepredictionaccuracyofQoSvaluessuchiterationbasedonberaisedsignificantlyViaarefinement.strategyschemewillhindertree.trainingperformance,theset,noveloptimizationintroducedtothepredictingonaFinaUy,optimizedmodeliswhichcontains1.5ourimplementedanddeployedmillionconducttheexperimentsreal—worlddataWebservicesinvocationinformation.accuracyTheexperimentalresultsshowthatmodelhasachievedbetterpredictionKeywordsthanothermodelswithsim订arperformance.treeWebservicerecommendation;QoS;collaborativefiltering;iteration;predicting摘要伴随着互联网技术的日益发展,海量数据的集成融合促进了大数据技术的广泛应用,尤其以面向服务为核心的WebService技术被普遍用来提供新型互联网服务,这使得针对服务提供商及个人用户设计一种基于WebService的个性化服务推荐系统变得十分必要.因此,提出一种基于混合协同过滤技术进行服务质量(QoS)预测的服务推荐模型。该模型利用迭代训练的思想,不断提升服务质量预测值的准确率,并通过基于预测树(PTree)的性能优化策略,有效地降低了迭代过程的运行时间.基于一个包含150万条webService调用信息的数据集,开展了一系列的对比分析实验.实验结果表明,相比于其他一些推荐模型,所提出的基于迭代训练的混合协同过滤推荐模型在消耗同等资源的情况下,能够有效地降低预测值的误差,提升模型整体的预测准确率.关键词Web服务推荐;QoS;协同过滤;迭代;预测树中图法分类号TP391随着大数据技术在互联网行业的广泛应用,以数据为中心的面向服务的体系架构(serviceoriented类型WebService数量的急剧增加,用户难以通过人工方式找到适合自己需求的服务.此外,当一项新服务被推出时,服务提供商如何寻找到潜在的用户,并向他们推送新的服务成为一个非常有意义的问题.仔architecture,SOA)促使WebService技术被用来提供新型网络服务.然而,由于用户需求的多样化以及同收稿日期:2013—1126基金项目:江苏省自然科学基金项目(BK2010373);江苏省普通高校研究生科研创新计划资助项目(CxZZll一0045);计算机软件新技术国家重点实验室自主课题项目(ZZKT2013811)万方数据细分析这2个问题可以发现,它们的核心都在于需要用户(activeuser)对未调用的Websen,ice的性能做出评价,通过相应的评价结果做出进一步的决策.通常,一项服务的性能好坏由一系列指标组成服务质量(qualityofse而ce)来衡量,常见的质量指标包括:响应时间(response-time)、流通量(thmughput)及失败率(failure-rate)等[1].通过对提供WebService的站点及相关服务器日志进行统计分析,企业可以获取上述关于服务质量的相关数据,并通过对这些数据的分析挖掘解决服务推荐问题.然而,由于服务数量庞大,而单个用户调用的服务数量有限,使得可用的用户历史调用信息较为匮乏.此外,服务质量的各项指标均为实际的观测值,加之用户数量庞大、所处区域分散、网络状态复杂及隐私保护等原因,使得收集到的数据可信度、完整度均受限制.如何针对海量的、异构的稀疏数据进行分析,预测出用户对于未调用WebService的QoS值,成为一个非常有意义的问题[2].在各种推荐技术中,协同过滤技术以其简单的实现过程及较高的准确率等特点,更适合于大数据背景下智能推荐系统的设计.较为常见的协同过滤推荐模型包括基于用户推荐、基于项目推荐及混合推荐等模型.然而,不管是基于用户的推荐模型还是基于项目的推荐模型都无法同时充分利用近似用户和近似项目的信息.因此,一些研究人员提出了混合协同过滤推荐模型来进一步提高预测值的准确率.但是这些混合模型普遍存在一个问题,即只执行一次训练过程.基于上述研究工作,为了能够获得较高的准确率,本文提出一种基于迭代训练的混合协同过滤推荐模型,并从理论和实验2个角度证明了迭代训练对于预测准确率的增益;同时,本文提出一种基于PTree的优化策略,在同等条件下有效提升迭代过程的执行效率.最后,基于一个包含150万条WebService调用信息的数据集,本文开展了一系列的对比分析实验.实验结果表明,相比于其他一些推荐模型,本文提出的基于迭代训练的混合协同过滤推荐模型在消耗同等资源的情况下,能够有效地降低预测值的误差,提升模型整体的预测准确率.1相关工作在各种推荐技术中,协同过滤技术以其易于实现且较高的准确率等特点被广泛应用于个性化推荐系统的设计Ⅲ.通常,协同过滤技术被划分为以下3万方数据计算机研究与发展2013,50(增刊)类:基于模型的推荐方法、基于内存的推荐方法以及混合推荐方法.在基于模型的方法中,一个预先定义的模型需要在执行推荐之前被训练[3].这样一个处理过程不仅会耗费大量的计算机资源,同时也丢失了矩阵降维的信息.这一推荐方法中具有代表性的模型主要有:SVD模型[2·“、聚类模型[5_7]、Aspect模型‘893及分类模型口0。121等.但是,它们的研究工作主要关注于推荐电影而不是WebService推荐.对于基于内存的方法[“13。141而言,基于用户[153和基于项目[161是2种最为简单实用的推荐模型,但这类方法却难以克服数据稀疏性及可扩展性等问题.通常用于计算相似度的方法[1’33包括皮尔逊相关系数(pearsoncorrelationcoefficient,PCC)、改进的余弦相似度(adjustedcosinesimilarity,ACS)、向量空间相似度(vectorspacesimilarity,VSS)等.例如基于用户的协同过滤推荐模型(UPCC)[17],该模型利用PCC计算用户之间的相似度,并基于近邻用户的QoS值计算出其他用户的预测值.同样的方法也适用于基于项目的协同过滤推荐模型(IPCC).最近几年,随着智能推荐系统的深入研究,通过将单一模型的预测值进行整合,发展出一种混合协同过滤推荐模型口6’18】.例如,WSRec模型m3使用可信度、模型权重将UPCC模型和IPCC模型的预测值联合,并形成最终的预测值.虽然这种混合推荐模型的准确率有所提升,但是仍然十分有限,因此一些研究人员提出使用迭代训练的思想进一步降低预测值的误差.文献[19—20]提出的推荐模型迭代执行基本的聚类方法或近邻方法,但是这些方法只是一种机械的重复,忽视了迭代过程的优化,消耗了更多的运行资源.基于上述研究工作,本文提出一种基于迭代训练的混合协同过滤推荐模型,通过基于PTree的优化策略,该模型能够有效地提高预测值的准确率和执行效率.2模型介绍本节详细介绍基于迭代训练的混合协同过滤推荐模型(ICF).2.1模型概述由图1可知,ICF模型主要包括Offline部分和Online部分.其中,Offline部分主要解决数据稀疏性问题,它包括4个步骤:相似度计算、近邻选取、单一模型预测、混合模型预测.整个Offline部分是一王斌斌等:基于迭代训练的Webservice混合协同过滤推荐模型个迭代过程,它将上一轮的预测值作为下一轮的训练值,多次更新缺损项.在Online部分中,本文采用了不带迭代的协同过滤方法进行用户预测,并针对基本预测不适用的情形,将均值作为用户预测值.最后,模型根据得到的预测值执行WebService推送.此外,ICF是一个混合的协同过滤模型,它利用模型权重将UPCC和IPCC模型的预测值进行加权,作为最终的预测值.相似度计算卜_—叫近邻选取卜_—叫单一模型预测Omim部分洲郴分匝三]_吨圃图1ICF模型的主要构成基于上述模型的执行过程,本文提出了迭代收敛性定理,并利用数学归纳法给出对该定理的证明过程,详见附录A.定理1.迭代收敛性.在迭代训练过程中,随着迭代次数的增加,相邻2次迭代预测值的绝对差先逐渐减小、后缓慢增加,并最终趋于稳定.本文定义了如下的ICF模型迭代训练过程.迭代过程的目标函数定义如式(1)所示:N邻用户调用的项目进行预测.PCC根据用户M和M,共同调用的项目来计算他们之间的相似度.计算方法如式(2)所示:(2)其中,吼,i是用户”调用的项目i的QoS值,应是用户”调用的所有项目的均值.此外,工一J。nj¨它是(1)其中,f(1≤£≤T)是迭代的次数,豇。代表在第£轮迭代中得到的QoS预测值,N是缺损项的总项数.此外,本文将用户均值和项目均值分别作为UPCC和IPCC模型的初始预测值g:'1.整个迭代训练过程的停止条件为以下2点:1)迭代次数f达到指定的最大迭代次数T;2)相邻2次目标函数值的差值小于指定阈值,即满足F(£一1)一F(£)<e;当上述2个条件的任何一条被满足时,迭代训练过程将会停止.2.2F(£)一盟—可一,≥:I区.i—q曩I用户“和M,共同调用的项目集合.如果j一⑦,相似度Sim(“,地)的值则为null,而非o,因为在这种情形下没有办法计算用户的相似度.基于上述定义,可知PCC的值域为[一1,1],即PCC值越大,2个用户越相似.在IPCC模型中,不同项目之间的相似度利用PCC及调用该项目用户的QoS值进行计算.方法如式(3)所示:&m(i,i,)一—==竺兰=======.∑‘‰j,)(‰?)艇(‰,、一、r麟‘‰t一广(3)Omine部分0ffline部分包括4个步骤:计算相似度、选取其中,U一【,。nU¨它是同时调用项目i和i,的用户集合.式(3)中其他符号的意义与式(2)相同.2.2.2近邻选取通常,Top—K方法被用来选取K个最相似的近邻.尽管在大多数情况下它能够选取出合适的近邻,但是它仍然存在一些局限性.例如,当某个用户与其他用户的PCC是负值时,即2个用户之间几乎不存在相似性,Top-K方法仍然会选取前K个用户作为该用户的近邻用户用于接下来的预测,这将会严重近邻、单一模型预测、混合模型预测.2.2.1相似度计算为了能够选取有效的近邻,本文首先需要计算用户或项目的相似度.现存的计算相似度的方法主要有ACS,PCC,VSS等,其中PCC使用最为广泛,因为相较于其他方法,它更加容易实现,并且能够获得较高的准确率[6.17].因此,本文采用PCC来计算相似度.,在UPCC模型中,缺损项g“根据用户M的近降低预测的准确率.因此,本文在ICF模型中增加了一个参数艿(o<艿<1),用于去除PCC值不大于。万方数据的近邻用户.式(4)和式(5)分别用于UPCC模型和IPCC模型.S(z£)={“,lSim(甜,M,)(t)>艿,1≤忌≤K),(4)S(i)=怯ISim(i,i;)(1)>a,1≤忌≤K},(5)其中,S(“)和S(i)最多包含K由Top—K方法选取的元素,并且每个元素的PCC值必须大于艿.2.2.3单一模型预测在获取了PCC值和近邻之后,UPCC模型根据式(6)进行单一模型预测.PU(吼,i)=打+R(“)×∑&m(“,“,)(q即。一面,)HJ∈s(“)R(“;)(6)∑&m(“,蚝)“i∈5(H)R(“)一max(“)一min(“),其中,PU(吼,。)是缺损项吼,,的基于用户模型的预测值.缸和瓦,分别是用户M和“,调用项的QoS均值.此外,R(M)是用户“调用的所有项目的极差,它被用来对预测值进行标准化.同样地,根据式(7),IPCC模型利用获取的PCC值和近邻来计算单一预测值.Pj(q。,i)=i+R(i)×∑&m(t,i)(吼’‘一i,),∈s(i)i,云it)≥:&m(i;,i)R(i)一max(i)一min(i).在上述计算方法中,为了避免预测过大或者过小,ICF模型采用了如式(8)和式(9)所示的分段函数.该函数能够预测值约束在最大值和最小值之间,从而进一步提高预测的准确率.fmin(“),P伙吼,i)<ITlin(“);P己厂(吼,。)一<PU(吼,:),rnjn(M)≤PU(q“)≤max(“);【max("),PU(吼,i)>max(M).(8)fmin(i),PJ(吼,i)<min(i);P,(q。)一{PJ(吼.i),rIlin(i)≤P叭吼,:)≤max(i);ImaX(i),PI(q。)>max(i).(9)通过上述分段函数,ICF模型能够有效地去除在极端情况下产生的错误预测值.2.2.4混合模型预测将基于用户和基于项目2种模型进行整合,可以得到一种混合的协同过滤推荐模型Ⅲ’18|,该模型能够同时利用近似用户和近似项目的信息进行预测,从而进一步提高预测的准确率.由于UPCC模型万方数据计算机研究与发展2013,50(增刊)和IPcC模型的准确率不相同,本文采用2个可信度分别来计算uPCC模型和IPcc模型对于最终预测值的可信度.计算的方法如式(10)和式(11)所示:啪㈤2伽∽一。,邑,端.Ⅱ,∈j(Ⅱ)h吕,端,㈣,,..)z7”L“f,“JⅢ,l。∈5(i)夕.oz,雄LzI'z,在计算可信度之后,本文引入一个附加参数A来衡量最终预测值对于这2种模型的依赖程度m].因此,最终预测值的计算公式如式(12)所示:P(吼.,)一叫(“)×PU,(吼.,)+训(i)×PI7(吼.i),(12)其中,出)一丽丽希糍斋而习,(13)洲,一丽煮辇尜蒜,Ⅲ,训(2户鬲面双再i丽两可『二而,(14)叫(托)和w(i)分别是UPCC和IPCC的模型权重.而混合模型的可信度可由式(15)计算得到:∞n(矩,i)一训(“)×∞竹(“)+叫(i)×∞咒(i),(15)它可用于说明最终预测值的可信度.2.3On¨ne部分Online部分主要包括用户预测和服务推送2个步骤.在OffIine部分执行之后,由部分训练获取的用户~项目矩阵可以用来进行用户预测,并执行最终的服务推送.2.3.1用户预测本步骤中进行用户预测的方法与Offline部分的方法类似,只是不需要进行迭代.此外,当在单一模型预测步骤中无法得到预测值时(此时混合模型预测的最终预测值为空),本文采用用户均值或项目均值分别作为UPCC模型和IPCC模型的预测值.以下2种原因常常会导致单一模型不能正常预测:1)应用上述的近邻选取方法无法找到满足要求的近似用户和近似项目.此时,本文按照式(16)计算最终预测值,混合模型的可信度为o.P(q。)一A×氲+(1~A)×i.(16)2)应用上述的近邻选取方法选取的近邻需要进行预测.此时,本文按照式(17)计算最终预测值,混合模型计算方法不变.P(吼,,)一叫(甜)×缸+叫(i)×i.(17)2.3.2服务推荐在执行了用户预测之后,获取的预测值可用来进行服务的推送.例如,某个用户可以将同种类型的多个服务的QoS预测值进行对比,采纳其中最适合王斌斌等:基于迭代训练的webservice混合协同过滤推荐模型自己需求的服务.服务提供商可以依据QoS预测值及可信度来寻找某项服务的潜在用户,向他们推送该项服务.2。4时间复杂度对于有仇个用户、竹个项目的用户一项目矩阵,ICF模型中各个步骤的时间复杂度[181如表1所示:表1时间复杂度分析对于含有迭代的0ffline部分,当需要进行£轮迭代,需要将0ffline部分中的各个步骤重复≠次,即在上述时间复杂度分析中再乘以£.3迭代优化由于ICF模型的Offline部分引入了迭代过程,这将会大幅度增加程序的运行时间,尤其在处理大数据问题时,模型的性能会急剧下降.因此,本文提出一种特殊的数据结构,并以此提出一种优化模型0ICF来进一步改进迭代过程的性能.3.1PTree算法仔细分析ICF模型可以发现,在迭代过程中不需要每次对所有的缺损项都进行预测.例如,对于那些近邻不需要预测的缺损项,只需要在第1次迭代时进行预测.尽管它们可能会在下一轮预测中变得更加接近真实值,但是相较于那些近邻仍然需要预测的缺损项,它们的增益实在微乎其微.此外,对于那些近邻需要预测的缺损项,可以先对其近邻进行预测,然后在下一轮中对它们进行预测.基于上述分析,本文提出一种数据结构PTree用于构建缺损项的预测顺序.首先本文需要获取记录缺损项在用户一项目矩阵中位置信息的缺损矩阵(m蠡一ma£);其次,在近邻选取步骤中,可以获取存储缺损项及其近邻的邻接矩阵(口西一优口£);最后,根万方数据据缺损矩阵和邻接矩阵,可以构建预测树(PTree),并将它存储在深度矩阵中.创建PTree的算法如算法1所示:算法1I创建PTree。ProcedurePTree(dP户琥,K)Form始一m口£[i]∈m始一m口£DoIfm如一m口£[i]硭dg夕一m8£Then/*创建根节点*l矗Pp—m口£[忌][1]一I;/*缺损项下标*/矗P多一m口£[是][2]一矗g争玖;/*节点深度*/尼一忌+1:EndIf矗Pp娩一矗gp£是一1;For歹=1ToKDo/*存储子节点*/If口由一7挖口£[i][J]旺dP户一m口£Then矗e夕一矽za£[忌][1]一口矗j一7珏口£[i][J];de户一,,l口£[五][2]一dP夕£^;忌=忌+1:EndIfEndForIfdP声旃>oThen/*递归创建子节点*/Forj一1ToKDoid一口匆一m口£[i][歹];Ifm舀一m口£[id]∈m妇一m口£ThenPTree(dP夕f矗,j();EndIfEndForEndIfEndForEndProcedure.其中,参数dP户编通常等于最大迭代次数.整个创建PTree算法的时间复杂度为0(NlogN),N是缺损项的总个数.3.2优化策略根据算法1描述可知,Pnee中的每个节点包括2个字段:缺损项的下标、节点的深度.通过对PTree进行层次遍历,即按照节点深度进行升序排列,就可以得到符合需要的缺损项预测顺序.基于这样的预测顺序,本文提出了针对ICF模型的优化策略,即:在第£次迭代中,只对节点深度不小于≠的缺损项利用ICF模型进行预测.例如de户冼一4,当£一1时,所有缺损项均被预测;当£一2时,只对dP户疏≥2的缺损项进行预测.通过这种优化策略,本文能够有效减少每轮迭代中待预测项的个数,从而大幅度降低0ffline部分的运行时间.158计算机研究与发展2013,50(增刊)根据参数Tr口锄一"sPr,上述150个用户被划分4实验及分析4.1实验环境及参数本文的实验环境为一台PC机,机器的配置为IntelXeonX7460CPU,64GB成训练用户和待预测用户,同时产生相应的训练矩阵和预测矩阵.为了生成不同程度的稀疏矩阵,本文根据参数De,zs如y,随机剔除训练矩阵中的项,将其作为缺损项并记录其位置信息.为了计算预测准确率,本文根据参数Gi口鲫一咒z‘m6Pr(g)随机选取预测矩阵中的待预测项.表2对实验涉及的相关参数进行了说明[18’2RAM,操作系统为windowsServer2008.实验中的所有程序使用Matlab实现.此外,本文使用的数据集来自WS—DREAM[21≈21.该数据集收集了QoS值2个特征:Response-time(RT)和Throughput(TP),每个特征包含一个大小为339行、5825列的用户一项目矩阵(即339个用户、5825个项目).为了对不同模型的预测准确率及效率进行分析,本文从原始数据集中采样出10个不含缺损项的用户一项目矩阵,每个矩阵的大小为150行、200列.表2参数说明4.2准确率分析为了考察预测值与真实值之间的差距,本文利用平均绝对误差(MAE)和均方误差(RMSE)来衡量模型预测结果的准确率,它们均是广泛使用的准确率计算方法,如式(18)和式(19)所示:∑l口o;一q:.;^缎E(£)一N(18)R2淞E(£)一(19)其中,贰;表示真实的QoS值,q:,i表示待预测项在第£轮迭代中的预测值,N是待预测项的总个数.越小的MAE值和RMSE值表示模型的准确率越高.4.2.1模型对比为了评价ICF模型和OICF模型的准确率,本文将其与另外3种具有代表性的模型进行了对比.表3展示了各个模型在不同参数下的MAE值及表3各个模型的MAE值及RMSE值1、r口i竹ing一“s盯=100Tmin{竹g一“卵r=120Response-timeg=3012.76012.57412.0599.1589.26112.23012.44811.9208.9969.10511.79312.35911.8178.9059.023g—lOO.536O.468O.4580.398g一20O.5320.459O.4500.3900.39l0.522O.458O.4480.3830.385O.509O.448O.439O.3730.374g=30O.532O.4510.443O.3830.3850.519O.4520.4430.38l0.3820.506O.4410.433O.369O.37lg=1012.00712.46911.9058.9579.05511.67812.36411.7938.8588.97011.16312.376Throughputg一2011.96212.15311.6238.7638.87011.6431Z.12111.5778.6848.79911.15112.043g一3011.90511.85711.3588.5388.65711.38911.82811.3268.4588.62611.06711.76311.2668.5068.698误差Density模型Response—timeg=10g=200.439O.3960.3860.3470.3480.431O.3920.3820.3400.341O.4230.388O.3790.3330.335g=30O.439O.391O.3820.3410.342O.4310.388O.3780.3350.3360.421O.3840.3750.3300.332g=101Z.86713.114Throughputg=2012.72212.84512.2999.3449.43612.41012.77512.2229.3099.41811.99012.76912.1979.1889.296UPCC1PCCO.10.442O.3970.3870.3470.3470.433O.397O.3870.3430.345O.4250.393O.3830.3370.338WSRecICFOICFUPCCIPCC12.5519.6499.74612.48813.07912.5039.5569.66212.03813.00412.4029.4109.5180.3”O.5250.458O.4480.384O.385O.5130.455O.4450.3790.380MAEO.2WSRec1CF0ICFUPCCIPCCO.3WSRecICFoICF11.828“.4868.8768.9958.5928.718万方数据王斌斌等:基于迭代训练的Webservice混合协同过滤推荐模型续表3Trdinf,lg—Ms盯一100Tmining一ⅡsBr一120Response-timeg一3026.95Z25.24524.49020.943g一101.0461.1221.0910.9650.9831.0241.0971.066O.9270.9421.0131.0911.0610.9160.932g=201.0461.1101.0800.9530.9701.0251.0991.0690.9330.9501.0051.0761.0470.9050.921g一301.0451.0911.0620.939O.9561.0241.0921.0620.9350.9S31.0001.0601.0310.9010.920g=1024.07622.76121.96618.31618.53423.72722.67721.87618.27l18.52922.95322.64824.92819.04318.759159误差Density模型Response_timeg=10g=Z0O.9481.005O.9820.9340.949O.929O.990O.966O.8780.891O.924O.9840.961O.8630.877g=30O.9490.994O.9720.8900.904O.9340.982O.9600.8720.88S0.918O.9740.9510.8600.874g一10Throughputg一2026.75125.68224.86221.207Throughputg=2023.98222.46221.67318.34218.49523.79722.51221.71218.22618.49222.63622.02521.24218.18618.568g=3024.14822.Z6221.53718.24618.52322.99821.88321.67718.34019.29822.84622.00822.050UPCCIPCCO.10.9531.010O.9860.898O.9100.9391.005O.9810.8860.898O.928O.9930.9700.87l0.88326.868Z6.00225.14521.48621.78126.41225.83225.12121.45321.79525.63225.74324.86620.9S621.251WSRecICF0ICFUPCCIPCC21.4卯21.23926.19225.39724.58121.02021.33225.62025.46024.61520.84421.15425.98625.01324.21820.5SO20.85425.04524.739Z3.91720.33120.692RAfSEO.2WSRecICF0ICFUPCCIPCCO.3WSRecICFOICF20.O“21.280RMSE值.实验中使用的Tr口锄一“ser分别为100和120.对于训练矩阵,本文将DP咒s矗了依次设置为o.1,o.2,0.3;对于预测矩阵,本文将g依次设置为10,20,30.此外,实验中的模型参数设置依次为:艿一o,K—o,A—o.1.模型的最大迭代次数T设置为2.从表3可以看出:1)在各组参数下,相较于其他3种模型,ICF模型和OICF模型均能显著降低MAE值和RMSE值;2)利用PTree优化后的0ICF模型仍然能够保持较高的准确率.4.2.2迭代对比为了从实验角度证明迭代过程的收敛性,本文将最大迭代次数T设置为40,分别计算了ICF模型将其绘制成图2.从图2可以看出,当£<4时,随着迭代次数的增加,MAE值急剧下降;当£>4时,MAE值逐渐趋于平稳,即迭代过程趋于收敛.因此,进行4次迭代足以保证这2种模型取得最高的准确率.在将最大迭代次数设为4后,重新执行程序并统计计算MAE值及RMSE值.图3详细对比了ICF模型和OICF模型在2种QoS特征下的MAE值和RMSE值.从图3可以看出,随着迭代次数的增加,ICF模型和OICF模型的准确率都在急剧下降.虽然OICF模型的误差相较于ICF模型略高,但2者之间的差距非常小.因此,引入迭代过程的协同过滤模型能够有效地提高预测的准确率.4.3效率分析和0ICF模型在throughput特征下的MAE值,并6·46·15·85.5▲d◆_OICF嚏|+IcF为了考察优化策略对于模型运行时间的影响,本文记录了ICF模型和0ICF模型的0ffline部分在不同迭代次数下的运行时间,并将其绘制成图4.塞砌4·94·64·34.0|蚕Ib、.….…。一_一o●●-—-134510152025303540图4中参数Tr口锄一”sPr的值分别为100和120.从图4可以看出,尽管这2种模型的运行时间均高于无迭代过程的模型,但是应用优化策略的0ICF模型能够有效降低模型Offline部分的运行时间,即使迭代4次的运行时间对于大多数的推荐系统依然是可接受的.2迭代次数图2迭代过程的收敛性万方数据160计算机研究与发展2013,50(增刊)20·48◆1·1221+OICF0.46生o.468+OlCF+IcF0.“o.4惑+IcFl心吣0‘删\\0·42啪昭未配o,398。\o.377心.399心o.983O.40O.38O.36o..3751赘i窝暂68l234;On口R溜}\.o.959O9.o.?—1,o?59l234迭代次数迭代次数(a)Resp011Se—time的捌E值(b)ResponSe—time的R凇E值船气2276113+oIcF121111弧支12·469+0ICF+IcF21.酥+IcF岫{x鋈10心Ⅲ∽,配《918.3l凝婴346021757288.9八7.855V.0551777..72—警融;-314毖虬街均掩"17.30l、●—}宁曲钓.■I234l234迭代次数(c)Throu曲put的心£值(d)Throu曲put的心值迭代次数图3MAE值及RMSE值对比200250:霉:尝’+ICF/160/岁3135.88/200175.96/2罗曰■茁120声/1h/苗150卿91.69/1㈨■8040ts.么劳’尹阻。。/霉上‰。118.82/59’甏知—∥86·39/|I迭代次数迭代次数(a)m幔一地"=loo(b)m虹埘甜=120图4ICF和0ICF模型运行时间的对比型的性能.实验结果表明,相较于协同过滤中的其他5结论推荐模型,应用迭代思想及其相应的优化策略能够在花费较低的代价下获得较好的预测准确率.海量数据的集成融合促进了大数据技术的广泛基于本文现有的研究,进一步的研究工作包括应用,尤其以面向服务为核心的WebService技术改进迭代优化策略和实现WebService推荐系统。被普遍用来提供新型互联网服务,这使得针对服务此外,将本文提出的协同过滤推荐模型并行化,并利提供商及个人用户,设计一种基于WebService的用MapReduce编程框架实现,能够更好地处理大规个性化服务推荐系统变得十分必要.模数据问题。最后,本文提出的推荐模型同样可以应本文针对大数据下的WebService推送问题提用于其他领域,例如医疗服务,电子商务等.出一种优化迭代的混合协同过滤推荐模型.该模型的关键在于应用迭代思想,多次计算缺损项并更新参考文献训练矩阵,以进一步提升预测的准确.此外,本文提[1]sux,KhoshgoftaarTM.AsurveyofcoUaborativefiltering出了一种基于PTree的迭代优化策略,它能够大幅techniques.AdvancesinArtificialIntelligence,2009,2009度降低迭代过程的运行时间,从而显著提高整个模(4):1—19万方数据王斌斌等:基于迭代训练的webService混合协同过滤推荐模型161[2]xueGR,LinC,YangQ,eta1.Scalablec01laborativef11teringusingcluster_basedsm00thing/,Procofthe28thAnnualIntACMSIGIRConfResearchandDevelopmentinInformationRetrieval(SIGIR’05).NewYork:ACM,2005:114—121[3]HofmannT.LatentsemanticmodelsforcoUaborativefiltering.ACMTransactionsInformationSystems,2004,2022(1):89一115[4]zhengz,LyuMR.C01laborativereliabilitypredictionofservic}orientedsystems//Procofthe32ndIEEEIntConfSoftwareEngineering.Piscataway,NJ:IEEE,2010:35—44[5]Chenx,Liux,Huangz,eta1.RegionKNN:AscalablehybridcollaborativefilteringalgorithmforpersonalizedWebservicerecommendation//Procofthe8thIEEEIntconfWebServices.Piscataway,NJ:IEEE,2010:9—16[6]YuK,SchwaighoferA,TrespV,eta1.Probabilisticmemory-basedcollaborativefiltering.IEEETransKnowledgeandDataEngineering,2004,16(1):56—69[7]wangJ,VriesAP,ReindersMJT.unifyinguser_basedanditem七asedcollaborativefilteringapproachesbysimilarityfusion/,Procofthe29thAnnualIntACMSIGIRConfItesearchandDevelopmentinInformationRetrieval(SIGIR’06).NewYork:ACM,2006:501—508[8]P01atH,Duw.sVD—basedcollaborativefilteringwithprivacy//Procofthe2005ACMSympApplied(SAC’05).NewYork:ACM,2005:791—795[9]wagnerF,IshikawaF,Honidens.QoS-awareautomaticservicecompositionbyapplyingfunctionaIclustering/,Procofthe9thIEEEIntConfWebServices.Piscataway,NJ:IEEE,2011:89—96[10]zhangS,wangw,FordJ,eta1.usingsingularvaluedecompositionapproximationforcollaborativef订tering//Procofthe7thIEEEIntConfE—CommerceTechnology(CEC’05).Piscataway,NJ:IEEE,2005:257—264[11]siL,JinR.Flexiblemixturemodelforcollaborativefiltering//Procofthe20thIntconfMachineLearning(IcML’03).Piscataway,NJ:IEEE,2003:259—266[12]Sux,KhoshgoftaarTM,GreinerR.Imputedneighborhoodbasedcollaborativefiltering/,ProcofIEEE,wI—C,ACMIntConfWebIntelligenceandIntelligentAgentTechnology(WI—IAT’08).Piscataway,NJ:IEEE,2008:633—639[13]WuG,weiJ,QiaoX,eta1.AbayesiannetworkbasedQoSassessmentmodelforWebservices/,ProcofIEEEIntConfServicesComputing(SCC’07).Piscataway,NJ:IEEE,2007:498—505[14]shaoL,zhangJ,weiY,etal,PersonalizedQospredictionforwebservicesviac01laborativefilte“ng//Procofthe5th附录A符号说明:待预测项的集合定义为(q。,,),其中待预测项的真实值集合定义为{虻i),第£(£>o)轮迭代的预测值集合为{吼,。}.此外,均值误差(MAE)万方数据IEEEIntConfWebServices.Piscataway,NJ:IEEE,2007:439—446[15]YuQ,RageM.0nservicecommunitylearning:Acoclusterapproach/,Procofthe8thIEEEIntConfonwebservices.Piscataway,NJ:IEEE,2010:283—290[16]SuX,KhoshgoftaarTM,GreinerR.Imputation_boostedcollaborativefilte“ngusingmachinelearningclassifiers/,Pro。ofthe2008ACMSympAppliedComputing(SAC’08).NewYork:ACM,2008:949—950[17]ZhangZ,CuffP,KulkamiS.Iterativec01laborativefilteringforrecommendersystemswithsparsedata//ProcofIEEEIntWorkshopMachineLearningforSignalProcessing.Piscataway,NJ:IEEE,2012:1—6[18]ZhangY,ZhengZ,LyuMR.ExpIoringlatentfeaturesformemory_basedQospredictionincloudcomputing/,Procofthe30thIEEESympReliableDist—butedSystems(SRDS’11).Piscataway,NJ:IEEE,2011:4—7[19]AdomaviciusG,TuzhilinA.Towardthenextgenerationofrecommendersystems:Asurveyofthestate-of_the—artandpossibleextension.1EEETransKnowledgeandDataEngineering,2005,17(6):734—749[20]AbdelwahabA,SekiyaH,MatsubaI,eta1.CoUaborativefilteringbasediterativepredictionmethodtoalIeviatethesparsityproblem//Procofthe11thIntConfInformationIntegrationandWeb_basedApplicationsandServices(iiWAS’09).Piscataway,NJ:IEEE,2009:375—379[21]ZhengZ,MaH,LyuMR,eta1.QoS-awareWebservicerecommendationbycollaborativefiltering.IEEETransServicesComputing,2011,4(2):140一152[22]ZhengZ,ZhangY,LyuMR.DistributedQoSevaluationforreal—worldWebservices/,Procofthe8thIntConfWebServices(ICWS’10).Piscataway,NJ:IEEE,20lO:83—90[23]朱锐,王怀民,冯大为.基于偏好推荐的可信服务选择.软件学报,2011,22(5):852—864王斌斌男,1989年生,硕士研究生,主要研究方向为服务计算.周作建男,1976年生,博士研究生,主要研究方向为云计算、大数据挖掘等.过洁男,1986年生,博士,主要研究方向为图形学、图形绘制等.潘金贵男,1952年生,教授、博士生导师,主要研究方向为知识工程及应用、多媒体软件写作工具和多媒体远程教学系统等.的定义见文献[23]式(18).证明.首先对于用户“采用UPCC模型进行预测,其中有口个已知项目{凡∽…,九,。),6个待预测项目{q。),i满足1≤i≤6,项目总数为咒一口+6.此处将近邻个数由K减少为1个。1)第。轮迭代,默认采用均值作为预测值.①预测值:g:川…,q:,。一∑凡,。/口;②用户均值:矗。一∑k。/n;③单项MAE:MAE:,i一1q。。一q:,。1一Iq毒,一∑‰。k1.①预测值:q蠹i=五r·+鱼墨{簧掣;2)第£(£>1)轮迭代,采用UPCC模型预测.②用户均值:对于6个未知项目,预测出抚个项目M驴卜矿L鲨群I.③单项MAE:牡∥+丢妻盟孝;考察2次迭代之间单个项目预测值的差值,即当£≥1时:qk—g五·一面r,+垒簋三{翥学一矿z一望甍署盟一+1(q£:一直:1)R(“’2)。(q£'l一百:_1)R(“’1)咒R(“:一2)R(M:1)“一。(q:l一面;1)R(“’2)R(M:2)(q£,:一面:一1)R(“‘一1)..........::.................。......................................一行一1(口气:一缸:_2)R(∥_2)尺(“:一1)(A1)由于皮尔逊相关系数指明了向量空间结构的一致性,因此可以得到:—∑i石可厂≈——i瓦,厂’(口£:一缸:~1)R(“‘一1)(q虿j一靠:2)R(z‘‘一2)R(“:.1)R(“:-2)(A2)式(A2)代入式(A1)可得:qk—q五·一去垒鱼立{罢掣.cA3,由式(A3)可知,预测值差值恒为正值或恒为负值,即预测值只能从一侧逼近真实值.考察2次迭代之间单个项目MAE的差值,当预测值从左侧逼近真实值时,即MAE:.i—MAE£1一Iq:,。一吐,iI—lqii—q互1l—lim(q童i—q:。i)一lim(q0;一q矗1)一万方数据计算机研究与发展2013,50(增刊)lim(q0:一或。i)一(g蠹;一q纛1)=《,。一(《。)屯1一(破.)lim(q五1一矗,i).(A4)q:。一(屯。)一q五1一(《。)一当预测值从右侧逼近真实值时,同理可得:MAE:,i—MAE互1一lim(以,i—g五1).吐。;一(口l。)十《j1一(口0。)+(A5)利用绝对值将式(A4)(A5)合并可得:MAE.i—MAE互1一limlq:,i—q暑1I.乇,f一(口0。)q矗1+(q0。)(A6)由式(A3)可知,q:,i—q£1恒为正值或恒为负值,因此式(A6)的结果先逐渐变小,然后缓慢增大,命题得证.由正文中定理1可以产生2个结论:①在第T次迭代之前,随着迭代次数的增加,MAE将越来越小;在第T次迭代之后,随着迭代次数的增加,心E将缓慢增大;T称为迭代的极值点;②随着迭代次数的增加,MAE的变化趋势趋于平稳;由结论1可知,MAE—MAE:㈡…,MA院,i越来越小,即有MAE.i<MAE£1成立,由该式可得:MA既,i<MA既1净MAE,。一MA眨1<0.由结论2可知,MAE,i—MAE暑1不会无限制小,它最终会趋近一个值一e(£>O),即有|MAE.i—MAE互1l<e,去掉绝对值符号,并将MAE,i的计算公式代入可得:∑Iq主;一捌【∑lq囊:一酿,:NN<e.(A7)当预测值均从左侧逼近真实值,则有:∑q支i一群。≥半<。.∑口主i一啦NN<c㈣当预测值均从右侧逼近真实值,则有:(A9)利用绝对值将上述2种情况合并可得:∑!掣<。.坠霉堂<。。N…N…(A10)因此,将第£(1≤£)次迭代的目标函数定义为Ⅳ迭代的停止条件为F(£)<e.F(£)一盟—可一,(A11)∑I积一吼,。l基于迭代训练的Web Service混合协同过滤推荐模型
作者:作者单位:刊名:英文刊名:年,卷(期):
王斌斌, 周作建, 过洁, 潘金贵, Wang Binbin, Zhou Zuojian, Guo Jie, Pan Jingui
计算机软件新技术国家重点实验室(南京大学) 南京 210046;南京大学计算机科学与技术系 南京 210046计算机研究与发展
Journal of Computer Research and Development2013,50(z2)
1.Su X;Khoshgoftaar T M A survey of collaborative filtering techniques 2009(04)
2.Xue G R;Lin C;Yang Q Sealable collaborative filtering using cluster-based smoothing 20053.Hofmann T Latent semantic models for collaborative filtering 2004(01)
4.Zheng Z;Lyu M R Collaborative reliability prediction of service-oriented systems 2010
5.Chen X;Liu X;Huang Z RegionKNN:A scalable hybrid collaborative filtering algorithm for personalized Web servicerecommendation 2010
6.Yu K;Schwaighofer A;Tresp V Probabilistic memory-based collaborative filtering 2004(01)
7.Wang J;Vries A P;Reinders M J T Unifying user-based and item-based collaborative filtering approaches by similarityfusion 2006
8.Polat H;Du W SVD-based collaborative filtering with privacy 2005
9.Wagner F;Ishikawa F;Honiden S QoS-aware automatic service composition by applying functional clustering 201110.Zhang S;Wang W;Ford J Using singular value decomposition approximation for collaborative filtering 200511.Si L;Jin R Flexible mixture model for collaborative filtering 2003
12.Su X;Khoshgoftaar T M;Greiner R Imputed neighborhood based collaborative filtering 200813.Wu G;Wei J;Qiao X A bayesian network based QoS assessment model for Web services 2007
14.Shao L;Zhang J;Wei Y Personalized QoS prediction for Web services via collaborative filtering 200715.Yu Q;Rage M On service community learning:A cocluster approach 2010
16.Su X;Khoshgoftaar T M;Greiner R Imputation-boosted collaborative filtering using machine learning classifiers 200817.Zhang Z;Cuff P;Kulkarni S Iterative collaborative filtering for recommender systems with sparse data 201218.Zhang Y;Zheng Z;Lyu M R Exploring latent features for memory-based QoS prediction in cloud computing 201119.Adomavicius G;Tuzhilin A Toward the next generation of recommender systems:A survey of the state-of-the-art andpossible extension 2005(06)
20.Abdelwahab A;Sekiya H;Matsuba I Collaborative filtering based on an iterative prediction method to alleviate thesparsity problem 2009
21.Zheng Z;Ma H;Lyu M R QoS-aware Web service recommendation by collaborative filtering 2011(02)22.Zheng Z;Zhang Y;Lyu M R Distributed QoS evaluation for real-world Web services 201023.朱锐,王怀民,冯大为 基于偏好推荐的可信服务选择[期刊论文]-软件学报 2011(5)
引用本文格式:王斌斌.周作建.过洁.潘金贵.Wang Binbin.Zhou Zuojian.Guo Jie.Pan Jingui 基于迭代训练的Web Service混合协同过滤推荐模型[期刊论文]-计算机研究与发展 2013(z2)