登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 外文翻译 > 计算机类 > 软件工程 > 正文

基于Apache Spark MLlib的大数据机器学习外文翻译资料

 2021-12-21 10:12  

英语原文共 8 页

基于Apache Spark MLlib的大数据机器学习

摘要——人工智能,特别是机器学习,被研究团体在很多种途径中使用,将大量不同的甚至各种各样的数据源转化为高质量的事实和知识,为精确模式发现提供首要能力。然而,在庞大和复杂的数据集上应用机器学习策略在计算上是昂贵的,并且它耗费非常庞大的逻辑和物理资源,例如数据文件空间、CPU和内存。一个致力于高效大数据分析的复杂平台在这些天变得越来越重要,因为在日常基础产生的数据数量超越了五万亿字节。Apache Spark MLlib是最著名的大数据分析平台之一,它从回归、分类和降维到聚类和规则提取针对不同的机器学习任务提供了一系列卓越的功能。在本文中,我们从计算的角度来探索Apache Spark MLlib 2.0扩展体,它是一个开源的、分布式的、可缩放的和平台独立的机器学习库。明确的说,我们进行了一些真实世界机器学习实验来检测平台的定性定量属性。此外,我们强调当今大数据机器学习研究的趋势并且为未来的工作提供见解。

索引项——Apache Spark MLlib、大数据机器学习、大数据分析、机器学习

1.介绍

数字数据集在规模和复杂性方面迅速增长,每天产生的大量数据超出了正常处理能力的界限。让我们不得不采用能够处理平行的和分布式处理的高级计算基础设施。像这种大量数据数量的高效挖掘是一个非常有挑战性的实践,它需要开发更复杂的平台来及时准确地获得广泛的大数据分析。大数据基础设施的出现是为了解决大数据分析的问题,它使用了快速的、可依赖的和可伸缩的计算体系结构,提供了优秀的质量属性,包括弹性、可用性和资源池,具有按需和使用方便的自助服务能力。一些大数据机器学习框架除了为其他科学学科提供实践贡献外,还被证明成功应用于医疗保健信息学、基因组数据分析、测试挖掘和随机建模,目的仅仅是举几个例子。

Apache Spark MLlib是大数据机器学习最需要的独立平台和开源库之一,它受益于分布式架构和自动数据并行。Apache Spark MLlib提供了Apache Spark,它为大量机器学习任务提供了一系列主要的功能函数,包括回归、降维、分类、聚类和规则提取。虽然机器学习和它有效的应用在研究领域已经研究了很长一段时间,但是目前对于大数据机器学习库的研究非常有限,例如Apache Spark MLlib。这个贡献大概是第一个利用大数据机器学习库Apache Spark MLlib 2.0来解决大数据分析问题的工作。大数据分析的一个目标是获取先进的计算基础设施以便能够及时和高效地处理挖掘和分析大规模的数据。这构成了目前工作的主要动机。由于大数据分析是计算密集型,它的性能和用户体验受到不同硬件和/或软件配置影响。在本文中,我们用一系列大数据分析任务来评估不同硬件和软件配置的影响。基于本次研究的发现,我们向未来面向硬件、软件和模型设计的大数据机器学习提供见解。

本文要讨论的机制将从计算的角度来介绍Apache Spark MLlib 2.0以及它在大数据机器学习中的性能和优势。我们通过大量实验来证明这样一个高度可扩展的机器学习库的优势,并且突出了通过大数据分析可以得出的结论。使用一些包括数千万条数据记录的数据集,我们证明了我们可以可靠地利用Apache Spark MLlib来进行各种各样的大规模机器学习策略,从大数据分类到大数据聚类和规则提取。下面我们简要总结一下我们主要的贡献:

bull;我们利用Apache Spark MLlib 2.0来开始研究包含数千万条数据记录的大量数据集的大数据机器学习。本文的第一个主要贡献是向机器学习社区引入一个令人兴奋但具有挑战的领域。虽然机器学习和它在研究和工业社区的应用已经研究了好几年,但是大数据机器学习的研究到目前为止依旧非常受限制。目前的工作希望能够缩小这两大领域间的差距,为从大数据社区到快速成长的机器学习应用领域的不同的有趣的方向打开大门。

bull;我们进行了一些大规模的真实世界的实验来检测Apache Spark MLlib 2.0的一组定性定量属性。此外,我们与Weka库(3.7.12版本)建立了比较研究(在Hadoop-2.7上运行);一个非常有名的基于Java的机器学习库已经在社区广泛使用。我们评估了很多种常见的大数据机器学习模型,包括对真实数据进行分类、聚类,在各种各样的硬件和软件配置上比较它们的性能。

