第五章

103 阅读52分钟

[如何从特定的实验中吸取一般的教训]? 每一个概括都是人造的,包括这一个。

5.1认知

生物和认知过程应被视为计算机出现时立即通过计算机发现的,早期的先驱者们对此进行了讨论,包括图灵和冯纽曼。后来因为进展缓慢,这种联系是具体的还是有用的,有些人绝望地认为,它永远只能是比喻,还有由于根本原因,它不能成为一门科学。我不同意。我相信发展任何一门新的科学都充满挑战,我们正在发展这方面,速度可能是合理的预期。 计算机的普遍性证明了这种认知方法的合理性。有些人抱怨说,在每个年龄阶段,人们喜欢用大脑来比喻,这是当时已知的最复杂的机制。既然计算机是目前最复杂的机制,采用这种比喻难道不是一种谬论吗?我认为计算机的类比超越了计算机是另一个复杂机制这一事实。这一次的不同之处在于,计算在我们认为是机械的所有过程中具有广泛的普遍性。 图灵和冯纽曼都分享了第二个关键的洞察力:就是数学逻辑,计算理论的诞生并不是对思维或生活进行计算描述的正确基础。特别是,图灵在其描述逻辑中的不可计算结果的论文中得出了以下令人难忘的结论:“本文中描述的结果主要是消极的,为我们希望纯粹通过推理实现的目标设定了一定的界限。这些,以及其他一些数理逻辑的结果,可能被认为是在某种程度上,在数学本身中,证明了没有常识支持的“理性”的不足。”这篇文章可能是科学上第一次出现常识比理性优越的观点。它预示着充足的资金随后几年的计算经验。虽然计算机非常擅长运用数理逻辑进行推理,但他们发现常识更具挑战性。 因此,我们面临两个问题:确定什么常识无法被逻辑捕捉,还有是否有一条科学的道路去解决这个常识问题。我认为,第一个问题是数理逻辑的结果,它需要一个有理论的世界才能很好的发挥作用。常识相当于在无理论领域做出良好预测性决策的能力。因此,为了解决第二个问题,我们需要一个无理论的一般性质的理论。正如我将要说的,我们必须朝这个方向走的道路是用生态文明铺成的。 计算机科学中,研究最广泛的算法旨在解决某些特定问题的实例,例如:整数乘法或旅行商问题。通过设计,这些算法已经包含了解决这些问题所需的专业知识。Ecorithm也是算法,但它们还有一个重要的附加性质。他们使用一般的学习技巧从环境中获取知识,以便能在学习环境中有效地表现。他们不是通过短时间内集中紧张进行的设计,而是通过利用所学的知识来达到这种效果.专门知识的设计仅限于通用学习能力及其使用。理解生态算法需要超越基本算法理论的发展。现在不仅需要分析算法本身,还需要分析算法与其环境的关系。 这个理论可能近似正确(PAC)学习理论处理算法与环境之间的这种联系。它解决了一个基本问题,即一个有限实体如何应对一个相对而言是无限的世界,并在这样做的同时将关于这个无限世界的任何假设保持在绝对最低限度。

5.2归纳问题

