8 学习的运行时间
到目前为止,我们在书中研究了学习的统计视角,即学习需要多少样本。换句话说,我们专注于信息学习所需的数量。但是,在考虑自动化学习时,计算资源在确定任务的复杂性方面也起着主要作用:即执行学习任务需要多少计算。一旦向学习者提供了足够的培训样本,就可以进行一些计算,以提取假说或找出给定测试实例的标签。这些计算资源对于机器学习的实际应用都至关重要。我们称这两种类型的资源为示例复杂性和计算复杂性。在本章中,我们把注意力转向学习的计算复杂性。
学习的计算复杂性应从一般算法任务的计算复杂性的更广背景下来看待。已对这一领域进行了广泛的调查:例如,请参阅(西普瑟 2006)。随后的介绍性评论总结了与我们讨论最相关的一般理论的基本思想。
算法的实际运行时间(秒内)取决于算法正在实施的特定机器(例如,机器的 CPU 的时钟速率是什么)。为了避免对特定机器的依赖,在无同位感意义上分析算法的运行时间是很常见的。例如,我们说合并排序算法的计算复杂性(排序 n 项目列表)是 。这意味着我们可以在满足某些已接受的抽象计算模型要求的任何机器上实现算法, 在几秒钟内的实际运行时间将满足以下要求:存在常数 c 和 ,这可以取决于实际机器,因此,对于 的任何值,在数秒内排序任何 项的运行时间最多为 。通常使用"可行"或"高效"一词来计算可以通过运行时间为 的算法执行的一些多功能 p。请注意,这种类型的分析取决于定义预期应用该算法的任何实例的输入大小 n。对于"纯算法"任务,如常见计算复杂性文献中所述,此输入大小定义清晰:算法获得输入实例,例如,要排序的列表,或要计算的算术操作,该操作具有定义良好的大小(例如,要计算的)。对于机器学习任务,输入大小的概念并不那么清楚。算法旨在检测数据集中的某些模式,并且只能访问该数据的随机样本。
我们首先讨论这个问题,并定义学习的计算复杂性。对于高级学生,我们还提供了详细的正式定义。然后,我们继续考虑实施 ERM 规则的计算复杂性。我们首先举几个假设类的例子,其中 ERM 规则可以有效地执行,然后考虑某些案例,尽管该类确实可以有效地学习,但 ERM 实施在计算上是困难的。因此,实施ERM的硬度并不意味着学习的硬性。最后,我们简要地讨论了如何显示给定学习任务的硬度,即没有学习算法能够有效地解决它。
8.1 学习的计算复杂性
回想一下,学习算法可以访问示例域、 、假设类、 、损失函数,以及 中根据未知分布 进行采样的一组示例。 该算法应输出一个假说 ,使概率至少为
如前所述,算法在秒内的实际运行时间取决于特定的机器。为了允许机器独立分析,我们在计算复杂性理论中采用了标准方法。首先,我们依赖于抽象机器的概念,如图灵机器(或图灵机器超过雷亚尔(百隆,舒布和斯马利1989年)。其次,我们分析运行时间在无同位感的意义,而忽略了恒定的因素,因此,特定的机器并不重要,只要它实现抽象的机器。通常,非同位素与算法输入的大小有关。例如,对于前面提到的合并排序算法,我们将运行时间分析为需要排序的项目数的函数.
在学习算法方面,没有明确的"输入大小"概念。人们可能会将输入大小定义为算法接收的培训集的大小,但那毫无意义。如果我们给算法一个非常多的例子,比学习问题的样本复杂性大得多,算法可以忽略额外的示例。因此,较大的培训集不会使学习问题更加困难,因此,学习算法的运行时间不应增加,因为我们增加了培训集的大小。同样,我们仍然可以将运行时间分析为问题的自然参数函数,例如目标的准确性、实现该精度的信心、域集的维度,或者假设类的复杂性的某些测量值与算法输出的比较。
为了说明这一点,请考虑学习算法,用于学习轴对齐矩形的任务。学习轴对齐矩形的特定问题通过指定 和实例空间的维度来得出。我们可以通过修复 和将尺寸改变为 来定义"矩形学习"类型的一系列问题,我们还可以通过修复 和将目标精度改变为 来定义另一个"矩形学习"问题序列。当然,人们可以选择此类问题的其他序列。一旦问题序列被修复,人们就可以分析无音速运行时间作为该序列的变量的函数。
在我们引入正式定义之前,我们需要解决一个更微妙的问题。在上述基础上,学习算法可以通过将计算负担转移到输出假设中来"作弊"。例如,该算法可以简单地将输出假设定义为存储其内存中培训集的功能,并且每当它得到测试示例 时,它就会计算培训集上的 ERM 假说,并在 上应用它。请注意,在这种情况下,我们的算法具有固定输出(即我们刚刚描述的功能),并且可以在恒定时间内运行。然而,学习仍然困难 - 硬度现在在实施输出分类器,以获得标签预测。为了防止这种"作弊",我们要求必须应用学习算法的输出来预测新示例的标签,时间不超过培训的运行时间(即从输入培训示例中计算输出分类器)。在下一个小节中,高级读者可能会找到学习计算复杂性的正式定义。
8.1.1 正式定义*
下面的定义依赖于一个基本抽象机器的概念,它通常是图灵机或图灵机超过雷亚尔。我们将使用算法需要执行的"操作"数量来测量算法的计算复杂性,我们假设对于任何实现基础抽象计算机的机器,都存在恒定的 ,因此任何此类"操作"都可以在机器上使用 秒执行。
定义8.1 (学习算法的计算复杂性) 我们分两步来定义学习的复杂性。首先,我们考虑固定学习问题的计算复杂性(由三胞胎( )和域集、基准假设类和损失函数决定)。然后,在第二步中,我们根据一系列此类任务考虑这种复杂性的变化速度。
- 给定一个函数 ,一个学习任务 和一个学习算法 , 我们说 解决学习任务的时间 如果存在一些恒定数 ,例如,对于每个概率分布 超过 , 和输入 ,当 A 有权访问生成的样本 i.i.d. 由
- 在最多执行 操作后终止
- 的输出(表示 )可用于预测新示例的标签,同时最多执行 操作
- 的输出可能大致正确:即,概率至少为 (超过随机样本 接收),
- 考虑一系列学习问题 ,其中问题 由域 、假设类 和损失函数 定义。 让 成为一种学习算法,用于解决这种形式的学习问题。给定函数 ,我们说 与上一个序列的运行时间为 ,如果对于所有 及时解决了问题 ,其中 由 定义。
我们说,如果 的运行时间为 ,则 对于某个多名词 的序列 是一个高效的算法。
从这个定义中,我们看到一个普通的学习问题能否得到有效解决,取决于它如何被分解成一系列具体的学习问题。例如,考虑学习有限假设类的问题。正如我们在前几章中所示,如果培训示例的数量是 日志(则 的 ERM 规则保证 ) 。假设对示例假设的评估需要恒定的时间,则可以及时实施 ERM 规则 通过对 进行详尽的搜索, 并配备一套大小 的训练集。对于任何固定的有限 ,详尽的搜索算法在多名时间运行。此外,如果我们定义一系列问题,其中 ,则详尽的搜索仍然被认为是有效的。但是,如果我们定义一系列的问题 ,则样本的复杂性仍然是 中的多名词,但详尽搜索算法的计算复杂性随着 呈指数级增长(因此,呈现效率低下)。
8.2 实施 ERM 规则
鉴于假设类 ,ERM 规则也许是最自然的学习范式。此外,对于二元分类问题,我们看到,如果学习是可能的,则 ERM 规则是可能的。在本节中,我们讨论了为几个假设类实施 ERM 规则的计算复杂性。
鉴于假设类、 、域集 和损失函数,相应的 ERM 规则可以定义为:
在有限输入示例 输出约 ,以最大限度地减少经验损失, 。
本节研究实施 ERM 规则的运行时间,以了解学习任务的几个示例。
8.2.1 有限类
将假说类限制为有限类可被视为一种相当温和的限制。例如, 可以是所有预测器的集,这些预测器可以通过最多 10000 位代码编写的C++程序实现。有用的有限类的其他示例是任何假设类,这些假设类可以通过有限数量的参数进行参数化,我们满足于使用有限数量的位来表示每个参数,例如,当定义任何给定矩形的参数指定到一些有限的精度时,Euclidean 空间中轴对齐矩形的类 。
正如我们在前几章中所表明的,学习有限类的样本复杂性受 的上限,其中 在可实现的情况下和 在不可实现的情况下。因此,样本的复杂性对 的大小有轻微的依赖性。以前面提到的C++程序为例,假设的数量为 ,但样本复杂性仅为
在有限的假设类中实施 ERM 规则的简单方法是进行详尽的搜索。即,对于每 ,我们计算经验风险 ,并返回一个将经验风险降至最低的假设。假设单个示例上的 评估需要恒定的时间k,此详尽搜索的运行时间将变为 ,其中 是训练集的大小。如果我们让我成为上述样品复杂性的上限,那么运行时间就变成了 。
运行时间对 大小的线性依赖使得这种方法对于大型类的效率低下(且不切实际)。从形式上讲,如果我们定义一系列问题 这样的 ,然后详尽的搜索方法会产生指数级运行时间。在C++程序示例中,如果 是可以通过最多 位代码编写的C++程序实现的一组功能,则运行时间会呈指数级增长,这意味着详尽的搜索方法对于实际使用是不现实的。事实上,这个问题是我们处理其他假设类的原因之一,比如线性预测器类,我们将在下一章中遇到这些假设类,而不仅仅是关注有限的类。
重要的是要认识到,一种算法方法(如详尽的搜索)效率低下并不意味着不存在有效的 ERM 实现。事实上,我们将展示能够有效执行 ERM 规则的例子
8.2.2 轴对称矩形
让 成为 中对齐矩形的轴类, 即
从而
在可实现的情况下高效学习
考虑在可实现的情况下实施 ERM 规则。就是说,我们得到了一套 的例子,这样就存在一个轴对齐矩形,,为此 为所有 。我们的目标是找到这样一个轴对齐矩形与零训练错误,即一个矩形,是符合所有标签在S之上成立。
我们稍后会证明,这可以及时完成 。事实上,对于每个 , 设置 和 。换句话说,我们把 作为 中正示例的第 个坐标的最小值,将 作为 中正示例的第 个坐标的最大值。 很容易验证生成的矩形没有训练错误,并且查找每个 和 的运行时间为 。因此,此过程的总运行时间为 。
不可知论的情况下无法有效学习
在不可知论的情况下,我们不假设某些假设 完美地预测了培训集中所有示例的标签。因此,我们的目标是找到 ,从而最大限度地减少 示例的数量。事实证明,对于许多常见的假设类,包括我们在这里考虑的轴对齐矩形类,在不可知论环境中解决 ERM 问题是 的(在大多数情况下,它甚至很难找到一些 ,其错误不超过一些恒定的 倍的经验风险最小化在中)。即,除非 ,否则没有算法的运行时间是 和 中的多名词,可以保证为这些问题找到 ERM 假说(本-大卫、艾龙和 Long 2003)。
另一方面,值得注意的是,如果我们修复一个特定的假设类,例如,轴对齐矩形在一些固定维度 那么有有效的学习算法为这个类。换句话说,有成功的不可知论 PAC 学习者,在 和 中及时运行多名词(但他们对维度 n 的依赖不是多名词)。
要查看此情况,请回顾我们为可实现案例提出的 ERM 规则的实施情况,由此可以确定最多 个示例中的轴对齐矩形。因此,在提供大小 的培训集时,我们可以对最多 个示例的培训集的所有子集进行详尽的搜索,并从每个此类子集构建一个矩形。然后,我们可以选择最少的训练错误矩形。此过程保证找到 ERM 假说,并且该过程的运行时间为 。因此,如果 是固定的,则运行时间是样本大小中的多名词。这与上述硬度结果并不矛盾,因为在那里,我们认为,除非 不能有一个算法,其对维度 的依赖也是多面体的。
8.2.3 布尔联结
布尔连词是从 到 的映射,可以表示为表格的命题公式,对于某些指数 这种命题公式所定义的功能是
让 成为所有布尔连结的类超过 。 的大小最多为 (因为在一个连词公式中,x 的每个元素要么出现,要么出现否定符号,或者根本不出现,我们也有所有负公式)。因此,使用 ERM 规则学习 的样本复杂性最多是 。
在可实现的情况下高效学习
接下来,我们表明,有可能及时解决 的 ERM 问题。其理念是通过在假设中包括所有不与任何正面标记示例相矛盾的字面结合来定义 ERM 结合。让 成为输入示例 中所有正面标记实例。我们通过在 上归纳来定义一系列假设(或连词)。让我们成为所有可能的字面的结合。即 。请注意, 将标签 0 分配给 的所有元素。我们通过从连接中删除所有不满意的字面来获得 。该算法输出假说 。请注意, 标签正面标注 S 中所有正面标记示例。此外,对于每一个 , 是最严格的结合标签 现在,由于我们考虑在可实现的设置中学习,因此存在一个结合假设, ,这与 中的所有示例一致。由于 是最严格的结合,标记积极所有正面标记的 成员,任何实例标记 由 也标记 由 。因此, 没有培训错误 ,因此是一个合法的 ERM 假说。请注意,此算法的运行时间为 。
不可知论的情况下无法有效学习
与轴对齐矩形的情况一样,除非 ,否则没有算法的运行时间是 和 中的多名词,这保证在无法实现的情况下为布尔结合类找到 ERM 假说。
8.2.4 学习 3术语DNF
接下来,我们表明,对布尔连结类的轻微概括会导致即使在可实现的情况下,解决 ERM 问题的棘手性。 考虑 3 期分离正常形式公式 (3术语DNF) 的类别。 实例空间为 ,每个假设都由形式 的布尔公式表示,其中每个 是布尔结合(如上一节所定义)。如果 输出标签 1,h(x) 的输出为 1。如果所有三个连结输出标签 0,则 。
让 作为所有此类 c 公式的假设类,的大小至少是 ,因此,使用 ERM 规则学习 的示例复杂性最多为 。
然而,从计算的角度来看,这个学习问题是困难的。 它已被显示(见(皮特和瓦利安特1988年,Kearns等人1994年),除非 ,没有多名时间算法,正确学习一系列 3术语DNF 学习问题,其中第 个问题的维度是 。我们所说的"正确"是指该算法应输出一个假设,即 3术语DNF 。特别是,由于 输出了一个 3术语DNF 公式,它是一个适当的学习者,因此很难实施它。该证明使用图形 3色问题减少 PAC 学习 3术语DNF 的问题。详细的技术在练习 中给出。另见(卡恩斯和瓦齐拉尼1994年,第1.4节)。
8.3 高效学习,但不是通过适当的 ERM
在前一节中,我们看到无法有效地执行 公式的 类 ERM 规则。在本节中,我们表明可以有效地学习此类,但使用 ERM 来学习更大的类。
代表独立学习并不难
接下来,我们表明可以有效地学习 3术语DNF 公式。与前一节中提到的硬度结果没有矛盾,因为我们现在允许"代表独立"学习。即,我们允许学习算法输出一个假说,该假说不是 3术语DNF公式。基本思想是将 3术语DNF公式 的原始假设类替换为更大的假设类,以便新类易于学习。学习算法可能会返回不属于原始假设类的假设:因此, 名称 "代表独立" 学习。我们强调,在大多数情况下,返回具有良好预测能力的假设是我们真正感兴趣的。
我们首先注意到,由于 分布在 ,每个 3术语DNF公式 公式都可以重写为
接下来,让我们定义 , 这样对于每三胞胎 在 范围内有一个变量, 指示你 是真还是假。 因此,对于每个超过 的 3术语DNF 公式,有一个超过 的结合, 具有相同的真理表。由于我们假设数据是可实现的,我们可以解决 ERM 问题,有关组的连结超过 . 此外,在更高维度空间中学习连结类的样本复杂性最多为 。因此,此方法的总体运行时间是多名的 。
直觉上,这个想法如下。我们从一个学习困难的假设课开始。我们切换到另一个表示,假设类大于原始类,但具有更多的结构,这允许更高效的 ERM 搜索。在新的表述中,解决 ERM 问题很容易。
8.4 学习的硬度*
我们刚刚证明,实施 的计算硬度并不意味着这样的 类是无法学习的。我们如何证明学习问题是难以计算的?
一种方法是依靠加密假设。从某种意义上说,密码学与学习正好相反。在学习中,我们试图发现一些规则——我们所看到的例子的基础,而在密码学中,目标是确保没有人能够发现一些秘密,尽管能够获得一些关于它的部分信息。在这种高层次的直观感下,关于某些系统的加密安全性的结果转化为关于某些相应任务的不可学习性的结果。令人遗憾的是,目前人们无法证明加密协议不可破。即使是 的常见假设也不足以证明这一点(尽管它可以证明对于大多数常见的加密场景是必要的)。证明加密协议是安全的常见方法是从一些加密假设开始。这些被更多地用作密码学的基础,我们就越坚信它们真的会持有(或者至少,那些会反驳它们的算法是很难获得的).
我们现在简要地描述了如何从加密假设中推断出可学习性的硬度的基本想法。许多加密系统依赖于存在单向函数的假设。大致而言,单向函数是一个函数 (更正式地说,它是一个函数序列, 每个维度 ) 易于计算,但很难倒置。更正式地, 可以按时间计算多值 (),但对于任何随机多名时间算法 以及每个多名词 计算。
根据 的均匀分布和 的随机性, 将概率接管 的随机选择。
单向函数 称为陷阱门单向函数,如果对于某些多名功能 ,对于每个 存在长度 的位字符串 (称为秘密键),因此存在多名时间算法,该算法用于每个 和每个 ,用于输入 输出 .换句话说,虽然 很难倒置,但一旦人们能够访问其秘密密钥,倒置 就变得可行。这些函数由其秘密密钥参数化.
现在,让 成为一个集陷阱门功能于 的家族,这些功能可以通过一些多名时间算法计算。即,我们修复一个算法,该算法给出一个秘密密钥(代表 中的一个函数)和一个输入向量,它计算多名额时间中输入载体上与秘密密钥对应的函数值。考虑学习相应反向类的任务, 。由于此类中的每个函数可以由 中某个大小多名词的秘密键 倒置, 类可以通过这些键进行参数化,其大小最多为 。因此,其样本的复杂性是多名的。我们声称这个班没有有效的学习者。如果有这样一个学习者, ,那么通过随机随机采样 的多名额字符串,并计算 在他们身上,我们可以生成一个标记的对 ,这应该足以让我们的学习者找出一个 近似 ( 在 范围内的均匀分布) 这将违反 的单向属性。
更详细的治疗,以及一个具体的例子,可以在(卡恩斯和瓦齐拉尼1994年,第6章)找到。使用减少,它们还表明,可以由小型 Boolean 电路计算的函数类别无法有效学习,即使在可实现的情况下也是如此。
8.5 摘要
学习算法的运行时间作为学习问题的不同参数的函数进行无同名分析,例如假设类的大小、我们的准确性测量、我们的信心测量或域集的大小。我们已经演示了能够有效执行 ERM 规则的案例。例如,我们在可实现性假设下,为布尔连结类和轴对齐矩形类推导了解决 ERM 问题的有效算法。但是,在不可知论的情况下,为这些类实施 ERM 是很难的。回想一下,从统计学的角度来看,可实现案例和不可知案例之间没有区别(即,如果并且只有在具有有限风投维度的情况下,在这两种情况下,一个类都是可以学习的)。 相比之下,正如我们所看到的,从计算的角度来看,差异是巨大的。我们还展示了另一个例子,3术语DNF 类,其中实现 ERM 即使在可实现的情况下也很困难,但该类可以通过另一种算法有效地学习。
在几个自然假说类中实施 ERM 规则的硬性促使了替代学习方法的发展,我们将在本书的下一部分讨论这些方法。
8.6 书目说明
Valiant (1984) 引入了高效的 PAC 学习模型,其中算法的运行时间要求为 的多名词,以及类中假设的表示大小。在卡恩斯和瓦齐拉尼(1994年)中进行了详细的讨论和详尽的书目笔记。
8.7 练习
1, 让 成为线路上的间隔类别(正式相当于尺寸 中的轴对齐矩形)。建议实施 学习规则(在不可知的情况下),给出一套大小 的培训集,及时运行 。
2, 让 假设有一个学习算法在可实现的情况下实施 ERM 规则,因此每个 类算法的输出假设仅取决于培训集中的 示例。此外,假设可以根据这些 示例(及时 计算出这样的假设,并且每个此类假设的经验风险可以及时 评估。例如,如果 是 中矩形的轴对齐类,则我们发现,在最多 示例所定义的可实现案例中,可以找到 ERM 假说。证明在这种情况下,有可能在无法实现的情况下找到 的 ERM 假说
3, 在本次练习中,我们提出了几个类,其中找到一个 ERM 分类器是计算困难的。首先,我们为域 X = R n 引入 n 维半空间 HSn 类。这是形式 hw、b (x) = 符号 (hw, xi = b) 的所有功能的类别, 其中 w, x ∈ R n, hw, xi 是它们的内部产品, b ∈ R。请参阅第 9 章中的详细描述。