机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

课程主页

课程视频和PPT

前几节课着重介绍了机器能够学习的条件并做了详细的推导和解释。机器能够学习必须满足两个条件:

  • 假设空间H的Size M是有限大的,即当N(D的大小)足够大时,那么对于假设空间中任意一个假设h,有机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension.
  • 利用演算法A从假设空间H中,挑选一个最好的h,记为g,使得机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension,则机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

这两个条件,正好对应着test和trian两个过程。train的目的是使损失期望机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension;;test的目的是使将算法用到新的样本时的损失期望也尽可能小,即机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

正因为如此,上次课引入了break point,并推导出只要break point存在,则M有上界,一定存在机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

本次笔记主要介绍VC Dimension的概念。同时也是总结VC Dimension与机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension,Model Complexity Penalty(下面会讲到)的关系。

目录

1. Definition of VC Dimension

2. VC Dimension of Perceptrons

3. Physical Intuition VC Dimension

4. Interpreting VC Dimension

5. 总结


1. Definition of VC Dimension

首先,我们知道如果一个假设空间H有break point k,那么它的成长函数是有界的,它的上界称为Bound function。根据数学归纳法,Bound function也是有界的,且上界为机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension。从下面的表格可以看出,机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension比B(N,k)松弛很多。

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

其中,机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension,机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension.

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

则根据上一节课的推导,VC bound就可以转换为:

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

