面向个性推荐系统的协同过滤推荐算法研究

2019-08-26 01:35黄杰张鑫烨张锦涛
数字技术与应用 2019年5期
关键词:协同过滤推荐系统

黄杰 张鑫烨 张锦涛

摘要:在信息过载的时代,推荐系统应运而生。协同过滤推荐系统算法是应用最成熟最广泛的推荐技术。本文模拟电影推荐这一场景,应用了协同过滤推荐系统下不同推荐算法,并将推荐质量进行对比得出一个相对客观的实验结论。

关键词:推荐系统;协同过滤;個性化推荐

中图分类号:TP311 文献标识码:A 文章编号:1007-9416(2019)05-0136-01

0 引言

随着信息技术和互联网的发展,信息过载给用户和生产者都带来不小的挑战。而推荐系统的产生正是为了应对用户需求不明确以及长尾信息等问题。推荐系统通过分析用户的历史行为给用户的兴趣建模,从而为用户推荐满足其兴趣和需求的信息。如今,协同过滤推荐系统应用到各类电商平台,如亚马逊、京东商城等等。在电影推荐领域,Netflix公司是最为成功的公司之一,其应用协同过滤推荐算法中基于物品的推荐算法。本文针对3种基于模型的协同过滤推荐算法,将其应用在模拟的电影评分环境中,并对其进行分析。其中包括:Slope One、SVD、SVD++。

1 协同过滤推荐算法

协同过滤的基本思想是,如果用户在过去有着某种偏好,那么在未来也会有相似的偏好。基于此,如果两个用户的偏好有大量重叠,那么可以在他们之间进行项目的相互推荐。由于选择感兴趣的项目来自从大量集合中过滤出来的结果,而且用户是在隐式地与其他人相互协作,因此这种技术称为协同过滤。

目前,协同过滤推荐算法大致分类两类:基于记忆的协同过滤算法和基于模型的协同过滤算法。其中基于记忆的协同过滤推荐算法又分为基于用户的最近邻推荐和基于物品的最近邻推荐。

1.1 基于用户的最近邻推荐

通过对目标用户的历史行为数据发现用户对商品的喜好。然后,找出与目标用户过去有相似偏好的其他用户,即寻找目标用户的最近邻。针对目标用户没有见过的项目i,利用其近邻对i的评分计算预测值。若结果是积极的,则向目标用户进行推荐。

1.2 基于物品的最近邻推荐

通过不同用户对不同物品的评分或其他行为(如加入心愿单,分享给他人,评价等)来量化物品间的关系,从而找到物品的最近邻。若目标用户对物品i的态度为积极的,并且物品j是物品i的邻居,那么,将物品j推荐给目标用户。在实践中会将用户对物品的态度量化,从而进行更加精准的推荐。

1.3 基于模型的推荐算法

基于模型的推荐方法首先会离线处理原始数据,如利用某些降维技术。运行时,只需要预计算或“学习过”的模型就能预测。

2 电影推荐系统的推荐算法

在Netflix竞赛中,参赛队伍使用基于模型的推荐算法能有效提高推荐系统的预测准确率。基于此,介绍三种常见的基于模型的推荐算法,并应用于实验。实验数据是Netflix公司比赛的三万余条用户对电影的评分。本文按照8:2的比例划分训练集和测试集。以RMSE(均方根误差)作为评价指标。其中,RMSE值越小,则预测质量越佳。

2.1 Slope One算法

算法思想:基于一种简单的线性回归模型进行预测。

算法原理:将用户的评分之间的关系看作简单的线性关系:Y=X+b。

(1)根据评分矩阵计算两两项目之间的偏差;

(2)根据偏差数据为用户未评分商品做出推荐列表。

2.2 SVD算法

算法思想:基于奇异值分解模型进行预测。

算法原理:将庞大且稀疏的用户评分矩阵利用SVD算法映射到低维空间,然后计算低维空间中未评分项目与其他项目间的相似度,计算预测评分,然后将预测评分从高到低进行排序,返回前N个项目对用户进行推荐。即通过压缩矩阵,提取重要特征后进行计算并推荐。比如,电影特征直观而言可有惊悚片,喜剧片这种明显的划分。

2.3 SVD++算法

算法思想:SVD++算法是SVD算法的一种改进,同样是基于奇异矩阵分解模型的一种算法。

算法原理:SVD++算法在SVD算法的基础上引入隐式反馈,使用用户的历史浏览数据、用户历史评分数据、等作为新的参数。计算用户对未知项目的评分后,通过均方根误差量化评分质量,加入正则化参数的意义在于防止过拟合。

3 算法应用结果

Slope One预测结果:RMSE: 0.835657411324  SVD预测结果:RMSE: 0.813470466441

SVD++预测结果:RMSE: 0.816237015507

4 结语

由于不同环境下运行结果具有差异性,分别在多台机器上进行了测试。初步得出结论:SVD++算法推荐效果相对更加精确。Slope One算法运行速度快,其理论上相对简单,没有实现个性化的推荐;SVD和SVD++是一种相对基础的算法,在此基础上不断进行改进,如timeSVD++算法是一种考虑了时间感知的算法。在推荐系统方面,将各个方面的知识融会贯通,推荐系统会更加人性化、智能化。

参考文献

[1] 王国霞,刘贺平.个性化推荐系统综述[J].计算机工程与应用,2012,48(7):66-76.

[2] 吴扬,林世平.基于正负反馈矩阵的SVD推荐模型[J].计算机系统应用,2015,24(6):14-18.

猜你喜欢
协同过滤推荐系统
基于用户偏好的信任网络随机游走推荐模型
改进的协同过滤推荐算法