机器学习是一门多领域交叉学科,涉及概率论、统计学、
逼近论、凸分析、
算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的
学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
定义
机器学习是一门多学科交叉专业,涵盖概率论知识,统计学知识,近似理论知识和复杂算法知识,使用计算机作为工具并致力于真实实时的模拟人类学习方式,并将现有内容进行知识结构划分来有效提高学习效率。
机器学习有下面几种定义:
(1)机器学习是一门人工智能的科学,该领域的主要研究对象是
人工智能,特别是如何在经验学习中改善具体算法的性能。
(2)机器学习是对能通过经验自动改进的计算机算法的研究。
(3)机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。
发展历程
机器学习实际上已经存在了几十年或者也可以认为存在了几个世纪。追溯到17世纪,
贝叶斯、
拉普拉斯关于
最小二乘法的推导和
马尔可夫链,这些构成了机器学习广泛使用的工具和基础。1950年(艾伦.
图灵提议建立一个学习机器)到2000年初(有深度学习的实际应用以及最近的进展,比如2012年的AlexNet),机器学习有了很大的进展。
从20世纪50年代研究机器学习以来,不同时期的研究途径和目标并不相同,可以划分为四个阶段。
第一阶段是20世纪50年代中叶到60年代中叶,这个时期主要研究“有无知识的学习”。这类方法主要是研究系统的执行能力。这个时期,主要通过对机器的环境及其相应性能参数的改变来检测系统所反馈的数据,就好比给系统一个程序,通过改变它们的自由空间作用,系统将会受到程序的影响而改变自身的组织,最后这个系统将会选择一个最优的环境生存。在这个时期最具有代表性的研究就是Samuet的下棋程序。但这种机器学习的方法还远远不能满足人类的需要。
第二阶段从20世纪60年代中叶到70年代中叶,这个时期主要研究将各个领域的知识植入到系统里,在本阶段的目的是通过机器模拟人类学习的过程。同时还采用了图结构及其逻辑结构方面的知识进行系统描述,在这一研究阶段,主要是用各种符号来表示机器语言,研究人员在进行实验时意识到学习是一个长期的过程,从这种系统环境中无法学到更加深入的知识,因此研究人员将各专家学者的知识加入到系统里,经过实践证明这种方法取得了一定的成效。在这一阶段具有代表性的工作有Hayes-Roth和Winson的对结构学习系统方法。
第三阶段从20世纪70年代中叶到80年代中叶,称为复兴时期。在此期间,人们从学习单个概念扩展到学习多个概念,探索不同的学习策略和学习方法,且在本阶段已开始把学习系统与各种应用结合起来,并取得很大的成功。同时,专家系统在知识获取方面的需求也极大地刺激了机器学习的研究和发展。在出现第一个专家学习系统之后,示例归纳学习系统成为研究的主流,自动知识获取成为机器学习应用的研究目标。1980年,在美国的卡内基梅隆(CMU)召开了第一届机器学习国际研讨会,标志着机器学习研究已在全世界兴起。此后,机器学习开始得到了大量的应用。1984年,Simon等20多位人工智能专家共同撰文编写的MachineLearning文集第二卷出版,国际性杂志Machine Learning创刊,更加显示出机器学习突飞猛进的发展趋势。这一阶段代表性的工作有Mostow的指导式学习、Lenat的数学概念发现程序、Langley的BACON程序及其改进程序。
第四阶段20世纪80年代中叶,是机器学习的最新阶段。这个时期的机器学习具有如下特点:
(1)机器学习已成为新的学科,它综合应用了心理学、生物学、神经生理学、数学、自动化和计算机科学等形成了机器学习理论基础。
(2)融合了各种学习方法,且形式多样的集成学习系统研究正在兴起。
(3)机器学习与人工智能各种基础问题的统一性观点正在形成。
(4)各种学习方法的应用范围不断扩大,部分应用研究成果已转化为产品。
(5)与机器学习有关的学术活动空前活跃。
研究现状
机器学习是人工智能及模式识别领域的共同研究热点,其理论和方法已被广泛应用于解决工程应用和科学领域的复杂问题。2010年的图灵奖获得者为
哈佛大学的Leslie vlliant教授,其获奖工作之一是建立了概率近似正确(Probably Approximate Correct,PAC)学习理论;2011年的图灵奖获得者为加州大学洛杉矶分校的Judea Pearll教授,其主要贡献为建立了以概率统计为理论基础的人工智能方法。这些研究成果都促进了机器学习的发展和繁荣。
机器学习是研究怎样使用计算机模拟或实现人类学习活动的科学,是人工智能中最具智能特征,最前沿的研究领域之一。自20世纪80年代以来,机器学习作为实现人工智能的途径,在人工智能界引起了广泛的兴趣,特别是近十几年来,机器学习领域的研究工作发展很快,它已成为人工智能的重要课题之一。机器学习不仅在基于知识的系统中得到应用,而且在自然语言理解、非单调推理、
机器视觉、
模式识别等许多领域也得到了广泛应用。一个系统是否具有学习能力已成为是否具有“智能”的一个标志。机器学习的研究主要分为两类研究方向:第一类是传统机器学习的研究,该类研究主要是研究学习机制,注重探索模拟人的学习机制;第二类是大数据环境下机器学习的研究,该类研究主要是研究如何有效利用信息,注重从巨量数据中获取隐藏的、有效的、可理解的知识。
机器学习历经70年的曲折发展,以深度学习为代表借鉴人脑的多分层结构、神经元的连接交互信息的逐层分析处理机制,自适应、自学习的强大并行信息处理能力,在很多方面收获了突破性进展,其中最有代表性的是图像识别领域。
传统机器学习的研究现状
传统机器学习的研究方向主要包括
决策树、
随机森林、
人工神经网络、
贝叶斯学习等方面的研究。
决策树是机器学习常见的一种方法。20世纪末期,机器学习研究者J.Ross Quinlan将Shannon的信息论引入到了
决策树算法中,提出了
ID3算法。1984年I.Kononenko、E.Roskar和I.Bratko在ID3算法的基础上提出了AS-SISTANTAlgorithm,这种算法允许类别的取值之间有交集。同年,A.Hart提出了Chi-Squa统计算法,该算法采用了一种基于属性与类别关联程度的统计量。1984年L.Breiman、C.Ttone、R.Olshen和J.Freidman提出了决策树剪枝概念,极大地改善了决策树的性能。1993年,Quinlan在ID3算法的基础上提出了一种改进算法,即C4.5算法。C4.5算法克服了ID3算法属性偏向的问题增加了对连续属性的处理通过剪枝,在一定程度上避免了“过度适合”现象。但是该算法将连续属性离散化时,需要遍历该属性的所有值,降低了效率,并且要求训练样本集驻留在内存,不适合处理大规模数据集。2010年Xie提出一种CART算法,该算法是描述给定预测向量X条件分布变量Y的一个灵活方法,已经在许多领域得到了应用。
CART算法可以处理无序的数据,采用
基尼系数作为测试属性的选择标准。CART算法生成的决策树精确度较高,但是当其生成的决策树复杂度超过一定程度后,随着复杂度的提高,分类精确度会降低,所以该算法建立的决策树不宜太复杂。2007年房祥飞表述了一种叫SLIQ(决策树分类)算法,这种算法的分类精度与其他决策树算法不相上下,但其执行的速度比其他决策树算法快,它对训练样本集的样本数量以及属性的数量没有限制。SLIQ算法能够处理大规模的训练样本集,具有较好的伸缩性;执行速度快而且能生成较小的二叉决策树。SLIQ算法允许多个处理器同时处理属性表,从而实现了并行性。但是SLIQ算法依然不能摆脱主存容量的限制。2000年RajeevRaSto等提出了
PUBLIC算法,该算法是对尚未完全生成的决策树进行剪枝,因而提高了效率。近几年模糊决策树也得到了蓬勃发展。研究者考虑到属性间的相关性提出了分层回归算法、约束分层归纳算法和功能树算法,这三种算法都是基于多分类器组合的决策树算法,它们对属性间可能存在的相关性进行了部分实验和研究,但是这些研究并没有从总体上阐述属性间的相关性是如何影响决策树性能。此外,还有很多其他的算法,如Zhang.J于2014年提出的一种基于粗糙集的优化算法、Wang.R在2015年提出的基于极端学习树的算法模型等。
随机森林(RF)作为机器学习重要算法之一,是一种利用多个树分类器进行分类和预测的方法。近年来,随机森林算法研究的发展十分迅速,已经在生物信息学、生态学、医学、遗传学、遥感地理学等多领域开展的应用性研究。
人工神经网络(Artificial Neural Networks,ANN)是一种具有非线性适应性信息处理能力的算法,可克服传统人工智能方法对于直觉,如模式、
语音识别、非结构化信息处理方面的缺陷。早在20世纪40年代人工神经网络已经受到关注,并随后得到迅速发展。
贝叶斯学习是机器学习较早的研究方向,其方法最早起源于英国数学家托马斯,贝叶斯在1763年所证明的一个关于
贝叶斯定理的一个特例。经过多位统计学家的共同努力,贝叶斯统计在20世纪50年代之后逐步建立起来,成为
统计学中一个重要的组成部分。
大数据环境下机器学习的研究现状
大数据的价值体现主要集中在数据的转向以及数据的信息处理能力等等。在产业发展的今天,大数据时代的到来,对数据的转换,数据的处理数据的存储等带来了更好的技术支持,产业升级和新产业诞生形成了一种推动力量,让大数据能够针对可发现事物的程序进行自动规划,实现人类用户以计算机信息之间的协调。另外现有的许多机器学习方法是建立在
内存理论基础上的。大数据还无法装载进计算机内存的情况下,是无法进行诸多算法的处理的,因此应提出新的
机器学习算法,以适应大数据处理的需要。大数据环境下的机器学习算法,依据一定的性能标准,对学习结果的重要程度可以予以忽视。采用分布式和并行计算的方式进行分治策略的实施,可以规避掉噪音数据和冗余带来的干扰,降低存储耗费,同时提高学习算法的运行效率。
随着
大数据中国计算机学会(CCF)大数据专家委员会上通过数百位大数据相关领域学者和技术专家投票推选出的“2015年大数据十大热点技术与发展趋势”中,结合机器学习等智能计算技术的大数据分析技术被推选为大数据领域第一大研究热点和发展趋势。
机器学习的分类
几十年来,研究发表的机器学习的方法种类很多,根据强调侧面的不同可以有多种分类方法。
基于学习策略的分类
(1)模拟人脑的机器学习
符号学习:模拟人脑的宏现心理级学习过程,以认知
心理学原理为基础,以符号数据为输入,以符号运算为方法,用推理过程在图或状态空间中搜索,学习的目标为概念或规则等。符号学习的典型方法有记忆学习、示例学习、演绎学习.类比学习、解释学习等。
神经网络学习(或连接学习):模拟人脑的微观生理级学习过程,以脑和神经科学原理为基础,以人工神经网络为函数结构模型,以数值数据为输入,以数值运算为方法,用迭代过程在系数
向量空间中搜索,学习的目标为函数。典型的连接学习有权值修正学习、拓扑结构学习。
(2)直接采用数学方法的机器学习
主要有统计机器学习。
统计机器学习是基于对数据的初步认识以及学习目的的分析,选择合适的数学模型,拟定超参数,并输入样本数据,依据一定的策略,运用合适的学习算法对模型进行训练,最后运用训练好的模型对数据进行分析预测。
统计机器学习三个要素:
模型(model):模型在未进行训练前,其可能的参数是多个甚至无穷的,故可能的模型也是多个甚至无穷的,这些模型构成的集合就是假设空间。
策略(strategy):即从假设空间中挑选出参数最优的模型的准则。模型的分类或预测结果与实际情况的误差(损失函数)越小,模型就越好。那么策略就是误差最小。
算法(algorithm):即从假设空间中挑选模型的方法(等同于求解最佳的模型参数)。机器学习的参数求解通常都会转化为
最优化问题,故学习算法通常是最优化算法,例如最速梯度下降法、牛顿法以及拟牛顿法等。
基于学习方法的分类
(1)归纳学习
符号归纳学习:典型的符号归纳学习有示例学习、决策树学习。
函数归纳学习(发现学习):典型的函数归纳学习有神经网络学习、示例学习、发现学习、统计学习。
(2)演绎学习
(3)类比学习:典型的类比学习有案例(范例)学习。
(4)分析学习:典型的分析学习有解释学习、宏操作学习。
基于学习方式的分类
(1)监督学习(有导师学习):输入数据中有导师信号,以概率函数、
代数函数或人工神经网络为基函数模型,采用
迭代计算方法,学习结果为函数。
(2)无监督学习(无导师学习):输入数据中无导师信号,采用
聚类方法,学习结果为类别。典型的无导师学习有发现学习、聚类、竞争学习等。
(3)强化学习(增强学习):以环境反馈(奖/惩信号)作为输入,以统计和动态规划技术为指导的一种学习方法。
基于数据形式的分类
(1)结构化学习:以结构化数据为输入,以数值计算或符号推演为方法。典型的结构化学习有神经网络学习、统计学习、决策树学习、规则学习。
(2)非结构化学习:以非结构化数据为输入,典型的非结构化学习有类比学习案例学习、解释学习、文本挖掘、
图像挖掘、
Web挖掘等。
基于学习目标的分类
(1)概念学习:学习的目标和结果为概念,或者说是为了获得概念的学习。典型的概念学习主要有示例学习。
(2)规则学习:学习的目标和结果为规则,或者为了获得规则的学习。典型规则学习主要有决策树学习。
(3)函数学习:学习的目标和结果为函数,或者说是为了获得函数的学习。典型函数学习主要有神经网络学习。
(4)类别学习:学习的目标和结果为对象类,或者说是为了获得类别的学习。典型类别学习主要有聚类分析。
(5)贝叶斯网络学习:学习的目标和结果是贝叶斯网络,或者说是为了获得贝叶斯网络的一种学习。其又可分为结构学习和多数学习。
常见算法
决策树算法
决策树及其变种是一类将输入空间分成不同的区域,每个区域有独立参数的算法。决策树算法充分利用了树形模型,根节点到一个叶子节点是一条分类的路径规则,每个
叶子节点象征一个判断类别。先将样本分成不同的子集,再进行分割递推,直至每个子集得到同类型的样本,从根节点开始测试,到子树再到叶子节点,即可得出预测类别。此方法的特点是结构简单、处理数据效率较高。
朴素贝叶斯算法
朴素贝叶斯算法是一种分类算法。它不是单一算法,而是一系列算法,它们都有一个共同的原则,即被分类的每个特征都与任何其他特征的值无关。
朴素贝叶斯分类器认为这些“特征”中的每一个都独立地贡献概率,而不管特征之间的任何相关性。然而,特征并不总是独立的,这通常被视为朴素贝叶斯算法的缺点。简而言之,
朴素贝叶斯算法允许使用概率给出一组特征来预测一个类。与其他常见的分类方法相比,朴素贝叶斯算法需要的训练很少。在进行预测之前必须完成的唯一工作是找到特征的个体概率分布的参数,这通常可以快速且确定地完成。这意味着即使对于高维数据点或大量数据点,朴素贝叶斯分类器也可以表现良好。
支持向量机算法
基本思想可概括如下:首先,要利用一种变换将空间高维化,当然这种变换是非线性的,然后,在新的复杂空间取最优线性分类表面[8]。由此种方式获得的分类函数在形式上类似于神经网络算法。
支持向量机是统计学习领域中一个代表性算法,但它与传统方式的思维方法很不同,输入空间、提高维度从而将问题简短化,使问题归结为线性可分的经典解问题。支持向量机应用于垃圾邮件识别,人脸识别等多种分类问题。
随机森林算法
控制数据树生成的方式有多种,根据前人的经验,大多数时候更倾向选择分裂属性和剪枝,但这并不能解决所有问题,偶尔会遇到噪声或分裂属性过多的问题。基于这种情况,总结每次的结果可以得到袋外数据的估计误差,将它和测试样本的估计误差相结合可以评估组合树学习器的拟合及预测精度。此方法的优点有很多,可以产生高精度的分类器,并能够处理大量的变数,也可以平衡分类资料集之间的误差。
人工神经网络算法
人工神经网络与神经元组成的异常复杂的网络此大体相似,是个体单元互相连接而成,每个单元有数值量的输入和输出,形式可以为实数或线性组合函数。它先要以一种学习准则去学习,然后才能进行工作。当网络判断错误时,通过学习使其减少犯同样错误的可能性。此方法有很强的泛化能力和非线性映射能力,可以对信息量少的系统进行模型处理。从功能模拟角度看具有并行性,且传递信息速度极快。
Boosting与Bagging算法
Boosting是种通用的增强基础算法性能的
回归分析算法。不需构造一个高精度的回归分析,只需一个粗糙的基础算法即可,再反复调整基础算法就可以得到较好的组合回归模型。它可以将弱学习算法提高为强学习算法,可以应用到其它基础回归算法,如
线性回归、神经网络等,来提高精度。Bagging和前一种算法大体相似但又略有差别,主要想法是给出已知的弱学习算法和训练集,它需要经过多轮的计算,才可以得到预测函数列,最后采用投票方式对示例进行判别。
关联规则算法
关联规则是用规则去描述两个变量或多个变量之间的关系,是客观反映数据本身性质的方法。它是机器学习的一大类任务,可分为两个阶段,先从资料集中找到高频项目组,再去研究它们的关联规则。其得到的分析结果即是对变量间规律的总结。
期望最大化算法
EM(期望最大化)算法在进行机器学习的过程中需要用到
极大似然估计等参数估计方法,在有潜在变量的情况下,通常选择EM算法,不是直接对函数对象进行极大估计,而是添加一些数据进行简化计算,再进行极大化模拟。它是对本身受限制或比较难直接处理的数据的
极大似然估计算法。
深度学习
深度学习(DL,Deep Learning)是机器学习(ML,Machine Learning)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能(AI,Artificial Intelligence)。
深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。 深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。
深度学习在搜索技术、
数据挖掘、机器学习、
机器翻译、
自然语言处理、多媒体学习、语音、推荐和个性化技术,以及其他相关领域都取得了很多成果。深度学习使机器模仿视听和思考等人类的活动,解决了很多复杂的模式识别难题,使得人工智能相关技术取得了很大进步。
应用
机器学习应用广泛,无论是在军事领域还是民用领域,都有机器学习算法施展的机会,主要包括以下几个方面。
数据分析与挖掘
数据分析与挖掘技术是机器学习算法和数据存取技术的结合,利用机器学习提供的统计分析、知识发现等手段分析海量数据,同时利用数据存取机制实现数据的高效读写。机器学习在数据分析与挖掘领域中拥有无可取代的地位,2012年
Hadoop进军机器学习领域就是一个很好的例子。
模式识别
模式识别起源于工程领域,而机器学习起源于计算机科学,这两个不同学科的结合带来了模式识别领域的调整和发展。模式识别研究主要集中在两个方面。
(1)研究生物体(包括人)是如何感知对象的,属于认识科学的范畴。
(2)在给定的任务下,如何用计算机实现模式识别的理论和方法,这些是机器学习的长项,也是机器学习研究的内容之一。
模式识别的应用领域广泛,包括
计算机视觉、
医学图像分析、
光学文字识别、
自然语言处理、语音识别、手写识别、生物特征识别、文件分类、搜索引擎等,而这些领域也正是机器学习大展身手的舞台,因此模式识别与机器学习的关系越来越密切。
在生物信息学上的应用
随着
基因组和其他测序项目的不断发展,生物信息学研究的重点正逐步从积累数据转移到如何解释这些数据。在未来,生物学的新发现将极大地依赖于在多个维度和不同尺度下对多样化的数据进行组合和关联的分析能力,而不再仅仅依赖于对传统领域的继续关注。序列数据将与结构和功能数据
基因表达数据、生化反应通路数据表现型和临床数据等一系列数据相互集成。如此大量的数据,在生物信息的存储、获取、处理、浏览及可视化等方面,都对理论算法和软件的发展提出了迫切的需求。另外,由于基因组数据本身的复杂性也对理论算法和软件的发展提出了迫切的需求。而机器学习方法例如神经网络、
遗传算法、决策树和
支持向量机等正适合于处理这种数据量大、含有噪声并且缺乏统一理论的领域。
更广阔的领域
国外的
IT巨头正在深入研究和应用机器学习,他们把目标定位于全面模仿人类大脑,试图创造出拥有人类智慧的机器大脑。
2012年
Google在人工智能领域发布了一个划时代的产品一人脑模拟软件,这个软件具备自我学习功能。模拟脑细胞的相互交流,可以通过看
YouTube视频学习识别猫、人以及其他事物。当有数据被送达这个神经网络的时候,不同
神经元之间的关系就会发生改变。而这也使得神经网络能够得到对某些特定数据的反应机制,据悉这个网络已经学到了一些东西,Google将有望在多个领域使用这一新技术,最先获益的可能是语音识别。
具体应用
(1)虚拟助手。
Siri,Alexa,Google Now都是虚拟助手。顾名思义,当使用语音发出指令后,它们会协助查找信息。对于回答,虚拟助手会查找信息,回忆语音指令人员的相关查询,或向其他资源(如电话应用程序)发送命令以收集信息。人们甚至可以指导助手执行某些任务,例如“设置7点的闹钟”等。
(2)交通预测。生活中人们经常使用
GPS导航服务。当使用GPS导航服务时,人们当前的位置和速度被保存在中央服务器上来进行流量管理。之后使用这些数据用于构建当前流量的映射。通过机器学习可以解决配备GPS的汽车数量较少的问题,在这种情况下的机器学习有助于根据估计找到拥挤的区域。
(3)过滤垃圾邮件和恶意软件。电子邮件客户端使用了许多垃圾邮件过滤方法。为了确保这些垃圾邮件过滤器能够不断更新,它们使用了机器学习技术。
多层感知器和决策树归纳等是由机器学习提供支持的一些垃圾邮件过滤技术。每天检测到超过325000个恶意软件,每个代码与之前版本的90%~98%相似。由机器学习驱动的系统安全程序理解编码模式。因此,他们可以轻松检测到2%~10%变异的新恶意软件,并提供针对它们的保护。
(4)快速揭示细胞内部结构。借由高功率显微镜和机器学习,美国科学家研发出一种新算法,可在整个细胞的超高分辨率图像中自动识别大约30种不同类型的细胞器和其他结构。相关论文发表在最新一期的《自然》杂志上。
(5)2022年,中国科学家利用机器学习的方法,快速得到相接双星的参数和误差。