主题:无限实值函数类、覆盖数、Dudley 熵积分与伪维数 课程:Theoretical Machine Learning 课件:Lecture 3,Fall 2026,Haipeng Luo
一、这节课要解决什么问题
上一讲对有限函数类和二分类函数类的可学习性进行了刻画。本讲转向回归:
核心目标仍然是控制 Rademacher complexity,因为经验风险最小化(ERM)的泛化误差可以通过下列链条控制:
其中 是损失函数的 Lipschitz 常数;二分类时可取 。
有限类可以直接使用 Massart 引理:若函数值落在 ,则
但回归中的 往往是无限类,其样本投影
通常仍然是无限集合,不能直接把 塞进有限类上界。本讲的统一策略是:先把无限集合近似为有限集合,再对有限代表集应用 Massart 引理。
二、第一层方法:覆盖整个函数类
2.1 逐点覆盖与覆盖数
有限类 是 的逐点 -cover,如果对每个 ,都存在 ,使得
最小代表集的大小称为逐点覆盖数:
越大,近似要求越宽松,所以 关于 单调不增。
2.2 定理 1:单尺度覆盖上界
这个式子体现了一个基本权衡:
- 小:近似误差小,但需要更多代表函数,覆盖数变大;
- 大:代表集较小,但离散化误差变大。
证明的骨架是把每个函数写成"近似误差 + 代表函数":
第一项利用逐点误差界得到 ,第二项是有限类 的 Rademacher complexity,再用 Massart 引理控制。
2.3 线性函数例子
考虑
由 Hölder 不等式,。
当 时,参数空间是边长为 2 的超立方体。把每一维均匀离散化,可得
并在 时得到
对一般 ,课件给出更漂亮的体积法。取参数球 中的最大 -packing:两两距离大于 。最大性保证 packing 的中心同时构成一个 -cover;以每个中心为圆心放置半径 的小球,这些小球互不相交,且都落在 内。比较体积得到
因此同样有
这里应掌握的通用技巧是:最大 packing 自动给出 cover,随后用体积比控制 packing 的大小。
2.4 逐点覆盖为什么可能太强
令 为所有从 到 的单调不减函数。对任意 ,有
证明只需考虑无穷子类
不同阶跃位置的两个函数在某个点相差 2,因此同一个代表函数不可能同时在误差小于 1 的条件下覆盖它们。
但这个类实际上可以学习。因此"在整个输入空间的每一点都近似"要求过强;逐点覆盖数不是足够紧的复杂度刻画。
三、第二层方法:只覆盖样本投影
3.1 样本相关的 覆盖数
固定输入 。集合 是投影 的 意义下的 -cover,如果对每个投影向量 ,存在 ,使得
等价地,
对应的最小大小记为 。在这种归一化下,
投影覆盖永远不会比逐点覆盖更差,因为一个逐点 cover 限制到样本上,自然就是一个 cover:
3.2 定理 2:投影覆盖上界
条件 Rademacher complexity 满足
证明仍然是"原向量 = 残差 + 有限代表"的分解。这里使用 cover,是因为
可以直接把近似项控制为 。
3.3 单调函数类重新变得有限
把样本排序为 。将输出区间 以尺度 离散成集合 ,其中 。所有取值来自 的非降序列构成一个投影的 cover。
这样的序列由每个离散值出现的次数决定。粗略计数得
代入定理 2:
结论非常重要:函数类在整个定义域上无法有限覆盖,不代表它在有限样本上的行为无法有限覆盖。 对泛化分析而言,后者才是对称化之后真正需要控制的对象。
另外,cover 只出现在分析中;算法本身仍然可以只是 ERM。等序回归中的 ERM 甚至可以高效求解。
四、第三层方法:Dudley 熵积分
4.1 为什么还要升级
定理 2 只选择一个尺度 。对单调函数类,它给出的约 速度比常见的 慢。问题不在于这个函数类真的更难学,而在于单尺度分析丢失了信息。
Dudley 熵积分同时利用从粗到细的所有覆盖尺度:
常被称为 metric entropy,因此这个上界叫 entropy integral。
4.2 两个例子的改进
对 维线性函数类,使用
并取 ,可得
这去掉了单尺度覆盖上界中的额外 因子。
对单调函数类,使用
得到
所以
这把单尺度方法的约 改进到了约 。
4.3 chaining 的证明直觉
取几何递减尺度
并在每个尺度选择一个 cover 。对每个投影向量 ,选出逐层代表
然后望远镜式分解:
其中:
- 最细尺度的尾项 贡献至多 ;
- 每一层增量的候选集合是有限的,可用 Massart 引理;
- 同一函数在相邻尺度的两个代表都接近它,因此
把各层贡献相加得到关于尺度的离散和,再利用覆盖数关于尺度单调不增,将离散和上界为积分。
之所以使用 cover,是因为 Massart 型最大不等式中的"半径"由向量的 范数控制。
一句话理解 chaining:不把函数一次性近似到最终精度,而是把它表示成一连串越来越精细、且每一步都很小的修正。
五、三种上界的总比较
| 方法 | 使用的信息 | 线性函数类 | 单调不减函数类 |
|---|---|---|---|
| 逐点函数覆盖 | 整个定义域上的统一近似 | ||
| 样本投影的单尺度覆盖 | 固定样本上的一种精度 | ||
| Dudley 熵积分 | 固定样本上的所有精度 |
这张表应当作为本讲的核心记忆框架:
- 从"覆盖函数"转向"覆盖投影",消除了不必要的全局要求;
- 从"单尺度"转向"多尺度",进一步消除了松弛;
- 分析工具越来越精细,但学习算法始终可以是 ERM。
六、伪维数:把实值函数二值化
覆盖数在回归中的角色类似分类问题中的 growth function。分类中可用 VC dimension 控制 growth function;相应地,实值函数类的一个经典组合参数是 pseudo-dimension。
对每个 ,考虑 上的二分类器
定义
等价地, 是最大整数 ,使得存在阈值点对 ,对任意符号模式 ,都能找到 满足
两个例子:
- 对 维线性函数类,;
- 所有单调不减函数构成的类,其伪维数为无穷。
有限伪维数足以保证可学习。课件指出,忽略部分对数因子,可以用类似 Sauer 引理的结果得到
进而推出
但有限伪维数并非可学习的必要条件:单调函数类已经被证明可学习,却具有无限伪维数。因此伪维数仍不是最终正确的"当且仅当"复杂度刻画。这正是下一讲留下的问题。
七、容易混淆的地方
- cover 与 packing 不同。 cover 要求所有点都靠近某个中心;packing 要求中心两两分离。证明中利用"最大 packing 是 cover"。
- 逐点覆盖与投影覆盖不同。 前者要求对所有 同时逼近;后者只要求在当前样本点上逼近。
- 不要写反。 这是由课件采用的归一化经验 范数决定的。
- 覆盖数只参与证明,不一定参与算法。 不要误以为 ERM 要先显式构造 cover。
- Dudley 不是换了一个函数类,而是换了分析尺度。 它把一次近似改造成多层增量。
- "参数维数有限"与"伪维数有限"不是所有非参数问题的必要条件。 单调函数类就是反例。
- 对数覆盖数才是 metric entropy。 Dudley 积分中出现的是 ,不是覆盖数本身。
八、建议带着这些问题去上课
- 对称化究竟在哪一步允许我们从整个 转向 ?
- 定理 1 和定理 2 的证明中,近似误差分别通过什么范数被控制?
- 最大 -packing 为什么一定是 -cover?
- 单调序列 cover 的大小为什么可以通过"每个离散值出现多少次"来计数?
- 单尺度优化为何对单调类产生 ,而积分方法能得到 ?
- chaining 中为什么要连接相邻层代表,而不是直接把所有精细代表和零向量比较?
- 伪维数为什么对线性函数类恰好等于 ,但对单调函数类却是无穷?
- 如果伪维数不是必要条件,下一讲会引入什么更合适的尺度相关组合参数?
九、课前 30 分钟预习顺序
前 5 分钟: 复习 Rademacher complexity、Massart 引理、对称化,以及 Lecture 2 中 VC dimension 控制增长函数的逻辑。 第 5-12 分钟: 掌握逐点 -cover 的定义和定理 1 的"残差 + 代表"证明。 第 12-18 分钟: 对比线性类和单调函数类,理解逐点覆盖为什么会失败。 第 18-23 分钟: 学会投影覆盖的定义,重点记住 的归一化和定理 2。 第 23-28 分钟: 阅读 Dudley 上界及 chaining 的望远镜分解,只需先抓住多尺度直觉。 最后 2 分钟: 记住比较表,并复述"伪维数有限是充分而非必要条件"。
十、一句话总结
本讲的中心不是背三个公式,而是理解复杂度分析的三次精化:把无限类离散化;只离散化样本上真正可见的部分;再用 chaining 同时利用所有离散精度。