山东农业大学学报(自然科学版),2013,44(4):616—619 Journal of Shandong Agriculturla University(Natural Science) 基于用户特征分解的协同过滤冷启动解决算法 刘旭东 ,吴旭军 ,陈德人2,贾丽虹 (1.烟台职业学院信息工程系,山东烟台264670; 2.浙江大学计算机科学与技术学院,浙江杭州310027) 摘要:协同过滤中的冷启动问题是个性化推荐系统的一个难点,本文提出了一种基于用户特征分解的解决算法。 首先构建了用户表示矩阵同时为保证不同用户评价的可比性,把每个用户的评价向量进行标归一化处理得到标 准用户评价矩阵然后将两者进行合成得到用户特征对资源的标准评价矩阵。当新用户表示为用户特征向量,与 特征评价矩阵合成得到新用户的预测评价向量,从而进行个性化推荐。基于MovieLens数据集进行的实验表明, 该算法可以一定程度上解决系统冷启动问题,提高系统推荐质量。该算法还可以很方便地推广解决新资源的冷 启动问题。 关键词:用户特征;协同过滤;冷启动;评价矩阵;特征表示矩阵 中图分类号:TP391 文献标识码:A 文章编号:1000—2324(2013)04—0616—04 M THoD To SOLVE COLD—S IIART PROBLEM CoLLABORAT【、,E FIL-I1即RD G BASED oN USERS CHARACTERIsTIC DECO Ⅱ OSITIoN UU Xu—dong ’,WU Xu—jun ,CHEN De—ten ,JIA Li—hong (Department of Information Engineering,Yantai Vocational College,Yantai 264670,China 2.College of Computer Science and Technology,Zhejiang University,Hangzhou 310027。China) Abstract:Cold—-Start Problem in Collaborative Filtering is a dificult problem in personalized recommendation system.The new method is put forward based on users characterisitc decomposiiton.Firstly.users characteristic representing matirx is designed,standard users evaluative matrix is builded by unitary processing.touser,euaUu— ative on parabinty of diferent usersis promised.Secondly,combination of users characteristic denotation matrix and standard users evaluative matirx call calculate standard evaluative matrix of characteristic—resource.New user can be denoted user evaluative vector,forecasted evaluative matrix of new user carl calculate by combining characteristic evaluative matirx and personalized recommendation Can carryd out.The experimental results based on MovieLens data set showed tllat the improved algorihtm could solve the Cold—Start Problem.and it Can im. prove the accuracy of system recommendation signiifcantly. e method solves cold—start problem of new re— source effectvely. Key words:Users Characteristic;collaborative filtering;cold—Start,evaluative matrix;characteristic represen- tation matrix 信息技术的快速发展给我们获取信息带来了便捷,如何从海量信息中快速筛选得到人们需要的信息 成为人们普遍关心的问题。个性化推荐系统的目标就是推荐最合适的资源给最需要的用户。根据推荐算 法的不同,目前个性化推荐系统分为基于规则(Rule—based)的推荐系统、基于内容(Content—based)的 推荐系统、协同过滤(Collaborative Filtering)推荐系统…。其中协同过滤推荐系统是应用最广泛、最成功的 推荐系统 引。但这些推荐多数是基于用户的一些历史行为而做出的。如果有足够的历史记录,协同过‘ 收稿日期:2012—07—05 基金项目:山东省高等学校科技计划项目(J12LN73),山东省艺术科学重点课题(2012445) 作者简介:刘旭东(1976一),男,山东龙口人,副教授,研究方向为电子商务推荐系统和软件工程。 ‘通讯作者:Authorfor correspondence.E—mail:ytlxd76@126.conr 第4期 刘旭东等:基于用户特征分解的协同过滤冷启动解决算法 ・617・ 滤推荐方法往往比其他推荐方法要好。然而协同过滤方法存在严重的冷启动问题,即当有新的用户、新的 资源时,协同过滤就无法完成推荐过程 。 ’ 本文针对冷启动问题,提出了一种基于用户特征分解的协同过滤冷启动解决算法,根据用户特征表示 矩阵,把用户评价矩阵按照用户特征进行分解,得到用户特征对资源的评价矩阵。对于新用户,用户特征 向量表示,已与有的用户特征评价进行合成得到用户评价向量,对向量进行排序即可得到排序资源。当新 用户对推荐资源评价后,可以用来更新用户评价矩阵和特征表示矩阵。 1 问题描述 无论用户还是资源,我们都可以对其进行特征描述。以大学图书馆的用户和图书资源为例,用户可以 根据不同原则进行区分。如按照学历层次分:博士生、硕士生、本科生;按照专业分:文科生、理科生;按照 性别分为男生、女生。图书资源按照刊物类型分为:教材、期刊、报纸;按照内容分为:社科图书、专业图书 等 ]。通过对用户借阅图书资源情况以及用户对图书资源的评分情况的进行统计,可以得到所有用户构 成的用户集合 :{ ,l 凡}对所有资源构成的资源集合 :{ ,I .Lm}的评分矩阵,即评价矩阵。因 此,我们可以根据用户集合 与资源集合R的组合关系表示评价矩阵,如下式。 .S( ,R):{ (“ ,rJ),l n,1 m} (1) 表1用户集合U与资源集合R的评价矩阵 Table 1 The assessing matrix of user sets U to resource sets R £2 £旦! £ 用户”1 n … u… 1 -●● ●●● ●●● -●● … … 用户 n … … 。 … ●●● ●●● … … … 用户M snl … … s 我们用所有用户特征构成特征集合c:{C ,1 Z},构成对用户集合 :{ ,l }的表示矩阵, 如下式。 (C,U):{6 (c , ),l z,1 n} (2) 表2特征集合C对用户集合U的表示矩阵 Table 2 The representing matrix of characteristic sets Cto user sets U ul 用 u‘ 用尸u ●●● …・ User User User 通过对评价矩阵的研究我们可以发现,含有共同特征的用户感兴趣的图书资源也比较接近,评价也比 较接近。因此,为解决协同过滤中的冷启动问题,对于一个新用户,同样采用用户特征向量表示。然后根 据特征评价矩阵,计算该用户各特征对资源的综合评价,最后合并预测用户评价得到评价排序前列的资 源,推荐给新用户。 2算法描述 . 2.1特征评价矩阵的构造 需要说明的是,评价矩阵Is( ,R)中元素的取值是用户在预先设定的分值范围内选择的分值,然而用 户再给资源评价时由于个体的差别,给出评分的范围并不是严格符合预先设定的分值范围,为了下一步的 评价综合处理,需要对评价矩阵进行归一化处理得到归一化评价矩阵s V,R)。其中用户ui对所有资源 ・618・ 山东农业大学学报(自然科学版) 第44卷 Si{一m (Si;) 的归一化评分为:s j _】 J_ ,l i n, j m (3) 另外,表示矩阵B(C,0)中元素的币值为二进制分解,即表明当前用户是否拥有该特征,无则币零值, 有则币非零值。然后根据用户表示矩阵对用户评价矩阵进行分解,得到特征集合对资源集合的关系矩阵, 即得到用户特征对资源的评价矩阵,如式(4)一(6)。 F(c,R):{fk (ck,rj),1 k l,1 j m} 这样得到各用户特征的评价矩阵,如表3所示。 表3特征集合C对资源 的评价矩阵 Table 3 The assessing matrix of characteristic sets C to resource sets R (4) 2.2对新用户的资源推荐 如何向新用户推荐最为可能感兴趣的资源是本文的核心,即协同过滤中的冷启动问题。对于一个新 用户,首先要根据用户特征3集合对用户进行描述,得到新用户ux的特征向量如表4所示。 表4新用户“ 的特征向量 Table 4 The characteristic vector of new user u B(“ ,C):{b姓(U,,c ),1 Z} (7) (8) (9) s ( ,R):B(Ⅱ ,C)× (C,R) s ( ,r,)=b 1・ l+…b +…b ・ 将新用户特征向量与特征评价矩阵相乘,得到新用户对所有资源的预测评价向量。 根据新用户预测评价向量s ( ,R)对所有资源进行排序,根据需要选择前列的若干资源作为新用户 的推荐资源。 2.3 系统更新 .当新用户对推荐资源进行评价得到新的确认评价向量S(u ,R),将其新增至用户评价矩阵S(U,R) 和用户特征表示矩阵 (c,D),重新计算得到特征评价矩阵F(C, ),即可完成用户数据集合的迭代修正 更新,为下一个新用户感兴趣的资源进行预测。 2.4算法流程 本文提出算法的流程图如图1所示。 3仿真实验 为验证本文提出的算法性能,采用MovieLens站点提供的数据集 。该数据集包括943个用户对l 682部电影的100 000条评分记录以及这些用户的年龄、性别、职业特征、地区等特征信息。所有的评分值 也都是1到5中的整数值,其中分数越高表示客户对该电影的评价越高。实验过程中,采用平均误差(简 称MAE)评价预测值与实际值之间的偏差,偏差越小,预测的精度越高,推荐质量越高。设预测的用户评 分集合表示为{P ,P ,…,P },对应的实际用户评分集合为{q ,q ,…,q },则平均误差MAE定义为MAE 第4期 Ip —q 刘旭东等:基于用户特征分解的协同过滤冷启动解决算法 ・619・ (1O) N 图1算法流程图 图2算法性能比较 Fig.1 The algorithm flow chart iFg.2 The comparison of algorithms’performance 仿真中将本文提出的算法与传统的众数算法相比较。众数法是指采用用户对所有评价过的项目的评 分个数最多的那个值作为对未评价项目的预测评分值 。仿真中从数据集中随机抽取80%的评分数据, 再从中抽取2O个用户作为新用户,将其评分清空。算法处理后的预测评分与原始评分计算平均误差 MAE。以用户特征数为横坐标,对比不同用户特征数条件下的算法性能,蒙特卡洛次数200次。 从图2可以看出,传统的众数算法性能与用户特征数量无关,本文的算法随着用户特征数的增加,均 优于众数算法,且算法性能逐步收敛至稳定值,说明用户特征数的增加会提高特征预测的准确度,但不是 无限提高,而是提高到一定的水平。这主要是因为用户特征数的增加一方面挖掘了更详细的用户特征信 息,使预测更为准确,另一方面用户评分数据的误差也会随之放大,了预测准确性的提高。 4结论 本文提出一种基于用户特征分解的协同冷启动解决算法,根据用户表示矩阵,把用户评价矩阵按照用 户特征进行分解,得到用户特征对资源的评价矩阵。对于新用户,用用户特征表示向量来表示,已与有的 用户特征评价矩阵进行合成运算即可得到用户对资源评价的预测向量,对向量进行排列即可得到推荐资 源。当新资源对推荐资源做出评价后,可以用来更新用户评价矩阵和用户特征表示矩阵。 本文的算法还可以推广至新资源的冷启动问题,类似的,当新资源出现时,可以同样采用上述特征分 解方法进行资源特征分解,得到用户感兴趣程度排序,进行选择最感兴趣的用户。 参考文献 [1]Burke R.Hybrid recommender systems:Survey and expeirments[J].User Modeling and User—Adapted Interaction[J].2002,12(4):331— 370 [2]Cohen W W,Fan W.Web collaborative iflteirng:Recommending music by crawling the Web[J].Computer Networks,2000,33(1-6):685— 698 [3]Gmco G,Greeo S,Zumpano E.Collaborative lfitering supporting Web site navigation[J].AI Communications,2004,17(3):155—166 [4]Vezina R,Militaru D.Collbaorative iflteirng:Theoretical positions and a research agenda in marketing[J].International Jounral of Technology Management,2004,28(1):31—45 [5]孙冬婷,何涛,张福海.推荐系统中的冷启动问题研究综述[J].计算机与现代化,2012.201(5):59—62 [6]罗喜军,王韬丞,杜小勇,等.基于类别的推荐——一种解决协同推荐中冷启动问题的方法[J].计算机研究与发展.44(supp1.)2007. 29O_295 [7]KARAFYLLIS I.Finite—time ̄obal stbailization by mena8 oftime—varying distributed delay feedback[J].SIAM J Control Opt/m,20o6。45 (1):320—342 [8]孙少华.协同过滤系统的稀疏性与冷启动问题研究[D].杭州:浙江大学,2005