1 VC维的定义

VC维其实就是第一个break point的之前的样本容量。标准定义是:对一个假设空间,如果存在N个样本能够被假设空间中的h按所有可能的2的N次方种形式分开,则称该假设空间能够把N个样本打散;假设空间的VC维就是它能打散的最大样本数目N。若对任意N,总存在一组样本使得假设空间能将它们打散,则函数集的VC维是无穷大:

几种假设空间的VC维如下:

2 推导d维感知机的VC维

这里将证明,d维感知机的vc维是d+1。

第一步,证明 dvc >= d + 1。

要证明 dvc >= d+1,我们只需要找到一组大小是d+1数据,使它能够被d维感知机打散。

这里我们就给了这样一组数据:

想一下,什么叫打散?就是:

由于X是可逆的,因此对于任意的y,都能求出一个w。

因此就证明了 dvc >= d+1.

第二步,证明 dvc <= d + 1

要证明 dvc <= d+1,我们需要证明,d维感知机不能打散任意一组大小为d+2的数据。

我们给任意一组大小为d+2的数据:

由于每个行向量维度是d+1,因此由线性代数的结论,他们是线性相关的,即有:

现在我们取一种Dicotomy,使得圈圈叉叉与前面的系数a同号:

可以发现由于这个线性依赖,使得第d+2个数据一定是大于0的,所以我们就没办法shatter了。

因此就证明了dvc = d + 1。

3 VC维的物理意义

VC维表示的是做二分类时假设空间的自由度,是把数据集打散的能力。

我们可以用如下的方法来估计VC维:

即这个假设空间里面可调整的参数的个数。(只是一种估计的方法,有时候可能是不对的)

4 折衷

我们在选择假设空间时,如果选的假设空间VC维太小,好处是能保证Ein和Eout是PAC近似的,坏处是由于假设空间自由度太低,产生的Dichotomy太少,算法可能找不到使得Ein比较小的假设函数h;如果我们的VC维选的很大,好处是假设空间自由度高,能保证算法能找到一个Ein较小的假设函数h,坏处是我们坏事情发生的概率增大了(过拟合了,Ein很小但Eout很大)。

5 模型复杂度

对VCbound进行相应的变形(过程略),我们可以得到(其中根号式Ω称为模型复杂度):

因此我们有如下图:

即vc维增大时,由于产生了更多的Dichotomy,因此Ein通常会下降,但是坏事发生的几率变大了;

vc维减小时,坏事发生的几率减小了,但是Dichotomy比较少,算法的选择有限,因此Ein通常不会太好。

因此最好的vc维是介于中间的。

6 VC-bound是宽松的

按照vcbound, 如果我们要求泛化误差ε是0.1,并且要求坏事发生的几率为0.1,我们可以推出:

然而实际上,我们并不需要这么多数据,通常只需要:

这是因为,VC bound是一个很宽松的上界,宽松表现为以下四点:

