文档介绍:基于人口统计学的改进聚类模型协同过滤算法
摘 要:探讨算法设计流程、分析计算结果。
关键词:人口统计学;聚类模型;协同过滤算法
推荐系统是根据用户的兴趣建立模型的程序,推荐系统能分为基于用户行为的推荐系统、基于基于人口统计学的改进聚类模型协同过滤算法
摘 要:探讨算法设计流程、分析计算结果。
关键词:人口统计学;聚类模型;协同过滤算法
推荐系统是根据用户的兴趣建立模型的程序,推荐系统能分为基于用户行为的推荐系统、基于项目内容的推荐系统、基于人口统计学的推荐系统。在大数据环境下,推荐系统将人口统计学数据及语境感知等数据进行处理,通过复合系统保证推荐的准确度。
一、算法设计流程
(一)人口统计学下计算数据相似度
用户相似度计算作为推荐算法的应用核心,准确性对推荐结果产生直接影响。从前使用的协同过滤推荐算法对用户相似度进行计算时,通过Spearman系数相似度展开计算,属于绝对指数的计算方式。在计算过程中,统计用户的年龄、性别、职业、文化程度等信息,从而确定用户群体的喜好,并根据以上属性进行聚类。用户人口统计属性向量利用(d1,d2....dn)表示,对用户在每一维度属性上的相似度进行计算,根据需求属性计算最终的相似度。可通过以下算法表示:
[sim(p,q)=knsim(pdk,qdk)×w(dk)](1)
在此公式中,n表示用戶的群体个数,sim(pdk,qdk)表示第p及q用户在dk上的相似性,w(dk)作为dk属性权值。决定指数相似性计算过程中,通过以下公式表示:
[sim()=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)数据聚合展开实践。、70万评分、50万朋友关系等数据。MovieLen是美国研究的项目网站,主要含有电影评分,评分分为5级,1表示不喜欢,5表示非常喜欢,用户通过评分值表达对电影的喜爱,本次研究利用MovieLen(1M)、Epimions不同的数据聚合作为计算条件。
(二)计算框架
实验利用大数据计算框架MapReduce,实现对数据矩阵的高效处理,实现个性化的推荐功能。在实验中搭建3台虚拟机,第一台是NameNode节点,第二台是SecndNameNode节点,第三台是Jo