台大机器学习基石 Lecture 7 - The VC Dimension

本文介绍了VC维度的概念及其在机器学习中的应用。通过定义VC维度为最大非断点数,并探讨了感知机的VC维度,解释了其物理含义。文章还讨论了如何选择合适的VC维度以确保模型具有良好的泛化能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本次Lecture主要介绍VC Dimension,从non-break point的角度来看之前break point对VC Bound的影响。最终得出结论要选择合适的d_{VC}来同时保证较小的E_{out}和较低的模型复杂度。

Recap

通过上节课的证明,我们知道了B(N,k)\leq N^{k-1}有多项式上界,这是在N\geq 2,k\geq 3的条件下的。我们又得到了VC Bound,这是在M无限的前提下的Hoeffding不等式,那么我们将B(N,k)\leq N^{k-1}代入VC Bound,这样就只和N与k相关了。

 于是现在有几个条件——

  • m_H(N)有break point为k(好的H)
  • N足够大\Rightarrow概率上可以有E_{out}\approx E_{in}(好的D)
  • 算法能找出足够小的E_{in}\approx 0(好的A)

\Rightarrow能推断机器可以学习!

Definition of VC Dimension

引入定义VC Dimension为最大的non-break point点,也就是能shatter的input点数。根据之前对break point的定义(不能被shatter的最小点数),VC dimension的值d_{VC} = 'minimum \ k' - 1

此时就能用d_{VC}来替代k,得到以下结果——

 从而就看到之前四个模型的VC Dimensions:

在这时,VC Bound的问题只和假设集H的d_{VC}和数据集D的N有关,与学习算法A、输入分布P、目标函数A都没有关系了。

VC Dimension of Perceptrons

回顾一下PLA,在2D Perceptrons的时候

  • 假设训练数据集线性可分,PLA算法就可以收敛,经过T次(足够大)迭代后就能够得到一个g有E_{in}=0
  • 数据集服从某一未知的分布P,存在一未知的目标f,此时的d_{VC} = 3,那么当N足够大时,就有E_{out}(g) \approx E_{in}(g)

以上两点融合就能证明机器学习可行。

那么如果在更多维的情况下呢?根据1D时d_{VC} = 2和2D时d_{VC} = 3,猜测d_{vc} \stackrel{?}{=} d+1。以下对此进行证明:

基本思路是d_{vc} = d+1\Leftrightarrow \left\{\begin{matrix} d_{vc} \leq d+1\\ d_{vc} \geq d+1 \end{matrix}\right.,只要将两方面都证明即可。

  • d_{vc} \geq d+1,只要证明存在有d + 1的输入可以被shatter

构造一个d维的矩阵X能够被shatter就行。X是d维的,原有d个inputs,每个inputs加上第零个维度的常数项1,得到X为d * (d + 1)的矩阵:

很显然,这个X矩阵是可逆的。

shatter的本质是,H对X中的每一行判断都是正确的,也就是对应着y。从而一定有X * w = y,由于X可逆,必有w=X^{-1} * y。所以对于任意y=(y_1,y_2,...,y^{d+1})^T都能找到一个w使得sign(Xw)=y

由此证明第一个不等式正确。

  • d_{vc} \leq d+1,就要证明任意d + 2个输入都不能被shatter

任意d + 1维矩阵X,包含d + 2个inputs,由于向量组所含向量个数多于向量的维数(d + 2 > d + 1),矩阵线性相关,某一列就可以用其他d + 1列线性表出,以X_{d + 2}为例:

X_{d+2}=a_1\ast X_1+a_2\ast X_2+\cdots+a_{d+1}\ast X_{d+1}

假设a_1>0, a_2,\cdots,a_{d+1}<0(蓝为+,红为-)

,这个式子是 > 0的。

 在这种情况下,d + 2就被前d + 1项所限制而不能自由分类,当我们希望a_{d+2} < 0时,则产生矛盾。

由此证明第二个不等式正确。

  • 综合以上两点,我们证明了d_{vc} = d+1成立。

Physical Intuition of VC Dimension

这一节阐述VC Dimension的物理意义,它的实质是什么?

VC Dimension其实就是Hypothesis set的自由度,可以从三个方面来理解

  • w中feature的个数,w是hypothesis的参数
  • H中假设的个数M,这刻画了自由度的大小
  • H的分类能力,就是最多能产生多少dichotomy

总之,d_{VC}(H)就反映着假设集H的能力。

通常可以用自由参数的个数来看d_{VC}(H),但这不绝对,通常是个好方法。

过大或者过小的d_{VC}都会产生问题,选择合适的VC dimension很重要,所以选择模型是一件很重要的事。

Interpreting VC Dimension

之前的泛化不等式写到

 这是在|E_{in}-E_{out}|>\epsilon条件下,出现BAD的概率\leq \delta,将其处理为表示GOOD的概率——

 \varepsilon约束了假设空间H的泛化能力,\varepsilon越小,泛化能力越大。

 将根号用\Omega (N,H,\delta )表示,不等式表示在一个很高的几率内,|E_{in}-E_{out}|的值会小于\Omega (N,H,\delta )

至此,已经推导出泛化误差E_{out}的边界,因为我们更关心其上界(可能的最大值),即:

 \Omega (N,H,\delta )就表示了模型的复杂程度,它与数据集大小N、模型假设集d_{VC}、错误容纳率\delta有关。下图表示了E_{out}E_{in}\Omega (N,H,\delta )d_{VC}的关系)——

è¿éåå¾çæè¿° 这说明H的选择要合适,选择出合适的d_{VC}能够得到更小的E_{out}

下面的例子表明理论上的N大小,然而实际上N\approx 10d_{VC}就足够,这显示了VC Bound的宽松——

è¿éåå¾çæè¿°

 主要有以下四个原因——

  • 使用了Hoeffding,让我们不用知道E_{out}
  • 使用成长函数m_H(N)来计算任何数据的dicotomies个数上界;
  • 使用N^{d_{VC}}来替代m_H(N),这是上界的上界的上界;
  • 在最差的情况下采用union bound,而算法并不一定会碰到极差的结果。

VC Bound对不同的model都有着差不多的宽松程度,可以利用这个横向比较来找出较好的model,宽松性对机器学习的影响就不是很大。

虽然之后大多不采用VC Bound的理论结果,但是我们还是要掌握其中的哲学信息。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值