这章看起来非常难受、纯理论篇,各种定理和公式。但实际上还有挺有意思的,希望感兴趣的小伙伴也能一起学习(这其中夹杂了很多自己的理解,如有疏漏错误,欢迎批评指正)
计算学习理论(computational learning theory) 是一门研究如何使用计算机科学和数学方法来理解学习过程的学科。它涉及到机器学习、统计学习理论、数据挖掘等领域,旨在通过算法和模型来描述和分析学习的过程。
“独立同分布”(Independent and Identically Distributed,缩写为 i . i . d . i.i.d. i.i.d. ) 是统计学和概率论中的一个重要概念,用于描述一组随机变量的特性。
独立(Independent): 如果一组随机变量是独立的,那么其中任意一个变量的取值不受其他变量的影响。换句话说,知道其中一个变量的取值并不能提供关于其他变量取值的信息。数学上,对于随机变量 x 1 , x 2 , . . . , x n x_1, x_2, ...,x_n x1,x2,...,xn,如果对于任意 i ≠ j i \ne j i=j,都有 P ( x i ∈ A , x j ∈ B ) = P ( x i ∈ A ) ∗ P ( x j ∈ B ) P(x_i \in A, x_j \in B) = P(x_i \in A) * P(x_j \in B) P(xi∈A,xj∈B)=P(xi∈A)∗P(xj∈B),其中 A A A 和 B B B 是任意集合,那么这组随机变量是相互独立的。
同分布(Identically Distributed): 如果一组随机变量具有相同的概率分布,即它们来自于同一种概率分布,那么它们是同分布的。数学上,对于随机变量 x 1 , x 2 , . . . , x n x_1, x_2, ...,x_n x1,x2,...,xn,如果它们都服从相同的概率分布,即 P ( x 1 ∈ A ) = P ( x 2 ∈ A ) = . . . = P ( x n ∈ A ) P(x_1 \in A) = P(x_2 \in A) = ... = P(x_n \in A) P(x1∈A)=P(x2∈A)=...=P(xn∈A) 对于任意集合 A A A 成立,那么这组随机变量是同分布的。
因此,当一组随机变量是独立同分布的时候,每个变量的取值不受其他变量的影响,并且它们都来自于相同的概率分布。独立同分布假设在统计学和机器学习中经常被使用,它简化了问题的建模过程,并使得对于整体数据集的推断更为方便。(这个与有些算法假设数据服从高斯分布类似,如贝叶斯分类器)
本章后面的内容均假设数据中样本都满足这个分布特点。
泛化误差(Generalization Error) 和经验误差(Empirical Error) 是在机器学习中用于评估模型性能的两个关键概念。
泛化误差: 泛化误差是指一个模型在新、未见过的数据上的性能表现。在训练机器学习模型时,我们通常使用一个训练数据集进行模型训练,然后使用另一个独立的测试数据集来评估模型的泛化能力。泛化误差反映了模型对于未知数据的适应能力。模型在训练数据上表现得很好并不一定能在新数据上表现得同样好,因此泛化误差是评估模型真实性能的关键指标。
经验误差: 经验误差是指模型在训练数据集上的性能表现。在训练过程中,模型通过学习训练数据中的模式和关系来调整自身的参数,以尽量减小经验误差。然而,经验误差并不能很好地反映模型在未知数据上的表现,因为模型可能过度拟合了训练数据中的噪声或特定模式,导致在新数据上表现不佳。
在机器学习中,我们希望找到一种平衡,即使在训练数据之外的数据上模型也能表现良好。这就是为什么在训练和评估过程中,除了关注经验误差之外,还要特别关注泛化误差。为了有效地控制泛化误差,通常采用一些技术,如交叉验证、正则化等,以确保模型能够在不同数据集上都有较好的表现。
给定样例集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } D=\{(\bm{x}_1,y_1),(\bm{x}_2,y_2),...,(\bm{x}_m,y_m)\} D={(x1,y1),(x2,y2),...,(xm,ym)}, x i ∈ X \bm{x}_i \in \mathcal{X} xi∈X,本章主要讨论二分类问题,若无特别说明, y i ∈ Y = { − 1 , + 1 } y_i\in \mathcal{Y}=\{-1, +1\} yi∈Y={−1,+1}。假设 X \mathcal{X} X 中的所有样本服从一个隐含未知的分布 D \mathcal{D} D , D D D 的左右样本都是独立地从这个分布上采样而得,即独立同分布样本。
令 h h h 为从 X \mathcal{X} X 到 Y \mathcal{Y} Y 的一个映射,其泛化误差为
E ( h ; D ) = P x ∼ D ( h ( x ) ≠ y ) , (12.1) E(h;\mathcal{D})=P_{\bm{x}\sim \mathcal{D}}(h(\bm{x})\ne y), \tag{12.1} E(h;D)=Px∼D(h(x)=y),(12.1)
h h h 在 D D D 上的经验误差为
E ^ ( h ; D ) = 1 m ∑ i = 1 m I ( h ( x i ) ≠ y i ) (12.2) \widehat{E}(h;D)=\frac{1}{m}\sum_{i=1}^m\mathbb{I}(h(\bm{x_i})\ne y_i) \tag{12.2} E (h;D)=m1i=1∑mI(h(xi)=yi)(12.2)
由于 D D D 是 D \mathcal{D} D 的独立同分布采样,因此 h h h 的经验误差的期望等于其泛化误差。在上下文明确时,我们将 E ( h ; D ) E(h;\mathcal{D}) E(h;D) 和 E ^ ( h ; D ) \widehat{E}(h;D) E (h;D) 分别简记为 E ( h ) E(h) E(h) 和 E ^ ( h ) \widehat{E}(h) E (h)。令 ϵ \epsilon ϵ 为 E ( h ) E(h) E(h) 的上限,即 E ( h ) ≤ ϵ E(h)\le \epsilon E(h)≤ϵ;我们通常用 ϵ \epsilon ϵ 表示预先设定的学得模型所应满足的误差要求,亦称 “误差参数”。
若映射关系 h h h 在数据集 D D D 上的经验误差为 0,则称 h h h 与 D D D 一致,否则称其与 D D D 不一致。对任意两个映射 h 1 , h 2 ∈ X ∼ Y h_1, h_2 \in \mathcal{X} \sim \mathcal{Y} h1,h2∈X∼Y,可通过其 “不合”(disagressment)来度量它们之间的差别:
d ( h 1 , h 2 ) = P x ∼ D ( h 1 ( x ) ≠ h 2 ( x ) ) (12.3) d(h_1,h_2) = P_{\bm{x}\sim \mathcal{D}}(h_1(\bm{x})\ne h_2(\bm{x})) \tag{12.3} d(h1,h2)=Px∼D(h1(x)=h2(x))(12.3)
凸函数(Convex Function) 是一类具有很重要性质的实数域到实数域的函数。在凸函数的定义中,对于函数的图像,连接曲线上任意两点的线段都位于曲线的上方。
更具体地说,一个函数 f : R n → R f: \mathbb{R}^n \rightarrow \mathbb{R} f:Rn→R 被称为凸函数,如果对于任意 x , y ∈ R n x, y \in \mathbb{R}^n x,y∈Rn 和任意 0 ≤ λ ≤ 1 0 \leq \lambda \leq 1 0≤λ≤1,都满足以下条件:
f ( λ x + ( 1 − λ ) y ) ≤ λ f ( x ) + ( 1 − λ ) f ( y ) f(\lambda x + (1-\lambda)y) \leq \lambda f(x) + (1-\lambda)f(y) f(λx+(1−λ)y)≤λf(x)+(1−λ)f(y)
这个条件可以用直观的方式理解为,曲线上连接任意两点的线段都位于曲线的上方。
一些常见的例子包括:
凸函数在数学、优化、经济学等领域都有着广泛的应用。在优化问题中,凸函数具有较好的性质,使得许多优化算法能够高效地找到全局最优解。凸函数的性质还在微积分、凸优化等数学分支中有着深刻的研究。
凹函数(Concave Function) 是一类具有特定性质的实数到实数的函数。一个函数 (f: \mathbb{R}^n \rightarrow \mathbb{R}) 被称为凹函数,如果对于任意 (x, y \in \mathbb{R}^n) 和任意 (0 \leq \lambda \leq 1),都满足以下条件:
f ( λ x + ( 1 − λ ) y ) ≥ λ f ( x ) + ( 1 − λ ) f ( y ) f(\lambda x + (1-\lambda)y) \geq \lambda f(x) + (1-\lambda)f(y) f(λx+(1−λ)y)≥λf(x)+(1−λ)f(y)
这个条件可以直观地理解为,连接曲线上任意两点的线段都位于曲线的下方。换句话说,曲线上的任意弦都位于曲线的上方。
一些常见的例子包括:
凹函数在优化问题、经济学、微积分等领域有着广泛的应用。在优化中,凹函数的性质使得许多优化算法能够高效地找到全局最优解。凹函数的性质同样在微积分和凸优化等数学分支中有着深刻的研究。需要注意的是,凹函数与凸函数是相对的概念,一个函数要么是凹的,要么是凸的。
Jensen 不等式是一个基本的数学不等式,它描述了凸函数与期望值之间的关系。
f ( E ( x ) ) ⩽ E ( f ( x ) ) . (12.4) f(\mathbb{E}(x)) \leqslant \mathbb{E}(f(x)). \tag{12.4} f(E(x))⩽E(f(x)).(12.4)
比如下面的凸函数图示, f ( x 1 + x 2 2 ) < f ( x 1 ) + f ( x 2 ) 2 f(\frac{x_1+x_2}{2}) < \frac{f(x_1)+f(x_2)}{2} f(2x1+x2)<2f(x1)+f(x2)。
Hoeffding 不等式 :若 x 1 , x 2 , . . . , x m x_1,x_2,...,x_m x1,x2,...,xm 为 m m m 个独立随机变量,且满足 0 ≤ x i ≤ 1 0\le x_i \le 1 0≤xi≤1,则对任意 ϵ > 0 \epsilon > 0 ϵ>0,有
P ( 1 m ∑ i = 1 m x i − 1 m ∑ i = 1 m E ( x i ) ⩾ ϵ ) ⩽ exp ( − 2 m ϵ 2 ) (12.5) P\left(\frac{1}{m} \sum_{i=1}^m x_i-\frac{1}{m} \sum_{i=1}^m \mathbb{E}\left(x_i\right) \geqslant \epsilon\right) \leqslant \exp \left(-2 m \epsilon^2\right) \tag{12.5} P(m1i=1∑mxi−m1i=1∑mE(xi)⩾ϵ)⩽exp(−2mϵ2)(12.5)
P ( ∣ 1 m ∑ i = 1 m x i − 1 m ∑ i = 1 m E ( x i ) ∣ ⩾ ϵ ) ⩽ 2 exp ( − 2 m ϵ 2 ) . (12.8) P\left(\left|\frac{1}{m} \sum_{i=1}^m x_i-\frac{1}{m} \sum_{i=1}^m \mathbb{E}\left(x_i\right)\right| \geqslant \epsilon\right) \leqslant 2 \exp \left(-2 m \epsilon^2\right) . \tag{12.8} P( m1i=1∑mxi−m1i=1∑mE(xi) ⩾ϵ)⩽2exp(−2mϵ2).(12.8)
Hoeffding 不等式 是概率论中的一种不等式,用于估计独立随机变量的平均值与其期望之间的差异。公式 12.6 中也可以表示为 P ( ∣ X ˉ − E ( X ˉ ) ∣ ≥ ϵ ) ≤ 2 e − 2 m ϵ 2 / ( b − a ) 2 P\left(\left|\bar{X} - E(\bar{X})\right| \geq \epsilon \right) \leq 2e^{-2m \epsilon ^2/(b-a)^2} P( Xˉ−E(Xˉ) ≥ϵ)≤2e−2mϵ2/(b−a)2
这个不等式表明,通过大数定律,随着样本数量 m m m 的增加,随机变量平均值 X ˉ \bar{X} Xˉ 与其期望 E ( X ˉ ) E(\bar{X}) E(Xˉ) 之间的差异以指数速度收敛到零。Hoeffding 不等式在概率不等式中的应用很广泛,特别是在统计学、机器学习和信息理论中,它被用来估计样本均值与总体均值之间的差异,并提供了关于样本平均值的概率界。
假设有独立同分布的随机变量 (X_1, X_2, \ldots, X_n),它们服从相同的分布。
McDiarmid 不等式 :若 x 1 , x 2 , . . . , x m x_1,x_2,...,x_m x1,x2,...,xm 为 m m m 个独立随机变量,且满足 1 ≤ i ≤ m 1\le i \le m 1≤i≤m,考虑一个函数 f : R n → R f: \mathbb{R}^n \rightarrow \mathbb{R} f:Rn→R,并假设对于所有 i i i 和所有 x 1 , x 2 , … , x n x_1, x_2, \ldots, x_n x1,x2,…,xn,函数 f f f 满足 Lipschitz 连续性条件,即:
sup x 1 , … , x m , x i ′ ∣ f ( x 1 , … , x m ) − f ( x 1 , … , x i − 1 , x i ′ , x i + 1 , … , x m ) ∣ ⩽ c i \sup _{x_1, \ldots, x_m, x_i^{\prime}}\left|f\left(x_1, \ldots, x_m\right)-f\left(x_1, \ldots, x_{i-1}, x_i^{\prime}, x_{i+1}, \ldots, x_m\right)\right| \leqslant c_i x1,…,xm,xi′sup∣f(x1,…,xm)−f(x1,…,xi−1,xi′,xi+1,…,xm)∣⩽ci
其中, c i c_i ci 为大于0的常数。则对任意 ϵ > 0 \epsilon > 0 ϵ>0,有
P ( f ( x 1 , … , x m ) − E ( f ( x 1 , … , x m ) ) ⩾ ϵ ) ⩽ exp ( − 2 ϵ 2 ∑ i c i 2 ) (12.9) P\left(f\left(x_1, \ldots, x_m\right)-\mathbb{E}\left(f\left(x_1, \ldots, x_m\right)\right) \geqslant \epsilon\right) \leqslant \exp \left(\frac{-2 \epsilon^2}{\sum_i c_i^2}\right) \tag{12.9} P(f(x1,…,xm)−E(f(x1,…,xm))⩾ϵ)⩽exp(∑ici2−2ϵ2)(12.9)
P ( ∣ f ( x 1 , … , x m ) − E ( f ( x 1 , … , x m ) ) ∣ ⩾ ϵ ) ⩽ 2 exp ( − 2 ϵ 2 ∑ i c i 2 ) (12.10) P\left(\left|f\left(x_1, \ldots, x_m\right)-\mathbb{E}\left(f\left(x_1, \ldots, x_m\right)\right)\right| \geqslant \epsilon\right) \leqslant 2 \exp \left(\frac{-2 \epsilon^2}{\sum_i c_i^2}\right) \tag{12.10} P(∣f(x1,…,xm)−E(f(x1,…,xm))∣⩾ϵ)⩽2exp(∑ici2−2ϵ2)(12.10)
McDiarmid不等式是概率不等式的一种,类似于Hoeffding不等式,它用于估计独立同分布的随机变量的平均值与其期望之间的差异。McDiarmid 允许每个随机变量对应的函数值对整体的影响不同,通过引入 c i c_i ci 来刻画。这使得 McDiarmid 不等式更加灵活,适用于更广泛的情形。
PAC,Probably Approximately Correct 概率近似正确,是机器学习和计算理论中的一个概念,用于描述学习算法的性能和可靠性。
PAC学习的核心思想是,一个学习算法在学习过程中可以在有限的时间内以高概率近似地产生一个正确的模型。
具体来说,PAC学习关注以下几个要素:
概率性(Probably): 学习算法的输出在某种程度上是概率性的,而不是绝对确定的。即使在学习过程中算法可能出现错误,但错误的概率要控制在一个很小的范围内。
近似正确性(Approximately Correct): 学习算法生成的模型可能不是完全准确的,但要在某种程度上接近真实模型。这种近似性通常是在学习的样本数据上进行评估的。
有限时间(Finite Time): 学习算法在有限的时间内完成学习过程,不会花费过多的时间。
PAC学习的目标是使学习算法具有在面对未知数据时仍然能够产生准确预测的能力。这个概念在机器学习理论中有助于理解算法的泛化能力以及如何在有限的数据和时间内进行有效学习。
令 c c c 表示 “概念”(concept),这是从样本空间 X \mathcal{X} X 到标记空间 Y \mathcal{Y} Y 的映射,它决定示例 x \bm{x} x 的真实标记 y y y,若对任何样例( ( x , y ) (\bm{x},y) (x,y))有 c ( x ) = y c(\bm{x})=y c(x)=y 成立,则称 c c c 为目标概念;所以我们希望学得的目标概念所构成的集合称为 “概念类”(concept class),用符号 C \mathcal{C} C 表示。
在PAC学习中,"概念(concept)"指的是学习任务中要从数据中学习的目标对象或规律。这可以是任何系统性的关系、模式或规律,例如分类任务中的类别、回归任务中的函数关系等。概念是我们希望学习算法能够从样本数据中推断出来的东西。
在分类问题中,概念可能是将数据分为不同的类别,例如将电子邮件分为垃圾邮件和非垃圾邮件。在回归问题中,概念可能是描述输入和输出之间的数学关系,如预测房价的模型。
PAC学习的目标是从有限的样本数据中学习概念,并在面对未知数据时做出准确的预测。因此,学习算法的任务是从样本数据中推断出概念,使其在未见过的数据上表现良好。这涉及到在有限时间内以高概率近似正确地捕捉到真实概念的能力。
给定学习算法 L \mathfrak {L} L ,它所考虑的所有可能概念的集合称为 “假设空间(hypothesis space)”,用符号 H \mathcal{H} H 表示。由于学习算法事先并不知道概念类的真实存在,因此 H \mathcal{H} H 和 C \mathcal{C} C 通常是不同的,学习算法会把自认为可能得目标概念集中起来构成 H \mathcal{H} H,对 h ∈ H h\in\mathcal{H} h∈H,由于并不能确定它是否真是目标概念,因此称为 “假设” (hypothesis)。显然,假设 h h h 也是从样本空间 X \mathcal{X} X 到标记空间 Y \mathcal{Y} Y 的映射。
若目标概念 c ∈ H c \in \mathcal{H} c∈H,则 H \mathcal{H} H 中存在假设能将所有示例按与真实标记一致的方式完全分开,我们称该问题对学习算法 L \mathfrak{L} L 是 “可分的(separable)”,亦称 “一致的(consistent)”;若 c ∉ H c \notin \mathcal{H} c∈/H,则 H \mathcal{H} H 中不存在任何假设能将所有示例完全正确分开,称该问题对学习算法 L \mathfrak{L} L 是 “不可分的(non-separable)”,亦称 “不一致的(non-consistent)”。
给定训练集 D D D,我们希望基于学习算法 L \mathfrak{L} L 学得的模型所对应的假设 h h h 尽可能接近目标概念 c c c。为什么不是希望精确地学到目标概念 c c c 呢?这是由于机器学习过程受到很多因素的制约,例如我们获得的训练集 D D D 往往仅包含有限数量的样例,因此,通常会存在一些在 D D D 上“等效” 的假设,学习算法对它们无法区别;再如,从分布 D \mathcal{D} D 采样得到 D D D 的过程有一定偶然性,可以想象,即便对同样大小的不同训练集,学得结果也可能有所不同.因此,我们是希望以比较大的把握学得比较好的模型,也就是说,以较大的概率学得误差满足预设上限的模型;这就是 “概率” “近似正确” 的含义。
定义 12.1 PAC 辨识(PAC Identify):令 δ \delta δ 表示置信度,对 0 < ϵ , δ < 1 0 < \epsilon, \delta < 1 0<ϵ,δ<1,所有 c ∈ C c\in\mathcal{C} c∈C 和分布 D \mathcal{D} D,若存在学习算法 L \mathfrak{L} L,其输出假设 h ∈ H h\in\mathcal{H} h∈H 满足
P ( E ( h ) ≤ ϵ ) ≥ 1 − δ , (12.9) P(E(h) \le \epsilon) \ge 1- \delta, \tag{12.9} P(E(h)≤ϵ)≥1−δ,(12.9)
则称学习算法 L \mathfrak{L} L 能从假设空间 H \mathcal{H} H 中 PAC 辨识概念 C \mathcal{C} C。这样的学习算法 L \mathfrak{L} L 能以较大的概率(至少 1 − δ 1- \delta 1−δ)学得目标概念 c c c 的近似(误差最多为 ϵ \epsilon ϵ)。
相关符号的定义前面已经介绍。这个定义的作用可以理解为:算法的可用性定义。如果算法 L \mathfrak{L} L 能建立这样的映射关系,满足公式中定义的条件,那么可以认为这个算法能够实现目标。(当然,我这么描述非常不严谨)
这个是关于 PAC 的第一个定义,作为算法的第一个评估参考,后面的将更加复杂。
定义 12.2 PAC 可学习(PAC learnable):令 m m m 表示从分布 D \mathcal{D} D 中独立同分布采样得到的样例数目, 0 < ϵ , δ < 1 0<\epsilon,\delta < 1 0<ϵ,δ<1,所有分布 D \mathcal{D} D,若存在学习算法 L \mathfrak{L} L 和多项式函数 poly ( ⋅ , ⋅ , ⋅ , ⋅ ) \textbf{poly}(\cdot,\cdot,\cdot,\cdot) poly(⋅,⋅,⋅,⋅),使得对于任何 m ≥ poly ( 1 / ϵ , 1 / δ , size ( x , m ) , size ( c ) ) m\ge \textbf{poly}(1/\epsilon,1/\delta,\textbf{size}(\bm{x},m),\textbf{size}(c)) m≥poly(1/ϵ,1/δ,size(x,m),size(c)), L \mathfrak{L} L 能从假设空间 H \mathcal{H} H 中PAC 识别概念 C \mathcal{C} C,则称概念类 C \mathcal{C} C 对假设空间 H \mathcal{H} H 而言是 PAC 可学习的,有时也简称概念 C \mathcal{C} C 是 PAC 可学习的。
定义 12.3 PAC 学习算法(PAC Learning Algorithm):若学习算法 L \mathfrak{L} L 使概念类 C \mathcal{C} C 为 PAC 可学习的,且 L \mathcal{L} L 的运行时间也是多项式函数 poly ( 1 / ϵ , 1 / δ , size ( x , size ( c ) ) ) \textbf{poly}(1/\epsilon,1/\delta,\textbf{size}(\bm{x},\textbf{size}(c))) poly(1/ϵ,1/δ,size(x,size(c))),则称概念类 C \mathcal{C} C 是高效 PAC 可学习(efficiently PAC learnable)的,称 L \mathfrak{L} L 为概念类 C \mathcal{C} C 的 PAC 学习算法。
这里的 “高效PAC可学习” 读起来怪怪的,个人认为应该可以自由翻译为 “可高效学习”。
这里需要明确的是,运行时间为多项式函数,所以理论上来说,如果算法的复杂度过高,我们可以认为该算法不是 高效 PAC 学习算法,也就是从PAC 学习算法的分析角度而言,该算法不合格(低效)。
假定学习算法 L \mathfrak{L} L 处理每个样本的时间为常数,则 L \mathfrak{L} L 的时间复杂度等价于样本复杂度。于是,我们对算法时间复杂度的关心就转化为对样本复杂度的关心。
这里也可以理解为 “近似” 思想,如果我没有直接计算算法复杂度,那么就用另外一种方式进行衡量。
定义 12.4 样本复杂度(Sample Complexity):满足 PAC 学习算法 L \mathfrak{L} L 所需的 m ≥ poly ( 1 / ϵ , 1 / δ , size ( x ) , size ( c ) ) m \ge \text{poly}(1/\epsilon,1/\delta,\text{size}(\bm{x}),\text{size}(c)) m≥poly(1/ϵ,1/δ,size(x),size(c)) 中最小的 m m m,称为学习算法 L \mathfrak{L} L 的样本复杂度。
PAC 学习中一个关键因素是假设空间 H \mathcal{H} H 的复杂度。 H \mathcal{H} H 包含了学习算法 L \mathfrak{L} L 所有可能输出的假设,若在 PAC 学习中假设空间的概念与概念类完全相同,即 H = C \mathcal{H}=\mathcal{C} H=C,这称为 “恰PAC可学习”(properly PAC learnable);直观地看,这意味着学习算法的能力与学习任务 “恰好匹配”。
然而,这种让所有候选假设都来自概念类的要求看似合理,但却是很不实际,因为在现实应用中我们对概念类 C \mathcal{C} C 通常一无所知,更别说获得一个假设空间与概念类恰好相同的学习算法。显然,更重的是研究假设空间与概念类不同的情形,即 H ≠ C 4 \mathcal{H}\not=\mathcal{C}4 H=C4。一般而言, H \mathcal{H} H 越大,其包含任意目标概念的可能性越大,但从中找到某个目标概念的难度也越大。 ∣ H ∣ |\mathcal{H}| ∣H∣ 有限时,我们称 H \mathcal{H} H 为 “有限假设空间”,否则称为 “无限假设空间”。
可分情形 意味着目标概念 c c c 属于假设空间 H \mathcal{H} H,即 c ∈ H c\in \mathcal{H} c∈H。
m ≥ 1 ϵ ( ln ∣ H ∣ + ln 1 δ ) (12.14) m\ge \frac{1}{\epsilon}(\ln |\mathcal{H}| + \ln \frac{1}{\delta}) \tag{12.14} m≥ϵ1(ln∣H∣+lnδ1)(12.14)
输出假设 h h h 的泛化误差随样例数目的增多而收敛到 0,收敛速率为 O ( 1 m ) O(\frac{1}{m}) O(m1)。
这里的推导过程请参考西瓜书原书。
对较为困难的学习问题,目标概念 c c c 往往不存在于假设空间 H \mathcal{H} H 中。假定对于任意 h ∈ H h\in \mathcal{H} h∈H, E ^ ( h ) ≠ 0 \widehat{E}(h)\not=0 E (h)=0,也就是说, H \mathcal{H} H 中的任意一个假设都会在训练集上出现或多或少的错误。
由 Hoeffding 不等式易知:
引理 12.1 若训练集 D D D 包含 m m m 个从分布 D \mathcal{D} D 上独立同分布采样而得的样例, 0 < ϵ < 1 0<\epsilon<1 0<ϵ<1,则对任意 h ∈ H h\in\mathcal{H} h∈H,有
P ( E ^ ( h ) − E ( h ) ⩾ ϵ ) ⩽ exp ( − 2 m ϵ 2 ) (12.15) P(\widehat{E}(h)-E(h) \geqslant \epsilon) \leqslant \exp \left(-2 m \epsilon^2\right) \tag{12.15} P(E (h)−E(h)⩾ϵ)⩽exp(−2mϵ2)(12.15)
P ( E ( h ) − E ^ ( h ) ⩾ ϵ ) ⩽ exp ( − 2 m ϵ 2 ) (12.16) P(E(h)-\widehat{E}(h) \geqslant \epsilon) \leqslant \exp \left(-2 m \epsilon^2\right) \tag{12.16} P(E(h)−E (h)⩾ϵ)⩽exp(−2mϵ2)(12.16)
P ( ∣ E ( h ) − E ^ ( h ) ∣ ⩾ ϵ ) ⩽ 2 exp ( − 2 m ϵ 2 ) (12.17) P(|E(h)-\widehat{E}(h)| \geqslant \epsilon) \leqslant 2 \exp \left(-2 m \epsilon^2\right) \tag{12.17} P(∣E(h)−E (h)∣⩾ϵ)⩽2exp(−2mϵ2)(12.17)
这个引理约等于将数据代入公式
这个引理的作用在后面的推论中呈现。
推论 12.1 若训练集 D D D 包含 m m m 个从分布 D \mathcal{D} D 上独立同分布采样而得的样例, 0 < ϵ < 1 0<\epsilon<1 0<ϵ<1,则对任意 h ∈ H h\in \mathcal{H} h∈H,式 (12.18) 以至少 1 − δ 1-\delta 1−δ 的概率成立:
E ^ ( h ) − ln ( 2 / δ ) 2 m ⩽ E ( h ) ⩽ E ^ ( h ) + ln ( 2 / δ ) 2 m (12.18) \widehat{E}(h)-\sqrt{\frac{\ln (2 / \delta)}{2 m}} \leqslant E(h) \leqslant \widehat{E}(h)+\sqrt{\frac{\ln (2 / \delta)}{2 m}} \tag{12.18} E (h)−2mln(2/δ)⩽E(h)⩽E (h)+2mln(2/δ)(12.18)
推论 12.1 表明,样例数目 m m m 越大时, h h h 的经验误差是其泛化误差很好的近似 。
引论到推论以及它们的作用。
对于有限假设空间 H \mathcal{H} H,我们由
定理 12.1 若 H \mathcal{H} H 为有限假设空间, 0 < δ < 1 0<\delta<1 0<δ<1,则对任意 h ∈ H h\in \mathcal{H} h∈H,有
P ( ∣ E ( h ) − E ^ ( h ) ∣ ⩽ ln ∣ H ∣ + ln ( 2 / δ ) 2 m ) ⩾ 1 − δ (12.19) P\left(|E(h)-\widehat{E}(h)| \leqslant \sqrt{\frac{\ln |\mathcal{H}|+\ln (2 / \delta)}{2 m}}\right) \geqslant 1-\delta \tag{12.19} P(∣E(h)−E (h)∣⩽2mln∣H∣+ln(2/δ))⩾1−δ(12.19)
推导过程请参见西瓜书。
这里可以得到一个结论:当 c ∉ H c \notin \mathcal{H} c∈/H 时,学习算法 L \mathfrak{L} L 无法学得目标概念 c c c 的 ϵ \epsilon ϵ 近似。但是,当假设空间 H \mathcal{H} H 给定时,其中必存在一个泛化误差最小的假设,找到此假设的近似也不失为一个较好的目标。 H \mathcal{H} H 中泛化误差最小的假设是 arg min h ∈ H E ( h ) \argmin_{h\in\mathcal{H}}E(h) argminh∈HE(h),于是,以此为目标可将PAC学习推广到 c ∉ H c\notin \mathcal{H} c∈/H 的情况,这称为 “不可知学习”。“不可知” 可理解与 “不可分” 保持一致。
定义 12.5 不可知PAC可学习(agnostic PAC learnable):令 m m m 表示从分布 D \mathcal{D} D 中独立同分布采样得到的样例数目, 0 < ϵ , δ < 1 0<\epsilon,\delta<1 0<ϵ,δ<1,对所有分布 D \mathcal{D} D,若存在学习算法 L \mathfrak{L} L 和多项式函数 poly ( ⋅ , ⋅ , ⋅ , ⋅ ) \text{poly}(\cdot,\cdot,\cdot,\cdot) poly(⋅,⋅,⋅,⋅),使得对于任何 m ≥ poly ( 1 / ϵ , 1 / δ , size ( x ) , size(c) ) m\ge \text{poly}(1/\epsilon,1/\delta,\text{size}(\bm{x}),\text{size(c)}) m≥poly(1/ϵ,1/δ,size(x),size(c)), L \mathfrak{L} L 能从假设空间 H \mathcal{H} H 中输出满足式 12.20 的假设 h h h:
P ( E ( h ) − min h ′ ∈ H E ( h ′ ) ⩽ ϵ ) ⩾ 1 − δ , (12.20) P\left(E(h)-\min _{h^{\prime} \in \mathcal{H}} E\left(h^{\prime}\right) \leqslant \epsilon\right) \geqslant 1-\delta, \tag{12.20} P(E(h)−h′∈HminE(h′)⩽ϵ)⩾1−δ,(12.20)
则称假设空间 H \mathcal{H} H 是不可知 PAC 可学习的。
高效不可知PAC可学习:与PAC可学习类似,若学习算法 L \mathfrak{L} L 的运行时间也是多项式函数 poly ( 1 / ϵ , 1 / δ , size ( x ) , size(c) ) \text{poly}(1/\epsilon,1/\delta,\text{size}(\bm{x}),\text{size(c)}) poly(1/ϵ,1/δ,size(x),size(c)),则称假设空间 H \mathcal{H} H 是高效不可知PAC可学习的,学习算法 L \mathfrak{L} L 则称为假设空间 H \mathcal{H} H 的不可知 PAC 学习算法,满足上述要求的最小 m m m 称为学习算法 L \mathfrak{L} L 的样本复杂度。
12 章纯理论篇,研究的是计算学习理论的主要内容。本人也能力有限,只能将大概内容进行学习。刚开始觉得难以理解,理论枯燥是很正常的。但是小伙伴们,理论学习应当更加有意义,尤其是对学习写文章的人而言。
阅读过程中如果遇到了不记得的符号,不清楚它代表的含义就回到前面看看它的定义,联系起来应该是可以理解的。
篇幅原因,本章拆分称为上下两篇。
Smileyan
2024.01.19 0:13