大数据机器学习与数据分析编程框架与系统课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《大数据机器学习与数据分析编程框架与系统课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 机器 学习 分析 编程 框架 系统 课件
- 资源描述:
-
1、大数据机器学习系统框架介绍目 录1.大数据机器学习:从算法到系统2.大数据机器学习系统的技术特征3.大数据机器学习系统的主要研究问题4.大数据机器学习方法分类与典型系统1.大数据机器学习:从算法到系统l大数据隐含着很多深度知识和价值,大数据智能化分析挖掘将能为行业/企业带来巨大的商业价值,实现多种高附加值的增值服务,从而提升行业/企业生产管理决策水平和经济效益l大数据分析挖掘主要分为简单分析和智能化复杂分析两大类;大数据的深度价值发现仅仅通过简单分析是难以实现的,必须使用基于机器学习的智能化复杂分析才能完成l机器学习和数据分析是将大数据转换成有用知识的关键技术l研究表明,通常数据规模越大,机器
2、学习效果会越好l大数据+强大的计算能力,成为推动大数据时代人工智能技术和应用发展的动力,将基于大数据的机器学习和人工智能推上新一轮发展浪潮lCCF 2015年大数据十大发展趋势预测:“结合智能计算的大数据分析”成为第一大预测热点。“大数据与神经计算、深度学习、语义计算以及人工智能其他相关技术结合,成为大数据分析领域的热点。”1.大数据机器学习:从算法到系统l大数据+机器学习是驱动全球互联网企业的核心 “谷歌实际上不是一个搜索公司,它是一个机器学习公司。”l随着大数据时代的来临,IBM、Google、Facebook、微软、百度、腾讯、科大讯飞等国内外著名企业纷纷成立专门的基于大数据的机器学习与
3、人工智能研发机构,深入研究基于大数据的机器学习和智能化计算技术Google大脑Facebook人工智能实验室Microsoft Adam 微软人工智能项目百度大脑讯飞超脑:实现基于类人神经网络的中文认知智能引擎AlphaGo系统l并行化机器学习与数据挖掘算法设计是复杂大数据分析关键技术之一lHadoop、Spark等各种大数据计算技术与平台出现后,人们普遍关注如何在这些平台上设计实现各种大数据机器学习和数据挖掘并行化算法1.大数据机器学习:从算法到系统大数据机器学习并行化算法1.大数据机器学习:从算法到系统分类算法(Classification)大规模支持向量机(Large Scale SVM
4、)神经网络(Neural Network)朴素贝叶斯(Nave Bayes)决策树(Decision Trees)聚类(Clustering)关联规则挖掘参数估计(Parameters Estimation)高维度数据降维(Dimension Reduction)集成学习(Ensemble Learning)图数据算法图聚类,图分类,图模式匹配(子图同构、最大公共子图)深度学习算法(CNN,DNN等)大数据机器学习并行化算法总结面向大数据复杂分析挖掘,现有的串行化机器学习与数据挖掘算法都需要重写,进行并行化设计不同的大数据并行处理平台上,各种大数据机器学习与数据挖掘算法需要进行基于特定平台的并
5、行化算法设计多种大数据并行处理平台为大数据分析挖掘处理提供了良好的并行编程模型和支持平台,但对于应用行业的数据分析师来说,需要具备分布式和并行计算的专业知识背景,技术门槛要求较高,不易学习和使用即使对于专业性的大数据应用开发程序员来说,学习多种不同的编程模型和平台、并基于不同平台完成各种机器学习与数据挖掘算法的并行化设计,也是一个很大的负担迫切需要研究提供一种统一并易于使用的大数据机器学习系统支撑平台!1.大数据机器学习:从算法到系统大数据机器学习系统 =“分布式机器学习系统”(Distributed Machine Learning)或“大规模机器学习系统”(Large-Scale Mach
6、ine Learning)大数据机器学习是一个同时涉及到机器学习和大数据处理两个主要方面的交叉性研究课题:l机器学习:一方面,它仍然需要继续关注机器学习方法和算法本身,即需要继续研究新的或改进的学习模型和学习方法,以不断提升分析预测结果的准确性l大数据处理:与此同时,由于数据规模巨大,大数据机器学习还要关注如何结合分布式和并行化的大数据处理技术,以便在可接受的时间内完成计算。为了能有效完成大数据机器学习过程,需要研究并构建兼具机器学习和大规模分布并行计算处理能力的一体化系统1.大数据机器学习:从算法到系统目 录1.大数据机器学习:从算法到系统2.大数据机器学习系统的技术特征3.大数据机器学习系
7、统的主要研究问题4.大数据机器学习方法分类与典型系统 l大数据机器学习=机器学习+大数据处理l同时涉及机器学习和大数据处理两方面的诸多复杂技术问题:1)机器学习方面的模型、训练、精度问题2)大数据处理方面的分布式存储、并行化计算、网络通讯、局部性计算、任务调度、容错等诸多因素大数据机器学习系统所涉及的复杂因素机器学习大数据处理插图引自:Joseph E.Gonzalez.Emerging Systems for Large-Scale Machine Learning.Tutorial on ICML 20142.大数据机器学习系统技术特征构建大数据机器学习系统的重要技术特征:需要通过系统抽象
8、来降低大数据机器学习系统设计的复杂性,隔离底层大数据平台对上层机器学习算法设计者使用的复杂性l一个良好设计的大数据机器学习系统,应当通过定义特定的机器学习编程计算和系统抽象接口l通过编程计算和系统抽象层API,向上提供各种机器学习编程计算接口以及学习模型和训练数据的表示,向下由底层分布式系统负责处理并提供高效的分布和并行化计算实现l通过编程计算和系统抽象层,将上层机器学习和底层分布式系统解耦开来,实现低层大数据平台对程序员的透明性,使得程序员不需要去考虑底层大数据处理系统层面的因素大数据机器学习系统抽象2.大数据机器学习系统技术特征目 录1.大数据机器学习:从算法到系统2.大数据机器学习系统的
9、技术特征3.大数据机器学习系统的主要研究问题4.大数据机器学习方法分类与典型系统 3.大数据机器学习系统的主要研究问题lApache Flink大数据分析系统研究者从数据分析复杂程度和数据规模大小的维度,考察了现有的相关研究工作和系统l他们认为,目前还缺少既具有复杂数据分析能力、又具有强大的大数据处理能力的大数据分析系统;甚至认为,对于行业大数据分析人员而言,现有的工具还处于“石器时代”Apache Flink研究者提出的分析维度和研究现状插图引自 Volker Markl,VLDB 2014Volker Markl.Breaking the Chains:On Declarative Dat
10、a Analysis and Data Independence in the Big Data Era.VLDB 2014 KeynotelUC Berkeley AMPLab从计算性能和系统易用性两个重要维度,考察了现有的大数据机器学习研究工作和系统。根据这两个维度,他们认为,面向机器学习和数据分析时,目前已有的工作和系统,绝大多数都未能同时具备大规模分析处理能力和良好的系统易用性Spark系统研究者提出的分析维度和研究现状插图引自:Kraska et.al.CIDR 2013 结论:大数据机器学习除了继续关注传统意义上的学习方法和算法问题外,需要重点关注和研究解决大数据场景下所特有的两大
11、技术问题和挑战:一是大数据复杂分析时的计算性能问题二是大数据机器学习系统的易用性和可编程性问题Kraska,Tim and Talwalkar et.al.MLbase:A Distributed Machine-learning System.the 6th Conference on Innovative Data Systems Research(CIDR),20133.大数据机器学习系统的主要研究问题计算性能问题l小数据集上很多复杂度在O(n)、O(n2)、O(n3)的传统串行化机器学习算法都可以有效工作。但当数据规模增长到极大尺度,现有的串行化算法难以在可接受的时间完成计算,使得算法
12、在实际应用场景中失效。l大数据时代,在大型互联网企业,大规模机器学习算法经常用于处理高达十亿至千亿级别的样本、以及高达一亿至数十亿以上数据特征的大规模数据集,如此大量的训练样本,加上机器学习算法本身的复杂性,导致难以在传统的串行化计算平台上、在可接受的时间内完成Google著名的Seti太空搜索项目:需要进行高达千亿样本、十亿特征数据的大规模机器学习腾讯Peacock主题模型分析系统:高达十亿文档、百万词汇、百万主题的主题模型训练,而仅仅是一个百万词汇乘以百万主题的矩阵,其数据存储量即高达3TB,如果再考虑十亿文档乘以百万主题的矩阵,则其数据量更是高达3PB之大3.大数据机器学习系统的主要研究
13、问题易用性和可编程性问题l对于普通的数据分析程序员或机器学习研究者来说,在特定的大数据编程模型和平台下进行并行化机器学习和数据分析算法设计,需要掌握很多分布式系统背景知识和并行程序设计技巧,这对他们来说难度较大,导致他们经常要把实际工作的大部分时间都花费在底层复杂的并行化和分布式编程和调试上,给他们的上层数据分析和算法设计工作带来很大的不便和困难,导致在普通程序员与现有的各种大数据处理平台之间存在一个难以逾越的鸿沟l根据Google Seti项目研究人员在开发实际的大型机器学习系统上的经验,在面向大数据时,考虑到用户开发效率问题,系统易用性与提高机器学习精度几乎同等重要,有时甚至比精度问题更为
14、重要,“也许过去学术界很少关心设计一个精度稍差、但有更好易用性和系统可靠性的学习算法,但是,在我们的实际应用中,这会体现出非常重要的价值”3.大数据机器学习系统的主要研究问题易用性和可编程性问题lHadoop的出现使得大数据处理技术和平台从无到有l基于内存计算的Spark系统的出现使得大数据分析计算从慢到快l然而,现有的大数据处理技术和系统平台都存在很大的易用性问题,难以为普通的程序员掌握和使用3.大数据机器学习系统的主要研究问题大数据处理的两大计算类型易用性和可编程性问题3.大数据机器学习系统的主要研究问题分析师分析师a11 a12.a21 a22.a1,a2,a3,a4,.数学建模数学建模
15、分析工具分析工具A Big Gap!大数据处理平台和编程模型大数据处理平台和编程模型MPI、Fortran/C+ScaLAPACK;GPU CUDA、BIDMach;Scala、Spark RDD;Hadoop MR;易用性和可编程性问题对于普通的数据分析程序员或机器学习研究者来说,在特定的大数据编程模型和平台下进行并行化机器学习和数据分析算法设计,需要掌握很多分布式系统背景知识和并行程序设计技巧,这对他们来说难度较大,导致他们经常要把实际工作的大部分时间都花费在底层复杂的并行化和分布式编程和调试上,给他们的上层数据分析和算法设计工作带来很大的不便和困难,导致在普通程序员与现有的各种大数据处理
16、平台之间存在一个难以逾越的鸿沟3.大数据机器学习系统的主要研究问题目 录1.大数据机器学习:从算法到系统2.大数据机器学习系统的技术特征3.大数据机器学习系统的主要研究问题4.大数据机器学习方法分类与典型系统 4.大数据机器学习方法分类与典型系统l基于主流大数据平台的并行化机器学习算法/算法库基于Hadoop MapReduce和Spark、以及基于传统的MPI并行计算框架,完成各种并行化机器学习和数据挖掘算法的设计l结合传统数据分析平台的大数据机器学习算法/算法库基于R、Python、MatLab等传统数据分析平台的机器学习算法或系统l基于特定平台的大数据机器学习系统总结机器学习算法设计的共
17、同特性,结合大规模学习时所需要考虑的底层分布式数据存储和并行化计算等系统问题,专门研究提供能同时兼顾并支持大数据机器学习和大数据分布并行处理两方面问题的一体化大数据机器学习系统基于主流大数据平台的并行化机器学习算法/算法库p用户定制算法基于Hadoop MapReduce和Spark、以及基于传统的MPI平台he 并行计算框架,定制实现各种并行化机器学习和数据挖掘算法优点:灵活,用户可根据需要进行特定优化缺点:1)开发难度大,需要程序员掌握分布式和并行化程序 设计技术,熟悉大数据并行计算框架和平台的使用 2)已有大数据平台不易学习和使用 3)出现新的平台时需要重写所有算法4.大数据机器学习方法
18、分类与典型系统基于主流大数据平台的并行化机器学习算法/算法库p基于Hadoop的算法库Mahout主要任务是设计并提供一些基于MapReduce的可扩展的机器学习领域经典算法库,包括聚类、分类、推荐过滤、频繁项集挖掘等算法基于Hadoop MapReduce平台实现,应用开发时,用户可直接调用Mahout算法库里实现好的算法但提供的并行化机器学习算法数量有限,而且作为标准的软件包,其所提供的算法几乎都是标准的,在算法精度和性能上不一定能满足用户的需要大多数机器学习算法的计算流程都比较复杂,模型的训练过程往往需要多次迭代计算(如梯度下降算法)、有中间数据集需要共享等。MapReduce模型处理这
19、类问题时,额外的调度和初始化开销导致其处理性能偏低4.大数据机器学习方法分类与典型系统基于主流大数据平台的并行化机器学习算法/算法库p基于Spark的算法库MLliblMLlib是基于Spark的分布式机器学习算法库,提供了常用机器学习算法和工具类lMLlib目前也包含一些矩阵操作,并基于矩阵表示设计开发一些统计包和机器学习算法库;此外,基于MLlib的工作基础,UC Berkeley还计划研发MLBase项目,该项目增加了机器学习模型自动选择和参数自动优化等功能,提供了以目标为导向的高层机器学习方法接口4.大数据机器学习方法分类与典型系统结合传统数据分析平台的大数据机器学习算法/系统p基于P
20、ython的机器学习工具包Scikit Learn:机器学习工具包,用于进行分类、特征选择、特征提取和聚集,还包含有限的自然语言处理特征提取能力,以及词袋(bag of words)、TF-IDF、预处理(停用词/stop-words,自定义预处理,分析器)Statsmodels:另一个聚焦在统计模型上的算法库,主要用于预测和探索性分析PyMC:贝叶斯曲线工具,包含贝叶斯模型、统计分布和模型收敛的诊断工具,也包含一些层次模型Shogun:聚焦于支持向量机(Support Vector Machines,SVM)的机器学习工具箱Gensim:主题建模算法工具库(topic modeling fo
21、r humans),其焦点是狄利克雷划分(Latent Dirichlet Allocation,LDA)及变体;还支持自然语言处理,能将NLP和其他机器学习算法更容易组合在一起Orange:带有图形用户界面的机器学习算法库工具包,包含全面的分类、聚集和特征选择方法,以及交叉验证方法PyMVPA:一个统计学习库,API上与Scikit-learn很像,包含交叉验证和诊断工具Theano:是最成熟的深度学习库,提供数据结构(张量,tensor)来表示神经网络的层Decaf:是最近由UC Berkeley发布的深度学习库,在Imagenet分类挑战中测试发现,其神经网络实现非常先进(state o
22、f art)NeuroLab:是另一个API友好(与Matlabapi类似)的神经网络库,与其他库不同,它包含递归神经网络(Recurrent Neural Network,RNN)实现的不同变体4.大数据机器学习方法分类与典型系统结合传统数据分析平台的大数据机器学习算法/系统pR与大数据处理平台结合的机器学习算法设计在R中利用分布式并行计算引擎来完成大数据分析挖掘算法设计Rhadoop:由Revolution Analytics发起的一个开源项目,其目标是将统计语言R与Hadoop结合起来,目前该项目包括三个R packages,分别为支持用R来编写MapReduce应用的rmr、用于R语言
23、访问HDFS的rhdfs以及用于R语言访问HBASE的rhbase。其中Hadoop主要用来存储和处理底层的海量数据,用R替代Java语言完成MapReduce算法设计实现SparkR:UC Berkeley AMP实验室在2014年1月也推出了一个称为SparkR的项目。SparkR也是作为一个R的扩展包,为R用户提供一个轻量级的、在R环境里使用Spark RDD API编写程序的接口。它允许用户在R的shell环境里交互式地向Spark集群提交运行作业RHadoop和SparkR都存在一个同样的问题:仍要求用户熟悉MapReduce或Spark RDD的编程框架和程序结构,然后将自己的Ma
24、pReduce或Spark程序实现到基于R的编程接口上4.大数据机器学习方法分类与典型系统基于特定平台的大数据机器学习系统pSpark MLlibMLLib与Spark环境整合起来后可完整解决大数据的分布式存储、并行化计算、以及上层的机器学习算法设计和使用,因此,它可视为是一个基本的机器学习系统。目前其已经向上层提供多种优化方法、分类算法、回归算法、推荐算法、聚类算法。但其算法数目和接口有限,难以完全满足用户各种各样的需求,用户难以对内部算法进行深层定制优化。因此,其在灵活性方面存在不足4.大数据机器学习方法分类与典型系统基于特定平台的大数据机器学习系统pIBM SystemMLl由IBM W
25、aston Research Center 和IBM Almaden Research Center联合研发的大数据学习系统lSystemML对用户提供了一个类似于R语言的高层声明式机器学习语言DML,基于这种语言编写的程序可以被SystemML自动编译转化为MapReduce 作业在Hadoop集群上运行,这种高层语言提供了大量的监督和非监督的机器学习算法所需要的线性代数操作算子,包括高层算子HOP(High-Level Operator)和底层算子LOP(Low-Level Operator)lDML提供了一种基于矩阵的线性代数数学运算高层原语,允许用户用接近于数据语言的自然方式刻画诸多机
展开阅读全文