浅谈机器学习

推荐会员: 点金大数据     发布时间: 2021-11-30 17:51  阅读次数: 1,966 views

机器学习源起

人类的智能活动主要是获得并运用知识,可以说知识是智能的基础,为了使计算机具有智能,能模拟人类的智能行为,就必须使它具有知识。因此,早期的人工智能方法通常基于这样一个假设,即智能可以通过知识库和符号操作来实现。这种AI方法也叫符号式AI,其典型应用是专家系统,专家系统方法通过构建大量的判别规则来进行问题的推断,就像编程语言中的If…Else…处理逻辑一样,符号AI被设计成基于符号表示的输入、符号规则逻辑处理和结果输出,当问题涉及不确定性知识表示时,辅以概率、粗糙集、模糊集等不确定性推理方法。基于经典数理逻辑的知识表示和符号推理方法,又被称为人工智能的符号主义(Symbolicism)或逻辑主义(Logicism)学派。

然而,基于符号派的规则逻辑设计严重依赖专家知识和经验,所以大部分专家系统仅仅局限于某一细分领域的应用。客观来讲,这种知识驱动方法促进了早期AI的发展,特别是在逻辑证明方面,如吴文俊在数学机械证明的研究成果显著,能推演出大部分经典欧式几何定理。另外在基于知识库的专家系统研究方面,知识驱动的AI对现实世界中的常识性知识能快速应用,虽然谈不上理解。

明斯基曾说:”常识是人类长期实践中总结出来的庞大知识体系,包含大量生活中学到的规则、现象和特性”。如何让机器快速掌握庞大的人类常识,除了大规模知识库之外,暂时还没有更有效的方法,这同样也是现阶段深度学习所面临的最大挑战。同时,知识驱动方法也有巨大瓶颈,如何让机器自动学习,符号派暂时还无能为力。笔者认为有如下几个方面原因:

(1)不确定性问题:虽然知识是智能的基础,但知识需要用适当的模式表示才能让机器有效处理,知识的表示也是人工智能中一个十分重要的研究领域。对于确定性知识,符号AI可以有效处理,但不确定性知识的处理当前还比较困难,很多处理任务是难以明确定义的,比如车牌识别,正常情况下可以设定各种规则来匹配,但遇到模糊、扭曲、或光照条件不好的情况下,这种规则系统的效果就难说了。面对不精确、模糊的或不完备的知识,比如医生看病,就是典型的不确定性问题,首先对症状和病理的分析一般是很难完备的,病人的描述很多时候也是模糊和不精确的,还有仪器检测出来的指标也只是一个范围参考等等,不管是模糊逻辑还是粗糙集理论也好,在现实应用中都难以解决类似问题。还有如卷积神经网络理解的从低到高各层抽象特征(像素、边缘、形状等),更是难以用符号逻辑和规则系统进行处理。

(2)自学习问题:规则是死的,而很多情况需要灵活处理,包括动态知识的处理。符号派AI如何自学习,如何自动从大数据集中学习到模式和特征,从当前的技术发展看,还十分困难。知识库需要新的设计思路,如基于本体知识图谱的知识库搜索,神经网络的记忆模块,知识更新等还有很多难题需要解决。

(3)处理效率问题:这个问题很容易理解,传统的专家系统在一个细分领域还能初步覆盖大部分知识,人工建立规则也不是太困难。但在大数据时代,面对多源异构的海量数据,面对环境的动态变化,面对增量的学习等等问题,人工或者半自动化设立规则系统都太重量级了。

面对上述问题,如果把知识驱动的AI称为人工智能1.0的话,那么数据驱动的AI就是人工智能2.0。而浅层机器学习和深度学习分别代表了机器学习1.0和机器学习2.0时代。经典人工智能基于符号逻辑推理和专家系统,而人工智能2.0基于概论统计加机器学习(或深度学习)。人工智能六十多年的发展研究从以”推理”为重点到以”知识”为重点,再到以”学习”为重点,推理、知识、学习,一条很自然的发展路径。总之学习是人类具有的一种重要智能行为,机器要智能决然离不开学习,但究竟什么是学习,却众说纷纭。人工智能先驱西蒙认为,学习就是系统在不断重复的工作中对本身能力的增强或者改进,使得系统在下一次执行同样任务或类似任务时,会比现在做得更好或效率更高;从事专家系统研究的观点认为学习是获取知识的过程;心理学家认为学习是技能的获取;物理学家则认为学习是事物规律的发现过程,下面我们就来看机器到底是如何学习的。

 

