您好, 访客   登录/注册

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

来源:用户上传      作者:

  摘 要:探讨算法设计流程、分析计算结果。
  关键词:人口统计学;聚类模型;协同过滤算法
  推荐系统是根据用户的兴趣建立模型的程序,推荐系统能分为基于用户行为的推荐系统、基于项目内容的推荐系统、基于人口统计学的推荐系统。在大数据环境下,推荐系统将人口统计学数据及语境感知等数据进行处理,通过复合系统保证推荐的准确度。
  一、算法设计流程
  (一)人口统计学下计算数据相似度
  用户相似度计算作为推荐算法的应用核心,准确性对推荐结果产生直接影响。从前使用的协同过滤推荐算法对用户相似度进行计算时,通过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.
转载注明来源:https://www.xzbu.com/1/view-15127893.htm