APP下载

基于人口统计学的改进聚类模型协同过滤算法

2019-03-17蔡志远

中国民商 2019年12期

蔡志远

摘 要:探讨算法设计流程、分析计算结果。

关键词:人口统计学;聚类模型;协同过滤算法

推荐系统是根据用户的兴趣建立模型的程序,推荐系统能分为基于用户行为的推荐系统、基于项目内容的推荐系统、基于人口统计学的推荐系统。在大数据环境下,推荐系统将人口统计学数据及语境感知等数据进行处理,通过复合系统保证推荐的准确度。

一、算法设计流程

(一)人口统计学下计算数据相似度

用户相似度计算作为推荐算法的应用核心,准确性对推荐结果产生直接影响。从前使用的协同过滤推荐算法对用户相似度进行计算时,通过Spearman系数相似度展开计算,属于绝对指数的计算方式。在计算过程中,统计用户的年龄、性别、职业、文化程度等信息,从而确定用户群体的喜好,并根据以上属性进行聚类。用户人口统计属性向量利用(d1,d2....dn)表示,对用户在每一维度属性上的相似度进行计算,根据需求属性计算最终的相似度。可通过以下算法表示:

[sim(p,q)=knsim(pdk,qdk)×w(dk)](1)

在此公式中,n表示用戶的群体个数,sim(pdk,qdk)表示第p及q用户在dk上的相似性,w(dk)作为dk属性权值。决定指数相似性计算过程中,通过以下公式表示:

[sim(p.q)=e-m-1mrm,p-rm,q](2)

相对权值w(dk)作为dk属性对不同用户的能力进行划分,用户在dk属性两个维度上分值最高的项目t在不同个体的平均数利用ave(dk)表示,权值w(dk)通过以下公式计算:

[w(dk)=ave(dk)k=1nave(dk)](3)

通过以上三类公式能对两个群体在人口统计学上相似度进行计算。

(二)人口统计学下的数据用户聚类

针对人口统计学下的数据用户聚类方法,需建立在相似值之上,利用分层近邻传播聚类算法对用户进行聚类,结果中观察到同类用户与用户异类的属性差异。将用户集群U及用户相似度矩阵D输入后,根据上述公式进行计算,获得相似度矩阵的最大相似度:

[simmax=max(sim(u,v))](4)

二、结果

(一)数据聚合

利用Epimions及MovieLen(1M)数据聚合展开实践。Epimions聚合中含有enpinions.com上的5万个用户资料及13万的产品、70万评分、50万朋友关系等数据。MovieLen是美国研究的项目网站,主要含有电影评分,评分分为5级,1表示不喜欢,5表示非常喜欢,用户通过评分值表达对电影的喜爱,本次研究利用MovieLen(1M)、Epimions不同的数据聚合作为计算条件。

(二)计算框架

实验利用大数据计算框架MapReduce,实现对数据矩阵的高效处理,实现个性化的推荐功能。在实验中搭建3台虚拟机,第一台是NameNode节点,第二台是SecndNameNode节点,第三台是JobTracker节点。三台虚拟机均是DataNode节点,对Hadoop集群进行模拟,并利用MapReduce及Java实现。

(三)推荐结果

利用NDCG及ERR作为评价标准,训练数据选择60%及80%比例,特征维度D选择8及16两个维度。为对比DCCF方法结果,利用WEMF及BORMF、QMF等方法进行对比,将MF及Biased MF作为基准线。在NDCG及ERR评价标准上观察到准确率均比较明显,推荐准确性显著,结果见表1、表2。

三、结束语

基于人口统计数据对用户喜好进行计算,在传统的协同过滤算法上,将人口统计数据及HAP用户聚类算法结合,建立效果良好的推荐算法。通过实践显示,相比传统的过滤算法,新建立的算法精准度更高,满足用户对推荐产品的需求,为协同推荐算法应用提供条件。

参考文献:

[1]李艳娟,牛梦婷,李林辉. 基于蜂群K-means聚类模型的协同过滤推荐算法[J]. 计算机工程与科学,2019,41(06):1101-1109.

[2]李华平. 基于聚类和监督学习模型的协同过滤推荐算法研究[D].广东工业大学,2018.

[3]熊乐. 基于云模型和用户聚类的协同过滤推荐算法研究[D].华中科技大学,2016.