机器学习原理

机器学习(Machine Learning, ML) 是一门多领域交叉学科,涉及概率论、统计学、线性代数、算法设计等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,使系统能不断改善自身的性能,机器学习是人工智能的核心技术之一。数据驱动的机器学习,不需要人工设定知识和规则,而是使用了一套基于概论统计方法的人工选择或自动特征学习系统,通过不同的算法设计实现,它能直接在数据集上训练出一套隐式规则构建出模型(如图1),尽管有些机器学习模型难以被设计人员理解和解释,只是满足统计意义上的正确推理,只要自学习出来的模型系统预测准确率够高,我们就认为这种学习方式是有效的。

图1  机器学习原理示意图

面对知识驱动AI-人工智能1.0的局限,机器学习另辟蹊径采用了一种完全不同于符号逻辑方法的思路,机器学习是一种让机器基于数据学习出规则而不是通过人为的编程指令来建立规则,通过算法来解析数据,直接从数据中学习到规律并构建模型,基于历史数据训练好的模型来对新的情况做出判别和预测。机器学习的本质就是在已有数据集上通过特征学习和训练求得一个函数F(X):S→Z,实现从给定数据到模型目标空间的映射。数据、算法和模型是机器学习的三个关键因素,数据驱动的机器学习能够不断从新的数据中进行学习,通过增量数据的迭代学习,使得模型不断适应外部环境的变化需求,以提供可靠的预测分析结果。

一般来讲,机器学习按学习方式可以分为如下几种典型的任务:

(1)监督学习:不管是学术研究还是工业应用,监督学习是最常见的一种机器学习方式。监督学习任务就是从已经标注好(类别)的训练数据中进行学习,构建出机器判别模型,再通过已经构建好的模型去预测新的数据,从而进行分类识别或回归预测。就像幼儿第一次认识苹果,需要人教他什么样形状和颜色的水果才是苹果,给水果打上的苹果标签(是/否)就是一种监督学习标注。进一步用形式化方法描述的话,可以这样理解:监督学习通过输入变量(X)和输出变量(Y)的处理,并使用算法学习输入到输出的映射函数Y = F(X),也称为近似目标函数,当有新的输入数据(X)时,可以预测该数据的输出变量(Y)。因为从标注训练数据集中学习的算法过程可以被认为是一种教师指导式学习。我们知道正确答案Y,该算法迭代地对训练数据X进行预测,并由教师(标注标签)纠正,直到算法预测准确率达到可接受的水平时学习停止。分类和回归问题就属于典型的监督学习任务,比如判别是否为垃圾邮件,医疗诊断是阴性还是阳性,股票的预测值等等。

(2)非监督学习:直接从未标注的数据集(没有类别标签)进行学习推断来描述其隐藏结构,由于原始数据集没有分类标签,需要通过算法学习来进行分类判断并训练生成模型。非监督学习只有输入数据(X),没有相应的输出标签Y,也就是说没有正确答案(老师),算法自己来发现和呈现数据中有趣的结构。聚类问题就是典型的非监督学习任务,把已知数据集通过聚类算法划分为不同类别子集。

(3)半监督学习:学习输入数据集中,只有部分数据被标记,被称为半监督学习问题。这些问题处于监督学习和无监督学习之间。一个很好的例子就是一个照片档案,其中只有一些图片被贴上了标签(例如狗,猫,人),大多数都没有标签,这是因为标注数据可能要花费大量时间或需要专家知识的支持。而无标签的数据便宜,易于收集和存储。这时可以使用无监督学习来发现和学习输入变量中的结构,还可以使用监督学习对未标记的数据进行猜测或验证,并将结果作为训练数据反馈给监督学习算法。

(4)强化学习:强化学习是当前的一个研究热点,也是AlphaGo系统的核心技术之一,关键策略是主体(也叫代理,Agent)如何基于环境展开行动,以取得最大化的预期利益。其灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得更大利益的习惯性行为。这种学习方式具有一般性和普遍性,在博弈论,控制论,运筹学,信息论,多智能体系统,群体智能等领域都有大量研究和应用,在后文我们会就强化学习做专门的探讨和分析。