这样,不等式只与k和N相关了,一般情况下样本N足够大,所以我们只考虑k值。有如下结论:

  • 若假设空间H有break point k,且N足够大,则根据VC bound理论,算法有良好的泛化能力
  • 在假设空间中选择一个g,使得机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension,则其在全体数据中的错误率会较低(因为满足上述条件,机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

下面介绍一个新的名词:VC Dimension。VC Dimension就是某假设集H能够shatter的最多inputs的个数(一个input对应一个数据点),即最大完全正确的分类能力。(注意,只要存在一种分布的inputs能够正确分类也满足)。

shatter的英文意思是“粉碎”,也就是说对于inputs的所有情况都能列举出来(对所有数据点类别的排列组合都能列举出来 即可以对每种情况完全分类正确)。例如对N个输入,如果能够将机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension种情况都列出来,则称该N个输入能够被假设集H shatter。

根据之前break point的定义:假设集不能shatter任何分布类型的inputs的最少个数,即满足机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension最小的k值。则VC Dimension等于break point的个数减一。

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

现在,我们回顾一下之前介绍的四种例子,它们对应的VC Dimension是多少:

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension代替k,那么VC bound的问题也就转换为与机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension和N相关了。同时,如果一个假设集H的机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension确定了,则就能满足机器能够学习的第一个条件机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension,与算法、样本数据分布和目标函数都没有关系。

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

 

2. VC Dimension of Perceptrons

回顾一下我们之前介绍的2D下的PLA算法,已知Perceptrons的k=4,即机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension.根据VC Bound理论,当N足够大的时候,机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension.如果找到一个g,使机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension,那么就能证明PLA是可以学习的。

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

 

这是在2D情况下,那如果是多维的Perceptron,它对应的机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension又等于多少呢?

已知在1D Perceptron,机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension(简单画一下图就清楚了,数据点在一条直线上,当N=3时是不能被shattered的,即无法用一条直线完全分类3个点的各种类别组合,即k=3也就是机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension),在2D Perceptrons,机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension,那么我们有如下假设:机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension,其中d是维数(样本特征数).

要证明的话,只需分两步证明:

  • 机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension
  • 机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

首先证明第一个不等式:机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

 

在d维里,我们只要找到d+1个inputs(数据/样本点)可以被shatter的话,那么必然得到机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension。所以,我们有意构造一个d维的矩阵机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension能够被shatter就行。机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension维的,即有d+1个inputs(数据点),每个inputs的维数(特征数)是d。每个inputs加上第零个维度的常数项1,得到新的机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension矩阵:

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

矩阵中,每一行代表一个inputs(数据点),每个inputs是d+1维的(特征维数),共有d+1个inputs。这里构造的机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension很明显是可逆的。shatter的本质是假设空间H对X的所有情况(类别组合)都能完全分类正确,即对于每一种情况(一种类别组合 也就是一种y)总能在假设集H中找到一个假设h,它对应一条直线可以对这种情况完全分类正确,即找到对应这条直线的权重W,满足机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension.由于这里我们构造的矩阵机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension的逆矩阵存在,那么d维的所有inputs都能被shatter,也就证明了第一个不等式。

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

然后证明第二个不等式:机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

在d维里,如果对于任何的d+2个inputs,一定不能被shatter,则不等式成立。我们构造一个任意的矩阵X,其包含d+2个inputs,该矩阵有d+1列(前面加一列1,方便运算),d+2行。行数大于列数,这d+2个向量的某一个一定可以被另外d+1个向量线性表示,例如对于向量机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension,可以表示为:

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

其中,假设机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

那么如果机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension是正类,机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension均为负类,则存在机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension,得到如下表达式:

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

因为机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension是正类,那么机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension所以机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension;机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension均为负类,机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension,所以机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension。从而得到机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension一定是正类,无法得到负类的情况。也就是说,d+2个inputs无法被shatter。证明完毕!

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

综上证明可得机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension.

 

3. Physical Intuition VC Dimension

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

 

VC Dimension实际上是*度,对于d维perceptron每个假设都对应一个超平面或直线(d=2),也就对应一组参数w,w是d+1维的,机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension,也就是说有d+1个可以*调节的参数,如同上图中的旋钮一样。

VC Dimension代表了假设空间的分类能力,越大分类能力越强,即反映了H的*度,产生dichotomy的数量或者能最大shatter的inputs数/数据量(对于这些数据点类别情况的排列组合都能完全分类正确,例如perceptron算法是用直线或超平面来分隔),也就等于可以*调节的参数的个数,但也不是绝对的。

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

例如,对2d Perceptrons,线性分类, 机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension,则机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension,也就是说可以*调节的参数个数为3,*度为3.

介绍到这,我们发现M与机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension是成正比的,从而得到如下结论:

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

4. Interpreting VC Dimension

 下面,我们将更深入地探讨VC Dimension的意义。首先,把VC Bound重新写到这里:

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

根据之前的泛化不等式,如果坏情况机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension的概率最大不超过机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension。那么反过来,对于good好的情况发生的概率最小为机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension,则对上述不等式进行重新推导:

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

(注意上述推导中,取ln之后,把右边的负号移到左边,就变成了真数的幂,-1,分子分母颠倒过来)

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension表现了假设空间H的泛化能力,机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension越小,泛化能力越大。

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

至此,已经推导出泛化误差机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension的边界,因为我们更关心其上界(机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension可能的最大值),即: 

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

上述不等式的右边第二项称为模型复杂度,其模型复杂度与样本数量N、假设空间H(机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension) 、机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension有关。机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension和模型复杂度共同决定。下面绘制出机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension和模型复杂度随机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension的变化关系:

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

通过该图可以得出如下结论:

  • 机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension越大,可以*调节的参数越多,模型拟合能力更强,机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension越小,机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension越大(模型越复杂)
  •  机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension越小,可以*调节的参数越少,模型拟合能力变弱,机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension越大,机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension越小(模型越简单)
  • 随着机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension增大,机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension会先减小后增大。

 

所以,为了得到最小的机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension,不能一味地增大机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension来减小机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension,因为机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension太小的时候,模型复杂度会增加,造成机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension变大。也就是说,选择合适的机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension,选择的特征个数要合适。

下面介绍一个概念:样本复杂度(Sample Complexity)。如果选定机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension,样本数据D选择多少合适呢?通过下面一个例子可以帮助我们理解:

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

通过计算得到N=29300,刚好满足机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension的条件。N大约是机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension的10000倍。这个数值太大了,实际中往往不需要这么多的样本数量,大概只需要机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension的10倍就够了。N的理论值之所以这么大是因为VC Bound 过于宽松了,我们得到的是一个比实际大得多的上界。

机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension

值得一提的是,VC Bound是比较宽松的,而如何收紧它却不是那么容易,这也是机器学习的一大难题。但是,令人欣慰的一点是,VC Bound基本上对所有模型的宽松程度是基本一致的,所以,不同模型之间还是可以横向比较。从而,VC Bound宽松对机器学习的可行性还是没有太大影响。 

5. 总结

本节课主要介绍了VC Dimension的概念就是最大的non-break point。然后,我们得到了Perceptrons在d维度下的VC Dimension是d+1。接着,我们在物理意义上,将机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension*度联系起来。最终得出结论机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension不能过大也不能过小。选取合适的值,才能让机器学习 | 台大林轩田机器学习基石课程笔记7 --- The VC Dimension足够小,使假设空间H具有良好的泛化能力。