1、第 12 章 归纳和分析学习的结合纯粹的归纳学习方法通过在训练样例中寻找经验化的规律来形成一般假设。纯粹的分析方法使用先验知识演绎推导一般假设。本章考虑将归纳和分析的机制结合起来的方法,以获得两者的优点:有先验知识时更高的泛化精度,和依赖训练数据克服先验知识的不足。所得到的结合的方法比纯粹的归纳学习方法和纯粹的分析学习方法性能都要高。本章考虑的归纳-分析学习方法同时基于符号表示和人工神经网络表示。12.1 动机在前几章我们已经见到了两种类型的机器学习:归纳学习和分析学习。归纳方法如决策树归纳和神经网络反向传播等,它寻找拟合训练数据的一般假设。分析的方法如 Prolog-EBG,它寻找拟合先验知
2、识的一般假设,同时使它覆盖训练数据。这两种学习范型所基于的对学习到的假设的论证方法有根本的不同,因此,优缺点互为补充。将它们结合起来有可能得到更强有力的学习方法。纯粹的分析学习方法优点在于,可用先验知识从较少的数据中更精确地泛化以引导学习,然而当先验知识不正确或不足时,这一方法可能会进入歧途。纯粹的归纳方法具有的优点是不需要显式的先验知识,并且主要基于训练数据学习到规律。然而,若训练数据不足时它能会失败,并且会被其中隐式的归纳偏置所误导,而归纳偏置是从观察数据中泛化所必需的。表 12-1 概述了两者的互补的优点和缺陷。本章考虑的问题是怎样将二者结合成一个单独的算法,以获得它们各自的优点。归纳和
3、分析学习方法之间的不同可从它们对学习到的假设进行的论证(justification)的性质中看出。由纯粹的分析学习(如 Prolog-EBG)输出的假设执行的是逻辑(logical)论证:输出的假设从领域理论和训练数据中演绎派生。对纯粹的归纳学习方法(如反向传播)输出的假设执行的是统计论证:输出的假设从统计论据中派生,它说明训练样本足够大从而可能代表样例的基准分布。归纳的统计论证在第 7 章讨论的 PAC 学习中已被清晰地阐明。既然分析的方法提出逻辑论证的假设,而归纳方法提供统计论证的假设,很容易看出为什么可以将两者结合起来。逻辑的论证的强度只相当于它们所基于的假定或先验知识。如果先验知识不正
4、确或不可得,逻辑论证是不可信的且无力的。统计论证的强度依赖于它们基于的数据和统计假定。当基准分布不可信或数据稀缺时,统计论证也是不可信且无力的。简而言之,两种方法针对不同的类型的问题时才有效。通过两者的结合,有望开发出更通用的学习方法,可以覆盖较广的学习任务。表 12-1 纯粹的分析学习和纯粹归纳学习的比较归纳学习 分析学习目标 拟合数据的假设 拟合领域理论的假设论证 统计推理 演绎推理优点 需要很少先验知识 从稀缺的数据中学习缺陷 稀缺的数据,不正确的偏置 不完美的领域理论插图 原书页码: 336Inductive learning: 归纳学习Plentiful data: 丰富的数据No
5、prior knowledge:无先验知识Analytical learning: 分析学习Perfect prior knowledge:完美的先验知识Scarce data: 稀缺的数据图 12-1 学习任务的分布范围。在最左端,没有可用的先验知识,因此需要纯粹的归纳学习方法以及较高的样本复杂度。在最右端,有完美的领域理论,可以使用如 Prolog-EBG 这样的纯粹分析方法。更多的实际问题位于这两个极端之间。图 12-1 概述了学习问题的分布范围,它随着可获得的先验知识和训练数据不同而变化。在一个极端,有大量的训练数据,但没有先验知识。在另一极端,有很强的先验知识,但训练数据很少。多数实
6、际学习问题位于这两个极端之间。例如,分析医疗记录的数据库以学习“用治疗手段 x 比治疗手段 y 更有效的病症”,通常可以开始于近似的先验知识(如疾病中内在的因果机制的定性模型),比如认定患者的体温比他的姓名更相关。类似地,在分析一个股票市场数据库以学习目标概念“股票值在后 10 个月会翻番的公司”中,如果已有了经济学的大概知识,可以提出公司的总利润比公司标志的颜色更相关。在这两种问题中,我们的先验知识是不完整的,但显然,它有助于区分相关和不相关的特征。本章考虑的问题是:“我们可以设计出怎样的算法,使用近似的先验知识结合可用数据来形成一般假设?”注意,即使在使用纯粹的归纳学习算法时,仍有机会基于
7、特定学习任务的先验知识来选择设计方案。例如,当应用反向传播来解决语音识别这样的问题时,设计者必须选择输入和输出数据的编码方式、在梯度下降中被最小化的误差函数、隐藏单元的数量、网络的拓扑结构、学习速率和冲量等。在做这些选择时,设计者可以将领域特定的知识嵌入到学习算法中。然而结果仍然是纯粹的归纳算法反向传播的一个实现,由设计者特殊化后针对语音识别任务。我们的感兴趣的不在于此,而在于一个系统能将先验知识作为显式的输入给学习器,训练数据也同样作为显式输入。这样它们仍为通用的算法,但利用了领域特定的知识。简要地概括一下,我们感兴趣的是使用显式输入的领域相关知识的领域无关算法。对于结合了归纳和分析学习的不
8、同方法,应使用什么样的准则来比较它们呢?由于学习器一般不能预先知道领域理论和训练数据的质量。我们感兴趣的是能对图 12-1 整个问题系列都可操作的一般方法。这样的学习方法应具有以下的特殊属性: 如果没有领域理论,它至少能像纯粹的归纳方法一样有效学习。 如果有完美的领域理论,它至少能像纯粹的分析方法样有效学习。 如果领域理论和训练数据都不完美,它应能结合两者的长处,比单纯的归纳或分析方法的性能都要好。 它应能处理训练数据中未知程度的差错。 它应能处理领域理论中未知程度的差错。注意这里列出的期望目标很难达到。例如,处理训练数据中的差错,即使在基于统计的归纳方法中,如果没有某些先验知识和对差错分布的
9、假定,这仍是值得研究的问题。结合归纳和分析学习的方法是当前活跃的研究领域。虽然上面列出的是我们希望算法能达到的美好性质,目前没有算法能以完全一般化的方式满足所有这些约束。下一节对结合归纳-分析学习的问题作出了更详细的讨论。后面几节描述了 3 种不同的途径,结合近似的先验知识和可用数据来指导学习器搜索合适的假设。每种途径都已在多个问题领域中显示出有超出纯归纳方法的性能。为方便比较,我们使用同一例子来说明 3 种途径。12.2 学习的归纳-分析途径12.2.1 学习问题概而言之,本章考虑的学习问题为:已知: 一个训练样例集合 D,可能包含差错 一个领域理论 B,可能包含差错 候选假设的空间 H求解
10、: 一个最好地拟合训练样例和领域理论的假设“最好地拟合训练样例和领域理论”这句话确切含义是什么?或者说,是否会选择一个拟合数据程度较好而拟合理论较差的假设,或反之?为了更精确起见,需要定义对应数据和对应于领域理论的假设错误率度量,然后用这些错误率来表示这个问题。回忆第 5 章中 errorD(h)定义为 D 中被 h 误分类的样例所占比例。可定义 h 关于领域理论 B 的错误率 errorB(h)为,h 与 B在分类一个随机抽取实例时不一致的概率。接下来就可尝试用这些错误率的形式刻画所希望的输出假设。例如,我们可以要求假设使上述错误率的某种综合度量最小化,如: )()(minargheroke
11、rokBDHh虽然粗看起来这很合理,但还不清楚怎样确定 kD和 kB的值,以指定拟合数据和拟合理论两者的相对重要程度。如果有非常差的理论,却有大量可靠数据,最好使 errorD(h)的权值更大。如果有很强的理论,而数据样本很小且存在大量噪声,把 errorB(h)的权值增大会得到最好的结果。当然如果学习器预先不知道领域理论和训练数据的质量,它就不清楚该怎样为这两部分错误率加权。怎样确定先验知识和数据权值这一问题,另一种解决方法是使用贝叶斯的观点来考虑。回忆一下第 6 章,贝叶斯定律描述了怎样计算给定训练数据 D 时假设 h 的后验概率 P(h|D)。确切地讲,贝叶斯定律计算此后验概率是基于观察
12、到的数据 D 以及先验知识的,以 P(h)、P(D )和 P(D|h)的形式表示。因此我们可把 P(h)、P (D)和 P(D|h)看作是某种形式的背景知识或领域理论,而且可把贝叶斯理论看成一种为领域理论加权的方法,它与观察到的数据 D 一起,赋予h 的后验概率为 P(h|D)。按照贝叶斯的观点,所选择的假设应为后验概率中最大的一个,并且贝叶斯公式提供了为此先验知识和观察到数据的贡献加权的良好方法。不幸的是,贝叶斯公式隐含假定了拥有关于 P(h)、P (D)和 P(D|h)概率分布的完美的知识。当这些量只是近似已知时,单独贝叶斯公式没有规定如何将其与观察数据结合起来。(在此情况下一种方法是假定
13、有 P(h),P(D)和 P(D|h)之上的先验概率分布,然而后计算后验概率 P(h|D)的期望值。然而这要求有 P(h),P(D)和 P(D|h)之上的先验分布方面的附加知识,因此并没有真正解决此问题。)当考虑特定算法时,我们会再次考虑“最佳”拟合假设和数据是什么含义。现在,我们只是简单地称学习问题是为了使假设在数据和领域理论上错误率的某种综合度量最小化。12.2.2 假设空间搜索如何将领域理论和训练数据最好地结合起来,以限制可接受假设的搜索?这在机器学习中仍是待研究的问题。本章考察了几种已提出的方法,其中许多要对已讨论过的归纳方法(如反向传播,FOIL)进行扩展。为了解可能途径的范围,一种
14、办法是回到前面对学习的看法,即将其看作是一种搜索多个可选假设空间的任务。为了将大多数学习任务刻画为搜索算法,需要定义待搜索的假设空间H,搜索的开始点初始假设 h0,定义单个搜索步的搜索算子集合 O,以及指定搜索目标的目的判据 G。本间中探索了 3 种方法使用先验知识来改变纯归纳方法中执行的搜索。 使用先验知识推导出搜索起步的初始假设。用这种方法,领域理论 B 被用于建立一个与 B 一致的初始假设 h0。然后以这个初始假设 h0 为起点应用标准归纳方法。例如,下面描述的 KBNN 系统是按这种方法学习人工神经网络的。它使用先验知识来设计初始网络的互联结构和权值,这样,此初始网络与给定的领域理论完
15、全一致。然后此初始网络假设使用反向传播算法和训练数据被归纳地精化。从一个与领域理论一致的假设开始搜索,使得最终输出假设更有可能拟合此理论。 使用先验知识来改变假设空间搜索的目标。在这种方法中,目的判据 G 被修改,以要求输出假设拟合训练样例的同时也拟合领域理论。例如,下面描述的 EBNN系统以这种方法学习神经网络。神经网络的归纳学习执行梯度下降来使网络在训练数据上的误差平方最小化,而 EBNN 中执行梯度下降来优化另一个判据。这个修改的判据包含一个附加项,它衡量了学习到的网络相对于领域理论的误差。 使用先验知识改变可用的搜索步。在此方法中,领域理论修改了搜索算子集合 O。例如,下面描述的 FO
16、CL 系统以这种方法学习 Horn 子句集。它基于归纳系统FOIL。FOIL 在可能的 Horn 子句空间上执行贪婪搜索,每步通过加入一个新文字来修正当前假设。FOCL 在修正假设中使用领域理论来扩展可用的文字集合。它允许在单个搜索步中加入多个文字,只要它们能由领域理论保证其正确性。以这种方式,FOCL 在假设空间中移动一步相当于使用原来的算法移动多步。这些“宏移动”(macro-moves )可极大地改变搜索的方向,这样最终的与数据一致的假设与只使用归纳搜索步时找到的假设不同。下面几节依次介绍了这几种方法。12.3 使用先验知识得到初始假设一种使用先验知识的方法是,将假设初始化为完美拟合领域
17、理论,然后按照需要归纳地精化此初始假设以拟合训练数据。这种方法被用于 KBANN(Knowledge-Based Artificial Neural Network,基于知识的人工神经网络)算法中。在 KBANN 中,首先建立了一个初始的网络。对每个可能实例,网络赋予它的分类等于领域理论赋予的分类。然后应用了反向传播算法来调整初始网络,使其拟合训练样例。很容易看出,该技术的动机在于:如果领域理论是正确的,初始假设将正确分类所有训练样例,而无需再对其修正。然而,如果初始假设不能完美地分类训练样例,那么它需要被归纳精化,以改进其在训练样例上的拟合度。回忆在纯粹归纳的反向传播算法中,权值一般被初始化
18、为小的随机值。KBANN 背后的直观含义在于,即使领域理论是近似正确的,将网络初始化为拟合领域理论,比初始化为随机权值有更好的近似开端。这应该会得到有更好的泛化精度的最终假设。这种使用领域理论来初始化假设的途径已经被许多研究者探索过。包括 Shavlik & Towell(1989),Towell & Shavlik(1994), Fu (1989, 1993)和 Pratt(1993a, 1993b)。我们将使用Shavlik & Towell(1989)描述的 KBANN 算法来例示这一途径。12.3.1KBANN 算法KBANN 运用领域理论来初始化假设。其中假定领域理论用一组命题形式的
19、非递归的 Horn子句来表示。命题形式 Horn 子句表示它不包含变量。KBANN 的输入和输出如下:已知: 一组训练样例 由非递归命题型 Horn 子句组成的领域理论求解: 一个拟合训练样例的,被领域理论偏置的人工神经网络表 12-2KBANN 算法领域理论被转换为等效的神经网络(步骤 13),然后用反向传播算法归纳精化(第 4 步)。W 常量的值可取为 0.4。KBANN(Domain_Theory, Training_Examples)Domain_Theory: 非递归命题型 Horn 子句集合Training_Examples:目标函数的对的集合分析步:创建一个等价于领域理论的初始网
20、络1. 对每个实例属性创建一个网络输入2. 对 Domain_Theory 的每个 Horn 子句,如下创建一个网络单元 连接此单元的输入到此子句的先行词测试的属性 对子句的每个非负先行词,赋予权值 W 给对应的 sigmoid 单元输入 对子句的每个负先行词,赋予权值- W 给对应的 sigmoid 单元输入 设置此单元的阈值 w0 为-(n-0.5) W,其中 n 为子句的非负先行词的数目3. 在网络单元之间增加附加的连接,连接深度为 i 的每个网络单元到深度为 i+1 的所有网络单元的输入层上。赋予这些附加的连接为接近 0 的随机权值。归纳步:精化此初始网络4. 应用反向传播算法来调整初
21、始网络权值以拟合 Training_ExamplesKBANN 算法包含两个阶段,首先它创建一个完美拟合领域理论的人工神经网络,然后使用反向传播算法来精化初始网络以拟合训练样例。算法的细节,包括创建初始网络的算法在表12-2 中列出,并将在 12.3.2 节说明。表 12-3Cup 学习任务表中列出了目标概念 Cup 的一组近似领域理论和一组训练样例。领域理论:CupStable, Liftable, OpenVesselStableBottomIsFlatLiftableGraspable, LightGraspableHasHandleOpenVesselHasConcavity , Co
22、ncavityPointsUp训练样例:Cups Non-CupsBottomIsFlat ConcavityPointsUp Expensive Fragile HandleOnTop HandleOnSide HasConcavity HasHandle Light MadeOfCeramic MadeOfPaper MadeOfStyrofoam 12.3.2 一个示例为例示 KBANN 的操作,考虑表 12-3 列出的一个简单的学习问题,它取自于 Towell & Shavlik(1989)并略作改动。这里每个实例代表一物理对象。描述了它的物理材料、它的轻重等等。任务是学习定义在这物理
23、对象上的目标概念 Cup。表 12-3 描述了 Cup 目标概念的训练样例和领域理论。注意领域理论中定义 Cup 为一个 Stable、Liftable 以及 OpenVessel 的对象。领域理论还把这 3 个属性定义为更基本的属性,即描述了此实例的原子的、可操作的属性。注意领域理论并不是与训练样例完全一致的。例如,领域理论错误地分类第 2 和第 3 个训练样例为反例。不过,领域理论形成了目标概念的有效近似。KBANN 使用领域理论和训练样例一起学习目标概念,可以比单独使用其中一种更精确。在 KBANN 算法的第一阶段(算法中的 1-3 步),构建了一个与领域理论一致的初始网络。例如,从 C
24、up 的领域理论中构建的网络描绘于图 12-2 中。一般说来,网络的构建是通过对领域理论中每一 Horn 子句建立一个 sigmoid 单元。KBANN 遵从惯例,sigmoid 输出值大于 0.5时被解释为真,小于 0.5 则为假。因此每个单元的构建方法为:当对应的 Horn 子句存在时,单元的输出就大于 0.5。对此 Horn 子句的每个先行词,就建立其对应的 sigmoid 单元作为输入。然后设置 sigmoid 单元的权值,使其计算得出其输入的逻辑与。确切地讲,对于每个对应于非负先行词的输入,权值被设置为某正常量 W。对每个对应于负先行词的输入,权值设为- W。单元的阈值权 w0 设为
25、-(n-0.5)W ,其中 n 为非负先行词的数目。当单元输入值为 1 或 0 时,这保证了当且仅当所有的子句先行词满足时,输入的加权和加上 w0 为正(而且此 sigmoid 的输出大于 0.5)。注意对于 sigmoid 单元,第二层及以后的层中单元输入不一定为 1 或 0,上面的命题无法应用于此。然而如果为 W 选择足够大的值,此 KBANN 算法可以对任意深度的网络进行领域理论编码。Towell & Shavlik(1994)在其多数实验中使用 W4.0。每个 sigmoid 单元输入被连接到适当的网络输入或另一 sigmoid 单元的输出,以反映领域理论中对应属性的依赖关系图。最后一
26、步,又附加了许多输入到每个阈值单元,它们的权值设置近似为 0。这些附加连接的作用是允许网络能归纳学习到的内容可超出领域理论中提出的依赖关系。图 12-2 中的粗实线表明权值为 W 的单元输入,而细线表明初始权值约为 0 的连接。很容易验证对于足够大的 W 值,此网络输出值等于领域理论的预测。插图 原书页码: 343图 12-2 一个等价于领域理论的神经网络这个网络在 KBANN 算法的第一阶段创建出来,它产生的输出分类等于给定的领域理论中的子句做的分类。粗线表示权值为 W 的连接,对应领域理论中的子句先行词。细线表示权值近似为 0 的连接。KBANN 的第二阶段(表 12-2 中算法的第 4
27、步)使用训练样例和反向传播算法来精化初始网络权值。当然,如果领域理论和训练样例不包含差错,初始的网络就已经拟合训练数据了。然而在 Cup 例子中,领域理论与训练数据不一致,所以此步骤会改变初始网络的权值。得到的训练过的网络显示在图 12-3 中,粗实线表明最大的正权值,粗虚线表明最大负权值,细线表明可忽略的权值。虽然初始网络误分类了表 12-3 中几个训练样例,但图 12-3 中精化了的网络能完美地分类所有训练例。有必要比较一下最终归纳精化的网络权值和领域理论导出的初始权值。如图 12-3 所见,在归纳步中发现了全新的依赖关系,包括 Liftable 单元对 MadeofStyrofoam 的
28、依赖关系。必须牢记,虽然标有 Liftable 的单元最初由它的 Horn 子句定义,但后来由反向传播修改的权值已经完全改变了此隐藏单元的意义。在网络被训练过后,该单元可能有了与初始的 Liftable 记号无关的非常不同的意义。插图 原书页码: 344图 12-3 对初始网络归纳精化后的结果KBANN 使用训练样例来修改从领域理论中导出的网络权值。注意其中新产生的 Liftable 对MadeOfStyrofoam 和 HandleOnTop 的依赖性。12.3.3 说明概括地讲,KBANN 用分析的方式创建了等价于给定领域理论的网络,然后归纳地精化此初始假设以更好地拟合训练数据。在此过程中
29、,它为了改变领域理论和训练数据不一致的情况而修改网络权值。与纯归纳的反向传播(它开始于随机的权值)相比,KBANN 的好处在于,它在给定近似正确领域理论时,能够比反向传播有更高的泛化精度,特别是在训练数据稀缺时。在几种实际系统中,KBANN 和其他初始化假设的途径已显示出优于纯归纳的系统。例如, Towell et al. (1990)描述了将 KBANN 应用于分子遗传问题。其中的任务是学习识别称为激发区域(promoter region)的 DNA 片断,它影响基因的活性。在此实验中, KBANN 的领域理论从一个分析遗传学家那里获取,而激发区域的训练样例中包含 53 个正例和 53 个反
30、例。性能评估使用了“留一法”(leave-one-out ),系统运行 106 次。每次循环中 KBANN 用 105 个样例训练,并在剩余的 1 个上测试。这 106 次实验的结果被积聚起来提供对真实错误率的估计。KBANN错误率为 4106,而标准的反向传播错误率为 8106。KBANN 的一个变种由 Fu(1993)实现,它报告在同样数据上的错误率为 2106。因此,先验知识在这些实验中很大程度地减小了错误率。此实验的训练数据可以从万维网址 http:/www.ics.uci.edu/mlearn/MLReository.html上得到。Fu(1993)和 Towell et al.(
31、1990)都报告:从最终训练过的网络中抽取的 Horn 子句,可提供一个能更好拟合训练数据的领域理论。虽然有时可能从学习到的网络权值映射回一个精化的 Horn 子句集,但在一般情形下这种作法是有问题的。因为某些权值设置没有直接对应的Horn 子句。 Craven & Shavlik(1994)和 Craven(1996)描述了另外的方法以从学习过的网络中抽取符号规则。为理解 KBANN 的定义,有必要考虑其中的假设搜索与纯归纳的反向传播算法中有什么区别。这两种算法中执行的假设空间搜索在图 12-4 中示意。如其中显示的,关键区别在于执行权值调节所基于的初始假设。在有多个假设(权值向量)能拟合数
32、据的情况下(这种情况在训练数据稀缺时更可能出现),KBANN 更有可能收敛到这样的假设,它从训练数据中的泛化与领域理论的预测更相似。另一方面,反向传播收敛到的特定假设更可能是小权值的假设,它大致对应于在训练样例间平滑插值的泛化偏置。简要地说,KBANN 使用一个领域特定的理论来偏置泛化,而反向传播算法使用一个领域无关的语法偏置(偏向于小的权值)。注意在此概述中我们忽略了搜索中局部极小值的影响。插图 原书页码: 346Hypothesis Space: 假设空间Hypotheses that fit training data equally well:以同样程度拟合训练数据的假设Initial
33、 hypothesis for KBANN: KBANN 的初始假设Initial hypothesis for Backpropagation: 反向传播的初始假设图 12-4KBANN 中的假设空间搜索KBANN 初始化网络使其拟合领域理论,而反向传播将网络初始化为随机小权值。然后它们使用相同的梯度下降规则反复精化权值。当找到多个能拟合训练数据的假设时(如阴影区域所示),KBANN 和反向传播可能找到不一样的假设,因为它们的起点不同。KBANN 的局限性之一为,它只能使用命题领域理论,即无变量的 Horn 子句集。如果给予很不精确的领域理论,KBANN 也可能被误导,从而其泛化精度变得低于
34、反向传播。不过,KBANN 和相关算法确实在若干实际问题中显示出有助于学习。KBANN 是结合分析和归纳学习的初始化假设途径中的一种。这一途径的其他例子包括Fu(1993);Gallant(1988); Bradshaw et al.(1989);Yang & Bhargava(1990);Lacher et al. (1991)。这些途径不同之处在于建立初始假设的实际使用的技术、权值调整的反向传播的应用、以及从精化了的网络中抽取符号描述的方法。Pratt(1993a,1993b)描述的一个初始化假设途径中,先验知识是通过先前对相关任务学习到的神经网络来提供的。训练贝叶斯置信网的值的方法(如
35、6.11 节中讨论的)也可被看作是用先验知识来初始化假设。这里先验知识对应于一组条件独立性假定,它确定了贝叶斯网的图结构,然后其条件概率表从训练数据中归纳得到。12.4 使用先验知识改变搜索目标上面的途径由一个完美拟合领域理论的假设开始梯度下降搜索,然后在需要时改变此假设以最大程度地拟合训练数据。使用先验知识的另一方法是将它合并到梯度下降中需最小化的误差判据,这样网络须拟合的是训练数据和领域理论的组合函数。确切地讲,我们考虑的先验知识的形式是目标函数的某种已知的导出式。一些类型的先验知识可以很自然地用此形式表示。例如,在训练一个神经网络以识别手写字符时,我们可以指定目标函数的某种导数,以表示这
36、种的先验知识:“字符的确认独立于图像的微小平移和旋转。”下面描述的 TangentProp 算法训练神经网络,使其同时拟合训练值和训练导数。12.4.4 节说明了怎样用类似于 12.3 节使用的 Cup 例子中的方法从领域理论中获得这些训练导数。确切地讲,它讨论了 EBNN 算法怎样构造单独样例的解释,以抽取出训练导数来供 TangentProp 使用。TangentProp 和 EBNN 已在多个领域中被示范出有优于纯归纳方法的性能,包括字符和物体识别,以及机器人感知和控制任务中。12.4.1TangentProp 算法TangentProp (Simard et al. 1992)接受的领
37、域知识被表示为对应于其输入变换的目标函数的导数。考虑一个学习任务,包含一个实例空间 X 和目标函数 f。至此我们所作的假定中每个训练样例形式为,它描述了某实例 xi和其训练值 f(xi)。TangentProp 算法还假定提供了目标函数的不同的训练导数(training derivative)。例如,如果每个实例 xi描述为一个实数,那么每个训练样例形式可能为 。这里 表示目标函数在点 x=xi上对ixiiff)(, ixx 的导数。为了从直觉上理解在学习中不仅提供训练值也提供训练导数的好处,考虑一个简单的任务,在图 12-5 表示。其中待学习的目标函数 f 显示于其中最左边的图形,它基于所显
38、示的 3 个训练样例,和。有了这 3 个样例,反向传播算法可望得到一个平滑函数假设,如中间图显示的函数 g。最右边的图显示了提供训练导数(或斜率)作为每个训练样例的附加信息(如 )的效果。通过拟合训练值 f(xi)同时拟合这些导数1),1xf,学习器可以更好地从稀疏训练数据中正确泛化。概括地说,包含训练导数的效果是ixf)(为了克服反向传播中的语法归纳偏置(它偏好各点间的平滑插值),将其替换为所希望的导数的显式输入信息。结果假设 h 显示在最右边的图中,它提供了对真实目标函数 f 的更精确估计。插图 原书页码: 347图 12-5 用 TangentProp 拟合值和导数令 f 为目标函数,它的三个样例,和已知。基于这些点,学习器可能