大数据支撑下的机器学习算法

2018-06-06 10:14姜绍俊
电脑知识与技术 2018年7期
关键词:机器学习大数据算法

姜绍俊

摘要:大数据和机器学习都是现代计算机领域中重大的技术变革,这些技术对各行各业都产生了巨大的影响。目前,随着互联网、移动通信、社交网络、物联网的快速发展,这些网络每天都会产生大量的数据,数据成为当今最重要的信息资源。一些研究表明,在很多情况下数据规模越大,利用这些数据进行机器学习的效果会越好。因此在大数据支撑下的机器学习成为全球学术界和工业界高度关注的热点研究领域。本文介绍了在大数据支撑下的一些经典机器学习算法。

关键词:大数据;机器学习;信息;算法;系统

中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2018)07-0164-02

Abstract: Big Data and Machine Learning are the major technological changes in the modern computer field, which have a great impact on all walks of life. At present, with the rapid development of Internet, Mobile Communication, Social Networking Services and Internet of Things, these networks generate a large of data everyday. These data become the most important information resources nowadays. Some researches show that, in many cases, the greater size of the data, the better the effect of using these data for Machine Learning. Therefore, Machine Learning under the support of Big Data has become a hot research field in the global academia and industry. In this paper, some classical Machine Learning algorithms under the support of Big Data are introduced.

Key words: Dig Data; Machine Learning; Information; Algorithms; Systems

1 大數据概述

近年来随着互联网、移动通信、社交媒体、物联网的快速发展,各种网络应用每天都会产生大量的数据,导致全球数据总量呈现爆炸式的增长,数据成为当今最重要的基础信息资源,人类社会加快了进入信息化的步伐。随着产业界数据量的爆炸式增长,数据以前所未有的速度积累,大数据(Big Data)概念受到越来越多的关注。大数据正在给数据密集型企业带来丰厚的利润,据估计仅Google公司在2009年就为美国经济贡献540亿美元[1]。国际数据公司IDC的数字宇宙研究报告称:2011年全球被创建和被复制的数据总量超过1.8ZB,且增长趋势遵循新摩尔定律(全球数据量大约每两年翻一番),预计2020年将达到35ZB。大数据包含了互联网、医疗设备、视频监控、移动设备、智能设备、非传统IT设备等渠道产生的海量结构化、半结构化或非结构化数据。[2]

人类在这么多的数据面前到底可以获得什么有价值的信息,成为人类社会关注的焦点。2012年,美国政府就在继高速公路、国际互联网之后宣布,大数据将成为美国未来重要的技术发展领域。现在许多国家和国际跨国公司也都加入到大数据的发展中来,比如Google、IBM、微软、阿里巴巴和百度等。对于大数据的基本定义可以从大数据具有多方面的特征来进行概述。大数据的基本模型就是以大数据的特点来概括的。在基本的大数据定义中包括数据的规模性(Volume)、多样性(Variety)、高速性(Velocity)、变化性(Variability)、虚拟性(Virtual)、价值性(Value)。针对这些特点,王飞跃[3]认为在大数据时代知识解析、机器智能与人类智能协调工作及智能分析系统将会扮演重要角色,人们需要一种智能分析接口将人类与计算机世界连接,否则将被淹没在大数据的洪流中。

随着时间的推移大数据技术将应用到人类社会的各个领域,并对其带来巨大的技术变革,会带给各个领域前所未有的发展机遇。大数据技术包括数据生成、数据存储、数据分析、数据处理等。数据分析是大数据技术中的核心技术,利用它可以直接产生有价值的信息。目前数据分析技术包括:数据挖掘、分类和聚类、关联规则、遗传算法、回归分析、神经网络、机器学习等。

2 机器学习及其相关知识

人类的一种重要智能行为就是学习能力,目前计算机也已经初步具有这样的能力了。正如Tom M. Mitchell在其著作《Machine Learning》中指出,机器学习就是指“计算机利用经验自动改善系统自身性能的行为”。[4]机器学习通过对已有数据中的信息进行分析、处理,形成新的经验和知识,对未知的信息进行判断、预测,使计算机像人一样具有学习能力。

