一种改进的基于用户属性聚类的推荐算法

2017-05-24 14:48王颖唐万梅
现代计算机 2017年11期
关键词:冷启动准确性聚类

王颖,唐万梅

(重庆师范大学计算机与信息科学学院,重庆 401331)

一种改进的基于用户属性聚类的推荐算法

王颖,唐万梅

(重庆师范大学计算机与信息科学学院,重庆 401331)

实际应用中的协同过滤推荐算法往往面临着用户冷启动、数据稀疏等问题。针对以上问题,拟采用用户的属性信息进行聚类进行优化,实验通过MATLAB平台在MovieLens数据集上验证所提出的算法的推荐准确性。

用户属性聚类;推荐算法;冷启动;数据稀疏

0 引言

互联网的普及和信息爆炸式增长,使网民遭遇了信息超载等诸多问题。以协同过滤推荐的提出[1]为标志的推荐系统(Recommender System)作为信息过滤系统的一个子类应运而生,它通过挖掘和分析系统用户行为数据如兴趣偏好、用户属性信息等帮助用户快速寻找满足其需求和兴趣的物品或信息。目前个性化推荐得到广泛关注并取得较大发展,但同时面临巨大挑战,如冷启动问题、数据稀疏问题等。

1 本文算法提出

针对推荐算法中的冷启动、数据稀疏等问题,研究者从不同角度对推荐算法进行了改进。文献[2]提出一种对用户离线聚类和在线寻找用户的最近邻的方法,文献[3]通过相似度的关联推荐进行了优化,文献[4]利用用户间的信息传递和层次聚类方法改进了推荐算法,文献[5]将谱聚类应用到用户聚类中去,通过构造拉普拉斯矩阵并选择和构造合适的特征向量空间并采用K-Means算法对特征向量进行聚类。还有很多研究者通过降维、语义分析、Jaccard相似度、奇异值分解、引入其领域知识等[6-10]方法解决数据稀疏问题。

本文使用用户属性而非评分信息寻找目标用户近邻,可以缓解新用户的冷启动问题,进一步通过聚类算法优化缓解数据稀疏对推荐准确性的影响,同时算法提高了推荐的准确性,算法主要思想是:首先对用户属性进行预处理,之后基于用户属性进行聚类,通过寻找目标用户u所属类找到目标用户的邻居集合,根据邻居用户对目标用户进行评分预测,把评分高的项目推荐给目标用户u。

2 本文算法实现

2.1 对推荐系统中的用户属性进行预处理(表1)

表1 用户属性预处理

2.2 使用K-Means算法对用户基于属性进行聚类

把用户基于属性聚为K类,且满足以下任一条件时迭代终止,具体代码如表下所示:

2.3 对目标用户u进行评分预测

需要注意的是,基于2.1小节四个属性(即numAttr=4)聚类,相似度计算公式如下,

例如,归一化后用户u和v的年龄属性值相同即Age(u)=Age(v),则记为Simage(u,v)=1,否则Simage(u,v)=0。同理计算gender、occupation、zipCode属性相似度。之后根据用户属性相似度预测目标用户u对项目i的评分:

2.4 评分预测准确性

目前推荐的准确性仍然是衡量一个推荐算法的关键指标,常见的推荐准确性评价指标有均方根误差(RMSE)与平均绝对误差(MAE),RMSE和MAE值的范围为(0,1),且值越接近0表示推荐结果的准确性越高,公式如下:

其中pi向量存放测试集中用户对n个项目的实际评分,qi存放用户对n个项目通过本文算法预测出的评分。

3 实验结果分析

实验使用数据是MovieLens数据集,包含用户943个,电影1682部,以及用户对电影逾100,000条评分,评分范围是0-5之间的整数,实验平台为MATLAB 2010b版本。

实验验证传统K-Means聚类推荐、Baseline算法[11]和本文算法(improved algorithm)在不同K上的表现(图1),以及本文算法在不同规模数据集上的推荐准确度(图2)。

实验表明本文算法评分预测准确性高于传统KMeans聚类推荐算法和本文选取参照的Baseline算法[11],且随着数据集增大,推荐效果越好。