总之,机器学习提供了一个新的数据分析范式,通过输入数据和目标数据映射,进行特征学习构建预测模型,大大提高了数据分析的自动化水平,提升了数据分析效率。机器学习任务涉及问题理解、选择算法、超参调整、迭代建模以及模型评价、模型部署等一系列工作。如何快速探索数据,以及通过更有效的调参和诊断来提高模型的准确率,机器学习流程的设计优化十分关键。

如果把传统机器学习算法称为机器学习1.0的话,那么大数据驱动的深度学习(或集成强化学习、迁移学习等)就是机器学习2.0。经典机器学习方法多需要人工的特征工程,而特征工程的好坏直接决定了模型的性能,经典机器学习算法的性能瓶颈除了算法本身机理之外,最大的瓶颈就是特征工程的好坏,传统的方法是手工设计良好的特征提取器,这需要大量的机器学习实践经验和问题领域知识,严重依赖专家经验,而一般人很难对一个问题相关特征的重要性有准确把握,这极大制约了机器学习的发展。而基于深度学习的机器学习2.0把这一问题弱化了。

机器学习1.0 = 数据 + 特征 + 模型,给定源数据,经典机器学习方法需要对数据进行整理、清洗、抽取、转换、拼接和特征工程等操作之后才能输入模型进行训练,学习阶段主要对特征和模型两个方面进行优化,良好的特征抽取和表示,是机器学习成功的关键,也是学习计算的关键部分,可见传统方法是一个复杂繁复的过程。

机器学习2.0=数据+自动特征学习模型,深度学习使得机器学习更标准、更易用、更智能,同时通过大数据驱动的自动特征学习,实则降低了机器学习技术的应用门槛,这是AI技术当前发展迈出的巨大一步,至少在基于深度学习的自动特征工程方面,我们看到了机器优于人力的潜力,所以科技巨头们都纷纷押重注争抢深度学习这一技术至高点,以深度学习为代表的机器学习2.0技术应用潜力巨大,已经在各大互联网公司产品线中大展身手。当然深度学习也有其局限,比如深度学习进行人脸识别过程中提取的特征,让设计人员也难以解释,甚至很多做机器学习的人都难以理解神经网络为什么会提取出这样的特征,也不知道为什么深度网络有如此优秀的性能和效果。

但不可否认的是,模仿与借鉴人脑视觉皮层的处理机制能极大提高机器学习能力,由于脑科学和神经科学的限制,我们对人脑的内部机理了解还很有限。虽然深度学习源于人工神经网络,通过自动组合低层特征形成更加抽象的高层特征方式来表示属性类别,以发现数据的分布式表示和关键特征,但还远远谈不上模拟了我们人脑的学习机制。深度学习仅仅借鉴了大脑视觉皮层的分层处理机制,强化学习仅仅借鉴人类行为主义的奖惩激励机制,就能在机器学习领域取得如此成绩,可见机器学习的深度学习能力还有很大的拓展空间。

 

机器学习五大门派

机器学习不能等同于人工智能,但机器学习作为AI最重要的研究方向之一,其本质是力求通过数据的自动学习使得系统具有智能行为,但要实现这一目标可以说还困难重重,几十年来研究人员针对这一目标提出了众多的模型和算法,应该说各有优劣,不同时期的地位也不太相同。总的来讲可以分为五大派别,如图2。

图2  机器学习五大门派

一直以来,机器学习五大门派算法都在彼此挑战,也在融合发展,就像是盲人摸象一样,各派的拥簇者都在从各自的角度来研究如何让机器学习更强大更智能,当前还很难说谁能在角逐AI皇冠的历程中最终胜出。 下面我们来看看何谓机器学习五大门派:

(1)符号主义:使用各种符号、规则和逻辑来表征知识和进行逻辑推理,符号主义认为人类认知的基本单元是符号,而认知过程就是在符号表示上的一种运算,智能行为能够通过计算机符号的计算操作来进行模拟,而智能学习就是基于符号逻辑的演绎、归纳和推理。比如早期的谓词逻辑推理、基于规则的产生式框架系统,基于知识的专家系统等等,都属于符号主义学派,典型方法包括决策树、谓词逻辑和专家系统。

