VC维

回顾与说明

如果一个假设空间存在突破点,则一定存在成长函数mH(N)m_{\mathcal H}(N)被某个上限函数B(N,k)B(N,k)所约束,而上限函数等于一个组合的求和形式∑k−1i=0CiN\sum_{i=0}^{k-1}C_N^i,易知该形式的最高次项是Nk−1N^{k-1}。图左和右分别是以上限函数为上限的情况和以为Nk−1N_{k-1}上限的情况。

可以看得出来:

mH(N)≤B(N,k)=∑i=0k−1CiN≤Nk−1 \begin{align} m_{\mathcal H}(N)\leq B(N,k)=\sum_{i=0}^{k-1}C_N^i\leq N^{k-1} \end{align}

再结合之前的霍夫丁不等式可得:

P[|Ein(g)−Eout(g)|>ϵ]≤4mH(2N)exp(−18ϵ2N)≤if k exists4Nk−1exp(−18ϵ2N)

P[|E_{in}(g)-E_{out}(g)|>\epsilon]\leq 4m_{\mathcal H}(2N)exp(-{1\over 8}\epsilon^2N)\leq^{if\ k\ exists} 4N^{k-1}exp(-{1\over 8}\epsilon^2N)

该公式的意义是在输入样本N很大时,VC限制一定成立,同时等式的左边也一定会在k≥3k\geq 3的情况下被Nk−1N^{k-1}所约束(注意这里的条件没有了,原因很简单,VC限制是样本N很大的情况下产生的,因此一定满足的条件),而在k<3k的情况下有其他的限制可以满足(比如前几章提到的如正射线之类的分类不需要多项式形式的限制也可以约束住成长函数)。

至此得知,满足以下几个条件,机器便可以学习:

  1. 假设空间的成长函数有一个突破点k;
  2. 输入数据样本N足够的大;

同时也通过VC限制得出了结论

  1. Ein≈EoutE_{in}\approx E_{out}
  2. 通过算法可以找到一个假设使得Ein≈0E_{in}\approx 0

VC维的定义

VC维(VC dimension)的定义是:最大的一个不是突破点的数,或者说,最大的一个数使得存在小于等于这些数的采样可以找到完全二分类的。

VC维是假设空间的一个性质,数据样本可以被完全二分的最大值。用dvcd_{vc}作为VC维的数学符号,假如突破点存在的话,即最小的突破点减去1就是V维;如果不存在突破点的话,则VC维为无限大。

若输入数据量NN小于VC维,则有可能输入数据D会被完全的二分类(这里不是一定,VC维只能保证存在)。

如果输入数据量N(或者用k表示)大于VC维,则有k一定是假设空间H\mathcal H的突破点。

使用VC维dvcd_{vc}对公式(1)进行重写,在N≥2,dvc≥2N\geq 2,d_{vc}\geq 2时,可得:

mH(N)≤∑i=0dvcCiN≤Ndvc

m_{\mathcal H}(N)\leq \sum_{i=0}^{d_{vc}}C_N^i \leq N^{d_{vc}}

对第五章中提到的几种分类,使用VC维取代突破点,表示VC维与成长函数的关系,如下表所示。

正射线

一维空间的感知器

间隔为正的分类

凸图形分类

二维平面的感知器

对上述可学习条件1中假设空间可以重新定义,即,假设空间需要具备有限的VC维。

一个有限的VC维总是能够保证寻找到的近似假设gg是泛化的,即近似假设gg满足Ein(g)≈Eout(g)E_{in}(g)\approx E_{out}(g)。我们没有必要知道具体的VC维的值,我们只需要知道它是有限的就可以得出这一结论。

同时这一结论与下述部分没有关系:

  1. 使用的算法,即使使用某种算法使得Ein(g)E_{in}(g)很大,也依然能满足上述的性质;
  2. 输入数据的分布PP;
  3. 未知的目标函数f\mathcal f。

即VC维可应对任意的假设空间,任意的数据分布情况,任意的目标函数。

满足这一性质可以得到如图所示的流程图,其中灰色的部分表示上述几个不会影响Ein(g)≈Eout(g)E_{in}(g)\approx E_{out}(g)这一结果的部分:

  1. 对于假设集合,这是一个由人工产生的集合,而VC维会告诉我们哪一个可以泛化,而哪一些不行。
  2. 对于数据集,VC维只能用一种概率性的说法解释,它只能告诉你在高概率下可以泛化;而如果你恰好用了一个非常不好的数据集,你就没有必要去对其进行泛化。