在传统意义下,机器学习可以表示为:令Rn为一个问题空间,(x,y)∈Rn,称为样本或对象,其中,x是一个n维矢量,y是一个类别域中的一个值。[5]根据概率论和数理统计的基础知识,我们知道Rn即为整个要考察问题的总体空间。随着人们认识的不断发展,在这个总体空间中所发生的客观现象大体上可以分成两大类:一类为确定性现象,另一类为非确定性现象。确定性现象的共同点是在准确重复某些条件或是根据它过去的状态,可以对结果做出准确的预测。非确定性现象则刚好相反,即使在相同条件下对其做重复试验或是知道它过去的状态也很难知道它未来的结果。但是我们可以根据确定性现象建立一个模型M,然后期望这个模型M不仅对整个总体空间Rn中的确定性现象可以做出准确的预测,也可以对整个总体空间中的不确定现象做出一个准确率大于一个阈值的预测。这个阈值越小,证明我们的模型M越好。模型M对于整个总体空间Rn的预测准确率也被称为模型M对总体空间Rn的泛化能力。

近几年,由于数据分析、信息安全、图像处理等需求使得机器学习研究的观念发生了很多变化。机器学习需要更多地去处理非线性问题、海量数据、提高泛化能力与直接面向用户,这些成为机器学习面临的新挑战。大多数的确定性现象与非确定性现象在总体空间Rn中不能满足一致性的假设。我们只希望了解当前这些确定性现象的真实反映,如果这样的数据集合占我们收集到的数据集合的大多数,也就满足了总体空间Rn中的一致性假设了。相关研究表明在很多情况下,计算機处理的数据规模越大,机器学习模型的效果就会越好。

目前,国内外许多学术界和工业界专家普遍认同的观点是,随着数据信息资源越来越多再加上计算机计算速度越来越快,大数据时代的人工智能将进一步的向前推进,在大数据支撑下的机器学习将迎来新一轮的发展浪潮,大数据支撑下的机器学习将成为全球学术界和工业界高度关注的热点研究领域。随着大数据时代的来临,Google,Facebook、微软、百度、腾讯等国内外著名企业均纷纷成立专门的基于大数据的机器学习与人工智能研发机构,深入系统地研究在大数据支撑下的机器学习和智能化计算技术。[6]最近,由谷歌旗下DeepMind公司开发的智能围棋程序AlphaGo以4:1的悬殊比分战胜了世界围棋冠军韩国人李世石,这让人们充分感受到了机器学习的强大学习能力和巨大发展潜力。

3 在大数据支撑下的机器学习经典算法

对于目前大部分机器学习算法来说,不同的数据样本对相同的机器学习算法得到的结果影响程度是不一样的。一些存在冗余和含有噪声的数据不仅造成存储空间的大量浪费,而且还会降低整个算法的运行效率和学习结果。因此更希望采用大数据的相关技术来对海量的数据进行采样处理,依据相关标准选择具有代表性的数据组成计算机需要的样本空间,之后在这个样本空间上构造学习方法,完成学习任务。由于有了大数据技术在数据采样处理方面的保证,机器学习可以更好地完成我们设定的学习任务,得到更好的学习结果,智能围棋程序AlphaGo就是在这个方面的一个最好案例。

3.1 贝叶斯机器学习

贝叶斯方法是20世纪50年代之后逐步建立起来,是概率论与数理统计学中最重要的一个组成部分。贝叶斯分析方法(Bayesian Analysis)是贝叶斯学习方法的基础,它提供了一种基于给定假设下观察到不同数据的概率以及观察到的数据本身计算假设概率的方法。贝叶斯学习方法为,将关于未知参数的先验信息与样本信息综合,再根据贝叶斯公式得出后验信息,然后根据后验信息去推断未知参数的方法。贝叶斯模型所需估计的参数较少,当属性相关性较少时,该模型算法简单,分类误差率较小,总体性能较好。

贝叶斯方法的缺点在于实际情况下类别总体的概率分布和各类样本的概率分布常常是不知道的,为了获得更精确的总体概率分布和各类样本的概率分布,这就需要对总体知道的越多越好,对样本要求越大越好。贝叶斯机器学习通过计算事件过去发生的频率来预测该事件未来发生的频率,预测结果完全取决于收集到的数据,收集到的数据越多预测的结果也就越好。大数据作为越来越多海量数据产生、存储、处理的主要技术手段,恰好可以在这方面给贝叶斯机器学习提供足够好的样本数据来进行学习。大数据技术加上贝叶斯机器学习方法已经在一些研究和应用中取得了不错的成果。

3.2 K最近邻(KNN)学习

K最近邻学习方法是按照一定的规则将相似的数据样本分为一类,类似于现实生活中的一句成语“物以类聚,人以群分”。K最近邻学习方法的基本思想是,对于要进行分类或是测试的新数据,首先提取它的特征并与原样本中的每一个数据的特征进行比较,然后从比较的结果中选择K个最相近的样本数据,统计在这K个样本数据中,哪种分类出现的次数多,那么要进行分类的数据就是哪一类。

