L3 Training versus Testing
Training versus Testing
回顾:最小二乘法的解
最小二乘法公式:
-
最优解 \(\hat{\theta}\) 满足
\[X^T X \hat{\theta} = X^T y \] -
情况 I:\(X \in \mathbb{R}^{n \times d}\) 具有满列秩,则
\[\hat{\theta} = (X^T X)^{-1} X^T y = X^\dagger y \] -
情况 II:\(X \in \mathbb{R}^{n \times d}\) 不具有满列秩。典型情况是,\(n < d\)。这意味着过拟合。最小二乘法有无穷多解。
概率不等式
随机变量
假设 \(X\) 是一个随机变量,如何量化 \(X\) 的行为?
- 概率密度函数 \(p(x)\)
原则上,随机变量 \(X\) 可以取任何值在 \((-\infty, +\infty)\) 之间。
我们可以说类似于\(Pr[X \ge t]\)

图像展示了一个概率密度函数(pdf)图。x轴表示随机变量 \(x\),y轴表示概率密度。显示了一个钟形曲线,这是正态分布的特征。曲线下方有两个阴影区域:一个是浅蓝色,位于大约 \(x=-1.5\) 的左侧,另一个是浅红色,位于大约 \(x=1.5\) 的右侧。
定理:次高斯浓度
假设 \(X\) 是一个均值为 \(\mu\)、参数为 \(\sigma\) 的次高斯随机变量,则对于任何 \(t > 0\),我们有
-
次高斯分布包括高斯分布和任何有界分布。
-
尾部概率相对于 \(t\) 指数衰减。
-
等价地,
\[\text{Pr}[|X - \mu| \le t] \ge 1 - 2e^{-\frac{t^2}{2\sigma^2}} \]
图片右侧展示了一个概率密度函数图,其中横轴表示变量 \(x\),纵轴表示概率密度函数值 \(pdf\)。图中有一个钟形曲线,表示高斯分布。曲线下方阴影部分表示了 \(|X - \mu| \ge t\) 的概率。