《机器学习基石》---VC维的更多相关文章

  1. 机器学习基石7-The VC Dimension

    注: 文章中所有的图片均来自台湾大学林轩田<机器学习基石>课程. 笔记原作者:红色石头 微信公众号:AI有道 前几节课着重介绍了机器能够学习的条件并做了详细的推导和解释.机器能够学习必须满 ...

  2. 机器学习基石:07 The VC Dimension

    当N大于等于2,k大于等于3时, 易得:mH(N)被Nk-1给bound住. VC维:最小断点值-1/H能shatter的最大k值. 这里的k指的是存在k个输入能被H给shatter,不是任意k个输入 ...

  3. 机器学习基石笔记:07 The VC Dimension

    当N大于等于2,k大于等于3时, 易得:mH(N)被Nk-1给bound住. VC维:最小断点值-1/H能shatter的最大k值. 这里的k指的是存在k个输入能被H给shatter,不是任意k个输入 ...

  4. 【转载】VC维的来龙去脉

    本文转载自 火光摇曳 原文链接:VC维的来龙去脉 目录: 说说历史 Hoeffding不等式 Connection to Learning 学习可行的两个核心条件 Effective Number o ...

  5. 机器学习基石12-Nonlinear Transformation

    注: 文章中所有的图片均来自台湾大学林轩田<机器学习基石>课程. 笔记原作者:红色石头 微信公众号:AI有道 上一节课介绍了分类问题的三种线性模型,可以用来解决binary classif ...

  6. 机器学习基石9-Linear Regression

    注: 文章中所有的图片均来自台湾大学林轩田<机器学习基石>课程. 笔记原作者:红色石头 微信公众号:AI有道 上节课,主要介绍了在有noise的情况下,VC Bound理论仍然是成立的.同 ...

  7. VC维的来龙去脉——转载

    VC维的来龙去脉——转载自“火光摇曳” 在研究VC维的过程中,发现一篇写的很不错的VC维的来龙去脉的文章,以此转载进行学习. 原文链接,有兴趣的可以参考原文进行研究学习 目录: 说说历史 Hoeffd ...

  8. VC维的来龙去脉(转)

    本文转自VC维的来龙去脉 本文为直接复制原文内容,建议阅读原文,原文排版更清晰,且原网站有很多有意思的文章. 阅读总结: 文章几乎为台大林老师网课“机器学习可行性”部分串联总结,是一个很好的总结. H ...

  9. VC维与DNN的Boundary

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

随机推荐

  1. C++学习书籍推荐《C++ Primer 第四版》下载

    百度云及其他网盘下载地址:点我 编辑推荐 <C++ Primer中文版(第4版)>对C++基本概念和技术全面而且权威的阐述,对现代C++编程风格的强调,使<C++ Primer中文版 ...

  2. 基于go语言结合微信小程序开发的微商城系统

    最近在慕课网上录制了一门<Golang微信小程序微商城系统原型>,这门免费课程特别适合在校大学生或者刚毕业的大学生,go语言初学者以及想要从事微商城开发项目入门的小伙伴们来学习.在课程当中 ...

  3. CentOS下配置apache+gitweb

    GitWeb支持多个版本库,可以对多个版本库进行目录浏览(包括历史版本),可以查看文件内容,查看提交历史,提供搜索及 RSS feed支持,也可以提供目录文件的打包下载等.可以看https://git ...

  4. markdown插入表格语法

    markdown插入表格语法 举例 如表格标题为,姓名,班级,成绩 标题内的内容为,yang,a班,100 我们要在markdow文件中插入表格 如 姓名|班级|成绩 -|-|- yang|a班|10 ...

  5. Python常用的标准库以及第三方库

    Python常用的标准库以及第三方库有哪些?   20个必不可少的Python库也是基本的第三方库 读者您好.今天我将介绍20个属于我常用工具的Python库,我相信你看完之后也会觉得离不开它们.他们 ...

  6. [剑指offer] 10. 旋转数组的最小数字

    题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 思路: 利用dp[i]保存盖2*i的矩形有多少种办法. 通过 ...

  7. vscode如何将less编译到指定css目录中

    首先使用vscode的搬砖猿,想要在vscode编辑器里面很方便的编译less文件,需要在扩展商店里面下载一款名叫Esay LESS的超好用扩展(我自己都不信),哈哈,其实还好. 安装完扩展之后,最好 ...

  8. SQL Server 保存特殊字符时乱码

    场景:协同完成的项目,数据库是同事创建,我们共同使用的表. 客户反应有一些字符查看的时候出现乱码.第一反应是否编码规则的问题.后来去数据库查发现数据库里就是乱码,百度了一下发现说特殊字符要保存在NVA ...

  9. 浅谈hosts文件

    1.什么是hosts文件?这个文件在哪? hosts文件(域名解析文件)是将主机名映射到IP地址的一个纯文本文件,原始名称是HOSTS.TXT(IP,Internet Protocol,Interne ...

  10. C#编程之接口

    1.定义 接口是把公共方法和属性组合起来,以封装特定功能的一个集合.(一旦定义了接口,就可以在类中实现它.这样类就可以支持接口所指定的所有属性和成员) 注意1:接口不能单独存在.不能像实例化一个类那样 ...