(2)连接主义:如何对大脑进行逆向工程是连接主义学派(又称联结主义)的关注点,受心理学和神经科学影响,连接主义认为学习不是通过推理产生,而是一种情境刺激与反应之间的连接,这种观点来源于对动物大脑和神经系统的观察,学习和认知被看成是神经网络单元之间的动态连接和响应、激活、抑制等活动。通过神经元网络的权重调整来进行学习和记忆,这也是早期感知器、神经网络和当前深度学习最本质的思想。

(3)进化主义:进化主义思想包括两个方面,一是源于进化论,通过模拟生物进化过程,对应生物的繁殖、变异、竞争和选择机制,进化算法通过选择、重组、交叉和变异来实现问题求解[2],本质是一类启发式搜索算法;二是源于控制论,认为智能源于感知和行动,这种感知-动作模式不需要知识、表示和推理,而是像人类或动物与周围环境的交互作用一样进化,比如早期布鲁克斯提出的机器爬虫就属于这一派别。典型方法包括遗传算法、蚁群算法等。

(4)贝叶斯派:贝叶斯学派认为世界是不确定的,我们周遭的大部分事物确实如此,一般我们会根据以往的经验先做一个预判(即不确定性的概率),然后通过观测后续的数据来对先验概率做出调整,最终目标就是通过不断求解后验概率(后验概率分布是在得到新的数据后对先验概率分布的一个修正)找到这个世界的一个最优概率分布。简言之,就是计算发生的可能性来进行概率推理,用概率方法来解释数据并获得最优模型,最典型的方法有朴素贝叶斯、马尔可夫链等算法。

(5)类推派:类推派的典型方法是支持向量机(Support Vector Machine, SVM),SVM也是深度学习之前机器学习的研究热点,神经网络与支持向量机一直处于竞争关系,可以说深度学习问世以前神经网络研究备受其打压。SVM的主要思想是寻找一个超平面来进行二分类,以保证最小的分类错误率。存在一个或多个超平面使得训练样本完全分开,SVM的目标就是找到其中的最优超平面,使得每一类数据与超平面距离最近的向量之间距离最大。SVM基于核函数无需知道非线性映射的显式表达式,直接在高维特征空间中建立判别模型,因此计算效率很高而且避免了维数灾问题,在计算资源和数据有限的条件下,优于早期的人工神经网络方法。

 

机器学习算法不完全概览

机器学习算法众多,除了上述五大门派下属的各种算法之外,还有很多衍生出的算法。比如通过组合多个分类器提升预测性能的集成学习算法,扩展深度学习决策能力的深度强化学习算法等等。机器学习算法好似AI星球上的一座座山峰,有大有小,分属不同的疆域。按学习方式有监督学习、半监督学习、非监督学习和强化学习;按学习任务分有分类问题、回归问题、聚类问题、降维关联和结构探索等问题;按学习门派有符号、连接、进化、贝叶斯和类推算法;还有参数式、非参数式算法,有生成式和判别式算法等等。要对机器学习算法做一个严格的分类,是比较困难的一件事,就学习和应用来讲,我们可以先做一个基本的概览(如图3),让大家对整个领域比较重要的算法有个了解。

图3  不完全机器学习算法概览

上图是一个不完全的机器学习算法概览,没有严格的分类,比如聚类、回归是按学习任务分的,而规则、决策树属于符号派,神经网络、深度学习属于连接派,进化派算法没有列出来,深度学习算法也远不只上图中的几种。面对如此多的算法,大部分其实只需做了解,所以这里笔者就不对每个具体算法做展开了,有些算法甚至从来都没有机会用到。而真正重要的问题是,面临一个分析问题时,我们该如何选择一个合适的算法来解决这一问题?

 

机器学习应用技术选型

这也是初学者应该首先掌握的机器学习知识或者说经验,当然上述问题的答案取决于许多因素。比如数据的规模,是大数据还是小数据?数据的性质,是数值型还是文本、图像?需要满足的计算时间要求?具体是对数据做什么学习任务?是属于分类、聚类还是有标签、无标签等等?机器学习算法的设计和应用可以参考如下选型思路进行(如图4,机器学习算法选型参考):

