基于Spark的分布式协同过滤及工具研究
本文选题:Spark + 协同过滤 ; 参考:《南京大学》2017年硕士论文
【摘要】:随着移动互联网与物联网的技术的飞速发展,人类收集的数据量呈指数级增加。分布式计算已经成为大数据处理、分析过程中不可或缺的关键技术。分布式计算通过将计算任务分解为可并发执行的多个子问题并在互连的多台计算节点上同时运行,解决了传统算法面临的单机性能瓶颈、难以扩展的问题。关于分布式机器学习算法的研究也成为了工业界和产业界的研究热点。在众多的分布式计算框架中,Spark以其高容错、高可扩展和易用的特点得到了广泛的应用。但对其上实现的分布式算法的复杂度分析和比较仍缺乏同一的分析框架。因此,对具体算法在Spark平台上的可伸缩性以及性能无法进行理论上的分析与对比,只能进行经验分析。本文基于对Spark分布式平台的研究,提出了一种对Spark上分布式算法的复杂度分析框架,并以基于Spark的协同过滤算法作为应用场景。证明了通过该框架能够有效的指导算法的开发与运行时环境配置。具体地,本文做了如下工作:首先,本文首先对分布式计算和协同过滤技术做了介绍。分布式计算部分对流行的Hadoop和Spark分布式计算平台的计算模型、运行模型、设计理念都给出了具体分析,并对其原理给出了解释。协同过滤部分中,对基于内存的协同过滤和基于矩阵分解的协同过滤技术进行了分析,介绍了多种经典算法。然后,本文提出了一种对Spark上分布式算法的复杂度分析框架,并在此基础上对多种基于Spark的分布式协同过滤算法做了复杂度分析和实验分析,包括基于内存的协同过滤算法的三种并行化方法和基于矩阵分解的三种并行化方法。最后,本文设计了一款基于Spark的数据挖掘工具箱。工具箱通过将数据挖掘算法组件化,提供基于配置的数据分析应用开发模型,解决了分析人员难以使用Spark的问题。通过使用该工具箱,用户可以方便的使用各种分布式数据挖掘算法处理海量数据而无需编程能力,本文详细介绍了工具箱的功能与开发设计过程。
[Abstract]:With the rapid development of mobile Internet and Internet of things, the amount of data collected increases exponentially. Distributed computing has become an indispensable key technology in big data processing. By decomposing computing tasks into multiple concurrent execution sub-problems and running simultaneously on multiple interconnected computing nodes, distributed computing solves the problem of single machine performance bottleneck faced by traditional algorithms, which is difficult to extend. The research on distributed machine learning algorithm has also become a hotspot in industry and industry. Spark has been widely used in many distributed computing frameworks because of its high fault tolerance, high scalability and ease of use. However, there is still a lack of the same analysis framework for the complexity analysis and comparison of the distributed algorithms implemented on it. Therefore, the scalability and performance of the algorithm on Spark platform can not be theoretically analyzed and compared, but empirical analysis can only be carried out. Based on the research of Spark distributed platform, this paper presents a complexity analysis framework for Spark distributed algorithm, and uses Spark based collaborative filtering algorithm as the application scenario. It is proved that this framework can effectively guide the development and runtime environment configuration of the algorithm. Specifically, this paper does the following work: first, this paper introduces distributed computing and collaborative filtering technology. In the part of distributed computing, the calculation models, operation models and design concepts of the popular Hadoop and Spark distributed computing platforms are analyzed in detail, and their principles are explained. In the part of collaborative filtering, memory based collaborative filtering and matrix decomposition based collaborative filtering are analyzed, and several classical algorithms are introduced. Then, this paper presents a complexity analysis framework for distributed algorithms on Spark, and makes complexity analysis and experimental analysis on various distributed collaborative filtering algorithms based on Spark. It includes three parallelization methods of memory-based collaborative filtering algorithm and three parallelization methods based on matrix decomposition. Finally, this paper designs a data mining toolbox based on Spark. By compartmentalizing data mining algorithms, the toolbox provides a configurable data analysis application development model, which solves the problem that it is difficult for analysts to use Spark. Through the use of the toolbox, users can easily use a variety of distributed data mining algorithms to process mass data without programming ability. This paper introduces the function of toolbox and the process of development and design in detail.
【学位授予单位】:南京大学
【学位级别】:硕士
【学位授予年份】:2017
【分类号】:TP391.3
【相似文献】
相关期刊论文 前10条
1 杨风召;;一种基于特征表的协同过滤算法[J];计算机工程与应用;2007年06期
2 王岚;翟正军;;基于时间加权的协同过滤算法[J];计算机应用;2007年09期
3 曾子明;张李义;;基于多属性决策和协同过滤的智能导购系统[J];武汉大学学报(工学版);2008年02期
4 张富国;;用户多兴趣下基于信任的协同过滤算法研究[J];小型微型计算机系统;2008年08期
5 侯翠琴;焦李成;张文革;;一种压缩稀疏用户评分矩阵的协同过滤算法[J];西安电子科技大学学报;2009年04期
6 廖新考;;基于用户特征和项目属性的混合协同过滤推荐[J];福建电脑;2010年07期
7 沈磊;周一民;李舟军;;基于心理学模型的协同过滤推荐方法[J];计算机工程;2010年20期
8 徐红;彭黎;郭艾寅;徐云剑;;基于用户多兴趣的协同过滤策略改进研究[J];计算机技术与发展;2011年04期
9 焦晨斌;王世卿;;基于模型填充的混合协同过滤算法[J];微计算机信息;2011年11期
10 郑婕;鲍海琴;;基于协同过滤推荐技术的个性化网络教学平台研究[J];科技风;2012年06期
相关会议论文 前10条
1 沈杰峰;杜亚军;唐俊;;一种基于项目分类的协同过滤算法[A];第二十二届中国数据库学术会议论文集(技术报告篇)[C];2005年
2 周军锋;汤显;郭景峰;;一种优化的协同过滤推荐算法[A];第二十一届中国数据库学术会议论文集(研究报告篇)[C];2004年
3 董全德;;基于双信息源的协同过滤算法研究[A];全国第20届计算机技术与应用学术会议(CACIS·2009)暨全国第1届安全关键技术与应用学术会议论文集(上册)[C];2009年
4 张光卫;康建初;李鹤松;刘常昱;李德毅;;面向场景的协同过滤推荐算法[A];中国系统仿真学会第五次全国会员代表大会暨2006年全国学术年会论文集[C];2006年
5 李建国;姚良超;汤庸;郭欢;;基于认知度的协同过滤推荐算法[A];第26届中国数据库学术会议论文集(B辑)[C];2009年
6 王明文;陶红亮;熊小勇;;双向聚类迭代的协同过滤推荐算法[A];第三届全国信息检索与内容安全学术会议论文集[C];2007年
7 胡必云;李舟军;王君;;基于心理测量学的协同过滤相似度方法(英文)[A];NDBC2010第27届中国数据库学术会议论文集(B辑)[C];2010年
8 林丽冰;师瑞峰;周一民;李月雷;;基于双聚类的协同过滤推荐算法[A];2008'中国信息技术与应用学术论坛论文集(一)[C];2008年
9 罗喜军;王韬丞;杜小勇;刘红岩;何军;;基于类别的推荐——一种解决协同推荐中冷启动问题的方法[A];第二十四届中国数据库学术会议论文集(研究报告篇)[C];2007年
10 黄创光;印鉴;汪静;刘玉葆;王甲海;;不确定近邻的协同过滤推荐算法[A];NDBC2010第27届中国数据库学术会议论文集A辑一[C];2010年
相关博士学位论文 前10条
1 纪科;融合上下文信息的混合协同过滤推荐算法研究[D];北京交通大学;2016年
2 程殿虎;基于协同过滤的社会网络推荐系统关键技术研究[D];中国海洋大学;2015年
3 于程远;基于QoS的Web服务推荐技术研究[D];上海交通大学;2015年
4 李聪;电子商务推荐系统中协同过滤瓶颈问题研究[D];合肥工业大学;2009年
5 郭艳红;推荐系统的协同过滤算法与应用研究[D];大连理工大学;2008年
6 罗恒;基于协同过滤视角的受限玻尔兹曼机研究[D];上海交通大学;2011年
7 薛福亮;电子商务协同过滤推荐质量影响因素及其改进机制研究[D];天津大学;2012年
8 高e,
本文编号:2090982
本文链接:https://www.wllwen.com/shoufeilunwen/xixikjs/2090982.html