感知器的VC维

以下两个条件保证了2维线性可分的数据是可以学习的。

  1. 线性可分的数据通过PLA算法运行足够长的时间(T步骤足够大),则会找出一条可以正确分类的直线,使得样本中没有产生分错类的情况,即Ein(g)=0E_{in}(g)=0;
  2. 在训练样本和整个数据集都服从同一分布P的前提下,有VC限制保证了,在dvc=3d_{vc}=3且训练样本N足够大时,Eout(g)≈Ein(g)E_{out}(g)\approx E_{in}(g)。

以上两个条件共同得出Eout(g)≈0E_{out}(g)\approx 0的结论。

这一节讨论的是PLA能否处理维数大于二维的数据。

从上一节的内容得知:只要求出dvcd_{vc}是一个有限数,则可以使用VC限制来保证Eout(g)≈Ein(g)E_{out}(g)\approx E_{in}(g)。于是问题变成了在维数大于二维时,感知器的dvcd_{vc}能否表示成一个有限数。

我们已知,1维感知器的VC维:dvc=2d_{vc}=2;2维感知器的VC维:dvc=3d_{vc}=3。

所以我们猜想,dd维感知器的VC维:dvc=d+1d_{vc}=d+1。

上述只是一种猜想,接下来是对此猜想进行证明,证明的思路也很传统,证明等于号的成立分为两步:证明dvc≤d+1d_{vc}\leq d+1以及dvc≥d+1d_{vc}\geq d+1。

  1. 证明大于等于的思路:证明存在d+1d+1数量的某一数据集可以完全二分。因此我们只需要构造出一种可行的数据集即可。

    我们取出N=d+1N=d+1个在Rd\mathcal R^d的样本点,得到了如下的可逆矩阵(满秩矩阵):

    对于任意的y=⎡⎣⎢⎢⎢⎢⎢y1y2⋮yd+1⎤⎦⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢±1±1⋮±1⎤⎦⎥⎥⎥⎥y=\begin{bmatrix}y_1\\y_2\\\vdots\\y_{d+1}\end{bmatrix}=\begin{bmatrix}\pm1\\\pm1\\\vdots\\\pm1\end{bmatrix},我们需要找到一个向量w⃗ \vec w,且w⃗ \vec w满足sign(Xw⃗ )=ysign(X\vec w)=y。

    因为yy向量可以是任意一种形式的二分类,如果我们能够对任意一个yy向量都能找到对应的w⃗ \vec w,那么我们就可以得到所有的二分类,即实现完全二分类。

    那么我们直接让Xw⃗ =yX\vec w=y。

    同时因为XX是可逆的,我们得到w⃗ =X−1y\vec w=X^{-1}y,因此我们可以解得w⃗ \vec w的值。

    因此我们证明了dvc≥d+1d_{vc}\geq d+1。

  2. 证明小于等于的思路:证明任何d+2d+2数量的数据集都不可以完全二分。

    对于任意d+2d+2个样本点,X1,X2,…,Xd+1,Xd+2X_1,X_2,\dots,X_{d+1},X_{d+2}的维度均为d+1d+1。

    那么当维度大于点的个数的时候,我们可以知道他们一定线性相关,即Xj=∑i≠jaiXiX_j=\sum_{i\neq j}a_iX_i,其中不是所有的aia_i都为0(因为任意xjx_j的第一维都是1,所以权重a_iaia_i不可能全是0)。

    让我们关注于非零的a_iaia_i,我们构造一组y_i=sign(a_i)yi=sign(ai)y_i=sign(a_i),且对于X_jXjX_j,我们让y_j=-1yj=−1y_j=-1,其余权重为零的X_iXiX_i对应的yiy_i可以任意取值。

    Xj=∑i≠jaiXi⇒W⃗ Txj=∑i≠jaiW⃗ TXi

    X_j=\sum_{i\neq j}a_iX_i \Rightarrow \vec W^Tx_j=\sum_{i\neq j}a_i\vec W^TX_i

    我们让yi=sign(W⃗ TXi)y_i=sign(\vec W^TX_i),那么对于每一个非零的aia_i,我们可以得到W⃗ TXi\vec W^TX_i和(ai)(a_i)的符号是相同的,即,aiW⃗ TXi>0a_i\vec W^TX_i>0。

    因此∑i≠jaiW⃗ TXi>0\sum_{i\neq j}a_i\vec W^TX_i>0(因为ai=0a_i=0时,累加无效),同时可得W⃗ TXi>0\vec W^TX_i>0。

    则可以得到

    yj=sign(W⃗ TXi)=+1

    y_j=sign(\vec W^TX_i)=+1

    假设不成立,因此在任何d+2个输入数据集中必然都存在不能满足的二分类,即dvcd+1d_{vc}d+1。