K最近邻学习方法的不足在于如果某些类的样本容量很大,即已知样本数量不均衡,有可能造成数据集中小容量样本被大容量样本给淹没,本来是小容量样本的类别却被分到了大容量样本的类别中去。因此在大数据的环境下,如何更好地进行样本选取成为了更迫切的工作。已有的大部分样本选取方法只适用于较小规模的数据集,而大数据的数据分析处理方法给在大数据的背景下,K最近邻学习方法的发展提供了更为广阔的发展前景。

3.3 回归学习

回归学习是经典实用的预测方法,可以从偶然中发现必然。回归学习又称为回归分析,是一种从未知概率分布的随机样本中获得目标函数的近似方法。变量之间的相互关系可分为确定性和非确定性两大类,前者变量之间存在明确的函数关系,后者的变量之间有关系但是不完全确定,在某种随机干扰下产生统计关系,无法用准确的函数表示。对于这种统计关系,可以通过大量的试验获得相关的统计数据,并构造目标函数去逼近该关系即为回归学习。

在使用回归学习时,要求待分析变量之间存在相关关系,在合适的试验数据下回归学习可以准确地计算出各个因素之间的相关程度与回归拟合程度的高低。在回归学习中使用何种因子和表达式只是一种推测,对于不同的数据会产生差异很大的拟合曲线。对于在大数据的情况下采用回归算法,就需要根据大数据的分析给出合适的变元和影响变元的因素,如果变元选择的好,影响变元的因素考虑的全面,那么在大数据支撑下的回归学习效果会达到更好。

3.4 人工神经网络

人工神经网络(ANN)是有众多的隐藏结点通过权值连接而形成的数学模型,它具有大规模并行处理、分布式信息存储、良好的自组织学习能力等特点。反向传播算法(BP)是人工神经网络中的一种监督式的学习算法。人工神经网络在理论上可以逼近任意函数,其基本结构取决于该网络中的隐藏结点,因此它具有很强的非线性映射能力。人工神经网络的中间层数、各层的结点数以及网络中各个结点的初始权重等参数可根据具体情况进行设置灵活性很大。人工神经网络对于训练数据具有较好的拟合效果,且在医学、生理学、哲学、信息学、计算机科学等众多领域有着不错的应用结果。

尽管人工神经网络已经在一些领域取得了不错的应用成果,但是在大数据支撑下的人工神经网络还处于初期阶段,仍然有很多问题需要解决。例如如何确定人工神经网络的层数、结点数,如何提高网络的训练速度,特别是在海量数据的环境下,数据呈现高维属性和数据类型的多样性。大数据技术正好是解决这些难题的关键技术,可以通过大数据的分布式计算、并行计算来给人工神经网络带来更加令人惊喜的学习效果。

4 总结

大数据具有属性稀疏、超高维、关系复杂等特点,传统的机器学习算法在这样的数据规模面前显得无能为力。为此本主要探讨了几种经典的机器学习算法在大数据环境下的理论研究。(1)在大数据环境下如何选择学习样本,如何选择样本的属性特征。(2)如何利用大数据的分布式计算和并行计算来提供机器学习算法的执行效率与速度。总之,大数据支撑下的机器学习算法拥有广阔的研究与应用前景,二者交相辉映一定能够把大数据机器学习推向更高的境界。

参考文献:

[1] Labrinidis A, Jagadish H V. Challenges and Opportunities with Big Data[J]. Proc of the VLDB Endowment, 2012, 5(12).

[2] 冯芷艳, 郭迅华, 曾大军, 等. 大数据背景下商务管理研究若干前沿课题[J]. 管理科学学报, 2013(1).

[3] Wang F Y. A Big-Data Perspective on AI: Newton, Merton, and Analytics Intelligence[J]. IEEE Intelligent Systems, 2012, 27(5).

[4] 张润, 王永滨. 机器学习及其算法和发展研究[J].中国传媒大学学报自然科学版,2016(4).

[5] 王珏, 石纯一. 机器学习研究[J].广西师范大学学报:自然科学版,2003(6).

[6] 黄宜华. 大数据机器学习系统研究进展[J].大数据,2015(4).

猜你喜欢
机器学习大数据算法
基于MapReduce的改进Eclat算法
Travellng thg World Full—time for Rree
进位加法的两种算法
前缀字母为特征在维吾尔语文本情感分类中的研究
基于支持向量机的金融数据分析研究
一种改进的整周模糊度去相关算法