深度实际Spark机器学习,Spark的深度学习框架TensorFlowOnSpark
作者头像
  • 林先湛
  • 2019-12-06 13:51:35 1

本文全面介绍了Spark机器学习的技术、原理、组件、算法,以及构建Spark机器学习系统的流程、标准和规范。此外,还介绍了Spark的深度学习框架TensorFlowOnSpark,以及如何利用它实现卷积神经网络和循环神经网络的应用。

随着大数据和人工智能的发展,各行各业都在经历着变革,包括我们的日常生活。大数据和人工智能领域的人才需求一直很高,尤其是机器学习,因为其涉及的知识和技能较为广泛。除了需要具备一定的数学基础和相关业务知识之外,还需要掌握一系列技术,例如操作系统、数据库、编程语言、数据分析工具和大数据计算平台等,从而提高了机器学习的学习门槛。

如何降低机器学习的门槛,让更多人能够便捷地学习和应用机器学习?许多企业正在探索解决这一问题的方法,本文也将从Spark技术的角度出发,给出一些解决方案。

简化复杂的工作或操作可以通过封装来实现。封装不仅降低了我们操作现代设备的难度,还提高了工作效率。除了封装之外,标准化和流程化的过程也是提升生产效率、降低成本和提高质量的有效手段。

硬件行业如此,软件行业同样如此。许多机器学习的开发语言和平台正在通过封装特征转换、特征选择、数据清理、数据分割、模型评估和优化等算法,以及流程化、标准化和规范化机器学习过程来简化操作。这些措施旨在为用户简化中间环节,缩短开发周期,使用户能够更好地应对市场变化。Spark在这方面表现尤为出色,特别是在最近发布的版本中,该技术显著增强了这些功能。

以下是几个方面,展示了这种趋势:

1) Spark的机器学习API正在从基于RDD(弹性分布式数据集)转向基于Dataset或DataFrame,基于RDD的API将在Spark 3.0后不再使用; 2) 建议使用Spark ML,特别是其Pipeline功能; 3) 增加了大量特征选择、特征转换、模型选择和优化等算法; 4) 丰富和完善了Spark与Java、Python、R的接口,使其更加通用。

Spark和其他机器学习平台或工具已经在这些方面取得了领先的地位。本文希望通过介绍Spark的相关内容,帮助读者少走弯路。

然而,Spark目前主要支持常见的机器学习算法,对于普通神经网络的支持还不够充分,更不用说深度学习了。不过好消息是,雅虎已经将深度学习框架TensorFlow与Spark整合在一起,并且开源了相关代码。为了弥补Spark爱好者在这方面的不足,本文介绍了TensorFlowOnSpark,包括TensorFlow的基础知识以及一些实际案例,如卷积神经网络和循环神经网络的应用。

目标读者 本文的目标读者是对大数据和机器学习感兴趣的学生和职场人士。对Spark机器学习有一定基础,希望提高开发效率的人员。熟悉Python、R等工具,希望进一步拓展到Spark机器学习的人。对深度学习框架TensorFlow及其扩展感兴趣的读者。

本书分为四个部分,共14章:

第一部分(第1至7章) 主要讲解了Spark机器学习的技术、原理和核心组件,包括Spark ML、Spark ML Pipeline、Spark MLlib,以及如何构建一个Spark机器学习系统。

第二部分(第8至12章) 主要通过实例讲解了Spark ML的各种机器学习算法,包括推荐模型、分类模型、聚类模型、回归模型,以及PySpark决策树模型和Spark R朴素贝叶斯模型。

第三部分(第13章) 与之前的批量处理不同,本章主要讨论在线数据或流式数据的处理,介绍了Spark的流式计算框架Spark Streaming。

Spark Streaming是Spark核心API的一个扩展,可以实现高吞吐量、具有容错机制的实时流数据处理。它可以获取多种数据源的数据,包括Kafka、Flume、Twitter、ZeroMQ、Kinesis和TCP套接字等。处理后的数据可以存储到文件系统、数据库和实时仪表盘中。在"One Stack rule them all"的原则下,还可以利用Spark的其他子框架,如集群学习和图计算等,对流数据进行处理。

第四部分(第14章) 介绍了Spark深度学习,主要包括TensorFlow的基础知识及它与Spark的整合框架TensorFlowOnSpark。

TensorFlow是谷歌基于DistBelief开发的第二代人工智能学习系统,是一个用于数值计算的开源软件库,采用了数据流图(data flow graphs)的形式。节点(nodes)表示数学操作,边(edges)表示节点之间的多维数据数组(即Tensor)。TensorFlow可以用于语音识别、图像识别等多个机器学习领域,并且支持异构设备的分布式计算,可以在多个平台上运行模型,从手机、单个CPU/GPU到成百上千的GPU集群。

由于篇幅限制,本文仅对内容进行了简要介绍,更深层次的案例和细节需要读者自行探索和实践。

对于需要深入了解Spark机器学习文档的读者,可以关注本文作者,私信“学习”获取详细资料。

    本文来源:图灵汇
责任编辑: : 林先湛
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
深度学习SparkTensorFlowOnSpar框架实际机器
    下一篇