1、第五章机器学习的第五章 机器学习机器学习是继专家系统之后人工智能应用的又一重要研究领域,也是人工智能和神经计算的核心研究课题之一。现有的计算机系统和人工智能系统没有什么学习能力,至多也只有非常有限的学习能力,因而不能满足科技和生产提出的新要求。本章将首先介绍机器学习的定义、意义和简史,然后讨论机器学习的主要策略和基本结构,最后逐一研究各种机器学习的方法与技术,包括机械学习、基于解释的学习、基于事例的学习、基于概念的学习、类比学习和基于训练神经网络的学习等。对机器学习的讨论和机器学习研究的进展,必将促使人工智能和整个科学技术的进一步发展。现在,我们先来讨论第五章的第一节,机器学习的研究意义与发展
2、历史 5.1 机器学习的研究意义与发展史 5.1.1 机器学习的定义和研究意义学习是人类具有的一种重要智能行为,但究竟什么是学习,长期以来却众说纷纭。社会学家、逻辑学家和心理学家都各有其不同的看法。按照人工智能大师西蒙的观点,学习就是系统在不断重复的工作中对本身能力的增强或者改进,使得系统在下一次执行同样任务或类似任务时,会比现在做得更好或效率更高。西蒙对学习给出的定义本身,就说明了学习的重要作用。 机器能否象人类一样能具有学习能力呢?1959年美国的塞缪尔(Samuel)设计了一个下棋程序,这个程序具有学习能力,它可以在不断的对奕中改善自己的棋艺。4年后,这个程序战胜了设计者本人。又过了3年
3、,这个程序战胜了美国一个保持8年之久的常胜不败的冠军。这个程序向人们展示了机器学习的能力,提出了许多令人深思的社会问题与哲学问题。 机器的能力是否能超过人的,很多持否定意见的人的一个主要论据是:机器是人造的,其性能和动作完全是由设计者规定的,因此无论如何其能力也不会超过设计者本人。这种意见对不具备学习能力的机器来说的确是对的,可是对具备学习能力的机器就值得考虑了,因为这种机器的能力在应用中不断地提高,过一段时间之后,设计者本人也不知它的能力到了何种水平。 什么叫做机器学习(machine learning)?至今,还没有统一的“机器学习”定义,而且也很难给出一个公认的和准确的定义。为了便于进行
4、讨论和估计学科的进展,有必要对机器学习给出定义,即使这种定义是不完全的和不充分的。顾名思义,机器学习是研究如何使用机器来模拟人类学习活动的一门学科。稍为严格的提法是:机器学习是一门研究机器获取新知识和新技能,并识别现有知识的学问。这里所说的“机器”,指的就是计算机;现在是电子计算机,以后还可能是中子计算机、光子计算机或神经计算机等等。 5.1.2 机器学习的发展史机器学习是人工智能研究较为年轻的分支,它的发展过程大体上可分为4个时期。 第一阶段是在50年代中叶到60年代中叶,属于热烈时期。 第二阶段是在60年代中叶至70年代中叶,被称为机器学习的冷静时期。 第三阶段是从70年代中叶至80年代中
5、叶,称为复兴时期。机器学习的最新阶段始于1986年。机器学习进入新阶段的重要表现在下列诸方面: (1) 机器学习已成为新的边缘学科并在高校形成一门课程。它综合应用心理学、生物学和神经生理学以及数学、自动化和计算机科学形成机器学习理论基础。 (2) 结合各种学习方法,取长补短的多种形式的集成学习系统研究正在兴起。特别是连接学习符号学习的耦合可以更好地解决连续性信号处理中知识与技能的获取与求精问题而受到重视。 (3) 机器学习与人工智能各种基础问题的统一性观点正在形成。例如学习与问题求解结合进行、知识表达便于学习的观点产生了通用智能系统SOAR的组块学习。类比学习与问题求解结合的基于案例方法已成为
6、经验学习的重要方向。 (4) 各种学习方法的应用范围不断扩大,一部分已形成商品。归纳学习的知识获取工具已在诊断分类型专家系统中广泛使用。连接学习在声图文识别中占优势。分析学习已用于设计综合型专家系统。遗传算法与强化学习在工程控制中有较好的应用前景。与符号系统耦合的神经网络连接学习将在企业的智能管理与智能机器人运动规划中发挥作用。 (5) 与机器学习有关的学术活动空前活跃。国际上除每年一次的机器学习研讨会外,还有计算机学习理论会议以及遗传算法会议。5.2 机器学习的主要策略与基本结构 5.2.1 机器学习的主要策略学习是一项复杂的智能活动,学习过程与推理过程是紧密相连的,按照学习中使用推理的多少
7、,机器学习所采用的策略大体上可分为4种机械学习、通过传授学习、类比学习和通过事例学习。学习中所用的推理越多,系统的能力越强。 5.2.2 机器学习系统的基本结构我们以西蒙的学习定义做为出发点,建立起下图5.1所示的简单的学习模型,然后通过对这个简单模型的讨论,总结出设计学习系统应当注意的某些总的原则。图 5.1 学习系统的基本结构 上图表示学习系统的基本结构。环境向系统的学习部分提供某些信息,学习部分利用这些信息修改知识库,以增进系统执行部分完成任务的效能,执行部分根据知识库完成任务,同时把获得的信息反馈给学习部分。在具体的应用中,环境,知识库和执行部分决定了具体的工作内容,学习部分所需要解决
8、的问题完全由上述3部分确定。下面我们分别叙述这3部分对设计学习系统的影响。 影响学习系统设计的最重要的因素是环境向系统提供的信息。或者更具体地说是信息的质量。知识库里存放的是指导执行部分动作的一般原则,但环境向学习系统提供的信息却是各种各样的。如果信息的质量比较高,与一般原则的差别比较小,则学习部分比较容易处理。如果向学习系统提供的是杂乱无章的指导执行具体动作的具体信息,则学习系统需要在获得足够数据之后,删除不必要的细节,进行总结推广,形成指导动作的一般原则,放入知识库,这样学习部分的任务就比较繁重,设计起来也较为困难。 因为学习系统获得的信息往往是不完全的,所以学习系统所进行的推理并不完全是
9、可靠的,它总结出来的规则可能正确,也可能不正确。这要通过执行效果加以检验。正确的规则能使系统的效能提高,应予保留;不正确的规则应予修改或从数据库中删除。 知识库是影响学习系统设计的第二个因素。知识的表示有多种形式,比如特征向量、一阶逻辑语句、产生式规则、语义网络和框架等等。这些表示方式各有其特点,在选择表示方式时要兼顾以下4个方面:(1)表达能力强。(2)易于推理。(3)容易修改知识库。(4)知识表示易于扩展。对于知识库最后需要说明的一个问题是学习系统不能在全然没有任何知识的情况下凭空获取知识,每一个学习系统都要求具有某些知识理解环境提供的信息,分析比较,做出假设,检验并修改这些假设。因此,更
10、确切地说,学习系统是对现有知识的扩展和改进。 执行部分是整个学习系统的核心,因为执行部分的动作就是学习部分力求改进的动作。同执行部分有关的问题有3个:复杂性、反馈和透明性。5.3几种常用的学习方法 5.3.1机械学习1.机械学习的模式及主要问题(1) 机械学习模式机械学习是最简单的机器学习方法。机械学习就是记忆,即把新的知识存储起来,供需要时检索调用,而不需要计算和推理。 机械学习又是最基本的学习过程。任何学习系统都必须记住它们获取的知识。在机械学习系统中,知识的获取是以较为稳定和直接的方式进行的,不需要系统进行过多的加工。而对于其它学习系统,需要对各种建议和训练例子等信息进行加工处理后,才能
11、存储起来。 当机械学习系统的执行部分解决好问题之后,系统就记住该问题及其解。我们可把学习系统的执行部分抽象地看成某个函数,该函数在得到自变量输入值(X1,X2,Xn)之后,计算并输出函数值(Y1,Y2,Yp)。机械学习在存储器中简单地记忆存储对(X1,X2,Xn),(Y1,Y2,Yp)。当需要f(X1,X2,Xn)时,执行部分就从存储器中把(Y1,Y2,Yp)简单地检索出来而不是重新计算它。这种简单的学习模式如下:作为例子,让我们考虑一个决定受损汽车修理费用的汽车保险程序 Lenat,Hayes Roth,和Klahr等人于1979年关于机械学习提出一种有趣的观点。他们指出,可以把机械学习看成
12、是数据化简分级中的第一级。数据化简与计算机语言编译类似;其目的是把原始信息变成可执行的信息。在机械学习中我们只记忆计算的输入输出,忽略了计算过程,这样就把计算问题化简成存取问题,见图5.2。 正像计算问题可以简化成存取问题一样,其它的推理过程也可以简化成较为简单的任务。例如推导可以简化成计算。比方说第一次要我们解一个一元二次方程的时候,我们必须使用很长的一段推导才能得出解方程的求根公式。但是一旦有了求根公式,以后再解一元二次方程时,就不必重复以前的推导过程,可以直接使用求根公式计算出根,这样就把推导问题简化成计算问题。同样地,归纳过程可以简化成推导过程。图 5.2 数据化简级别图例如我们可以在
13、大量病例的基础上归纳总结出治疗的一般规律,形成规则,当遇见一个新病例时,我们就使用规则去处理它,而不必参照以前的众多病例推断解决办法。化简的目的,主要是为了提高工作效率。(2) 机械学习的主要问题对于机械学习,需要注意3个重要的问题:存储组织,稳定性和存储与计算之间的权衡。 (a) 存储组织信息。显然,只有当检索一个项目的时间比重新计算一个项目的时间短时,机械学习才有意义,检索的越快,其意义也就越大。因此,采用适当的存储方式,使检索速度尽可能地快,是机械学习中的重要问题。在数据结构与数据库领域,为提高检索速度,人们研究了许多卓有成效的数据存储方式,如索引、排序、杂凑等等,在机械学习中我们可以充
14、分利用这些成果来实现我们的要求。 (b) 环境的稳定性与存储信息的适用性问题。在急剧变化的环境下机械学习策略是不适用的。做为机械学习基础的一个重要假定是在某一时刻存储的信息必须适用于后来的情况。然而如果信息变换得特别频繁,这个假定就被破坏了。 (c) 存储与计算之间的权衡。因为机械学习的根本目的是改进系统的执行能力,因此对于机械学习来说很重要的一点是它不能降低系统的效率。比方说,如果检索一个数据比重新计算一个数据所花的时间还要多,那么机械学习就失去了意义。 这种存储与计算之间的权衡问题的解决方法有两种。一种方法是估算一下存储信息所要花费的存储空间以及检索信息时所花费的时间,然后将其代价与重新计
15、算所花的代价比较,再决定存储信息是否有利。另一种方法是把信息先存储起来,但为了保证有足够的检索速度,限制了存储信息的量,系统只保留那些最常使用的信息,“忘记”那些不常使用的信息。这种方法也叫“选择忘却”技术。2.机械学习应用举例虽然机械学习是机器学习中最简单的策略,但是正确使用这种策略却能对提高应用软件系统的质量起着重要作用。下面介绍吉林大学开发的建筑工程预算软件系统中采用的机械学习策略。这种方法成功地解决了工程预算中较难处理的图集问题。 建筑工程预算是建筑工程中一项困难而又重要的任务,工作量大,要求高。过去用手工编制,要花费很多时间。一份3000m2的民用建筑,一个技术人员手工编制预算需要1
16、5天至20天,加上工料分析,取费计算等等,需要近一个月时间,而且容易出错,影响预算的质量,造成资金、人员和材料的浪费与损失。近年来,随着电子计算机的普及应用,许多单位研制了建筑预算系统,减轻了建筑工程预算人员的繁重的脑力劳动,提高了工程预算的速度与准确性。 但是,建筑预算中的关键问题工程量计算问题,却始终没有得到很好地解决。这个问题的困难之一在于现行使用的建筑工程设计图纸上的数据与计算机要求的初始输入数据之间存在着很大的差距,只有靠建筑工程人员分析观察图纸,形成计算机可接受的初始输入,才能开始计算。造成工程量计算困难的第二个原因是设计图纸中出现的大量的门窗及预制件型号。预算中,工程技术人员需要
17、不断查阅有关资料,决定这些预制件所需工时及材料。所采用的机械学习方法主要用来解决这一困难。 建筑工程中使用的门窗,大都采用国家或省市的标准设计,如JGMC1163是建工部规定的标准木窗,窗宽1米,高1.6米,此外还确定了窗的式样,如该窗是亮子的,3开扇,中间固定,有小汽窗,根据这种标准设计图纸,人们预先计算出建造一个这种窗子所需的木料,玻璃,油漆,合页,铁角,拉手,所需木工量,油工量等等。在建筑工程图纸上,并不画出具体的窗子和门,只标明窗子和门的型号,预算时,人们只要数出各种窗子和门分别有多少个,然后根据标准图集查出每种窗子和门各需多少原材料及人工,即可求出建造门窗所需总的建筑材料及费用。 从
18、问题的性质来看,采用计算机检索是最适宜不过了。但事情并不那么简单,问题的难点在于门窗的标准型号太多。这些标准型号的门窗,按规定标准的部门及门窗的种类编成许多厚厚的标准图集。虽然在工程预算程序内部保存了大量的标准图集,但仍不能满足预算的实际需要,一旦遇见一个先前未装入的新型号,系统只好暂时停止运行,把新型号门窗及有关数据装入后再行计算,这样算算停停,很不方便,而且使预算时间拖得很长。 建筑工程所用的门窗及预制构件虽多,但也有其规律性。一般说来,一个建筑工程设计部门经常使用某些型号,对另外一些型号却较少涉及,一个工程项目通常只采用几种或几十种型号的门窗和预制件,并不是杂乱无章的。因此可采用机械学习
19、方法解决这一问题。当程序运行中遇见未曾装入的门窗型号或预制构型号时,不是停下来待装入后重新计算,而是向用户提出询问,根据用户提供的数据,程序算出一个窗子或门等标准构件所需木材、玻璃、铁角等材料及所需各工种工日数,然后把计算的数据提供给预算系统继续计算,并把门窗等标准构件型号与所需材料及工日保存起来,以后再遇见同种型号的标准构件,建筑工程系统只要通过检索就能获得数据,可以顺利进行下去,不再需要用户干预。因为大多数工程项目为着采购、制造、运输与管理上的方便,只采用几种或几十种的标准预制构件,所以预算系统在询问几次之后,就不必再行询问,直至计算得出最终预算结果,从而方便了用户,缩短了运行时间。 这种
20、预算方法的另一个优点是具有广泛的适应性和自我完善能力,一个建筑设计部门通常与几个门窗生产厂家与预制件厂家有业务联系,因此通常采用某些型号的标准预制件。一旦这些型号的数据装入计算机,系统就能在大多数情况下独立完成预算。因此,上述采用的图集处理方法不仅适用于吉林省,而且其它省份与建筑部门也可同样采用,只要他们使用一段时间之后,系统所积累的型号就基本上能满足他们的要求。因此便于推广,而且使用的次数越多,积累的标准构件型号越多,系统提出询问的情况越少,计算的速度也越来越快。5.3.2基于解释的学习通过总结工作和训练经验进行学习,是学习的一个好方法。本节通过对一个检查莎士比亚剧本精确性的过程,用MACB
21、ETH的学习来说明这种学习方法。通过说明我们能够看到MACBETH是如何知道因果关系的。1.解释学习的基本原理教师往往向学生提供先例,让学生练习,并期望学生在练习后能够发现一般原理。学生必须设法找出先例与练习间的因果关系,并应用先例去处理练习,把工作上升为原理,然后把这些原理存储起来供需要时检索调用。 作为例子,让我们考虑下列MACBETH精确性的练习。 练习Greed(贪婪) 这是一个关于一位软弱贵族与一位贪婪女人的练习。该贵族与该女人结了婚。解释一下为什么这位贵族很可能想当国王。 下面我们将看到,MACBETH过程能够建立解释,并能学习新规则。(1) 语义框架的具体化和词汇表应用先例的第一
22、步是准备合适的描述,并给予好的表达。对于Macbeth先例,一般语义网络能表示一定的人物特性、他们的动机以及随之发生的行动。例如,麦克佩斯和邓肯可由节点来说明,而两节点间用谋杀这条链来连接,如图5.3(a)所示。 图 5.3谋杀事件语义网络图 5.4谋杀事件的具体化链表示不过,对谋杀有更多的说明,因为麦克佩斯用到一把刀。因此,可把谋杀当作一个节点,并与它的一些描述链相连,如图5.3(b)所示。 把链上升为可描述节点的状况是一种具体化(reification)。一个被上升的链称为具体化链。具体化链的一个图示如图5.4(a)所示,其简化表示如图5.4(b)所示。(2) 解释转换运用类比解题如何知道
23、某动作的出现原因或某动作是否可能发生?如何知道某关系为什么会产生或者是否可能发生?对这两个问题的回答是:先例状态中的因果链很可能辨别出那些可作为判断或预测基础的链。当然,这个回答最终还是体现在下列假设上:如果两种状态在某些方面是相似的,那么它们也可能在其它方面相似。 为了观察MACBETH如何应用先例,让我们考虑以语义网络示于图5.5(具有因果链的Macbeth先例)的Macbeth先例以及示于图5.6的Greed练习。图5.5中用粗实线表示因果链,而图5.6中用点划线链辨别被解释的关系。MACBETH建造了一个解释样板(explanation template),用于考虑先例中的因果链以及所
24、有与 该因果链紧接的链。因此,解释样板是一种记录,即记录有关结婚、贪婪和软弱等链如何导致Macbeth先例中想当国王的链。 为了使用解释样板,MACBETH必须确立练习中人物与先例中人物的对应关系。本练习中的贵族是软弱的,而他的妻子是贪婪的。在Macbeth先例中,麦克佩斯是软弱的,而他的妻子麦克佩斯夫人是贪婪的。考虑到这些特性之后,MACBETH得出结论:贵族对应于麦克佩斯,而他的妻子对应于麦克佩斯夫人。我们假定:两个类比状态中原因间的相似图 5.6具有点划线链的Greed练习导致它们结果的相似;那么,如果把解释样板从Macbeth转换为Greed,MACBETH就能够解释Greed练习中想
25、当国王的链,如图5.7(具有解释样板的练习)所示。该样板取自Macbeth先例,并以粗线表示。一旦放好Macbeth解释样板,那么,一个覆盖各因果链的新链就把已知关系与想当国王的关系连接起来。这样,想当国王的链得到解释。 本例只涉及一个先例。当单个先例不能支持所需要的全部解释样板时,MACBETH就力图把几个解释样板连在一起。(3) 常识问题求解产生规则原理无论什么时候使用解释样板来解释关系或动作,这些解释样板基本上都是支持某棵与(AND)树,这棵与树减少了被解释关系或动作与已知关系或动作间的差别。与树的根节点对应于被解释的关系或动作;叶节点对应于解释样板中因果关系所连接的链。 如果这是个好练
26、习,那么与树一般上应当是个好的差距弥补者。因此,MACBETH运用与树进行一种新的描述以便存储起来供将来使用。 图5.10(练习提起前例的部分解释样板产生重聚) 由于这个新描述能够包括许多样板,所以把它叫做重聚(recollection),意即用新的方法收集知识,或知识被重新收集。以Macbeth先例和Greed练习作为简单例子,由先例和练习综合而得的重聚,如图5.10所示。图中,练习提起先例的部分解释样板,产生重聚。重聚的表示与先例和练习的表示一样。粗线为因果链。 对重聚的根节点标以then,对叶节点标以if,就可把重聚看作基于规则的演绎系统中的前项-后项规则(如右所示)。由于重聚实际上是用
27、先例的语义网络表示的,所以MACBETH对重聚作为一般先例来外理。这样,如同先例一样,重聚能够影响新的重聚。“想当国王”规则 If?贵族是软弱的?贵族与?女人结婚?女人是贪婪地?贵族很可能相当国王Then?贵族很可能想当国王(4) MACBETH过程说明解释原理从问题求解的角度看,MACBETH的工作在于解释如何以先例为基础,解释判断某个动作或关系。然而,从学习的角度看,MACBETH的工作在于建立它自己的解释,用于构造新的重聚。当然,遵循下列原则是个好主意: 解释原则 如果你要理解一个概念,那么试着对另外一些事来解释这个概念。(5) MACBETH过程建立公共上下文如前所述,MACBETH过
28、程很恰当的认为:由于琳达和迪克的特性,与一个专横跋扈的女人结婚的男人会变得软弱。不过,如果这个男人不与这个女人住在一起,又会怎样呢?如果该女人仅仅盛气对待她的兄弟姊妹,又会怎样?如果该男人比该女人更为专横跋扈,该会怎样呢? 一般的回答是:像琳达和迪克这样的先例只能用于确当的上下文,它提出关于怎样说明该上下文是否正确的问题。一种缺乏说服力的方法是寻找两个状态间的共同相似点。然而,两种在许多方面相似的状态很可能在主要方面并不相似。更有甚者,相似判断两种状态间的上下文状态可能是隐含的,而且不可能对它们给予明显的描述。 尽管如此,先例仍可用于练习,即使解释样板里的许多因果链是没有价值的,而且取决于具有
29、同样上下文的先例和练习。 如果两种状态有不同的上下文,那么几乎没有匹配链通过因果链而得到共同的结果。反之,如果有许多匹配链通过因果链而得到共同的结果,那么两状态在主要方面很可能是相似的。如果它们在主要方面是相似的,那么一种状态很可能是另一种状态的好先例,如下述原理所表达: 温斯顿(Winston)并行展开原理 两个状态以同样的方法展开得越久,就越可能用同样的方法继续展开。要看MACBETH如何应用这个原理,让我们考虑下例练习: 练习“支配与疲倦” 这是一个有关贵族与贪婪女人的练习。该贵族与该女人结了婚,而且因这个女人的专横跋扈而感到疲倦。试证明该贵族很可能想当国王。图5.11描述“专横跋扈”的
30、练习。除了有三条链说明贵族因那位女人的专横而疲倦外,本练习与“支配”练习是一样的。要证明该贵族很可能想当国王,MACBETH必须再次依靠Macbeth先例,此例能够引导MACBETH去寻找该贵族是软弱的理由。Macbeth必须再三运用琳达与迪克先例。不过,现在所涉及的“支配与疲倦”及“琳达与迪克”两个练习都有一个因果链把女人的专横特性与该男人的疲倦连接起来。因此,取自“琳达与迪克”的解释样板不仅缩小了“支配与疲倦”练习的差距,而且匹配了一个连接该差距的因果链。显然,当上下文影响匹配因果链时,“支图 5.11支配与疲倦练习的描述配与疲倦”和“琳达与迪克”练习的上下文是一样的。如果上下文根本不同,
31、那么就不要指望会有匹配因果链出现。当然,一对因果链并非重大证据;但它要比一无所有好得多。此外,如果并行因果链的数目越大,那么可能被并行展开的状态将按比例增加。 因此,MACBETH能够运用下列温斯顿并行展开原理的启发式推论:给出一套看来是有用的先例,采用这种先例,其解释样板能够匹配练习中最多的因果链。2.学习形式和功能MACBETH过程也能够由物体的功能描述和特例描述来学会知道该物体是什么。本小节将要看到:MACBETH一旦知道杯子是干什么的,它就学习了杯子是什么东西。(1) 实例和先例互相帮助对功能来说,有关形式的第一步是描述该功能。对于MACBETH,杯子由下例句子定义:杯子描述这是一个物体描述。该物体是个杯子,因为它是稳定的,而且能作为饮具。与功能描述相反,对具体杯子的描述是把注意力放在物理特性上,正如下例描述和图5.12(可能是杯子的具体物体)所示。一个具体物
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1