龙虎 李娜
摘要:大数据的核心是利用数据的价值,机器学习是利用数据挖掘价值的关键技术。大数据技术下的机器学习平台构建是以大数据技术为基础,突破一系列关键技术,构建基于大数据技术的机器学习平台,提供分布式计算能力,快速实现海量数据处理。通过对大数据技术和机器学习概念进行梳理,提出了大数据技术下的机器学习平台架构,对其进行了深入的分析和研究,希望该研究能为大数据技术与机器学习研究者提供参考和借鉴。
关键词:大数据技术;机器学习;平台构建
中图分类号:TP393 文献标识码:A
文章编号:1009-3044(2019)10-0157-03
开放科学(资源服務)标识码(OSID):
Research on the Construction of Machine Learning Platform under Big Data Technology
LONG Hu,LI Na
(Kaili University, Kaili 556011, China)
Abstract: The big data core is uses the data the value, the machine learning is uses the data mining value the key technologies.Under the big data technology machine learning platform construction is take the big data technology as a foundation, breaks through a series of key technologies, constructs based on the big data technology machine learning platform, provides the distributed computing ability, fast realization magnanimous data processing.Through carried on to the big data technology and the machine learning concept combs, proposed under the big data technology machine learning platform construction, has carried on the thorough analysis and the research to it, hoped this research could provides the reference and the model for the big data technology and the machine learning researcher.
Key words: Big data technology; Machine learning; Platform Building
大数据时代背景下, 随着大数据技术、云计算、物联网、机器学习、人工智能以及移动网络等新一代信息技术不断涌现,掀起了新一轮的技术革命浪潮,传统的机器学习的分类算法很难直接应用到大数据环境下,不同的分类算法面领着不同的挑战。研究大数据不仅仅是各种数据的采集与存储,更重要的是如何利用好大数据,通过分析和挖掘海量数据,发现其隐藏于数据背后的价值和有规律的知识,并服务于各个领域,大数据的分析挖掘技术为机器学习的发展和应用提供了广阔的空间。大数据技术下的机器学习研究已成为很多研究机构和专家学者的研究热点问题。国内外的著名企业如百度、腾讯、Google、Facebook、微软等专门对机器学习与大数据技术进行了深入研究,将大数据技术与机器学习推上了新一轮发展浪潮,让大数据技术与机器学习成了当前的研究热点。大数据技术下的机器学习的研究已成为一个重要的研究方向。
1大数据技术
大数据(big data),是指海量数据,既包括结构化、半结构化数据,还包括非结构化的数据,具有种类繁多的信息价值,无法用目前的主流软件工具,在一定的时间内采取、分析处理及管理的高速海量的信息资产[1]。全球最具权威的IT研究与顾问咨询公司Gartner对大数据给出了具体的定义:大数据是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产[2]。当前,关于大数据的定义还未形成一个统一的表述,先后有多个权威机构以及专家学者等对大数据的定义进行了不同的表述,对于大数据定义的表述主要有麦肯锡咨询公司、国际数据公司(International Data Company,IDC)、Gartner、维基百科以及亚马逊的大数据科学家John Rauser等都对大数据给出了不同的定义。
大数据技术主要有六大关键与核心的技术,主要包括数据采集技术、数据存储技术、数据计算、数据挖掘和数据可视化技术以及数据安全与隐私保护技术。数据采集技术是数据处理的必备条件,需要有数据采集的手段,把信息收集上来,才能应用上层的数据处理技术,数据采集除了各类传感设备等硬件软件设施之外,主要涉及的是数据的采集转换以及加载过程,能对数据进行清洗、过滤、校验和转换等各种预处理,将有效的数据转换成适合的格式和类型。数据存储技术主要是数据经过采集和转换之后,需要存储归档,针对巨量的大数据,一般可以采用分布式文件系统和分布式数据库的存储方式,把数据分布到多个存储节点上,同时还需要提供备份、安全、访问接口以及协议等机制。数据计算主要涵盖数据查询、数据统计、数据分析、数据预测、图谱处理等各项相关的技术;数据挖掘(Data Mining,DM)又称数据库中的知识发现,是涉及机器学习、人工智能、数据库理论以及统计学等学科的交叉研究领域,数据挖掘主要是从数据库中大量数据中挖掘出有用的信息,即从大量的、不完全的、有噪声的、模糊的和随机的实际应用数据中,发现隐含的、规律性的、人们事先未知的,但又是潜在有用的并且最终可理解的信息和知识的非平凡过程。数据可视化技术可将分析与处理的海量数据利用可视化软件通过图的形式呈现出来,常用的大数据可视化软件工具有TABLEAU和DATAWATCH以及大数据魔镜等,通过可视化可了解数据背后隐藏的有用信息。数据安全与隐私保护技术主要是大数据技术下数据的安全性和个人隐私安全保护技术等方面,通过构建数据安全保护体系与隐私数据保护技术体系可有效地保护数据安全与隐私。
2机器学习
机器学习是人工智能的核心技术,主要是指让机器模拟人类的学习过程,来获取新的知识或技能,并通过自身的学习完成指定的工作或任务,目标是让机器能像人一样具有学习能力[3]。机器学习的发展可以追溯到二十世纪五十年代,其发展主要经历了推理期和知识期以及学习期三个阶段。机器学习的本质是样本空间的搜索和模型的泛化能力。机器学习与统计学习和数据挖掘、计算机视觉、大数据以及人工智能等学科有着紧密的关系,机器学习已成为当前人工智能领域研究的核心。
根据机器学习算法的学习方式,机器学习分为有监督学习、无监督学习和半监督学习。有监督学习是利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的学习过程。无监督学习是对无标号样本的学习,以发现训练样本集中的结构性知识的学习过程,也成为无老师的学习。半监督学习是有监督学习和无监督学习相结合的学习,是利用有类标号的数据和无类标号的数据进行学习的过程。根据算法的功能和形式可把机器学习算法分为决策树学习、增量学习和强化学习、回归学习、关联规则学习、进化学习、神经网络学习、主动学习以及集成学习等。常用的工具有WEKA、Python语言、R语言和深度学习框架等。在有监督学习任务中,若预测变量为离散变量,则其为分类问题,而预测变量为连续变量时,则称其为回归问题,回归分析是一种用于确定一种用于确定两种或两种以上变量间的相互依赖关系的统计分析方法。回归分析的基本步骤:①分析预测目标,确定自变量和因变量;②建立合适的回归预测模型;③相关性分析;④检验回归预测模型,计算预测的误差;⑤计算并确定预测值。按照问题所涉及变量的多少,可将回归分析分为一元回归分析和多元回归分析,按照自变量与因变量之间是否存在线性关系,分为线性回归分析和非线性回归分析。
机器学习的常用评价指标有准确率、召回率、ROC曲线以及交叉验证等,准确率是指在样本分类时,被正确分类的样本数与样本总数之比,与准确率对应的是错误率,错误率是错分样本数与总样本数之比。召回率主要是指分类正确的正样本个数占所有的正样本个数的比例,表示的是数据集中的正样本有多少被预测正确。ROC(Receiver Operating Characteristic)曲线是分类器的一种性能指标,可以实现不同分类器性能比较,不同的分类器比较时,画出每个分类器的ROC曲线,将曲线下方面积作为判断模型好坏的指标。交叉验证的基本思想是将数据分成训练集和测试集,在训练集上训练模型,然后利用测试集模拟实际的数据,对训练模型进行调整或评价,最后选择在验证数据上表现最好的模型。当前,机器学习平台主要有亚马逊的Amazon Machine Learning 、Google的开发的Tensor Flow、Azure Machine Learning、AMLS、H2O、Caffe和MLlib以及Torch等。亚马逊的Amazon Machine Learning主要是利用先进的算法和公式创建机器学习模型,提供现有的数据中的模式。Google的开发的Tensor Flow是一个开源软件库,主要是利用数据流图的数值计算。AMLS是一个服务框架。H2O是当前比较流行的开源深度学习平台。Caffe支持广泛的代码使用,Caffe可帮助学术研究项目,启动原型、语音和视觉以及多媒体等大型工业应用。MLlib是Apache Spark的机器学习库,一般包含常见的学习算法和应用程序。Torch是一种应用广泛的开源机器学习开发框架。
3 大数据技术下的机器学习平台构建
大数据的核心是利用数据的价值,机器学习是利用数据挖掘价值的关键技术,数据量的增加有利于提升机器学习算法的精度,大数据背景下的机器学习算法也迫切需要大数据处理技术。大数据技术下的机器学习平台是集数据处理、建模、离线预测、在线预测为一体的机器学习平台。该平台为算法开发者提供了丰富的MPI、PS、BSP等编程框架和数据存取接口,高效地配置计算资源,为数据赋能。可提供算法开发、分享、模型训练、部署、监控等一站式算法服务,支持处理亿万级大规模数据,用户无须编码,可以通过可视化的操作界面来操作整个实验流程,同时也支持PAI命令,让用户通过命令来操作实验。通过拖拽的方式搭配实验,提供了数据模型的可视化功能,缩短了用户与数据的距离,真正实现了数据的触手可及,同时,也提供了命令行工具,方便用户将算法嵌入到自身的工程中。
大数据技术下的机器学习平台不仅提供了基础的聚类、回归等机器学习算法,也提供了文本分析以及特征处理的算法。大数据技术下的机器学习平台主要应用在数据挖掘场景下,从海量的数据中通过算法搜索隐藏于其中信息的过程。大数据技术下的机器学习平台设计目标是支持海量数据的处理,利用并行计算,采用拖拽以及连线的形式构建建模流程,可以支持常用的机器学习算法如回归、分类和聚类等,支持常用的特征工程组件如标准化、归一化缺失值处理等,支持算法评估结果可视化,在算法库方面选择Spark,该算法具备较为高效的分布式计算能力,ml 和 mllib 都是 Spark 中的机器学习库,常用的机器学习功能两个个库都能满足需求。Spark最初诞生于美国加州大学伯克利分校的AMP实验室,是一个可应用于大规模数据处理的快速和通用引擎,能够提供内存计算框架,也可以支持机器学习和图计算等。Spark的部署模式主要有四种:Local模式、Standalone模式、YARN模式和Mesos模式,Spark可通过官网进行下载,下载后可直接进行安装,安装文件解压缩后,还需要修改Spark的配置文件Spark-env.sh,复制一份由Spark安装文件自带的配置文件模板,然后使用vim编辑器打开SparkSpark-env.sh文件进行编辑,在该文件的第一行添加配置信息,有了配置信息,Spark就可以把数据存储到Hadoop分布式文件系统HDFS中,也可以从HDFS中读取数据。配置完成后可以直接使用Spark,利用Spark自带的实例进行验证安装的效果。大数据技术下的机器学习平台如图1所示。
大数据技术下的机器学习平台可提供特征工程、统计、训练、预测和模型发布等功能,采用并行化分布式的数据处理组件,能够很快地实现复杂的数据预处理过程,可以实现对数据的清理、替换、组合、采样、去重、拆分等操作。通过简单的配置可以进行模型训练和评估,逻辑回归LR和深度神经网络DNN,聚类Kmeans和模型LDA以及协同过滤CF等多种模型训练。
4结束语
大数据的核心是利用数据的价值,机器学习是利用数据挖掘价值的关键技术,大数据技术下的机器学习平台是集数据处理、建模、离线预测、在线预测为一体的机器学习平台。该平台为算法开发者提供了丰富的MPI、PS、BSP等编程框架和数据存取接口,高效地配置计算资源,为数据赋能,可提供算法开发、分享、模型训练、部署和监控等一站式算法服务。
参考文献:
[1] 龍虎, 杨晖. 大数据背景下的数据分析与可视化研究[J].凯里学院学报,2016,34(3):98-102.
[2] 李联宁.大数据技术及应用教程[M].北京:清华大学出版社,2016.
[3] 牟少敏.机器学习与大数据技术[M].北京:人民邮电出版社,2018.
【通联编辑:王力】