霍夫丁不等式
- 事实:任何在 \([a,b]\) 上有界的随机变量都是具有子高斯性质的随机变量,其子高斯参数 \(\sigma \leq \frac{b-a}{2}\)。
- 我们可以得到霍夫丁不等式对于有界随机变量的以下推论。
推论:霍夫丁不等式对于有界随机变量
假设 \(X_i\) 是独立随机变量,均值为 \(\mu_i\),并且在 \([a_i, b_i]\) 上有界,$ i = 1, \dots, n $,那么对于任何 \(t > 0\),我们有
以及
回到箱体抽样示例
示例: 在箱体抽样示例中,抽样的红色弹珠遵循二项分布(\(n\), \(\mu\))。Pr(\(|\nu - \mu| \le t\)) 的下界是什么?
假设 \(X\) 是 \(n\) 次抽样中红色弹珠的总数。每个样本都是次高斯的,参数为 \(\sigma \le \frac{b-a}{2} = \frac{1}{2}\),因为每个样本可以取值 1(概率为 \(\mu\))或取值 0(概率为 \(1-\mu\))。
因此,根据霍夫丁不等式,
- 让我们替换 \(n = 500\) 和 \(t = \frac{1}{10}\)。我们有
- 也就是说,“\(\nu\) 学习 \(\mu\)”是可能且大致正确的(P.A.C.)。
训练
符号说明
- \(\{x_1, \dots, x_n\} \subseteq X\) 是样本。
- \(\{y_1, \dots, y_n\} \subseteq Y\) 是由目标函数 \(g\) 生成的对应标签。
- \(S = \{x_i\}_{i=1}^n \subseteq X\) 是训练样本。
- 二元情况:\(y_i \in \{-1, +1\}\),且 \(\mathcal{H} \ni f_\theta: X \to \{-1, +1\}\)。
- 示例:感知机学习算法:\[f_\theta(x) = \text{sign}(\theta^\top x) \]
误差度量
学习目标(类似于 \(\nu \approx \mu\))是
如何测量这种近似等式?
-
点-wise 误差度量:
\[e(f(x), g(x)) \text{ 对所有可能的数据 } x \text{ 都很小} \] -
示例:
平方误差:\(e(f(x), g(x)) = (f(x) - g(x))^2\)
二元误差:\(e(f(x), g(x)) = \mathbb{1}_{\{f(x) \neq g(x)\}}\)
平方误差度量主要用于回归,而零一度量则专门用于分类。
样本内误差与样本外误差
► 样本内误差:给定一组训练样本 \(\{x_1, \dots, x_n\}\),
目标:衡量模型在训练数据上的拟合程度
► 样本外误差:假设数据 \(x\) 以独立同分布的方式遵循某种分布 \(\mathcal{D}\)。
- 目标:衡量模型在新数据上的泛化能力。
备注:
► 样本内误差 \(\text{Er}_{\text{in}}\) 也称为训练误差。
► 样本外误差 \(\text{Er}_{\text{out}}\) 比测试误差更为一般。幸运的是,当测试数据集足够大时,我们可以很好地使用测试误差来近似 \(\text{Er}_{\text{out}}\)。
请记住,学习的核心在于推断 g,超出已见的训练数据集,即:使样本外误差变小
学习中的基本权衡
这里有一个简单的分解:
简单的观察是,我们必须同时使泛化误差和训练误差变小,以便使 \(E_{out}\) 变小。
在 泛化 方面,我们需要:更简单的假设 \(H\)
在 训练 方面,我们需要:更复杂的假设 \(H\)
我们需要同时使泛化误差和训练误差尽可能小,以便使 Erout 变小。
有限假设空间泛化
假设:有限假设空间
基数 \(|\mathcal{H}| < +\infty\)
其中 \(|\mathcal{H}|\) 测量所有可能的 \(f_{\theta} \in \mathcal{H}\) 的数量。
-
这意味着 \(\mathcal{H}\) 中可能的 \(f_{\theta}\) 的数量是有限的。
-
为了简化符号,我们将在后续中省略 \(f_{\theta}\) 中的 \(\theta\)。请记住,\(f\)几乎总是由某个参数 \(\theta\) 参数化。
引理:固定 f 的高概率界限
固定任意模型 \(f: X \to \{-1, 1\}\) (\(f \in \mathcal{H}\) 是固定的)。对于任何 \(t > 0\),以下不等式成立:
以及
因此,我们得到了双侧尾概率界限
- 非渐近界限适用于任何 \(n\)。
- 等价地,\(\Pr\left[ \left| \text{Er}_{\text{in}}(f) - \text{Er}_{\text{out}}(f) \right| \le t \right] \ge 1 - 2e^{-2nt^2}\),这是一个高概率界限。
证明
回顾Hoeffding不等式:
对于有界随机变量的Hoeffding不等式
假设\(X_i\)是独立随机变量,均值为\(\mu_i\),并且在\([a_i, b_i]\)上有界,对于$ i = 1, \dots, n \(,那么对于任何\)t > 0$,我们有
注意到\(e(f(x_i), g(x_i))\)等于0或1,我们有
设 \(Er_{in}(f) = -Er_{out}(f)\),按照完全相同的论证,我们得到另一边
通过并界,我们有
引理:并界
对于事件 \(A_1, \dots, A_n\),
命题:固定 \(f\) 的泛化
固定一个模型 \(f: X \to \{-1, 1\}\)。对于任何 \(\delta > 0\),以下泛化界限以至少 \(1 - \delta\) 的概率成立:
证明: 设 \(\delta = 2e^{-2nt^2}\) 并解出 \(t\),即可得到所需结果。
有限假设空间的泛化
定理: 有限假设空间的泛化
设 \(\mathcal{H}\) 为一个有限假设空间。对于任意 \(\delta > 0\),以下泛化界限以至少 \(1 - \delta\) 的概率成立:
- 对 \(\delta\) 的依赖仅为对数级别。
- 当 \(|\mathcal{H}|\) 增加时,泛化误差增加,但仅为对数级别。
- 更多的样本(更大的 \(n\))会导致更好的泛化。
在训练方面,我们需要 更复杂的假设 \(\mathcal{H}\)(更大的 \(|\mathcal{H}|\))
在泛化方面,我们需要 更简单的假设 \(\mathcal{H}\)(更小的 \(|\mathcal{H}|\))
VC 维度
我们不能直接使用 ∣H∣ 来计算 H 的复杂性,而必须正确考虑不同假设之间的重叠。
二分法
- 如果 \(f \in \mathcal{H}\) 应用于有限样本 \(\{x_1, \dots, x_n\}\),我们得到一个 \(n\)-元组 \(\{f(x_1), \dots, f(x_n)\}\),其值为 \(\pm 1\)。
- 这样的 \(n\)-元组称为二分法,因为它将 \(\{x_1, \dots, x_n\}\) 分成两组:\(f\) 为 \(+1\) 的点和 \(f\) 为 \(-1\) 的点。
- 每个 \(f \in \mathcal{H}\) 在 \(\{x_1, \dots, x_n\}\) 上生成一个二分法,但两个不同的 \(f\) 可能生成相同的二分法。
我们现在可以定义整个假设空间 \(\mathcal{H}\) 的二分法。
\(\mathcal{H}\) 的二分法
给定 \(\{x_1, \dots, x_n\}\),由 \(\mathcal{H}\) 在这些点上生成的二分法定义为
\(\mathcal{H}(x_1, \dots, x_n) = \{(f(x_1), \dots, f(x_n)) : f \in \mathcal{H}\}\)。
- 可以将二分法 \(\mathcal{H}(x_1, \dots, x_n)\) 看作是一组假设,就像 \(\mathcal{H}\) 一样,只不过这些假设仅通过 \(n\) 个数据点来观察。
- 更大的 \(\mathcal{H}(x_1, \dots, x_n)\) 意味着 \(\mathcal{H}\) 更加多样化/丰富。
增长函数
增长函数是一个数字,它是基于二分法的数量定义的。
假设集 \(H\) 的增长函数定义为:
其中 \(|\cdot|\) 表示一个集合的基数(元素数量)。
增长函数的思想是:使用 \(H\),我们可以为一个 \(n\) 点数据集标记的最大方式有多少种,而不是通过 \(|H|\) 来计算 \(H\) 的大小。
增长函数的性质
- \(G_H(n)\) 计算在 \(X\) 中任何 \(n\) 个点上可能生成的最多二分法的数量。
- 为了计算 \(G_H(n)\),我们考虑所有可能的 \(n\) 个点的选择,并选择能够给我们最多二分法的那一个,这具有组合性质。
- 类似于 \(|H|\),\(G_H(n)\) 是假设集 \(H\) 丰富程度的一个度量。不同之处在于,它现在是在 \(n\) 个点上考虑,而不是整个输入空间 \(X\)。
- 由于 \(H(x_1, \dots, x_n) \subseteq \{-1, +1\}^n\)(在任何 \(n\) 个点上所有可能的二分法的集合)。显然,我们有
\(G_H(n) \le 2^n\)。 - 如果 \(H\) 能够生成 \(\{x_1, \dots, x_n\}\) 上所有可能的二分法,则 \(H(x_1, \dots, x_n) = \{-1, +1\}^n\),即 \(G_H(n) = 2^n\),我们称 \(H\) 可以打碎数据点 \(\{x_1, \dots, x_n\}\)。
Vapnik-Chervonenkis (VC) 维度
假设空间 \(\mathcal{H}\) 的 VC 维度,记作 \(d_{VC}(\mathcal{H})\) 或简单地记作 \(d_{VC}\),是可以被 \(\mathcal{H}\) 打碎的最大 \(n\),即:
如果对于所有 \(n\),都有 \(G_{\mathcal{H}}(n) = 2^n\),那么 \(d_{VC}(\mathcal{H}) = \infty\)。
- 根据定义,VC 维度表示了 \(\mathcal{H}\) 的表示能力。
- 它计算了 \(\mathcal{H}\) 开始无法打碎的数据点数量 \(n\)。
事实:
使用 VC 维度界定增长函数
示例:线性分类器的VC维度
定理
对于\(d\)维(二元)线性分类器,我们有 \(d_{VC} = d + 1\)。
证明
我们的总体证明思路分为两部分:1)我们证明 \(d_{VC} \ge d+1\)。2)我们证明 \(d_{VC} \le d+1\)。唯一的可能性是 \(d_{VC} = d+1\)。
我们证明第一个方向。
- 我们考虑任何可逆的数据矩阵,具有 \(d+1\) 个数据点,即 \(X \in \mathbb{R}^{(d+1)\times(d+1)}\)(为什么也有 \(d+1\) 列?)。
- 我们可以选择一个 \(\mathcal{H} \ni f_{\theta}(x) = \text{sign}(\theta^T x)\),其中 \(\theta = X^{-1}y\),对于任意的 \(y \in \{-1, +1\}^{d+1}\)。
- 然后,我们将有 \(\text{sign}(X\theta) = y\)。由于 \(y \in \{-1, +1\}^{d+1}\) 是任意的,我们已经证明了 \(d_{VC} \ge d+1\)。
我们现在通过证明第二个方向来展示:我们无法打破任何\(d+2\)个数据点的集合。
- 考虑任何\(d+2\)个数据点\(\{x_1, \dots, x_{d+2}\}\)。
- 我们有比维度更多的点。通过基本线性代数,必定存在某个\(j\)使得\(x_j = \sum_{i \neq j} \alpha_i x_i\),并且并非所有的\(\alpha_i\)都是零。
- 考虑以下二分法:所有\(\alpha_i \neq 0\)的\(x_i\)被标记为\(y_i = \text{sign}(\alpha_i)\),而\(y_j = -1\)。
- \(x_j = \sum_{i \neq j} \alpha_i x_i\)意味着\(\theta^T x_j = \sum_{i \neq j} \alpha_i \theta^T x_i\)。对于\(\alpha_i \neq 0\)的\(x_i\),根据我们的构造,我们强制\(y_i = \text{sign}(\theta^T x_i) = \text{sign}(\alpha_i)\),这意味着只要\(\alpha_i \neq 0\),则有\(\alpha_i \theta^T x_i > 0\)。
- 这意味着\(y_j = \text{sign}(\theta^T x_j) = \text{sign}(\sum_{i \neq j} \alpha_i \theta^T x_i) = +1\),这与我们设定的\(y_j = -1\)相矛盾。因此,我们构造的二分法无法通过选择任何\(f \in \mathcal{H}\)(更准确地说,选择\(\theta\))来实现。这意味着\(\mathcal{G}_{\mathcal{H}}(d+2) < 2^{d+2}\)。
因此,我们得出\(d_{\text{VC}} \leq d+1\),并完成证明。
VC泛化界
对于任何 \(\delta > 0\),以至少 \(1 - \delta\) 的概率,我们有以下泛化界:
在调用使用VC维度的增长函数上界时,我们得到
VC 泛化与之前的界限
其中 \(O\) 用于隐藏 \(\sqrt{\log n / \delta}\) 项和一些常数。
- 将 VC 泛化界限与有限 \(H\) 界限进行比较,可以很容易看出,我们不仅将 \(|\mathcal{H}|\) 替换为 \(G_H\),还改变了一些常数。这是由于一些技术问题。幸运的是,整体思路仍然得以保持,即我们使用一个更合理的有效数量 (\(G_H\) 或 \(d_{VC}\)) 来衡量 \(\mathcal{H}\) 的复杂性,而不是使用 \(|\mathcal{H}|\)。
- 较大的 \(n\) 意味着 \(E_{in}\) 将更好地泛化到 \(E_{out}\)。当 \(n \to \infty\) 时,我们有 \(E_{in} = E_{out}\),这与我们从大数法则的观察是一致的。
VC泛化界限是否有意义/有用?
-
VC分析是一个普遍结果,因为它适用于所有假设空间、学习算法、输入空间、概率分布和二元目标(也可以扩展到其他目标函数)。
-
由于这种普遍性,界限是宽松的。
-
它为我们提供了一些经验法则,例如关于训练样本数量的规则:\(n \geq 10 \times d_{VC}\)
样本复杂性
样本复杂度:样本复杂度表示为了达到某种泛化性能所需的训练样本数量 \(n\)。
假设我们希望结果以至少 \(1 - \delta\) 的概率成立,并且泛化误差(\(E_{in}\) 和 \(E_{out}\) 之间的误差)小于某个小数 \(\epsilon\),我们有
简而言之,我们需要 \(n \geq O\left(\frac{d_{VC} \log(1/\delta) \log n}{\epsilon^2}\right)\)。
示例:
假设我们有一个学习模型,其 \(d_{VC} = 3\),并希望泛化误差最多为 \(0.1\),置信度为 \(90\%\)(因此 \(\epsilon = 0.1, \delta = 0.1\))。我们需要多大的数据集? (ϵ(泛化误差的上界)δ(置信水平的补数))
解决上述不等式得到 \(n \approx 22000\)。 \(\square\)
- 这个获得的样本复杂度远大于之前提到的经验法则 \(n \ge 10 \times d_{VC}\),这是因为 VC 界限相当宽松。
- 尽管如此,实际指导得到了说明。随着 \(d_{VC}\) 的增大,我们需要更多的样本。这与实践是一致的。
模型复杂度和学习曲线的惩罚
估计 Er\(_{\text{out}}\)
在实践中,我们通常会给定 \(S\)。因此,\(n\) 是固定的。问题是,考虑到 \(n\),我们可以期待什么样的性能?
示例:
假设 \(n = 10,000\),并且我们有 \(90\%\) 的置信要求 (\(\delta = 0.1\))。在 \(d_{\text{VC}} = 3\) 的情况下,我们可以保证什么样的样本外误差?
根据泛化界限,我们有
基本权衡
为了使 \(\text{Er}_{\text{out}}\) 较小:在训练方面,我们需要: 更复杂的假设 \(\mathcal{H}\) (更大的 \(d_{\text{VC}}\))
在泛化方面,我们需要: 更简单的假设 \(\mathcal{H}\) (更小的 \(d_{\text{VC}}\))

回归的VC泛化结果
线性回归的VC泛化界
- 到目前为止,我们的VC泛化界是针对二分类情况建立的,其中 \(y = \{-1, +1\}\)。
- 通过采用某种广义概念,如伪维度,我们可以将类似的VC分析应用于线性回归模型,即 \(y = \theta^T x\),其中 $ y $ 是实值(连续的)。这样的泛化结果适用于线性回归。
- 类似于二分类情况,\(d\) 维线性回归模型的伪维度等于 \(d+1\)。
线性回归的VC泛化界

浙公网安备 33010602011771号