赵智 韩丹
摘要:对基于余弦相似性、相关相似性与项目评分的CF算法进行了性能对比与评价,对其在个性化推荐系统中的应用、面临的问题以及相应的解决方法进行了分析与研究。
关键词:个性化推荐系统;相似性;协同过滤算法;平均绝对偏差
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)27-6459-02
目前,国际电子商务市场已成为发展最快的市场之一,能否利用有限的资源快速找到用户所需是抢占市场商机的关键。最近邻居技术在个性化推荐系统中是目前最成功的。他的基本算法是先找到评分相似的最近邻居,然后根据最近邻居的评分数据向目标用户推荐。这种推荐技术的结果成功率非常高,与目标用户的实际需求非常相似。它并不依赖于对这些商品必须有的文本描述,而是通过构造用户对项目的偏好数据集来实现,因此在个性化推荐系统中成为一项很受欢迎的技术。
1 协同过滤算法的分类
目前主流的协同过滤算法有两类:基于内存和基于模型的协同过滤算法。1基于内存:参与计算的数据集是用户—项目数据库;2基于模型:先利用各种机器学习的方法离线建立模型。模型的数据来源是用户的评分数据。模型建立完成后,根据目标用户的对其它项目的实际评分,得到用户对目标项目的预测结果。该文主要探讨基于模型的协同过滤算法。
2 最近邻协同过滤算法
3.3 三种相似性算法分析
基于余弦夹角的相似性度量方法:此方法在计算中将目标用户对项目的评分假设为n维空间上的向量。通过计算求得向量间夹角的余弦值。余弦值越小,两用户的相似度越高。为避免数据极端稀疏,将用户没有评分的项目评分都假设为0分。但实际应用中,用户对未评价项目的评分不能全部为0,因此这种算法的可信度不高,相似性计算不准确。从实验结果中可以看出MAE值相对较高。基于相关相似性的相似性计算方法:在该算法中所有参与计算的数据均为真实数据。但在实际应用中,两个用户共同评分的项目极少。这种计算方法使得两个用户仅对一个项目评分,也可计算出较高的相似性,这与事实不符。实验结果显示基于相关相似性的MAE值略低于基于余弦相似性的MAE值。基于项目评分的协同过滤算法:为增加参与计算的数据量,该算法通过计算用户对未评价项目之间的相似性,从而预测出用户对未评价项目的评分,丰富了参与相似性度量的数据。实验结果显示,该算法的MAE值最小,推荐质量越高。但是,该算法的时间复杂度较高为O(n4) ,计算较为复杂,因此必须离线进行。
4 结束语
本文对基于余弦相似性、相关相似性和项目评分的协同过滤算法进行了性能对比。实验结果表明,协同过滤算法中相似性度量的计算,既要考虑参与计算的数据数量又要考虑参与评价的数据的真实性。由于协同过滤技术多用于在线的电子商务系统,因此还要考虑到算法的效率问题。下一步应考虑在基于项目评分的相似性度量方法基础上,提高计算效率。
参考文献:
[1] 白丽君,张永奎,陈鑫卿.协作过滤研究概述[J].电脑开发与应用,2002,15(11).
[2] 邓爱林,朱扬勇,施伯乐.基于项目评分预测得协同过滤推荐算法[J].软件学报,2003,14(9):1621-1628.