收稿日期:20140724;修回日期:20140901 基金项目:国家自然科学基金资助项目(30900328);杭州电子科技大学启动基金项目
(
KYS085612006)
作者简介:肖明波(1971),男,湖南沅江人,教授,主要研究方向为无线网络资源管理与优化、无线网络跨层设计、QoS技术等;郑鑫炜(1988),
男,浙江绍兴人,硕士,主要研究方向为个性化推荐系统(18069772477@163.com).
分步预测的协同过滤算法
肖明波,郑鑫炜
(杭州电子科技大学 通信工程学院,杭州 310018)
摘 要:针对数据稀疏性问题,对协同过滤推荐算法作了改进,提出分步预测的算法。算法先对评分矩阵作预
处理,重新排列矩阵元素的位置,使评分数据集中到矩阵左上角,并对评分数过少的用户进行部分填充;然后再
提取一个数据密度较高的子系统,用基于信任的算法填充其缺失值;最后通过不断向子系统里添加新用户、新项
目的方法实现分步预测的目的。通过在 MovieLens数据集上的实验结果表明,新算法可以有效地缓解数据稀疏
性问题,提高系统的推荐精度。
关键词:数据稀疏性;协同过滤;分步预测;准确度
中图分类号:TP391;TP301.6 文献标志码:A 文章编号:10013695(2015)11325603
doi:10.3969/j.issn.10013695.2015.11.012
Collaborativefilteringalgorithmwithstepwiseprediction
XiaoMingbo,ZhengXinwei
(CollegeofCommunicationEngineering,HangzhouDianziUniversity,Hangzhou310018,China)
Abstract:Thecollaborativefilteringrecommendationalgorithm hastheproblem ofdatasparseness.Inordertosolvethis
problem
,thispaperputforwardanewalgorithmwithstepwiseprediction.Itfirstlypreprocessedthescoringmatrix:rearranged
thelocationofthematrixelementstoconcentratethevaluestotheleftuppercornerandfilledpartofuser’smissingdatawhen
itscoredtoolessprojects.Thenitextractedasubsystemwithhighdatadensityfromscoringmatrixandfilledthemissingva
luesbytrustbasedcollaborativefilteringalgorithm.Finallyitachievedstepwisepredictionbyconstantlyaddingnewuseror
newproject.TheexperimentalresultsonMovieLensdemonstratethatthenewalgorithm caneffectivelyalleviatethedata
sparsenessproblemandimprovetheaccuracy.
Keywords:datasparseness;collaborativefiltering;stepwiseprediction;accuracy
!
引言
随着计算机技术的迅猛发展,信息化时代已经到来。现在
互联网上充斥着海量的数据,人们可以通过电脑获得各种各样
的信息,但同时也出现了信息过载和暗信息的现象
[1]
。面对
纷繁杂乱的信息,人们往往无从下手,陷于信息迷航的困境。
个性化推荐是解决该问题行之有效的手段。它通过分析用户
网上的历史信息,如购买经历、浏览记录等,来预测用户可能感
兴趣的内容,并把这些内容推荐给他。这样不仅可以减少用户
搜索的时间,还可以推荐用户潜在的兴趣。个性化推荐系统已
经在互联网中得到了广泛的应用,并取得了良好的效果。在众
多的推荐系统中,协同过滤推荐系统可以推荐无法进行内容分
析的产品,研究最早,应用最广泛,性能也较优越。但是协同过
滤推荐系统也存在诸多瓶颈问题,其中最主要的是数据的稀疏
性
[2,3]
。现在一般采用数据填充
[4,5]
和降维
[6~8]
等方法来缓
解数据的稀疏性问题。
夏建勋等人
[4]
直接将用户评分的平均数、中位数和众数
填充未知评分,提高评分矩阵的数据密度,然后再通过协同过
滤算法进行评分预测。上述三种方法在同一用户的未知评分
处填充的数值都是相同的,虽然操作简单、容易实现,但并不符
合实际情况,因为用户不可能对所有项目打同样的分数。所以
这种填充方法虽然增加了许多购买信息,但这些信息非常不准
确,由此得到的预测评分其精度也不是很高。张玉芳等人
[9]
提出,首先只将相似度和共同评分过的项目数达到一定阈值的
用户作为目标用户的最近邻居,并通过协同过滤算法填充一部
分的未知评分,这样评分矩阵的数据密度就可以有所提高;然
后在此基础上重新计算相似度并填充剩下的缺失值。这种方
法补充的信息量十分有限,只在一定程度上缓解了数据稀疏性
的问题,而且对于购买记录较少的用户根本找不到共同评分过
的项目数以达到阈值的近邻。
Karatzoglou等人
[7]
采用张量分解技术,方耀宁等人
[10]
通
过奇异值分解技术,周子亮
[11]
采用非负矩阵分技术都实现了
矩阵降维的目的。降维后的评分矩阵在形式上显得较稠密,因
此可以找到更多的近邻。但是矩阵降维不仅没有增加新的信
息,反而不可避免地会造成信息的损失,这会影响相似度计算
的准确性。Wang等人
[12]
采用 Kmeans聚类的方法,使同一聚
类中的用户具有较高的相似度。但是采用聚类的算法本质上
只是将相似度较小的用户分割开来,缩小了近邻搜索的范围。
它也没能增加额外的信息,反而减少了近邻的数量;而且基于
聚类的算法只能推荐同类的商品,存在很大的局限性。
第 32卷第 11期
2015年 11月
计 算 机 应 用 研 究
ApplicationResearchofComputers
Vol.32No.11
Nov.2015