【机器学习基础】VC维与模型复杂度、样本复杂度

引言

上一小节,我们引入了VC维的概念,用它来描述假设集合的表达能力。这一小节中,我们将从VC维的物理意义出发,进一步学习如何根据VC维传达的信息来选择模型和假设集合。

VC维的物理意义

如果我们将假设集合的数量|H|比作假设集合的自由度,那么VC维就是假设集合在做二元分类的有效的自由度,即这个假设空间能够产生多少Dichotomies的能力(VC维说的是,到什么时候,假设集合还能shatter,还能产生最多的Dichotomies)。

VC维、真实错误率、训练错误率

在上一节中,我们讨论要做到好的预测要满足两个条件,第一是训练误差要接近真实误差,即Ein(g)约等于Eout(g);第二是训练误差要尽量接近0,即Ein(g)约等于0。

现在,我们用VC维这个工具来描述。

  • 如果VC维很小,那么发生预测偏差很大的坏事情的可能性也就很小,那这有利于Ein(g)接近Eout(g);但是,这是我们的假设空间的表达能力受到了限制,这样Ein(g)可能就没有办法做到很小。
  • 如果VC维很大,那么假设空间的表达能力很强,我们很有可能选到一个Ein(g)很小的假设,但是Ein(g)和Eout(g)之差很大的坏事情发生的情况发生的可能性就变得很大,这样Ein(g)和Eout(g)根本不接近,我们就无法确定选择的假设在测试数据的时候表现的很好。

这时,VC维变成了我们一个重要的选择,我们可以用VC维提供的信息来选择更好的模型和假设空间。

模型复杂度(Model Complexity)

我们可以根据VC Bound公式,设发生坏事情的概率是δ,将其恒等变换可以得到训练误差和测试误差的差别ε。所以反过来讲,好事情(训练误差和测试误差的差别小于ε)发生时,Eout(g)被限制在一个范围内。这里根号内的式子定义为Ω(N,Η,δ),称作模型复杂度,这个参数描述的意义是,我们的假设空间H有多么的强,使得我们的算法在泛化能力上需要付出多少代价。通俗的来讲,假设空间的容量越大,VC维越大,那么模型就越难学习。

model_complexity

VC维传递的信息

如下图所示,我们可以看出随VC维变化,Ein、Eout、模型复杂度都是如何变化的。

这里一个很直接的信息就是模型复杂度随着VC维的变大不断变大,呈正相关趋势。

因为VC维变大时,数据中可以shatter的点就变多了,那么假设空间的容量就变大了,如果是一个合理的学习算法的话,就有机会找到一个更好的假设,使得Ein更小。

而Eout呢?在一开始的时候,Eout随着Ein的下降也下降,但是到某个点,因为我们要付出的代价变大了,Eout开始上升,所以最好的Eout是在中间的某个位置。

这里得到一个重要的结论,VC维越大或者假设空间能力越强大,虽然可以使得训练误差很小,但不见得是最好的选择,因为要为模型复杂度付出代价。

VC_message

样本复杂度(Sample Complexity)

根据理论而言,样本复杂度大约是VC维的10000倍,而实际应用中,只需要VC维的10倍的量就够了。

我们这里介绍的VC Bound的条件是非常宽松的,这使得在样本复杂度的估计上可以和理论值相差很大,原因如下:

  • 我们利用Hoeffding对任何的分布和任何的目标函数来推测真实的错误率
  • 我们利用成长函数mH(N)来代替假设集合的数量,确保可以使用任何数据
  • 用VC维表示的多项式来代替成长函数,使得我们只通过VC维就可以了解某个假设空间的性质
  • 使用union bound来避免最差的状况

以上有关VC Bound传递的哲学信息可以很好的指导我们进行机器学习算法的实践。

最后一句话

最后总结一句话,如果我们假设集合的VC维是有限的,并且有足够多的数据,我们的算法又可以找到一个假设使得训练错误率很低的话,我们就可以学习到有效的模型或知识。

参考资料

机器学习基石课程,林轩田,台湾大学

转载请注明作者Jason Ding及其出处

