聪明文档网

聪明文档网

最新最全的文档下载
当前位置: 首页> 正在进行安全检测...

正在进行安全检测...

时间:2023-11-17 05:40:23    下载该word文档
3613Vol.36No.13ComputerEngineering·软件技术与数据库·

文章编号:10003428(201013003403文献标识码:A
20107July2010中图分类号:TP311基于邻居决策的协同过滤推荐算法
1,2,朱珍民1,高晓芳1,3,陈援非1
(1.中国科学院计算技术研究所,北京1000802.湘潭大学信息工程学院,湘潭411105

3.首都师范大学计算机科学联合研究院,北京100037要:协同过滤技术应用于个性化推荐系统中,稀疏性问题和可扩展性问题成为亟需解决的问题。针对传统方法的不足,提出一种凭借邻居数做决策的方法,比较各个待测位置的用户邻居数和项目邻居数,由数量多的一方作预测,同时对预测值判定给出一种合理而有效的度量方法。实验结果表明,该方法能够提高推荐质量。关键词:个性化推荐;邻居数;协作过滤;平均绝对误差
CollaborativeFilteringRecommendationAlgorithmBasedonNeighborDecision-making
LIChun1,2,ZHUZhen-min1,GAOXiao-fang1,3,CHENYuan-fei1
(1.InstituteofComputingTechnology,ChineseAcademyofSciences,Beijing100080;2.CollegeofInformationEngineering,
XiangtanUniversity,Xiangtan411105;3.JointFacultyofComputerScientificResearch,CapitalNormalUniversity,Beijing100037AbstractCollaborativefilteringhasbeenappliedinpersonalizedrecommendationsystemsuccessfully,sparsityproblemandscalabilityproblembecometwobigproblemswhichremainunresolved.Toslovetheproblemoftraditionalmethod,thispaperproposeadecision-makingmethodrelyingonthenumberofneighbors.Themethodcomparesthenumberofuser’sneighborsanditem’sneighborsineveryunpredictedposition,andchoosesthebiggeronetomakepredicting.Inaddition,areasonableandeffectivemeasurementisputforwardtojudgepredicting.Experimentalresultshowsthatthequalityofrecommendationislargelyimproved.Keywordspersonalizedrecommendation;numberofneighbors;collaborativefiltering;MeanAbsoluteError(MAE1概述
随着互联网的膨胀和电子商务的出现,信息迷航困扰着每个用户,为了帮助用户获取真正所需的信息,必然会出现一种推荐系统。推荐系统利用个性化的信息过滤技术来预测特定的用户对特定商品的喜好,或者向特定的用户推荐最感兴趣的商品,最近几年推荐系统已经有一些不同的应用,其中最近邻协同过滤推荐是当前最成功的推荐技术[1],其思想是用户被推荐的项目是与自己有相似品味和爱好的邻居用户过去喜欢的项目[2]著名的系统有:GroupLens/NetPerceptions,协同过滤最大优点是对推荐对象Ringo/Firefly,Tapestry[3]没有特殊的要求,能处理非结构化对象,如音乐、电影[4]还能为用户发现新的感兴趣的资源。
为了找到目标用户的最近邻居进行推荐,首先必须度量用户之间的相似性,然后选择相似性最高的若干用户作为目标用户的最近邻居,但选择的最近邻居是否准确,直接关系到整个推荐系统的推荐质量。随着系统规模的扩大,用户仅对少部分资源进行评价,可扩展性问题和稀疏问题成为协作过滤的棘手问题,影响了用户相似性计算的准确度,导致推荐质量受到严重影响,因此,相似度的准确性成为推荐质量的瓶颈。
为解决传统协同过滤算法的可扩展性问题同时缓解稀疏性问题,文献[5]提出了基于项目的协同过滤算法,该算法比较项目之间的相似性,由当前用户已访问的项目集合推荐未访问的项目。由于项目特性比用户兴趣更稳定,一段时间内34不会发生变化,因此可以离线进行计算、存储并定期更新,较好地解决了算法的可扩展性问题,降低了数据的稀疏程度,[6]同时在推荐精度上也有明显提高。但是,目前的方法都是针对K个最近的邻居,虽然K的值可以更改,然而一旦给定K值,为了满足固定的邻居数K即使是相似度不高的邻居也会被预测,这难免会影响预测的结果,虽然随着系统规模的扩大用户评分矩阵变得比较稀疏,但是某些用户间的相似性还是可取的,因此,本文提出一种新的决定邻居的策略,当前用户对当前项目的预测评分取决于邻居数多的一方,如:项目的邻居数多于用户的邻居数,就用基于项目的方法进行预测,反之,则用基于用户的方法进行预测。
现有的协作过滤算法预测的用户对项目的评分绝大部分都是小数,然而,在实际推荐中,用户对资源的评分都是等级评分,是一系列能反映用户偏好逐渐变化的整数,例如,在电影推荐系统中,用户的评分级别分为5级,分别对应1,2,3,4,5,所以,有必要对预测的评分进行判定,使之成为满足级别要求的整数,现有方法都是采用简单的“四舍五入”[7]影响推荐效果。因此,本文提出一种根据用户的评分趋向来取舍预测评分小数部分的方法。

基金项目:国家“863”计划基金资助项目(2006AA01Z112作者简介:(1985女,硕士研究生,主研方向:普适计算;朱珍民,教授、博士;高晓芳,硕士研究生;陈援非,博士收稿日期:2009-12-20E-maillichun@ict.ac.cn

2相关工作
2.1基于项目的协同过滤算法
协同过滤算法的输入数据通常表述为一个m×n的用户-项评分矩阵Rm为用户数,n为项目数,矩阵元素Ruj表示u个用户对第j个项的评估值。确定为目标资源的最近邻居是根据相似度的大小进行评判的,相似度越大,成为邻居的可能性越大。
基于项目的协同过滤算法步骤如下:
1计算项目之间的相似度,传统的相似度计算方法有如下3种:
2个项目ij被当作2m维的向量x(1余弦相似性。y,如果用户对项目没有进行评分,则将用户对该项目的评分设为0,项目间的相似性通过向量间的夹角余弦度量其相似性:
Sim(i,j=cos(x,y=xiy
(1||x||2×||y||2果预测值为3.7分,则判定为4分。
文献[9]提出了一种预测值判定方法,通过趋势度、偏离度和判定度这三者之间的关系来定夺各预测值的取整情况,该方法有效解决了以往的简单四舍五入方法,提高了计算的准确性,但是对每个预测值都得计算其左右邻评分等级的趋势度、叛离度,最终再计算判定度,在矩阵稀疏而且预测值比较多的时候,计算复杂度比较高。
因此,本文简单使用用户评分趋势来对预测值的取舍进行有效度量,评分趋势由用户的已评分情况来决定,由于文中实验用的数据其评分等级一共有5个,即1~5,统计每个用户的评分值,若已评项目中评3分及更高等级的数量超过总的已评项目的一半,则规定该用户即为高分倾向者,其所有预测评分值都采取加入的方法,反之则为低分倾向者,所有预测评分值采取舍弃的方法。
3协作过滤的改进算法
3.1邻居选择
在用户评分矩阵中,由于评分数据的稀疏性,单纯使用用户评分或项目评分都存在计算结果不准确的问题,并且现有的方法都是利用K最近邻居,然而在数据稀疏时,也许K最近邻居中某些邻居之间的相似度并不高,但为了满足固定数目的邻居也被用来预测,难免会影响预测的评分值,为了缓解此问题提出一种取优决策,在具体的某用户对特定的某个项目评分时,分别比较用户的邻居数和项目的邻居数,由数量多的那方来预测评分。
确定是否为特定用户或项目的邻居,取决于相似度的值,只有与该用户或项目相似度大于某个阈值的用户或项目才算作邻居,下面给出邻居的定义:
定义1用户邻居,设用户u其邻居集是满足此式的所有用户的集合Neiberu={v|sim(u,v>βα}|Neiberu|为用户u的邻居数。
定义2项目邻居,设项目i其邻居集是满足此式的所有项目的集合Neiberi={j|sim(i,j>βα}|Neiberi|为项目i邻居数。
其中,α是给定的阈值,由于相似度的值属于0~1的范围,因此以0.5这个中间值作为α的固定值,但固定阈值在开放环境中不一定使得最终的推荐结果最优,因此,影响系统的健壮性,故给出了一个矫正参数β0β1,由此调节最终阈值的值,在不同时期不同用户的推荐中,基于上次推荐得到的最优阈值,未必一定会使得本次推荐最优,β推荐。
文献[1]已经通过实验对各种相似度度量方法进行了比较,根据其结论,用户间的相似性本文使用Person相关相似性度量,2个用户共同评分的项目数大于20才计算相似度,否则相似度直接设为0,由文献[5]的实验结果,项目间的相似性使用修正余弦相似性度量。
3.2预测评分
在协作过滤推荐系统中最重要的一步就是基于预测评分来产生输出接口,一旦计算出当前位置用户的邻居集合和项目的邻居集合,接下来就是采用相应的方法预测目标用户的评分,本文采用邻居评分加权求和预测,但基于项目的邻居预测和基于用户的邻居预测与式(4、式(5有所不同,本文计算方法如下:
35其中,分子为2个项目评分向量的内积;分母为2个向量模的乘积。
(2修正余弦相似性。考虑了余弦相似度中的缺陷,不同的用户对项目的评分标准不同,通过减去共同评分的用户评分均值来改善。项目i和项目j的相似度为
Sim(i,j=uU(Ru,iRu(Ru,jRuij22uU(Ru,iRuuU(Ru,jRuijij(2
其中,Uij表示共同评价项目i和项目j的用户。
(3相关相似性。首先找出共同评分项目i和项目j的用Uij,相关相似性公式如下:
Sim(i,j=uU(Ru,iRi(Ru,jRjijuU(Ru,iRiij2uU(Ru,jRjij2(3
其中,Ri,Rj分别表示用户对项目i和项目j的平均评分。2根据相似度Sim(i,j进行排序,选择k个和当前项目最相似的项目。
3利用相似邻居进行中心加权求和来预测用户u当前资源i的打分:
Pu,i=Ri+jKNNsim(i,j×(Ru,jRj(4
jKNN(|sim(i,j|ii其中,KNNi表示项目i的最近邻居;Pu,i表示用户u对项目i的预测值。
基于用户的协同过滤算法和基于项目的协同过滤算法差不多,其本身相似度的计算也很相似,在此就不再重复,不同的是第3步预测评分,其计算公式如下:
Pu,i=Ru+vKNNsim(u,v×(Rv,iRv(5
vKNN(|sim(u,v|uu其中,KNNu表示用户u的最近邻居;Rv表示用户v的平均评分[8]
2.2传统协同过滤算法对预测值判定的不足
传统的协同过滤算法通过式(5产生预测值Pu,iPu,i绝大部分的时候是一个小数,但是在实际的推荐系统中,用户对资源的评分都是对应到一个具体的评分等级上(即一个整,因此,需要将预测值进一步判定为一个整数。如果预测值本身为整数,则可以直接判定,但是如果预测值为3.3分,现有处理办法都是按照“四舍五入”的原则判定为3分,如

(1基于用户预测评分公式:
vNeibersim(u,v×(Rv,iRvPu,i=Ru+(6
vNeiber(|sim(u,v|uuEMAE=i=1|piqi|NN(8
因为实验中测试集占20%,所以N值为200004.3实验结果分析
为了检验本文算法的有效性,以基于项目的协同过滤推荐算法作为对照,文献[12]实验结果表明,基于用户的协作过滤明显差于基于项目的协作过滤,基于用户的实验就不再做对比,为了与本文方法有可比性,项目的邻居决策使用本文方法,对四舍五入简单预测的结果也做了对比,用户的相似性计算采用相关相似性,而项目的相似性计算采用修正余弦作为度量标准,分别计算各种推荐算法的MAE。设定的邻居阈值从0.3开始逐渐变化,从中观察最优情况的邻居阈值以及阈值对MAE的影响,间隔为0.05,实验如图1所示。
基于项目的协同过滤算法邻居决策的四舍五入预测0.820.810.800.79(2基于项目预测评分公式:
Pu,i=Ri+vNeibersim(i,j×(Ru,jRj(7
vNeiber(|sim(i,j|ii其中,Ri,Ru分别代表项目i和用户u的平均评分,用户u邻居集合表示为Neiberu
3.3预测值判定
预测值判定取决于最初用户-项目评分矩阵中每个用户的实际评分,由于实验集一共有5个评分等级,按常理用户3及更高等级的项目均为高分项目,下面给出相关的几个集合并进行详细描述:
用户u评分的项目集合Iu={i|Ru,i1}|Iu|表示用户u分的项目数量,用户u的高分项目集合Iu'={i|Ru,i3}|Iu'|表示用户u的高分项目数量,其中,Iu'Iu,用户u未评分对任意项目jNu使用式(6或式(7的项目集合Nu={j|Ru,j=0}计算得到预测评分Pu,j,经过预测值判定后得到的评分为p'u,j,本文的判定规则如下:
邻居决策预测值未判定邻居决策且判定预测0.780.770.760.750.740.730.250.300.350.400.450.500.550.600.650.700.750.800.850.90对任意用户u,若|Iu'||Iu|0.5,则该用户为低分倾向者,对任意的项目jjNu,p'u,j=Pu,j;反之,用户为高分倾向者,对任意的项目jNu,p'u,j=Pu,j
例如:若用户u定为高分倾向者,用户u对项目i的预测评分值为3.3最终取整为4分。又如若用户v定为低分倾向者,用户v对项目j的预测评分值为4.9最终取整为4分。
邻居阈值

4实验评估
4.1数据集
使MovieLens(http://movielens.umn.edu数据集,选取的是其中公开的一部分数据,在网上可以下载,包括943个用户在1682部电影上的100000条评分记录,其中,每个用户至少对20部电影进行了评分,评分的范围是1~5,不同的评分表达了自己的兴趣。GroupLens项目组提供全部MovieLens数据集的同时,将其分成5个互不相交的子集,然后每次选择1个子集作为test数据集,其他4个合为1base数据集,从而形成了5base数据集和test数据集。在此基础上,用5-折交叉验证方法进行实验。每次选择1base数据集和test数据集,使用base数据集中记录作为基本用户,对test数据集中目标用户进行推荐测试。5-折交叉验证之后计算误差的均值作为试验算的误差结果[10]实验采用已经划分好的80%训练集和20%测试集,这样的数据集一共有5组,最终对5组数据求平均,评分矩阵的稀疏度定义为1-据集的稀疏度为1-已评分的数目,因此,本实验数总共应该评分的数目1算法推荐精度比较
从图1中的实验结果可以看出,本文方法随着阈值的变化,其MAE值不断改变,当阈值设为0.65~0.75区间中的值时,MAE值较小并且趋于稳定,随着阈值的扩大其MAE上升的趋势,然而采用了本文提出的预测值判断处理后的结果曲线明显优于未预测的曲线,由图可以看出判定后的曲线在阈值为0.45时有个明显的转折点,而区间0.3~0.4和区间0.5~0.6MAE值较小且曲线走向比较平缓,其他区间MAE值波动较大,综合比较邻居阈值的较优取值为0.5即对本数据集来看β的值为1,总体来看本文方法即使未做预测值判定也优于传统基于项目的方法,简单采用四舍五入预测的结果虽然比未预测的结果好,但采纳本文的预测值判定方法会使得实验结果更优,见图1中最下边曲线。
5结束语
本文分析了在单纯使用余弦相似性、相关相似性和修正余弦相似性度量方法计算目标用户或目标项目的最近邻居时存在的问题,在评分数据极端稀疏情况下,用户间相似性的计算准确度不高,分析了现有的K最近邻居预测评分方法中所存在的干扰因素,预测值与评分等级不匹配,简单的四舍五入取整的方法显得太片面。针对以上问题,提出一种基于邻居决策并对预测值判定的协作过滤算法,这种方法更客观地反映了推荐的效果,使得预测得到的评分更准确,但该方法对新用户不实用,下一步的研究有待进一步解决,不过实验结果表明,本文方法有效地解决了传统的预测方法及预测值判定存在的弊端,明显提高推荐系统的推荐质量。
(下转第39页)
100000=0.9369
943×16824.2评价标准
评价推荐系统推荐质量的度量标准采用统计度量方法中的平均绝对偏差(MeanAbsoluteError,MAE进行度量[11]MAE通过计算预测的用户评分与实际的用户评分之间的偏差来度量预测的准确性,MAE越小,推荐质量越高。
设预测的用户评分集合表示为{p1,p2,,pN}对应的实际用户评分集合为{q1,q2,,qN},则36
算法自身的验证实验,分别对排名结果进行p@nMAPNDCG测量,1~3列出了在.gov数据集上分别使用上述2种排名模型得到的排名结果。
0.660.640.620.600.580.560.540.52051015202530特征数354045
50
55
NFS
SEA1p@n实验结果
排名模型
p@1p@2p@3p@4p@5RankingSVM0.610.590.580.560.55RankNet0.630.620.590.580.58p@6p@7p@8p@9p@10排名模型
RankingSVM0.530.520.500.490.50RankNet0.550.530.520.520.51
2MAP实验结果
SEAMAPRankingSVM0.440RankNet0.4472RankNetNDCG@10结果
4结束语
特征选择在文本分类中具有重要作用,本文首次将其应用到页面排名中,提出一种基于特征选择的网页排名算法。实验结果表明,本文算法可以有效提高页面排名准确度,进而解决推荐系统处理大规模数据面临的问题。
参考文献
[1]HerbrichR,GraepelT,ObermayerK.LargeMarginRankBoundariesforOrdinalRegression[M].Cambridge,USA:MITPress,2000.
[2]BurgesC,ShakedT,RenshawE,etal.LearningtoRankUsingGradientDescent[C]//Proc.ofthe22thInternationalConferenceonMachineLearning.Bonn,Germany:[s.n.],2005:89-96.
[3]GuyonI,ElisseeffA.AnIntroductiontoVariableandFeatureSelection[J].JournalofMachineLearningResearch,2003,3:1157-1182.
[4]KendallM.RankCorrelationMethods[M].Oxford,UK:Oxford
UniversityPress,1990.3NDCG@n实验结果
排名模型
NDCG@1NDCG@2NDCG@3RankingSVM0.4980.4830.473RankNet0.4950.4760.465排名模型
NDCG@4NDCG@5NDCG@6RankingSVM0.4610.4500.442RankNet0.4590.4580.4552个实验用于验证特征提取对提高排名结果的有效性。比较本文提出的SEA算法与使用所有特征词(即排名前不进行特征选择的算法NFS(None-FeatureSearch的页面排名结果,如图1和图2所示,验证了特征提取的有效性。
0.680.660.640.620.600.580.560.540.52051015202530特征数35404550
55NFSSEA
[5]RobertsonS.OverviewoftheOkapiProjects[J].JournalofDocumentation,1997,53(1:3-7.
[6]YatesRB,NetoBR.ModernInformationRetrieval[M].[S.l.]:
AddisonWesley,1999.
[7]JarvelinK,KedalainenJ.CumulatedGain-basedEvaluationofIR

Techniques[J].ACMTransactionsonInformationSystems,2002,20(4:422-446.1RankingSVMNDCG@10结果

编辑
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(上接第36页)
参考文献
[1]BreeseJ,HechermanD,KadieC.EmpiricalAnalysisofPredictiveAlgorithmsforCollaborativeFiltering[C]//Proc.ofthe14thConf.onUncertaintyinArtificialIntelligence.SanFrancisco,USA:[s.n.],1998:43-52.[2]AdomaviciusG,TuzhilinA.TowardtheNextGenerationofRecommenderSystems:ASurveyoftheState-of-the-artandPossibleExtensions[J].IEEETrans.onKnowledgeandDataEngineering,2005,17(6:734-749.[3],刑春晓,周立柱.个性化服务技术综述[J].软件学报,2002,13(10:1952-1961.[4].电子商务个性化——理论、方法与应用[M].北京:清华大学出版社,2007.[5]SarwarB,KarypisG,KonstanJ,etal.Item-basedCollaborativeFilteringRecommendationAlgorithms[C]//Proc.ofthe10thInternationalConferenceonWorldWideWeb.HongKong,China:


[s.n.],2001:285-295.[6]白丽君,刘君强,陈子侠,.一种解决协作过滤中矩阵稀疏性问题的算法[J].情报学报,2005,24(2:200-202.[7].个性化服务研究[D].长沙:中南大学,2007.[8]邓爱林,朱扬勇,施佰乐.基于项目评分预测的协同过滤推荐算[J].软件学报,2003,14(9:1621-1628.[9],徐德智,,.协作过滤算法中一种预测值判定方法的研究[J].小型微型计算机系统,2008,3(3:469-472.[10],王建东,叶飞跃,.一种基于用户聚类的协同过滤推荐算法[J].系统过程与电子技术,2007,29(7:1178-1182.[11]周军锋,,郭景峰.一种优化的协同过滤推荐算法[J].计算机研究与发展,2004,41(10:1842-1847.[12]DeshpandeM,KarypisG.Item-basedTop-NRecommendationAlgorithms[J].ACMTrans.onInformationSystems,2004,22(1:143-177.编辑索书志

39

免费下载 Word文档免费下载: 正在进行安全检测...

  • 29.8

    ¥45 每天只需1.0元
    1个月 推荐
  • 9.9

    ¥15
    1天
  • 59.8

    ¥90
    3个月

选择支付方式

  • 微信付款
郑重提醒:支付后,系统自动为您完成注册

请使用微信扫码支付(元)

订单号:
支付后,系统自动为您完成注册
遇到问题请联系 在线客服

常用手机号:
用于找回密码
图片验证码:
看不清?点击更换
短信验证码:
新密码:
 
绑定后可用手机号登录
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系 在线客服