Spark框架下受众分群及矩阵分解算法研究.docVIP

Spark框架下受众分群及矩阵分解算法研究.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Spark框架下受众分群及矩阵分解算法研究

Spark框架下受众分群及矩阵分解算法研究   【摘要】 本文针对协同过滤推荐算法中存在的矩阵稀疏问题,提出了基于聚类和矩阵分解的推荐算法,并结合隐式反馈信息构建的电视用户收视偏好模型,将推荐算法应用有电视动画受众分群和推荐中。针对受众分群和节目推荐所使用的聚类算法和推荐算法涉及大量的迭代计算的问题,采用了高效的分布式计算系统――Spark进行电视动画节目推荐研究。该方法提高了推荐准确度,运行时间明显减少,具有较强的可扩展性。   【关键词】 Spark 受众分群 矩阵分解 推荐 电视动画 节目标签   引言   推荐算法是目前应用较广的数据挖掘技术,在学术研究和应用方面都得到了广泛关注。Shihang H[1]在MapReduce上实现了对网络服务的协同过滤推荐,而MapReduce并不擅长推荐算法的迭代计算;Jing M[2]构建了大规模的广告推荐系统;Duo L[3]提出了基于统计模型的推荐方法,以解决协同过滤算法中的矩阵稀疏问题,并将其应用于用户行为分析及推荐中;YiBo H[4]提出了基于聚类的协同过滤推荐算法,但其涉及的迭代式计算较多,致使无法实现较高的效率。Manda W[5]等人在Spark上实现了基于ALS模型的协同过滤推荐。结合以上研究以及存在的问题,文本利用Spark在内存计算和迭代计算上的优势,提出了Spark框架下受众分群及聚类分解的推荐算法,将其应用于广电动画节目受众推荐研究中。本文使用隐式反馈信息构建“用户-标签”收视偏好模型,通过聚类划分用户簇实现受众分群,然后使用矩阵分解的推荐算法针对不同的用户簇进行推荐,可进一步降低矩阵的稀疏性。使用“用户-标签”收视偏好模型进行受众分群,一方面可以通过标签实现对用户的肖像刻画,另一方面可以使得各用户簇的特性更加直观。   一、用户收视偏好模型   动画节目受众分群和推荐需基于用户收视偏好模型,本文使用隐含在用户与节目交互之中的隐式反馈信息构建该模型,包括二元数据(如用户是否观看了某个动画节目)和计数数据(如用户收看某动画节目的收视时长、收看次数)[7]。   1.1“用户-标签”偏好模型   使用爬虫技术获取动画节目标签并与用户收视数据结合,形成“用户-标签”基本模型,使用收视时长、节目播出时长重构出“用户-标签”偏好模型的特征――忠诚度和兴趣度,构成“用户-标签”偏好集合:IL={L1,L2},L1、L2分别表示用户对节目的忠诚度和兴趣度。   忠诚度:某用户收视含某标签的节目总时长与含该标签的节目播出总时长的关系,表征该用户对某标签的忠诚程度。如式所示:   原始的收视偏好矩阵很稀疏,通过矩阵分解可有效降低收视矩阵的稀疏程度[6]。矩阵分解的求解方法很多,常用方法有:最小二乘迭代法ALS和随机梯度下降法SGD。   ALS模型中,对R≈PQT固定P求解Q,然后再固定Q求解P,重复交替这两步直至算法收敛[5]。本文基于Spark分布式计算框架,因此采用更易于分布式计算的ALS算法。   2.2推荐算法的评价指标   为评价算法推荐的准确性,本文中采用一下评价指标:均方误差MSE、均方根误差RMSE、全局平均准确率MAP[7]。MSE表示评价数据的变化程度,其值越小,说明推荐模型描述实验数据具有更好精确度,RMSE为其标准差。而MAP是基于排名的评价指标,其值越高说明推荐的节目越精准,节目的排位也更能满足用户。其具体定义分别如下式   三、实验及结果分析   本文使用某省单月用户收视作为实验数据, 进行动画节目核心受众分群及其推荐。实验在Linux上搭建Spark平台,并使用Python API、Anaconda科学计算集成以及IPython Notebook作为IDE。   3.1“用户-标签”偏好模型的受众分群   (1)Spark平台下的K-means受众分群   计算动画节目受众所投入的累计时长,取时长最长的70个动画标签进行降维处理,并构建“用户-标签”偏好矩阵。使用K-Means聚类实现用户分群,本文将最大迭代次数设为100,确保算法达到收敛。由于聚类簇数K会影响最后的聚类效果,因此需要通过实验来确定。目标函数WCSS是K-means聚类的内部评价指标,其数值可以表征聚类结果的误差,其值越大,代表聚类的误差越大。本实验通过改变K值,综合聚类效果及运行时间确定K的取值。实验结果如图1:   随着K增大,目标函数WCSS数值降低,聚类效果越好,同时运行时间也增加。综合不同K下的WCSS和运行时间,本文选择K=8作为聚类的簇数,根据“用户-标签”偏好模型,将用户划分成8类。   使用节目标签对分群后的各类簇用户进行肖像刻画。表3为各类簇前十个高频核心标签。如表,类1用户偏爱冒险、国产动画;类2用户的兴趣集中在

文档评论(0)

130****9768 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档