Github主页(http://jasonding1354.github.io/)

CSDN博客(http://blog.csdn.net/jasonding1354)

简书主页(http://www.jianshu.com/users/2bd9b48f6ea8/latest_articles)

时间: 2024-08-02 19:00:25

【机器学习基础】VC维与模型复杂度、样本复杂度的相关文章

机器学习基础2--评价回归模型

再次回到上一节的13次模型. 这个疯狂的曲线造成了一种现象过拟合. 很明显,你的房子不可能只值这么点价钱,所以看上去,这个13次模型甚至还不如一开始的二次模型. 那么现在有个疑问,我们应该怎样去选择最合适的模型? 我们想要准确预测,但是我们无法观测未来. 下面我们模拟一次预测过程: 1.我们随机将一些房子数据排除在外. 2.然后拟合剩下的数据 3.最后进行预测和推断. 术语: 训练集(training set):用来拟合模型的数据. 测试集(test set):排除出去的数据. 训练损失(tra

机器学习之----VC维理论基础及证明

VC理论证明通过一系列的求上限,获得了针对所有目标函数.及所有训练数据集的一个上限公式,对机器学习有着重要意义!但是正也是因为如次多的上限,所以该值对指导实践只是一种最坏的参考,还有太多的假设集求不出VC维来.可以看到证明过程极具技巧性,巧妙的将无穷转化为有限,再找到了界. 在VC维理论证明中涉及成长函数.打散等重要概念,不少朋友在理解中或许不知所云,或许存在误差(包括作者本人亦是如此).通过本次学习,可以坚定学习理念,他告诉我们通过样本数据来进行学习,然后应用到未看到的数据中去是理论根据的.本

【机器学习基础】将回归模型用于分类问题

线性模型回顾 我们回顾一下之前的三种线性模型,它们的共同点是都要对输入的数据x做一个加权的分数s. 下图表示了这三种不同的线性模型的表示方式.误差函数和求解最小的Ein的方法. 这里可以看出,PLA算法这种线性分类模型,在求解Ein的时候是很困难的,相对而言,线性回归和logistic回归都有各自求解Ein的方法,那么我们能不能用这两种回归的计算方法来帮助求解线性分类问题的Ein呢? 误差函数的比较 接下来,我们将这三个方法的误差函数进行一下变形,把y和s凑在一起,方便我们后面的分析.这里ys表

【机器学习基础】从感知机模型说起

感知机(perceptron) 感知器(perceptron)1957年由Rosenblatt提出,是神经网络与支持向量机的基础.感知器是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值.感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型.感知机学习旨在求出将训练数据进行线性划分的分离超平面. 分离超平面分类法 分离超平面进行分类的过程是构造线性判定边界,试图显示地.尽可能好地将数据分到不同的类. 超平面分离定理 超平面分离定理是应

【转载】VC维,结构风险最小化

以下文章转载自http://blog.sina.com.cn/s/blog_7103b28a0102w9tr.html 如有侵权,请留言,立即删除. 1 VC维的描述和理解 给定一个集合S={x1,x2,...xd},如果一个假设类H(hypothesis h ∈ H)能够实现集合S中所有元素的任意一种标记方式,则称H能够打散S.有了打散的定义,就得到VC维的定义:H的VC维表示能够被H打散的最大集合的大小.若H能分散任意大小的集合,那么VC(H)为无穷大. ?VC维反应的是hypothesis

解读机器学习基础概念:VC维的来龙去脉

原作者:vincentyao  原文链接: http://dataunion.org/14581.html 目录: 说说历史 Hoeffding不等式 Connection to Learning 学习可行的两个核心条件 Effective Number of Hypotheses Growth Function Break Point与Shatter VC Bound VC dimension 深度学习与VC维 小结 参考文献 VC维在机器学习领域是一个很基础的概念,它给诸多机器学习方法的可学

【机器学习基础】理解为什么机器可以学习1——PAC学习模型

引言 自从下定决心认真学习机器学习理论开始,接触到很多基本问题,但其实都不是很理解,比如损失函数.风险函数.经验结构最小化.结构风险最小化.学习方法的泛化能力.VC维等,这些概念在学习中都纯属空泛的概念存在,我都不理解这些概念存在的意义. 为什么会存在这样的问题呢?我自己想了一下,有几个原因:首先,很多相关的书籍在讲授这些概念的时候,很少说这些为什么会有这样的概念问题,为解决什么问题引入的这些概念:然后,还有一些书,在简单表述了这些概念之后就立马挨个介绍算法了,遇到这样的书也会忽视这些基础问题的

【机器学习基础】理解为什么机器可以学习3——VC理论

引入 上一小节中,"理解为什么机器可以学习--Hoeffding不等式"中,我们介绍了有限假设空间中的概率边界.在这篇文章中,我们将推广至无限假设空间中,进而引入VC理论. 面临待解决的问题 上一节,我们证明了PAC学习的样本复杂度随假设空间对数增长,但是以假设空间的个数|H|来刻画样本复制度存在缺点: 对于|H|很大的情形,会使一个很弱的边界,即出现错误的概率很大 对于无限假设空间的情形无法应用 所以,我们要考虑H的复杂度的另一种度量方式,称为H的Vapnik-Chervonenki

【机器学习基础】生成模型和判别模型

引入 监督学习的任务就是学习一个模型(或者得到一个目标函数),应用这一模型,对给定的输入预测相应的输出.这一模型的一般形式为一个决策函数Y=f(X),或者条件概率分布P(Y|X). 监督学习方法又可以分为生成方法(generative approach)和判别方法(discriminative approach).所学到的模型分别为生成模型(generative model)和判别模型(discriminative model). 决策函数和条件概率分布 决策函数Y=f(X) 决策函数Y=f(X