台湾大学林轩田机器学习基石课程学习笔记7 -- The VC Dimension 原创 红色石头

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



前几节课着重介绍了机器可以学习的条件并作了详细的推导和解释。机器可以学习必须知足两个条件:算法

  • 假设空间H的Size M是有限的,即当N足够大的时候,那么对于假设空间中任意一个假设g,Eout≈Ein机器学习

  • 利用算法A从假设空间H中,挑选一个g,使Ein(g)≈0,则Eout≈0ide


这两个条件,正好对应着test和trian两个过程。train的目的是使损失指望Ein(g)≈0;test的目的是使将算法用到新的样本时的损失指望也尽量小,即Eout≈0。函数


正由于如此,上次课引入了break point,并推导出只要break point存在,则M有上界,必定存在Eout≈Ein。学习


本次笔记主要介绍VC Dimension的概念。同时也是总结VC Dimension与Ein(g)≈0,Eout≈0,Model Complexity Penalty(下面会讲到)的关系。ui


1、Definition of VC Dimension

首先,咱们知道若是一个假设空间H有break point k,那么它的成长函数是有界的,它的上界称为Bound function。根据数学概括法,Bound function也是有界的,且上界为N的k-1次方。从下面的表格能够看出,N的k-1次方比B(N,k)松弛不少。image.pngspa

则根据上一节课的推导,VC bound就能够转换为:image.png3d

这样,不等式只与k和N相关了,通常状况下样本N足够大,因此咱们只考虑k值。有以下结论:blog

  • 若假设空间H有break point k,且N足够大,则根据VC bound理论,算法有良好的泛化能力input

  • 在假设空间中选择一个矩g,使Ein≈0,则其在全集数据中的错误率会较低

  • image.png

下面介绍一个新的名词:VC Dimension。VC Dimension就是某假设集H可以shatter的最多inputs的个数,即最大彻底正确的分类能力。(注意,只要存在一种分布的inputs可以正确分类也知足)。

shatter的英文意思是“粉碎”,也就是说对于inputs的全部状况都能列举出来。例如对N个输入,若是可以将2的N次方种状况都列出来,则称该N个输入可以被假设集H shatter。

根据以前break point的定义:假设集不能被shatter任何分布类型的inputs的最少个数。则VC Dimension等于break point的个数减一。image.png

如今,咱们回顾一下以前介绍的四种例子,它们对应的VC Dimension是多少:image.pngimage.png

2、VC Dimension of Perceptronsimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.png

image.png

3、Physical Intuition VC Dimension

image.png

上节公式中W又名features,即自由度。自由度是能够任意调节的,如同上图中的旋钮同样,能够调节。VC Dimension表明了假设空间的分类能力,即反映了H的自由度,产生dichotomy的数量,也就等于features的个数,但也不是绝对的。image.pngimage.pngimage.png

4、Interpreting VC Dimension

下面,咱们将更深刻地探讨VC Dimension的意义。首先,把VC Bound从新写到这里:image.png

根据以前的泛化不等式,若是|Ein−Eout|>ϵ,即出现bad坏的状况的几率最大不超过δ。那么反过来,对于good好的状况发生的几率最小为1−δ,则对上述不等式进行从新推导:image.png

ϵ表现了假设空间H的泛化能力,ϵ越小,泛化能力越大。image.png

至此,已经推导出泛化偏差Eout的边界,由于咱们更关心其上界(Eout可能的最大值),即:image.png

上述不等式的右边第二项称为模型复杂度,其模型复杂度与样本数量N、假设空间H(dvc)、ϵ有关。Eout由Ein共同决定。下面绘出Eout、model complexity、Ein随dvc变化的关系:image.png

经过该图能够得出以下结论:

  • dvc越大,Ein越小,Ω越大(复杂)。

  • dvc越小,Ein越大,Ω越小(简单)。

  • 随着dvc增大,Eout会先减少再增大。




因此,为了获得最小的Eout,不能一味地增大dvc以减少Ein,由于Ein过小的时候,模型复杂度会增长,形成Eout变大。也就是说,选择合适的dvc,选择的features个数要合适。

下面介绍一个概念:样本复杂度(Sample Complexity)。若是选定dvc,样本数据D选择多少合适呢?经过下面一个例子能够帮助咱们理解:image.png

经过计算获得N=29300,恰好知足δ=0.1的条件。N大约是dvc的10000倍。这个数值太大了,实际中每每不须要这么多的样本数量,大概只须要dvc的10倍就够了。N的理论值之因此这么大是由于VC Bound 过于宽松了,咱们获得的是一个比实际大得多的上界。image.png

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

5、总结

本节课主要介绍了VC Dimension的概念就是最大的non-break point。而后,咱们获得了Perceptrons在d维度下的VC Dimension是d+1。接着,咱们在物理意义上,将dvc与自由度联系起来。最终得出结论dvc不能过大也不能太小。选取合适的值,才能让Eout足够小,使假设空间H具备良好的泛化能力。


欢迎关注公众号学习交流~

相关文章
相关标签/搜索