生活在最底层的生物有一定的适应能力。他们学会避免做对自己有害的事情,而去做对自己有利的事情。 在现实环境中,可能会出现几乎无限数量的不同情况。因此,有用的学习能力始终需要提供重要的 概括成分;一个习得的行为必须不仅在与先前经历的情况相同的情况下有效,而且在任何数量的新奇情况下都有效。因此,我认为泛化是学习现象的核心。记住曾经展示过的一百个单词对我们人类来说可能是一个挑战,但这最好被视为是我们神经生物学的一个缺陷,我们物种遗传的遗留硬件结构。因为我们的大脑缺乏计算机所能做到的处理内存地址的方法,而且每个神经元只与其他神经元的一小部分相连,所以记忆不必要地困难。然而,我们人类擅长概括,这一技能在哲学上充满了争议,在我们的计算机中很难赋予。把泛化放在学习的核心是很困难的,至少对哲学家来说是这样。几千年来,哲学家们一直认为,要从一种情况到另一种情况合理地推断出一个人从未经历过的任何事情,很难进行逻辑论证。这就是所谓的归纳问题。亚里士多德说有两种论证形式,三段论和归纳法。在这里,我解释这些词的意思是,如果一个人有某种信仰,那么这种信仰要么是通过从已经相信的事物中进行逻辑推理(三段论),要么通过从特定的经验中归纳(概括)得出的。在这个公式中,归纳法是更基本的,因为它支持基本信念,而逻辑推理需要一些先前的信念。归纳法的主要悖论是其以下两个方面之间的明显矛盾。一方面,如果没有对世界做出任何假设,那么归纳显然是不合理的,因为世界可能具有足够的对抗性,足以确保未来与刚刚做出的预测完全相反。这种怀疑态度由来已久。例如,哲学家塞克斯特斯·Empiricus在1800年前写道:【教条主义者】声称宇宙是通过归纳法从细节中建立起来的。如果是这样,他们将通过审查所有细节或仅审查其中一些细节来实现这一目标。但是,如果他们只审查了一些,他们的归纳将是不可靠的,因为归纳中遗漏的一些细节可能与普遍观点相矛盾。另一方面,如果他们的审查包括所有细节,他们将这是一项不可能完成的任务,因为细节是无限和不确定的。因此,我认为,从两方面来看,归纳法的基础不稳固。另一方面,与这一论点明显矛盾的是,成功的归纳法在我们身边比比皆是。一代又一代,数以百万计的孩子在看到狗和猫、椅子和桌子等日常概念的例子后学习这些概念,而不是精确的定义。每个孩子通常会看到每个概念的几个例子,不同的孩子看到的例子通常是不同的。然而,当被要求对一个新的例子进行分类,以确定它是猫还是狗时,孩子们会在很大程度上同意彼此的观点考虑到所提供信息的贫乏性和可变性,这种情况可能高得出奇。由此我们可以得出结论,概括或归纳是儿童普遍存在的现象。这就像物体在重力作用下下落一样,是一种常规且可重复的现象。我们有理由期待对这一高度敏感的现象作出定量的科学解释可再现现象。 虽然这两个方面,一方面是在没有假设的情况下证明归纳法的合理性的困难,另一方面是归纳法的普遍性,表面上是矛盾的,但它们并不是不可调和的不一致。可能存在一些可接受的假设,这些假设适用于可复制、自然发生的归纳形式,在这种情况下,归纳是完全合理的。我认为情况确实如此,而且只有两个假设是正确的足以在数量上令人信服地说明归纳法。此外,这两个特定的假设也是必要和不可避免的。第一个假设是不变性假设:应用泛化的上下文不能与进行泛化的上下文有根本的不同。如果我从一个城市搬到另一个城市,那么我可以从我以前的经验中获益,前提是这两个城市的情况没有太大不同。从数学的角度来说,这个假设要求函数关系和概率分布D(表征不同情况出现的频率)在一定程度上随时间保持不变。值得注意的是,不变性假设并不要求世界完全不变。它只要求有一些规律是正确的。这些规律甚至可以说明世界是如何随时间变化的:如果我们每隔一个小时观察太阳向地平线落下,我们预计在下一个小时太阳会落得更靠近地平线,而不是以之字形重复先前的位置。或者,正如华尔街金融家J.P.摩根(J.P.Morgan)所说,应 一位对股市未来走势进行预测的提问者说:“股市会波动。” 第二个假设是可学习的规则性假设。我们很擅长分类,但可能并不完美。如果我们观察水族馆,我们可以相当可靠地区分植物和动物,甚至是我们以前从未见过的物种。我们必须通过应用一些区分动物和植物的标准来做到这一点。这些标准可以看作是世界。哲学家们,尤其是18世纪的大卫·休谟,已经讨论过这种规律。计算机科学至少为这一讨论增加了两个层次。首先,必须要求任何有用的标准或规律性都是可检测的:该标准是否适用于某个实例应通过可行的计算来解决。例如,我们需要对所讨论的对象进行的测量数量,以及我们需要对测量进行的操作数量,以测试作为动物的标准是否成立,应该是多项式有界的。不能在实践中应用的标准是无用的。 然而,归纳现象还有第二个更严重的进一步限制。仅仅存在规律性或标准是不够的,甚至不足以检测到它。为了解释归纳法,还必须首先解释个体如何获得规则性的检测算法。特别是,这项收购必须是可行的,只需要现实可行资源和与世界的互动数量有限。当然,不同的规律性可能需要不同程度的学习努力。想想夜空。关于可见物体位置的数据从一开始就提供给我们的祖先,任何人都可以看到。一点系统性的观察揭示了一个易于学习的规律性,即所有的物体都处于相对固定的位置,除了少数我们称之为行星的物体。开普勒花了数千年的时间才发现行星以椭圆运动的规律性,这一点要难得多。 不变性和可学习的规律性假设似乎是限制性的,但实际上它们是解放性的:它们将学习者从某些不可能实现的责任中解放出来。不变性假设只要求预测适用于学习期间从同一来源提取的示例。如果我们从自然发生的例子中学习,那么我们只需要对其他自然例子做出很好的预测。例如,在学习区分动物和植物的情况下,这意味着不需要对人工或神话案例进行准确预测。计算机生成的虚拟杂种的图像,旨在将人类对它们是植物还是动物的看法一分为二,与我们对诱导现象的解释无关。 可学习的规律性假设也施加了一些自由的限制。它要求存在某种规律性,并且这种规律性在任何情况下都能有效地检测出来。它更进一步地坚持这种规律是可以通过适度的努力来学习的。因此,不需要包含的一个案例是示例所在的位置自然,但通过某种无法有效逆转的方法进行加密。因此,动物或植物的图片可以被编码,这样它们就不能被任何有效的计算过程破译。如果原始数据为空,则不会从数据中删除规则性 原则上仍然可以恢复,即使只是通过一个不可行的费力的计算过程。但是,如果发现规律性根本不实际,那么规律性就不再是一种可学习的规律性,也不需要加以解决。

5.3在瓮中的感应