至此,证明了dvc=d+1d_{vc}=d+1。

理解VC维

自由度

我们构建了一个模型,并产生了一些假设,这些假设是你根据假设集调整一个又一个参数而来。所以这些参数组决定你的假设集自由度。

如果从假设空间的数量|H||\mathcal H|角度上描述,则自由度是无限大的;但是从感知器在二元分类上这一限制条件入手,则可以使用VC维作为自由度的衡量。

通过之前学习过的两个列子来更具体的看待VC维和假设空间参数之间的关系:

当dvc=1d_{vc}=1时,假设空间有1个参数,即阈值。

当dvc=2d_{vc}=2时,假设空间有2个参数,即左右边界点。因此在大部分情况下,dvcd_{vc}大致等于假设空间参数的个数。

我们可以看得出dvcd_{vc}与自由度的关系。那参数与自由度的关系呢?

我们尝试将一个1D的感知器输出连接到下一个1D感知器的输入,如下图所示,这样我们就得到了8个参数,然而它的自由度并没有增加。根据dvcd_{vc},我们甚至可以得出只需要一个感知器就足够的结论。

VC维对样本数的影响

可视化趋势

使用VC维限制的霍夫丁不等式

P[|Ein(g)−Eout(g)|>ϵ]≤4mH(2N)exp(−18ϵ2N)δ

P[|E_{in}(g)-E_{out}(g)|>\epsilon]\leq \underbrace{4m_{\mathcal H}(2N)exp(-{1\over 8}\epsilon^2N)}_\delta

如果我们有了确认的ϵ\epsilon和δ\delta,那么dvcd_{vc}和NN的关系是什么呢?

我们可以对δ\delta进行简化,得到Ndvce−NN^{d_{vc}}e^{-N}并将之画出图像来观察其变化趋势

我们让该函数变得比较小,可以得到

因此我们可以看到在横线所在位置,NN的增加和dvcd_{vc}几乎是一种线性的关系,经过工业界足够的现象表明,我们通常只要使得N≥10dvcN\geq 10d_{vc}就足够了。

重新测定

我们将用δ\delta来表示与一下ϵ\epsilon:

δ=4mH(2N)exp(−18ϵ2N)⇒ϵ=8Nln4mH(2N)δ−−−−−−−−−−−−√Ω

\delta=4m_{\mathcal H}(2N)exp(-{1\over 8}\epsilon^2N)\Rightarrow \\ \epsilon=\underbrace{\sqrt{{8\over N}ln{4m_{\mathcal H}(2N)\over \delta}}}_\Omega

我们可以知道,好的事情发生的概率大于等于1−δ1-\delta。

|Eout−Ein|≤Ω(N,H,δ)

|E_{out}-E_{in}|\leq \Omega(N,\mathcal H,\delta)

因为实际上EinE_{in}大部分情况总是小于等于EoutE_{out}的,所以我们可以再次简化而得到泛化边界的上限:

Eout−Ein≤Ω⇒Eout≤Ω+Ein

E_{out}-E_{in}\leq \Omega\Rightarrow E_{out}\leq \Omega+E_{in}

而EinE_{in}正是我们想要减少的,而Ω\Omega则与我们的选择的假设集有关,他们给出了EoutE_{out}的信息。

在我整理机器学习与数据挖掘(2):学习的可能性中的误差理论时,我们提到了增大训练集有会在泛化的时候表现得比较差,那是因为虽然训练集增大使得EinE_{in}减小,但是这样也使得Ω\Omega增大。

而我们恰好并不知道EinE_{in}和Ω\Omega哪一个更好,如果处于一种平衡状态,于是我们使用了新的技术————正则化。