图4  机器学习算法不完全选型参考流程

(1)首先考虑数据规模,一般来讲小数据多采用浅层学习方法,而大数据可以考虑深度学习模型,当然这种选择也不是绝对的,传统的机器学习方法也可以应用于大数据建模,只是相对来讲深度学习的效果会更好。当然要还要考虑计算资源的条件是否足够,数据格式类型是否匹配;

(2)其次要搞清楚要学习的问题属于什么类别?是预测一个类别,还是预测数值,一般来讲分类和聚类都属于类别预测问题,数值预测属于回归问题,如果都不属于再考虑是数据降维探索,或关联分析或结构预测等问题;

(3)再次采用大家普遍认同的主流学习算法,比如说分类问题时会想到支持向量机,回归问题会想到线性回归和逻辑斯特回归;大规模图像识别会想到CNN,大规模序列数据学习LSTM会比较有效等等;

(4)再则要考虑如何对模型的性能进行提升?一般来讲,通过集成学习方法[5]能提升原模型的预测准确率,而训练和测试过程中采用交叉验证、正则化等技术也能提高模型性能;

(5)最后看是否需要决策支持,模型的预测结果如何跟决策反馈在算法层面进行结合?这是工程应用最难的环节,比如阿尔法狗采用深度学习加强化学习(集成蒙特卡洛树搜索算法)集成架构的设计,这需要丰富的机器学习经验才能得以实现。

上述五个方面的选型参考并没有覆盖涉及机器学习的所有问题(比如提升模型泛化能力的正则化算法,梯度计算和误差计算等方法的选择等等)。在实际应用中,要找到一个合适的算法实则不容易,选定算法之后怎么调到最优和稳定状态更不容易。前文笔者之所以讲数据科学是门艺术,就有这方面因素,就像深度学习炼丹术一样,模型和算法的选择、算法的参数调优都是这门艺术中的一部分。如同机器学习本身,没有精确解,甚至很难说有最优解,很多时候我们是在选择一个足够好的算法和寻找一个相对最优解来解决学习问题。

 

小结

总之,机器学习堪比艺术(Art),比如阿尔法狗(Alphago)系统架构里的三种核心算法应用设计,为什么用深度学习+强化学习,为什么用蒙特卡洛树,这都需要对智能算法有极其深入的理解和把握,具体设计实现称之为艺术一点也不为过。这个艺术也说明了数据科学、大数据智能与传统信息化技术的本质不同,数据科学的核心能力是根据问题提出设想,再把设想转化为学习算法、模型,这种能力需要直觉、理解、设计和反复优化。因为可选的技术、模型和算法不只一种,技术路线多样,评价指标也有多个维度,甚至优化方法也有很多种,所以很多业内专家戏称深度学习为“炼丹术”,大数据智能的本质就类似深度学习,就是在处理一门艺术,好的智能算法和系统就像一件艺术作品,需要反复雕琢、迭代和优化。给定原始数据、限制条件和问题描述,没有标准答案,每种方案的选择就是一种设想假设,需要具备利用精确的测试和实验方法来验证和证伪这些假设的能力,从这个层面讲,未来所有科学研究问题以及商业、政府管理决策问题都将离不开数据科学和大数据智能技术的支持。

IT向DT技术的发展本质是在拟人化、智能化,智能时代的到来是毫无疑问的,但是,发展过程也不要太乐观。毕竟,数据驱动的智能机器学习落地应用并不是那么容易,因为如何把现实问题转化为智能模型,并没有标准答案,这本身就需要持续的探索和创新精神。另外,关键理论模型的突破并不是媒体宣传的那么容易,甚至可能会出现倒退和迂回前进的现象。比如深度学习大神Hinton发明的深度胶囊网络,还想推倒自己40多年前就提出的人工神经网络训练等基础理论,以重建新的深度学习理论框架,远景虽然宏大但却困难重重。

 

关键词:

版权声明:本站原创和会员推荐转载文章,仅供学习交流使用,不会用于任何商业用途,转载本站文章请注明来源、原文链接和作者,否则产生的任何版权纠纷与本站无关,如果有文章侵犯到原作者的权益,请您与我们联系删除或者进行授权,联系邮箱:service@datagold.com.cn。