本文剩下的部分如下所示。我们首先在第二部分介绍Apache Spark MLlib。第三部分介绍了我们研究的Apache Spark MLlib 2.0的组件列表以及一些大规模数据集的材料和方法。然后,在第四部分我们深入研究实验的验证。最后,第五部分总结了我们的发现并且讨论了未来工作的一些可能的方向。

2. APACHE SPARK MLLIB 2.0

Apache Spark是一个高度可扩展、快速、内存中的大数据处理引擎,最初是在加州大学伯克利分校的AMPLab中开发的,它提供了使用Java、python、Scala和R编程语言开发分布式应用程序的能力。它附带了四个主要的库,包括Apache Spark Streaming, Apache Spark SQL, Apache Spark GraphX和Apache Spark MLlib。Apache Spark Streaming作为核心调度模块,在高度容错和批量分析架构中执行流处理。Apache Spark SQL实现了关系查询来挖掘不同数据库系统,引入了一个名为DataFrames的数据抽象模型。Apache Spark GraphX 是一个在Apache Spark GraphX之上的图处理库,它提供了分布计算模型来处理两个常见的数据架构,例如图和集合。Apache Spark Mllib是一个大数据分析库,它提供了超过55种受益于数据和流程并行化的可扩展的机器学习算法。该库包含了各种各样的机器学习策略的实现,例如 分类,聚类,回归,降维和规则提取,这使得大规模机器学习应用程序的实际开发变得简单和快速。Apache Spark MLlib还提供了一组多语言API来评估机器学习方法,部署了一些处理优化、隐Dirichlet分配、线性代数和特性工程管道的计算组件。在最近几年,这样的库已经修正了数据科学解决方案的许多方面,许多机器学习科学家和工程师已经开始开发新Apache Spark MLlib组件,为全世界的大数据分析领域做出贡献。图1从开发的角度展示了Apache Spark MLlib 2.0的一个路径,其中每个版本的唯一提交数在过去几年快速增长。Apache Spark MLlib一直处于活跃的开发中,在写本文时,Apache Spark MLlib的贡献者已经超过1000人。这里,我们简单回顾一下Apache Spark MLlib应用程序的最新进展。Tizghadam等人提出了一种名为CVST的开源、可伸缩平台。该系统将用于智能交通应用开发。CVST由四个主要部分组成:资源管理、数据传播、商务智能和应用程序。负责数据分析的商务智能组件使用MLlib处理数据并传送给前端。Lee等人提出了一个学术信息系统的架构设计来为分析学生的记录模式提供服务。该推荐系统使用Apache Spark MLlib来对下学期的课程进行预测和推荐。SparkText是Ye等人开发的文本挖掘框架。该系统采用Apache Spark机器学习和流式处理方法,并结合Cassandra NoSQL数据库,已在一个医学文章的大数据集上执行,来对癌症类型进行分类。Arora在Apache Spark MLlib上使用K-值算法分析了Web上收集的移动数据。作者提出了一种基于经纬度值聚类计算网络用户数量的有效方法。Lee等人引入了ALMD—一种考虑运动和外观的特征描述符,并使用Apache Spark机器学习库随机森林来识别人类活动。Hryhorzhevsk et.al.试图利用下一代测序数据生成一个分析种群结构的框架。本文作者提出了一种利用ADAM与MLib、H2O和Apache SystemML相结合的分布式计算框架。Sparks等人提出了一种自动机器学习的体系结构。该系统由资源分配估量调整和优化元件组成。整个系统构建在Apache Spark之上,它利用了MLlib和其他Spark组件。由Tafti等人开发的bigNN是Apache Spark上实现的另一个有趣的大数据分析组件,它能够处理非常大规模的生物医学句子分类。在大数据分析方面,仍然有很多有价值的贡献。请有兴趣的读者进一步阅读。

图1:Apache Spark MLlib 2.0的开发路径。MLlib V1.2提供了Java和Scala编程语言中基于数据框架的API。MLlib V1.3和V1.5分别带有Python和R API。API的统一(数据集和数据框架),内置CSV文件支持,以及Apache Spark MLlib 2.0提供的快速探索性数据分析。它支持R中的广义线性模型(GLM)、朴素贝叶斯、生存回归和K-均值。

3.材料和方法