我将证明这两个最小假设——不变性和可学习的正则性假设——使我们能够严格地解释归纳的可能性。PAC学习基于不变性和可学习规则性这两个假设。接下来的几节将更深入地阐述这一观点。 假设你看到一个装有数百万颗大理石的瓮,每个上面都写着数字。你可以伸手从瓮中随机画出一个大理石。你可以画100颗弹珠。您的任务是确定瓮中数百万颗大理石中至少出现一次的数字。这可能吗? 如果不做任何假设,答案显然是“不”,因为所有的大理石上都可能有不同的数字。任何100次抽签都将无法识别剩余数百万颗大理石上的数字。另一方面,在某些极端假设下,答案显然是“是”。例如,如果已知所有的大理石都是相同的,那么单次绘制将给出所有大理石的完整知识。 图5.1给定一个包含数百万颗大理石的大瓮,可以从随机抽取的小样本中推断瓮中有哪些大理石类型? 更引人注目的是,在一些更有趣的中间条件下,有一个合格的肯定答案。特别是,如果瓮中不同种类大理石的数量不是一个而是一个小数字,例如五个,那么仍然可以达到一个有用的概括水平。 拥有固定数量的大理石类型使某种程度的归纳成为可能的原因如下。任何出现频率足够高的大理石都将以很高的概率绘制在100个大理石中,因此绘制的100个大理石将代表最频繁出现的大理石,当然,除非您在绘制时运气特别差。 为了更精确地论证这一点,首先考虑一个特定的情况,即多达50%的大理石是一种类型。假设这50%的人身上都写着3。那么,所有100次随机抽取未命中a 3的概率为(½100=0.00000000000000000000000000000000000000000078886。… 这与100次抛硬币都出现尾巴的概率相同。当然,发生这种情况的可能性非常小,事实上,如果从目前估计的大爆炸发生日期起,每纳秒重复一次投掷100枚硬币的实验,那么这种可能性在2000年仍然不到1。因此,对于50%的弹珠为3的瓮,我们可以安全地得出结论,在100次平局后,势不可挡很可能,我们会看到至少一个3,因此至少有50%的瓮内容物的代表。 这样一个非常具体的假设,即50%的大理石是相同的,也不是必要的。认识到不同类型的大理石数量较少,也为归纳提供了充分的原则基础。假设我们知道最多有五种不同的大理石类型,但不知道它们的相对频率。事实证明,经过100次挑选后,我们应该有很高的信心,我们已经看到了超过80%的骨灰盒内容物的代表。争论是这样的。如果五种大理石类型中的任何一种出现频率超过5%,则该类型100次丢失的概率小于(1− 0.05)100=(0.95)100<0.6%。由于最多有五种这样的类型,这些频繁出现的类型中任何一种被遗漏的概率都不到这个数量的五倍,即3%。最多可以有四种类型的大理石,每种出现的频率不到5%,因此稀有类型的大理石占它们之间所有大理石的不到20%。结合这两个错误源,我们可以得出结论,在概率至少为97%的情况下,未遗漏概率大于5%的大理石类型,在这种情况下,遗漏的大理石类型最多可占岩石内容物的20%瓮。因此,除非你运气不好,错过了一些常见的类型,否则你将至少画出80%的大理石的代表。但你在这种情况下的运气不到3%。 换句话说,你可以有97%的信心预测,在100次挑选之后,你将看到至少80%的瓮中物的代表。尽管事实上各种类型的大理石是任意的,你不知道。这五种情况中的每一种都有20%的概率发生。或者可能是92%是一种,其他四种发生频率各为2%。也可能是其中三种大理石极其罕见,每种都有0.1%的时间出现,其余两种都有49.85%的时间出现。与其他任何情况一样,该索赔对这三种情况同样有效。 我们需要做的只是两个假设:瓮中的内容不会改变(不变性),瓮中有固定数量的大理石类型(这提供了足够的可学习的规律性)。从这一点可以完全严格地推断,从一个小样本中,我们可以对未来从瓮中提取的样本做出有意义的预测。

5.4差错控制

显然,用我们的最小假设进行归纳是很有效的。同样清楚的是,我们无法避免可能来自两个方面的错误。第一个来源是稀有错误。骨灰缸中可能存在一些罕见类型的大理石,不太可能在任何小样本中提取。因此,它们的存在将以相应的小概率被预测。第二个原因是不幸的错误。由于遗漏了一些常见的大理石类型,因此所抽取的样本很可能无法代表瓮中的内容物。在这种不幸的极端情况下,例如当所有常见的大理石类型都丢失时,样品将不支持任何关于骨灰盒中有什么的有用说法。 有趣的是,虽然这两个错误源都不能完全消除,但两者都可以控制。我的意思是,两个误差源的概率都可以被降低到任意小的水平(但非零)通过增加绘制的大理石数量而获得的数量。最重要的是,控制误差是可以承受的:需要支付的增加样本量的成本仅在一定程度上取决于可容忍的预测误差,事实上是多项式。如果好的预测只能在理想极限下实现,需要付出指数级的努力,然后才能解释现实世界的现象,那么这种可承受性是至关重要的他不愿意跟随。 在这个urn模型中,唯一的操作是拾取大理石,没有其他计算。因此,计算成本可视为从骨灰盒中拾取的大理石数量。我将把这个数字称为S。我心里有一个具体的定量概念。我想增加仅以多项式形式表示,n表示瓮中不同大理石类型的数量,1/误差表示选择允许的最大误差的倒数。这里的错误要么是稀有错误,要么是不幸错误,以较小者为准。误差多项式界限的一个实例是二次界限(1/误差)2,如果一个人愿意容忍10%的误差(即误差=0.1),那么达到该精度水平所需的示例数量和步骤总数应与(1/错误)2=102=100。 我们可以发现我们的预测是多么合理。例如,如果我们假设所有n个类型都以相同的概率出现在urn中,要绘制一个表示一半可用类型的集合,我们需要选择至少n/2。在这种情况下,良好导入的成本将与可用类型的数量成比例。还可以证明,对于某些分布,对逆误差的依赖性可以类似地线性。这表明,为了获得良好的推广效果,可能需要支付一些最低价格。幸运的是,可以证明,对于任何分布,实际价格都远高于这些界限,这些界限在n和1/误差中是线性的.需要证明这一点的论点是对刚才的论点的概括给出了五种大理石类型的特殊情况,其中显示100个大理石样本足以获得97%的置信度,预测误差小于20%。

5.5走向pac可学习性

urn示例确定了在该设置中感应的可行性,但它只是一个受限设置;可分辨物体的数量很小,事实上足够小,学习者可以看到其中很大一部分。我们已经看到了塞克斯特斯·埃皮里库斯的反对意见我同意这样的假设。在现实世界中,可分辨物体的数量是如此之多,以至于任何学习者都无法期望看到超过一分钟的分数,即使是在一生中。一个孩子只能看到一小部分数以百万计的可区分的个体动物,但仍能根据物种对例子进行分类。人类归纳法的繁重要求(urn例子无法满足)是,因此,在看到S个例子后,它必须能够概括出比S个可分辨个体多得多的集合。 因此,我们必须问的问题是:什么样的归纳法是可行的,它在严格性和实际可行性方面与urn示例相匹配,但可以归纳出多个,比如说,2s可区分类型,而不仅仅是S,但成本是S中的多项式,而不是指数? 幸运的是,我们可以将urn示例用于在这样一个更具表达力和精确性的环境中学习。为了简单起见,假设我们在试图区分某个星球上的动物和植物时检测到的特征都只有是/否值。还假设有二十个这样的征,包括以下特征:灰色、红色、绿色、棕色、小、大、有眼睛、有腿、有叶子、有长耳朵、能移动、能呼吸等等。假设存在关于这些特定特征的标准,则对于适用于某一生物的二十个特征的每一个可能的是/否值组合,完全可以确定该生物是动物还是植物。 问题在于,20个特性(每个都存在或不存在)可以以20=1048576的方式组合。现在,如果我们有机会观察数百万种生物,每种都被确认为动物或植物,我们基本上回到了瓮模型。我们将看到所有常见的特征组合,将每个不同的组合视为一种大理石,然后将能够以urn模型计算所证明的相同置信度对未来配置进行分类。但是,在自然参数(这里是特征的数量)方面,需要看到成倍增加的示例的场景是不现实的。即使并非所有220种不同的特征组合都出现在自然界中,也可能有大量的特征组合,可能有数千种。人类可以从更少的例子中学习,即使在这样的情况下,可分辨个体的数量确实是巨大的。我们的算法也应该能够。 这就引出了可学习性的定义,或者说,在我们宣布学习算法成功之前,我们可以合理地对其施加要求。在这个定义中,我们将要求算法应该学习从一些例子可以看出,多项式中的特征数n。可能可以接受对n或n2甚至n3示例的需要,但指数上的许多示例(例如2n)不会。(然而,可区分类型的数量可能高达2n。)我们还希望控制错误,并坚持这种控制再次是多项式的。为了实现所有这一切,我们因此坚持认为,从示例推导归纳概括的过程的计算成本不仅是n和1/误差的多项式。请注意,此计算复杂性标准已经暗示了对所绘制示例数量或示例复杂性的多项式限制,因为处理每个示例至少需要一个操作。 下一个问题是,归纳法的概念是否过于繁重,以至于无法实现。我们可以证明,对于某些有用的概念类,在这个定义的意义上,这不是归纳的情况。其中一类是连词。连接是一个表达式,用于为每个特征指定是否必须保持、是否不能保持或是否保持不重要。本例中的连词示例如下:(can move=true)和(has eyes=true)以及(is green=false)。这表示“可以移动”和“有眼睛”必须保持不变,“是绿色”不能保持不变,其余17个特征值无关紧要。这样的连词反过来又定义了某个星球上的动物的概念,当且仅当该星球上的每种动物都满足连词(即满足所有三个成分),而每种非动物都不满足连词(即不满足三个成分中的至少一个) 为了论证,现在让我们假设,我们试图学习的概念可以通过这个连接来表达。换句话说,我们假设这个星球上所有能够移动、有眼睛且不是绿色的东西都是动物,而任何不具备这三种属性中至少一种的东西都不是。我们如何从少量的例子中有效地学习连词?事实证明,前一节中的大理石和瓮分析也可以适用于这里,但现在多项式的边界是特征数n,而不仅仅是可区分类型的数量,在该数量上可能是2n或指数。 为了了解这一点,我们可以将每一个动物或非动物的例子视为一块大理石,上面写着二十个特征中的每一个,不管这个特征是否适用于这个例子。我们只把对应于动物正面例子的弹珠放在骨灰盒里。代表动物的弹珠都将被标记为:can move=true,has eyes=true,is green=false,而它们之间的其他17个特征可以采用表中剩余特征值的217个不同组合中的任何一个相对频率的任意比率。 我们的学习算法是这样工作的。它形成了2n个可能属性的列表,对于每个特征,一个属性断言该特征为真,另一个属性断言该特征为假。我们称之为列表L。列表L最初包含所有2n 属性,在我们的运行示例中为40。然后一个接一个地画大理石。如果绘制的大理石缺少L中的某些特性,则这些特性将从L中删除,因为它们不是所有的特性动物分享。例如,如果一种动物不是灰色的,那么灰色不可能是所有动物的必要属性,并且该属性不应与灰色连用。在绘制了100个大理石之后,L中剩余属性的结合被宣布为动物的假设或标准。 这一过程被称为消除算法,它为识别某物是否是动物提供了一个准确的标准。原因如下。首先,所有与动物正确连接的属性必须出现在最终的L中,因为瓮中的每个大理石都具有所有动物共享的所有属性,并且从L中删除的唯一属性是至少一个动物中缺失的属性。因此,唯一可能的错误来源是某些属性,例如“has long ears”,保留在最后的L中,而它不应该保留。这意味着在100次试验中,每只动物都有长耳朵。如果这一特性对动物来说不是必需的,那么缺少这一特性的动物一定非常罕见(罕见错误),或者我们在挑选100只动物时运气不好(不幸错误)。正如在urn论证中一样,我们也可以在这里论证,很有可能,错误地保留在L中的属性(例如,长耳朵)必须是它们之间排除不超过一小部分动物的属性。事实上,对于urn问题,本质上相同的多项式界可以用n(特征的数量,而不是动物)和1/误差来证明。6 通过连接词对动物进行正确分类并不比瓮问题更困难,这也许令人惊讶,因为在第一个场景中只有n种不同的大理石类型,而现在有2n种不同类型的动物。因此,让我们重新审视我们的假设。首先,我们假设在测试阶段遇到的示例与在学习阶段遇到的示例来自同一来源。在学习过程中很少看到的例子在测试过程中也同样罕见,因此对学习者来说,了解这些例子就不那么重要了。其次,我们提出了可学习的规律性假设。在这种情况下,我们假设对于给定的特征,区分动物和植物的标准可以表示为连词。这就足够了,因为正如我们刚才看到的,连接词是可以学习的。 正如我们稍后将看到的,许多函数类,因为它们似乎没有可学习的规律性,即使在不变性假设成立的情况下,也似乎不可学习。换句话说,可学习的规则性假设实质上限制了学习算法的功能。这似乎是一个问题,但事实上,这些限制是使学习成为可能所必需的。连接词的消去算法只使用了正例,这一事实可以帮助我们了解原因!仅仅通过观察动物来分类动植物似乎是不可能的。然而,正如我们所看到的,这是可能的,甚至是完全合理的。原因是,存在一个连接词来区分一种类型和另一种类型的约束本身具有很高的信息量。在这个它允许仅从正面的例子中学习。(作为一个关于信息如何通过约束传递的非常松散的类比,假设我要求你解决一个我声称自己已经解决的难题。在你寻找解决方案的过程中,你会发现知道我是花了十秒钟、十小时还是十天的时间,即使这些信息对这个问题没有什么特别的说明。)莱姆。 析取也是同样可以学习的,它是与连词形式完全相同的表达式,只是每个and都被or替换,只需要列出的一组属性中至少有一个保持不变,而不是每个属性都保持不变。然后我们假设动物的概念可以表达为析取,如x3或x7 或者x'9,其中x'9表示与x9不同的连词,析取是可以学习的,尽管完全依赖于否定的例子,并且再次使用排除算法。因此,如果算法遇到棕色植物,“是棕色的”将从每个特征的列表中删除,每个特征都保证某样东西是动物。 当然,消除必须消除的东西,就像我们在这里所做的那样,是长期以来公认的推理原则。17世纪初的弗朗西斯·培根和19世纪的约翰·斯图尔特·密尔都强调了它的重要性。7夏洛克·福尔摩斯甚至更为明确:“当你消除了不可能的事情,剩下的无论多么不可能,都必须是真相。”不幸的是,福尔摩斯先生,以万无一失的方式利用消除法很少是可行的。一些不真实的案例将保留在清单上。PAC框架提供了所需的错误分析。 人们自然会问,连接词和析取词是否有足够的表达能力来解释人类的概念。一种措辞方式是让特征成为某一词典中的单词,并询问词典中的每个单词是否可以用其他单词的连词来表达。哲学家路德维希·维特根斯坦(Ludwig Wittgenstein)认为,游戏的概念没有所有游戏实例都具有的特征。例如,并非每一场比赛都是赢或输的,也不是两个人玩的,等等。这意味着连词不足以表达日常用语,因为连词必须包含所有实例所必需的特征。对于析取也可以提出类似的论点。 由and和or语句组成的电路,以任意的方式组成,而不是像在连接或析取中那样在一个层中,更具表现力。如果一个人必须学习这样一个电路,并且电路中的中间节点不符合有标记示例的自然概念,那么学习连接和分离的能力是不够的。事实上,正如我们稍后将看到的,人们普遍认为一些比连接或析取更具表现力的函数类是不可学习的。确定仍然可以学习的最具表现力的函数类的问题是学习理论中最基本的问题。

5.6pac可学习性

我们所描述的是一种可能近似正确(PAC)学习的概念。当第一次引入时,对应的类被简单地称为learnable,与图灵的可计算概念类似,以表明所寻求的是通过明确的计算手段实际可学习的内容的稳健表征。“可能”承认不幸错误和“近似”罕见错误。 到目前为止,我们看到的许多概念类都是PAC可学习的:连接和析取是,第3章讨论的线性分隔符类也是。这里描述的感知器算法不足以证明这一点。一个障碍是如果某些示例以指数方式接近分隔符,感知器算法的迭代将是指数式的。幸运的是,这种障碍可以通过使用不同的算法来克服,一种基于线性规划的算法。 PAC学习的关键思想是,统计和计算现象都得到承认,并且都是量化的。早期曾有人尝试使用纯计算或纯统计概念对归纳建模。8然而,我认为,将计算和统计结合起来是实现归纳的关键 了解存在的丰富多样的学习现象。PAC学习的概念与描述归纳法需要达到的目标有关。它与应该学习哪个概念类以及使用哪个算法学习概念类无关。它所做的是提供学习的定量分析。人类神经系统使用的算法和正在学习的类目前尚不清楚。但至少我们有办法把这些问题具体化。到目前为止,读者可能已经意识到,所描述的模型无疑是人类在学习方面表现出来的广泛现象的简化。模型本身解决了核心问题 从例子中归纳出计算上可行的现象。该模型可以并且已经在多个方向上扩展,以便捕获学习的许多其他方面。9这些方向包括允许数据中存在某种噪声、概念变化缓慢而不是保持不变、学习者提出某些问题,或者算法仅适用于特定分布。对归纳过程有一个明确的数学模型,这为我们的研究提供了有利条件调查学习的这些重要方面。 到目前为止,读者可能已经意识到,所描述的模型无疑是人类在学习方面表现出来的广泛现象的简化。模型本身解决了核心问题。从例子中归纳出计算上可行的现象。该模型可以并且已经在多个方向上扩展,以便捕获学习的许多其他方面。9这些方向包括允许数据中存在某种噪声、概念变化缓慢而不是保持不变、学习者提出某些问题,或者算法仅适用于特定分布。对归纳过程有一个明确的数学模型,这为我们的研究提供了有利条件调查学习的这些重要方面。

5.7奥卡姆:什么时候相信一个假设

由PAC学习算法生成的假设的最大优点是它具有可靠性保证。然而,通常情况下,我们会遇到一个关于生命起源的假设我们对此一无所知。例如,一位对冲基金经理可能会被告知,市场活动中存在某种特定的价格波动模式已有一段时间了。他必须决定是否应该开始使用该模式来做出投资决策,即使没有关于该模式是如何识别的或是谁识别的信息。在机器学习的实践中,这类问题也经常出现,其中有许多算法所采用的算法尚未被证明是PAC学习算法,但仍然有用。令人高兴的是,也有一些完全严格的标准适用于这种情况。 答案在于Occam算法:它们提供了一种严格的方法,即使在完全不知道假设起源的情况下,它们也能证明纯粹统计参数在机器学习中的作用。10该方法提供了一些条件,在这些条件下不熟悉的假设是可信的。这些条件使14世纪奥卡姆的逻辑学家威廉的直觉变得具体而严格,他认为在所有事物都相等的情况下,简单的假设比复杂的假设更有可能有效。 假设你正试图预测赛马,有人给你过去一百场比赛的数据,每次最重的马获胜。要辨别最重的马是否是看起来最可靠的东西,需要几个步骤。首先,你需要确信,你所展示的100场比赛并不是从总体上没有如此清晰模式的众多比赛中恶意挑选出来的。其次,你需要进一步确认数据不是来自另一个星球。 这两个要求大致相当于可学习性定义的不变性假设,即未来事件将独立于与数据集中100个事件相同的概率分布绘制。第三,你需要评估假设的复杂性。由于“最重的马会赢”这一规则的简单性,人们很容易将赌注押在最重的马身上。100场比赛似乎不太可能仅仅出于偶然就满足这样一个简单的规则。如果规则要复杂得多,例如马的身高、主人的体重和驯马师的年龄(都以适当的单位)加起来就是一个质数,那么你会更加怀疑,这是有道理的。即使胜利者是完全不可预测和武断的,如果允许规则足够复杂的话,也可以设计一些预测规则来在事后与他们匹配。 这一直觉可以严格如下。假设您有一种定义良好的语言来表达假设,并且假设最多可以用这种语言表达N个不同的假设。还假设有人给你一个数据集,其中的S个例子都与h一致,h是N个允许的假设之一。为了决定是否接受这个假设,我们只需要不变性假设。假设一个固定的规则h*是坏的,从这个意义上说,它只正确地预测了分布中示例的一小部分p。然后,它在每一个独立绘制的示例上都是准确的概率将是ps。如果S很大,p基本上小于1,这将是一个非常小的分数。对于例如,如果S=100,且p小于0.8,则此错误规则正确预测100个随机示例中的每一个示例的概率约为0.0000000002,或2×10−10这比32次连续投掷一枚公平硬币的概率要小,这是一个极不可能的事件 此参数适用于任何一条固定规则。但是,如果一个对手试图欺骗我们,在查看数据集后选择适合数据的规则,该怎么办?我们知道骗子的能力是有限的。他可以选择的假设数量有限;例如,如果假设是n个变量上的连接,则n=3n,因为每个变量都有三个选项,以连词形式出现、以否定形式出现或不出现。特别是,如果任何一个坏假设看起来不错的概率不超过2×10−10,那么N个坏假设中至少有一个看起来不错的概率不超过N倍,或者N×2×10−10即使骗子有一百万条不同的规则可供选择,他找到一条既糟糕又有效的规则的几率也只有1/5000。事实上,只要N远小于50亿,我们就可以确信,在N中不会有规则正确地对所有100个示例进行分类,但事实上会更少。一般来说,分布D的准确率超过80%。 因此,作为一个例子,假设赛马是根据1000个特征的列表编码的,每个假设都是三个特征的结合,比如“最大、最黑、最古老”。将有大约1.66亿个不同的假设。(这是因为如果一个人做出一系列的三个选择,每个选择都有一千个结果,那么总共会有十亿个结果。因为这些特征的顺序,如果不同,并不重要,只有六分之一的假设是唯一的。)因此,即使其中的一个坏假设与所有100个例子一致的概率也将略高于0.03。因此,如果“最大的、最黑暗的、最古老的”正确地预测了100场随机选择的比赛的获胜者,你就必须是非理性的。这样打赌下一个。我们可以进行类似的计算,并确定给定规则的置信度是合理的,即使只有不到100个例子,即使该规则不能正确预测所有但只能正确预测大多数例子。 我们所展示的是,如果我们确信三个条件,我们可以依赖于某人给我们的规则的预测能力。首先,我们需要得到一组与规则高度一致的过去例子的数据集。其次,我们需要知道该规则来自于一些小类规则,这些规则在选择示例之前是固定的。第三,我们必须让自己相信,我们面前的例子是随机选择的,独立于我们希望在未来做出预测的同一分布——也就是说,只有在纯种马身上训练过的规则才应该用于对纯种马下注。 现在,PAC学习和这些Occam算法之间的关系是什么?在PAC学习的情况下,在看到任何示例之前,我们有一个保证,即我们手中的学习算法,例如连词消除算法,将在需要学习的隐藏函数位于某一类概念时产生一个良好的预测。在Occam算法的情况下,预测精度的PAC式保证不取决于假设产生的过程;一次仅为一个特定假设提供。但这可能是一种解放,因为奥卡姆的论点给了我们一个答案 尝试不总是有效的学习算法的合理理由。如果我们运气好,找到了一个能够解释数据的假设,并且假设足够短,具有预测能力,那么我们可以继续使用该假设进行预测。如果我们运气不好,假设 如果获得的数据太长或与数据不完全吻合,则我们将立即识别该故障,而不是使用它进行预测,这样就不会造成任何伤害。 有人可能会说,检验一个假说最可靠的方法是对新数据进行检验,也就是说,在推导假说时没有使用过的数据。虽然这是真的,但这并不是免费的,因为它要求我们保留一些不符合假设的数据。利用这些额外的数据,我们或许能够提出一个更好的假设。当一个人真的接受了一个假设——无论是赌马还是推荐投资或医疗,他都不可避免地要做出一个类似于Occam的决定:考虑到所有可用的数据,可以采用的最佳假设到底是什么?

5.8可学习性有限制吗?

我们已经看到了各种各样的学习算法。感知器算法就是其中之一;消除算法是另一种。第三种方法是获得一个简洁的假设并诉诸于Occam论证。正如我们将在第9章中看到的,许多学习算法现在已经为人所知,其中一些已经被广泛应用。此外,毫无疑问,还有更多的算法还没有人想到。但我们在哪里寻找最终的极限呢?如前所述,学习是基于计算和统计现象的深刻相互作用。如果学习是有限度的,那么这些就是可以找到的方向。 首先考虑统计极限,虽然很弱,但很重要。这些对可靠学习所需的最少训练示例数施加了条件。这个数字确实取决于分布情况。对于简单的分布可以通过很少的例子达到高精度。一个简单分布的极端情况是,只有一个曾经发生过的积极例子,在这种情况下,看到一次就会给出所有可用或需要的信息。获得的最坏情况分布的界限通常为在实践中使用多少示例提供有用的指导。可以证明,对于某些示例分布,所需的最小示例数与变量数n和允许误差的比率成正比。 计算限制更为严格。PAC学习的定义要求学习过程是一个多项式时间的计算学习,学习必须能够用现实的计算资源实现。事实证明,只有某些简单的多项式时间可计算类,如连词和线性分隔符,是已知的可学习的,而目前普遍猜测,其余的大部分不是。 这种直觉可以用奥卡姆式的论点更精确地表达出来。假设一个描述某种规律性的n个变量的函数在n2步中是可检测或可计算的。(注意,连接可以在大约n个步骤中检测到,但一些有用的规则可能更复杂。)然后,函数在略多于n2个随机选择的输入上的行为将决定PAC意义上大多数指数多的可能输入上的行为。换句话说,对于所讨论的任何分布D,隐藏函数在很大程度上取决于其在多项式数量的输入上的值。大多数此类函数似乎不能通过多项式努力学习的原因并不是在多项式数量的数据中,函数不是隐式的,但是这种隐含的信息不能通过多项式的努力从数据中提取出来。 我认为,阻碍人类一次学习比自己更复杂概念的主要障碍是从中等数量的数据中提取规则的计算难度,而不是需要过多的数据。例如,发现行星轨道的椭圆性质的困难不在于所需的数据量需要数百代人才能汇编,而在于从地球上看到的椭圆轨道并不构成一个整体人类发现易于提取的规律性。 说明计算和统计学习中的相对作用的另一种方法是观察,如果P=NP(或等价地,NP完全问题在多项式时间内可计算)的断言是真的,那么所有的P都是PAC可以学习的。回想一下,NP是与心理搜索相对应的类。如果P等于NP,那么我们可以取一个多项式数量的随机标记示例,然后在P中模拟一台机器,该机器实现了对符合假设的必要心理搜索使用这些标记的示例。这将给出一个假设,Occam保证在未来的例子中具有良好的预测准确性。换句话说,P=NP的计算断言的真实性意味着多项式可计算函数是可以学习的。 我们由此得出结论,如果我们要理解学习的局限性,我们需要了解计算的局限性。除非证明P=NP,或者其他一些出乎意料的足够强的积极结果是真的,否则知识隐含在数据中的概念不足以标记可学习内容的边界。 那么学习的计算限制是什么呢? 我们从密码学的研究中得到了第一条线索。该领域涉及设计用于编码消息的算法,以便目标接收者能够解码消息,但任何不受欢迎的窃听者都不能。为了使该解码对预期接收者而非窃听者成为可能,预期接收者必须具有窃听者不可用的密钥信息。 在传统的密码学中,密钥是通过一些安全的过程传递给接收者的,比如在一个实际的物理锁定的盒子里,或者通过可信的使者耳语传递给接收者。在公钥密码学中,传输密钥不需要这样的安全物理过程。12相反,接收方生成一个“公钥”并通过公共方式将其传输给发送方,但接收方私下保留一些信息,即“私钥”。在RSA系统中,公钥是两个大素数p和q的乘积,私钥由素数p和q本身组成。任何人都可以用公钥加密发送给收件人的消息,但只有在保留秘密私钥的帮助下,收件人才能在多项式时间内对其进行解码。为了确保潜在私钥的数量如此之大,以至于窃听者不可能简单地依次尝试所有私钥,密钥应该是(比如)1000位数字,其中有太多的数字无法枚举。 据信,计算p和q的推测不可行性使RSA密码术不受攻击。这个推测的免疫性揭示了为什么P类中的所有假设都不是可以学习的。一种对任何人的攻击 加密方案称为选择明文攻击。在这种情况下,可能的窃听者(可能是内部人员)可以访问加密设备,并可以向加密设备提供许多可能经过仔细选择的文本片段,然后观察它们的编码。窃听者从这些信息中提取一个解密算法(相当于密钥),该算法将对任何编码的消息进行解密。因此,本质上,选择的明文攻击与我们的学习场景类似:编码消息是示例,原始消息的位是它们的标签,由私钥封装的解密算法是要学习的概念。假设RSA或其他加密方案事实上能够抵抗选定的明文攻击,那么P类是不可学习的,因为如果P类是可学习的,那么我们可以学习所有解密函数,从而破坏所有此类加密方案。 图5.2强加密方法的存在意味着存在计算上难以学习的函数。原因是,如果所有解密算法都可以从示例中学习,那么可以通过收集足够的对(X,f(X))来打破任何方案向加密设备提供足够的已知消息X,并截取它们的编码f(X)。然后将这些对(f(X),X)标记为解密算法的示例。学习这个算法等于破译代码。 我们不需要仅仅依靠密码学来寻找明显的可学习性障碍。语言给了我们另一个领域。20世纪50年代,语言学家诺姆·乔姆斯基(Noam Chomsky)将各种形式语言的替代类别视为自然语言(如英语)的可能语法基础。14在这种所谓的乔姆斯基形式语言层次结构中,最简单的是常规语言。生成它们的机制是有限状态自动机,这也是最简单有趣的计算机制之一。一个实例如图5.3所示。 每个这样的自动机都可以表示为一个带有开始节点和许多结束节点的图。图中的每个链接都使用一组固定的符号(如a和b)进行标记。自动机接受的语言是所有序列的集合,这些序列在图中标记从开始节点到某个结束节点的路径。考虑图5.3中描述的有限自动机。它所接受的语言由长度为5的a和b的所有序列组成,这些序列从左侧的开始节点开始,沿着从左到右的路径,在结束节点终止。该自动机是通过首先绘制所示的晶格图,然后随机将每个节点的两条输出边中的一条标记为a,另一条标记为b而生成的。现在,正如你可能观察到的,有32个可能的五个字母的序列由a和b组成,但是从开始到结束只有16条不同的路径。因此,这个自动机生成的语言只接受一半的可能序列是有效的。这种结构可以推广,如果字母表中有l个字母(或其他符号,如标点符号或数字),如果句子的长度为s,那么就有l s可能的序列和l s−其中1个或1/l的分数将被相应的自动机接受。 图5.3宽度为2、深度为5的有限自动机示例。它接受长度为5的a和b序列的一半。例如,bbbab被接受,但AAB不被接受。如果我们能看到所有l s可能的序列,并被告知哪些序列在语言中,哪些不是,那么我们就可以预测新的例子,因为我们掌握了所有的事实。这又是骨灰盒模型了。但这当然是指数级的复杂性 句子的长度。 学习一门常规语言的任务是获取训练序列的多项式数(根据句子长度和字母表大小),每个序列根据是否属于该语言进行标记,并在此基础上预测看不见的序列是否在该语言中。诱导隐藏自动机或其近似是一种可能的方法。原则上,学习算法也可能产生一个假设,该假设可以大致正确地标记新示例,但不会揭示自动机的明确描述。然而,乔姆斯基之后几十年的研究未能发现这种学习算法。20世纪80年代,有证据证明,任何PAC学习正则语言的算法都意味着破坏RSA密码系统的方法。15除非此类系统是可破坏的,否则就不可能存在正则语言的计算学习算法。 这个问题可以通过Occam参数的框架来理解。一组随机的多项式多个例子足以从本质上确定隐藏自动机。然而,困难在于,这种确定只是在隐含的意义上,即非常不同的自动机很可能与样本不一致。它是通过一个可行的计算从这个样本中提取自动机的过程,困难在于——目前还不知道用多项式进行这种提取的方法 时间语言学习有一定的重要性。如果不了解人类语言是如何学习的,我们就无法理解人类语言是什么。一种无法学习的正式语言,不能成为学习的基础 人类语言。所有已知的学习规则语言的算法似乎都是以指数时间作为符号序列长度的函数。这一点是否可以改进,即使是对于使用如图所示的晶格图均匀随机生成的特殊类型的自动机,目前仍然是一个有待解决的问题。任何不相信泛化过程中存在真正的计算障碍的读者都应该将这个更简单的目标作为一个挑战,即找到一个PAC学习算法,在多项式时间内将晶格自动机的输出分类为单词或非单词。 最后,我们注意到,还有许多函数的自然类,它们的可学习性目前完全没有解决。对于这些,没有证明它们是PAC可学习的,但同样没有证据表明它们不是。主要的例子是一类称为析取范式的函数,通常缩写为DNF。这些函数可以根据变量的数量表示为多项式大小的表达式,其中表达式的一般形式是一个or语句,连接由变量和语句组成的子表达式,例如,(X和Y)或(Z和T)。这可以被视为两级表示,由连接和析取(它们本身是一级表示)组成。DNF显然比分别使用析取和连词更具表现力。目前已知的学习DNF的最佳算法在表达式大小的立方根中具有指数复杂性,它仍然是指数的,但不是最差的一种,奇怪的是,它类似于已知的整数分解的最佳界。16 DNF是一种原型的两级表示,可能接近可学习性的边界。解决PAC能否被学习是学习理论中一个重大的开放性问题。