机器学习笔记之十七——VC dimension

定义 

 VC维(外文名Vapnik-Chervonenkis Dimension)的概念是为了研究学习过程一致收敛的速度和推广性,由统计学理论定义的有关函数集学习性能的一个重要指标。

传统的定义是:对一个指示函数集,如果存在H个样本能够被函数集中的函数按所有可能的2的H次方种形式分开,则称函数集能够把H个样本打散;函数集的VC维就是它能打散的最大样本数目H。若对任意数目的样本都有函数能将它们打散,则函数集的VC维是无穷大,有界实函数的VC维可以通过用一定的阈值将它转化成指示函数来定义。

                                                                                                                             ——百度百科

   个人理解:VC维用来衡量模型的容量,或者说能够拟合多少个样本数据。

为什么需要VC维?

    为学习器为什么work提供一个理论支撑。如感知机work的理论支持如下两条:

       1.线性可分的数据通过PLA算法运行足够长的时间(T步骤足够大),则会找出一条可以正确分类的直线,使得样本中没有产生分错类的情况,即  ;

       2.在训练样本和整个数据集都服从同一分布P的前提下,有VC限制保证了,在  且训练样本N足够大时,  。

VC维怎么计算?

对于一个只有两个样本点的平面,使用一条直线的感知机可以将这两个样本点分成四种结果:{(1,1),(1,-1),(-1,1),(-1,-1)}

对于一个只有三个样本点的平面,使用一条直线的感知机可以将三个样本点分成八种结果(除去三点同线的特殊情况)。

对于一个有四个样本点的平面,涉及到如下XOR问题,使用一条直线的感知机无法处理。

这是需要先提出一个概念,shatter——对于一个只有N个点的平面,可以使用model将样本点分成2的N次方个结果,称为shatter。

一个模型最大的可以shatter的样本集的数量N,称为模型的VC维。如感知机无法处理四个样本点的XOR问题,所以它可以shatter的最大样本数量维3,及VC维是3.

发布了88 篇原创文章 · 获赞 28 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_35946969/article/details/86769768