在这一节中,我们进一步解释了目前研究学习的材料和方法。我们将从Apache Spark MLlib组件开始,然后介绍数据集。

A.机器学习组件

为了评估Apache Spark MLlib 2.0库分析大数据集的能力,我们重点研究了一组监督(分类)方法,包括支持SVM(向量机)、决策树、朴素贝叶斯和随机森林,以及一种广泛使用的无监督(聚类)机器学习算法,即K-值算法。为了进行比较研究,我们将Apache Spark MLlib 2.0库中的机器学习算法与hadoop2.7上运行的Weka库(3.7.12版本)中的同样算法进行了比较。为了使用Apache Spark MLlib 2.0和Weka组件,我们对代码和实现的所有部分都使用了Java2SE 8.1编程语言。对于每一组ML算法,我们使用相同的配置(例如,正则化、成本、损失、内核类型、种子等),且Apache Spark MLlib 2.0和Weka库提供的参数值相同。

B.数据集

我们使用了6个不同的大数据集来分析和比较Apache Spark MLlib 2.0的性能。5个数据集来自UCI机器学习存储库,一个数据集来自美国政府交通研究和创新技术管理局(RITA)网站。第一个数据集叫做“HEPMASS”,它包括寻找奇异粒子的特征的高能物理实验,并与二进制分类任务相关联。第二个数据集叫做“SUSY”,与二进制分类问题有关,用于区分产生超对称粒子的信号过程和不产生超对称粒子的背景过程。第三个数据集叫做“HIGGS”,它涉及一个二进制分类问题,用来区分产生希格斯玻色子的信号过程和不产生希格斯玻色子的背景过程。第四个数据集叫做“FLIGHT”,包括1987年10月至2008年4月的航班信息。数据集中有与飞行时间、飞行起点和目的地、飞行经过时间、到达机场、延迟时间等相关的变量。我们利用这个数据集进行分类。第五个和第六个数据集分别称为“HETROACT I”和“HETROACT II”。 这些来自智能手机和/或智能手表传感器的人类活动识别异质性数据集用来研究传感器异质性对人类活动识别算法的影响,我们将其用于聚类目的。为了分类的目的,我们使用每个数据集的75%来训练分类器,25%来测试,全都使用4倍交叉验证来得到ROC (auROC)下的面积。表1说明了每个数据集的详细属性。

C.测试环境

使用VMWARE集群环境中的两台VM来获得实验结果。我们在每台VM上使用了两种不同的配置,“ENV1”和“ENV2”,如表2所示。两台VM上都使用了64位CentOS 6.8操作系统和Xeon E5-2690V3 2.6 GHz CPU。

表Ⅰ:数据集属性

表二:VMWARE集群环境中两个vm的配置

表2:不同分类实验下Apache Spark MLlib与Weka的运行时间比较。NB代表朴素贝叶斯,DT代表决策树,RF是指随机森林。

表3:Apache Spark MLlib K-Means与Weka K-Means集群组件的运行时间比较。

4.实验结果

我们重点研究了以下监督(分类)方法:SVM(支持向量机)、决策树、朴素贝叶斯和随机森林。我们还使用K-Means作为一种无监督(聚类)算法,对有监督和无监督机器学习方法进行实验研究。下面是我们对表I所示的6个数据集的实验总结。结果展示了相同硬件设置下Mllib和Weka的运行时间。Weka和Apache Spark MLlib使用SVM、决策树、朴素贝叶斯和随机森林方法在4个不同数据集上得到ROC(s)曲线下的部分如表3所示。表四讨论了由K-Mean算法在各数据集上得到的实验结果。图2a、2b、2c、2d展示了4种选择的分类算法在推荐的数据集上的运行时间。K-means在HETROACT I和HETROACT II数据集上的运行时间如图3a和3b所示。实验结果总结如下:

bull;bull;Weka和Apache Spark MLlib得到的ROC曲线下的部分非常相似,差异无统计意义。通过Weka和Apache Spark MLlib得到的ROC曲线下的部分之间的细微差异可能关联到每个算法在随机选择训练和测试实例的详细参数,而我们正在做4倍交叉验证,或者他们可能来自每个算法的非常详细的内部参数。

bull;比较研究表明,Apache Spark MLlib,正如预期的那样,与我们使用的Weka组件相比更快,对分类算法和聚类方法匹配的运行时间进行t检验,Apache Spark MLlib和Weka的运行时间统计表明具有重大差异(p lt; 0.01)。

5.讨论和展望

每天被收集的数

资料编号:[4033]

您需要先支付 30元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图