基于用户的协同过滤推荐算法研究及应用

时间:2022-07-21 06:23:25

基于用户的协同过滤推荐算法研究及应用

【关键词】推荐系统 协同过滤算法 人口统计 惩罚函数

1 引言

经过近二十年的研究,个性化推荐系统己经建立了一套比较完备的理论依据和框架,在各领域的实际应用中也取得了一定的成功,并且个性化推荐系统也已成为未来互联网发展中极其重要的组成部分。但是,伴随着互联网应用发展的多样化,各种新的应用形式层出不穷,互联网用户和信息的规模急剧增加,推荐系统的发展将面临新的挑战,传统推荐系统中没有考虑和重视的问题也正影响这推荐系统的进一步发展和应用。目前,个性化推荐系统面临的问题主要是稀疏性问题。本文旨在针对现有协同过滤推荐算法由于数据稀疏性造成的准确度低的现象,对传统的协同过滤推荐系统的推荐算法进行改进。

2 基于人口统计的协同过滤算法

基于人口统计的协同过滤推荐算法相对于其他协同过滤算法来讲更容易实现。基于人口统计的协同过滤推荐算法利用用户的人口属性特征来计算用户相似度,不依赖用户-项目评分矩阵。因此,基于人口统计的协同过滤推荐算法可以避免冷启动问题和数据稀疏性问题。虽然基于人口统计的协同过滤推荐算法可以解决传统协同过滤推荐算法的两大难题,但是如何准确的获得用户的人口统计信息是该算法的一大难题。大量的实验数据表明,单独使用基于人口统计的协同过滤推荐算法,较传统的协同过滤推荐算法来讲,推荐效果并没有明显的改善。

3 基于惩罚函数的相似度平滑算法

当用户共同评分项目数量极少时,如果继续用传统的相似度计算方法计算用户间相似度,这样用少量的数据样本替代整体样本统计特性,那么会造成计算的相似度无法反应出用户间的真实相似性。将惩罚函数引入传统相似度的计算中,对共同评分项目极少情况下的相似度计算进行平滑,从而降低过度估计带来的影响。

4 改进的基于用户的协同过滤算法

本文改进的基于用户的协同过滤算法,在平滑共同评价的协同过滤算法基础上,进一步考虑人口统计相似度,来减少用户知识背景差异对推荐结果带来的影响,得到融合的相似度计算公式(1)。先使用传统的协同过滤算法找到基于用户的pearson相似度,在此基础上利用惩罚函数计算出改进的pearson相似度;然后进一步比较平滑共同评价的相似度与人口统计相似度,从而提高预测的准确性。

在得到目标用户i的相似集U(i)后,计算用户i对项目u的预测评分Pi,u。这样得到的预测评分既考虑了用户的共同评价问题,又融合了用户的人口统计信息。

5 实验结果与分析

为了验证改进的协同过滤算法的有效性,使用明尼苏达大学GroupLens研究小组提供的Moivelens数据集对该算法进行实证分析,采用平均绝对误差(MAE)来衡量推荐结果的好坏。平均绝对误差通过计算预测的用户评分与实际的用户评分之间的偏差度量预测准确性,MAE越小,推荐质量越高。

实验在整个数据集中随机抽取80%的数据作为实验的训练集,剩下的20%数据作为实验的测试集。在实验的训练集上分别通过基于用户的协同过滤推荐算法和基于人口统计与平滑共同评价的协同过滤算法计算,得到针对每个用户的电影预测评分。在实验测试集中算计选取100个用户,进行算法的准确性测试,使用平均绝对误差MAE来评价,实验结果见图1。

实验结果表明,比起传统的基于用户的协同过滤算法,改进的协同过滤算法的平均绝对误差MAE明显降低。说明改进的协同过滤算法明显好于传统的基于用户的协同过滤算法。

6 结束语

本文在传统的基于用户的协同过滤算法上,使用惩罚函数来缓解共同评价过少情况下,用少量的样本数据代替整个数据的统计特性使相似度的计算值与实际值出现较大偏差的问题,从而改进传统的协同过滤算法。在此基础上,进一步分析改算法存在的缺点,提出同时使用基于人口统计的协同过滤算法。使用级联式的基于人口统计与平滑共同评价的协同过滤算法,找到新的融合相似度。这样在为目标用户预测时,既考虑了用户评价过少而引起的过度估算的情况,又为用户找到了背景知识相似的用户的喜好,有效提高了预测的准确度。实验在Moivelens数据集上进行,验证了本文提出的改进的推荐算法的预测结果。

参考文献

[1]Yi-Fan W U,Wang H R.Collaborative filtering algorithm using user background information[J].Journal of Computer Applications,2009,28(28):2972-2974.

[2]Resnick P,Varian HR.Recommender systems[J].Communications of the ACM,1997,40(3):56-58.

上一篇:推进金保工程信息化建设的几点思考 下一篇:继电保护中的人工智能技术分析