4 结语

本文改进了基于用户属性聚类的推荐算法,在缓解用户冷启动和数据稀疏性问题以及提高推荐的准确性方面具有一定优越性,但聚类个数K与数据集规模、目标用户评分个数的联系有待进一步探索。

图1 Traditional K-Means、Baseline、Improved Algorithm算法对比

图2 本文算法在不同规模数据集上表现

[1]David Goldberg,David Nichols,Brian M.Oki,et al.Using Collaborative Fltering to Weave an Information Tapestry[C].Communications of ACM,1992,35(12):61-70.

[2]李涛,王建东,叶飞跃,等.一种基于用户聚类的协同过滤推荐算法[J].系统工程与电子技术,2007,29(7):1178-1182.

[3]郭晓波,赵书良,牛东攀,等.一种解决稀疏数据和冷启动问题的组合推荐方法[J].中国科学技术大学学报,2015,45(10):804-812.

[4]尹航,常桂然,王兴伟.采用聚类算法优化的K近邻协同过滤算法[J].小型微型计算机系统,2013,34(4):806-809.

[5]李振博,徐桂琼,査九.基于用户谱聚类的协同过滤推荐算法[J].计算机技术与发展,2014,24(9):59-67.

[6]姜维,庞秀丽.面向数据稀疏问题的个性化组合推荐研究[J].计算机工程与应用,2012,48(21):21-25.

[7]Gediminas Adomavicius,Alexander Tuzhilin.Toward the Next Generation of Recommender Systems:a Survey of the Tate-of-the-Art and Possible Extensions[J].IEEE Transactions on Knowledge and Data Engineering,2005,17(6):734-749.

[8]Schafer J B,Dan F,Jon H,et al.Collaborative Filtering Recommender Systems[M].[S.l.]:Springer-Verlag,2007:291-324.

[9]Jonathan L.Herlocker,Joseph A.Konstan,Al Borchers,et al.An Algorithmic Framework for Performing Collaborative Filtering[C].Proceedings of the 22nd Annual International ACM SIGIR Conference on Research and Development in Information Retrieval.Berkeley,California,United States:ACM,1999:230-237.

[10]陈宗言,颜俊.基于稀疏数据预处理的协同过滤推荐算法[J].计算机技术与发展,2016,26(7):59-64.

[11]张峻玮,杨洲.一种基于改进的层次聚类的协同过滤用户推荐算法研究[J].计算机科学,2014,41(12):176-178.

A Recommendation Algorithm Based on User Attributes Clustering

WANG Ying,TANG Wan-mei

(College of Computer and Information Science,Chongqing Normal University,Chongqing 401331)

Recommendation Algorithms in practical application are always faced with user cold start problem,data sparsity problem etc.In order to solve the problems above,proposes user attributes clustering method,and conducts experiments on MovieLens dataset through MATLAB to prove recommendation accuracy of the proposed algorithm.

User Attributes Clustering;Recommendation Algorithm;Cold Start;Data Sparsity

1007-1423(2017)11-0056-04

10.3969/j.issn.1007-1423.2017.11.011

王颖(1990-),女,硕士研究生,研究方向为推荐系统、数据挖掘

2017-03-30

2017-04-10

重庆市教改项目(No.yjg123040)、重庆师范大学校级项目(No.cyjg1205、No.201625、No.xyjg16005)

唐万梅,女,博士,教授

猜你喜欢
冷启动准确性聚类
一种傅里叶域海量数据高速谱聚类方法
轻型汽油车实际行驶排放试验中冷启动排放的评估
CT诊断中心型肺癌的准确性及MRI补充诊断的意义
Evaluation of Arctic Sea Ice Drift and its Relationship with Near-surface Wind and Ocean Current in Nine CMIP6 Models from China
基于PEMS试验的重型柴油车冷启动 排放特征研究
基于学习兴趣的冷启动推荐模型
浅谈如何提高建筑安装工程预算的准确性
理解语境与名句的关系,提高默写的准确性
面向WSN的聚类头选举与维护协议的研究综述
改进K均值聚类算法