机器学习和数据挖掘(7):VC维相关推荐

  1. 机器学习(7)--VC维数

    90年代初,Vapnik and A. Chervonenkis提出了支持向量机(Support vector machines, SVM)和VC(Vapnik-Chervonenkis)维数的概念. ...

  2. VC维与DNN的Boundary

    原文链接:解读机器学习基础概念:VC维来去 作者:vincentyao 目录: 说说历史 Hoeffding不等式 Connection to Learning 学习可行的两个核心条件 Effecti ...

  3. 【林轩田】机器学习基石(七)——VC维

    Lecture 7: VC Dimension VC维 ppt video 7.1 Definition of VC Dimension VC维的定义 复习1 上节课,林教授讲到了,当样本NNN足够大 ...

  4. 机器学习——VC维问题

    问:一般来说,函数集的VC维越高说明其表示能力越强 答:正确.VC维越大,学习机预测函数集的学习能力越强.泛化能力差,学习机也越复杂. VC维度定义: 对于一个指示函数集,如果存在h个数据样本能够被函 ...

  5. 详解机器学习中的VC维

    机器学习中的经典算法SVM(支持向量机)最初是由前苏联数学家Vladimir Vapnik 和 Alexey Chervonenkis 在 1963年提出的.二人合作完成的另外一个之于机器学习的重要贡 ...

  6. 机器学习基础(五):计算学习理论(PAC学习、有限假设空间、VC维、Rademacher复杂度、稳定性)

    5.计算学习理论 计算学习理论computational learning theory:研究关于机器学习的基础理论 几个常用不等式: 5.1 PAC学习 概率近似正确(PAC)Probably Ap ...

  7. 机器学习中样本的样本量的估计(VC维)

    转自:http://blog.csdn.net/uestc_c2_403/article/details/72859021 在机器学习中,如果样本量不足,我们利用模型学习到的结果就有可能是错误的,因为 ...

  8. 机器学习基石——VC维浅谈

    VC维这个概念很重要,关于机器学习中预防过拟合的一些操作都可以用这个概念解释.http://www.flickering.cn/machine_learning/2015/04/vc%E7%BB%B4 ...

  9. 机器学习,VC维理解

    VC维度定义: 对于一个指示函数集,如果存在h个数据样本能够被函数集中的函数按所有可能的2^h 种形式分开 , 则称函数集能够把h个数据样本打散(shatter).函数集的VC维就是能打散的最大数据样 ...

最新文章

  1. 《CLR Via C# 第3版》笔记之(十) - 可选参数和可变数量参数
  2. Vue精简版风格指南
  3. NFV — 系统架构
  4. 系统分析师零散知识点
  5. 部门角色权限rbac_k8s十 | 一文读懂基于角色的权限控制RBAC
  6. 用互斥锁实现程序只能有一个实例
  7. Java黑皮书课后题第10章:*10.17(平方数)找出大于Long.MAX_VALUE的前10个平方数。平方数是指形式为n^2的数
  8. 初识ABP vNext(11):聚合根、仓储、领域服务、应用服务、Blob储存
  9. 尬出天际!和导师微信聊天大型翻车现场!
  10. Alibaba 应用诊断利器 Arthas 3.0.5 版本发布:提升全平台用户体验
  11. 中国首档程序员综艺:你有freebug吗?
  12. esxi linux 网络不可达,将ESXI所有的端口组迁移到分布式交换机的步骤
  13. mysql 并发锁_MySQL的并发控制与加锁分析
  14. 极域电子教室常见问题解决方案
  15. Ubuntu 图形桌面与命令行界面 切换快捷键
  16. 计算机组装与维护毕业论文参考文献,计算机组装与维护本科毕业论文毕业论文.doc...
  17. KGB知识图谱凭借OCR文字识别突破文档解析局限
  18. beyong经典之作
  19. 元气骑士如何获得机器人成就皮肤_元气骑士成就系统攻略 成就获取方法一览...
  20. 搭建商城的微服务架构-2

热门文章

  1. [复变函数]第24堂课 6.3 辐角原理
  2. 工作中那些让人印象深刻的BUG(1)
  3. 遇到过什么印象深刻的bug?
  4. 跳跳棋[LCA+二分查找]-洛谷1852
  5. ARCH模型和GARCH模型
  6. 华为认证云服务工程师(HCIA-Cloud ServiceV3.0)-- 认证介绍
  7. 浏览器获取服务器CA证书与认证流程-HTTPS
  8. flask手写汉字识别网站(已开源)
  9. Thinkphp5结合layer导入excel
  10. Oracle的异构数据迁移工具 - OMW及ODI