格物汇之前刊发的《工业大数据处理领域的“网红”——Apache Spark》中提到,在“中国制造2025”的技术路线图中,工业大数据是作为重要突破点来规划的,而在未来的十年,以数据为核心构建的智能化体系会成为支撑智能制造和工业互联网的核心动力。Apache Spark 作为新一代轻量级大数据快速处理平台,集成了大数据相关的各种能力,是理解大数据的首选。Spark有一个机器学习组件是专门用于解决海量数据如何进行高效数据挖掘的问题,那就是SparkMLlib组件。今天的格物汇就给大家详细介绍一下Spark MLlib。
Spark MLlip 天生适合迭代计算
在介绍Spark MLlib 这个组件前,我们先了解一下机器学习的定义。在维基百科中对机器学习给出如下定义:
- 机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能。
- 机器学习是对能通过经验自动改进的计算机算法的研究。
- 机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。
很明显,机器学习的重点之一就是“经验”,对于计算机而言,经验就是需要进行多次迭代计算得到的,Spark 的基于内存的计算模式天生就擅长迭代计算,多个步骤计算直接在内存中完成,只有在必要时才会操作磁盘和网络,所以说Spark正是机器学习的理想的平台。在Spark官方首页中展示了Logistic Regression算法在Spark和Hadoop中运行的性能比较,如图下图所示。
Spark MLlib 算法以及功