Sauer–Shelah 引理
父节点:vc-dimension 前置:learning-theory ——
H;以及 vc-dimension —— 打散(shattering)、VCdim。
这条引理把"有限 VC"变成一个可用的界:一个 VC 有限的假设类在 n 个点上只能实现多项式个数的标注(labeling),而不是 2ⁿ 个。它是 fundamental-theorem 的引擎。
把
h看作一个集合,以及限制h ∩ S把每个假设等同于它的+区域——即它标注为+的输入集合:在这一等同下,
h ∩ S就是一次普通的集合求交,挑出S中被标为+的点:因为标签是二元的,这个子集本身就是那个标注:
s ∈ h∩S意味着s是+,s ∉ h∩S意味着−。所以S的一个子集和S的一个标注是同一件事,不同的h ∩ S= 不同的标注。
增长函数(growth function)设
S ⊆ X是输入空间中的一个n点集合。把H限制到S上得到 ——即H在S上产生的所有不同标注(把每个h看作它的+点集合)。增长函数是这一计数在所有n点集合上取到的最大值:总有 ,等号成立当且仅当存在
n个点被打散(shattered)。
它数的是不同的标注模式,和预测是否正确毫无关系(这里根本没有目标可言)。
从定义出发计算
Π_threshold(n)回忆hₜ ≡ [t, ∞),所以hₜ ∩ S = {pᵢ ∈ S : pᵢ ≥ t}——即t右边的那些点。
n = 2,S = {p₁, p₂}(p₁<p₂)。让t在数轴上扫过,逐段读出交集:
t所在位置hₜ ∩ S标注 t ≤ p₁{p₁, p₂}(+,+)p₁ < t ≤ p₂{p₂}(−,+)t > p₂∅(−,−)3 个不同的交集(
{p₁},即(+,−),永远不会出现)→|H|_S| = 3。对任意 2 个点都是如此,所以Π(2) = 3。一般的
n,p₁ < … < pₙ。因为hₜ ∩ S总是那些≥ t的点,它始终是一个后缀{pᵢ, …, pₙ}。当t扫过ℝ时,它落在n+1个间隙之一(p₁之前、相邻两点之间、或pₙ之后),而这个后缀每次缩短一个点:这就是
n+1个不同的交集,所以|H|_S| = n+1。对任何n个点的选取都是如此,因此最大值是无穷多个阈值,在
n个点上却只有n+1种行为——线性的O(n),与 VC = 1 相符。(验证:Sauer–Shelah 给出C(n,0)+C(n,1) = 1 + n。)一个无限的假设类坍缩为一个多项式计数,这正是增长函数所度量的东西。
Sauer–Shelah若
VCdim(H) = d,则对所有n
所以在超过 VC 维之后,增长函数从指数级 2ⁿ 切换为多项式级 nᵈ——这一跳变正是"VC 有限 ⟹ 可学习"成立的全部原因。
证明(对 n 归纳)
记 ;我们要证明对每个满足 |S| = n 的 S,都有 ,其中 。
基础情形。 n = 0:只有一种(空)标注,且 。d = 0:H 打散不了任何单个点,所以所有假设在每个点上都一致,从而 。
归纳步。 固定一点 x ∈ S,令 。按每个 S' 的标注如何延伸到 x 上,把 拆分为:
- ——
S'上的标注(S上两个在S'上一致的标注会坍缩为同一个); - —— 那些在 中以
x的两种取值都出现过的S'标注。
数一数延伸方式即得 (每个 S' 标注有一种或两种延伸方式;有两种延伸方式的那些恰好就是 )。
H'是H的一个限制,所以VCdim(H') ≤ d,由归纳假设得 。VCdim(H'') ≤ d − 1:若H''打散了某个集合A ⊆ S',那么A的每个标注都会以x的两种取值出现,于是H打散了A ∪ {x};因此|A| + 1 ≤ d。由归纳假设得 。
两式相加,——最后一个等号是帕斯卡恒等式(Pascal's identity)。∎
由此,界 便可通过一个标准的二项式估计得到。