07 The VC Dimension
当N大于等于2,k大于等于3时,
易得:mH(N)被Nk-1给bound住。



VC维:最小断点值-1/H能shatter的最大k值。
这里的k指的是存在k个输入能被H给shatter,不是任意k个输入都能被H给shatter。
如:2维感知机能shatter平面上呈三角形排列的3个样本点,却shatter不了平面上呈直线排列的3个样本点,
因为当另外2个点标签值一致时,中间那个点无法取与它们相反的标签值。
若无断点,则该H下,VC维为无穷。
所以,存在断点--->有限VC维。


d维感知器算法下,VC维=d+1。

证明:
D,大小为d+1--->矩阵X,易得X是(d+1)*(d+1)的矩阵,X的秩小于等于d+1,
所以存在X,行向量之间线性无关,每一行向量可取任意标签值,
所以H能shatter这个X对应的d+1个样本点,即VC维>=d+1;
D,大小为d+2--->矩阵X,易得X是(d+2)*(d+1)的矩阵,X的秩小于d+2,
所以任意X,总有一行与其他行向量线性相关,该行的标签值收到限制,
所以H不能shatter这个X对应的d+2个样本点,即VC维<=d+1;
所以,VC维=d+1。


VC维,反映的是H的自由度,可粗略认为是自由参数的个数(不总是)。


VC维增大,Ein减小,模型复杂度增大;
VC维减小,Ein增大,模型复杂度减小。




给定差异容忍度epsilon,概率容忍度delta,VC维,求满足条件需要多少样本。
理论上,N约等于10000倍的VC维,
实际上,N取10倍的VC维就足够了。

可见,VC维是十分松弛的,
1.使用霍夫丁不等式,不管f、输入分布P;
2.使用成长函数,不管具体的D;
3.使用N的多项式,不管H(VC维相同);
4.使用联合bound,不管A。
之所以使用VC维是为了定性分析VC维里包含的信息,
而且它对所有模型都近似松弛。

07 The VC Dimension的更多相关文章
- 机器学习基石:07 The VC Dimension
当N大于等于2,k大于等于3时, 易得:mH(N)被Nk-1给bound住. VC维:最小断点值-1/H能shatter的最大k值. 这里的k指的是存在k个输入能被H给shatter,不是任意k个输入 ...
- 机器学习基石笔记:07 The VC Dimension
当N大于等于2,k大于等于3时, 易得:mH(N)被Nk-1给bound住. VC维:最小断点值-1/H能shatter的最大k值. 这里的k指的是存在k个输入能被H给shatter,不是任意k个输入 ...
- Coursera台大机器学习课程笔记6 -- The VC Dimension
本章的思路在于揭示VC Dimension的意义,简单来说就是假设的自由度,或者假设包含的feature vector的个数(一般情况下),同时进一步说明了Dvc和,Eout,Ein以及Model C ...
- VC Dimension -衡量模型与样本的复杂度
(1)定义VC Dimension: dichotomies数量的上限是成长函数,成长函数的上限是边界函数: 所以VC Bound可以改写成: 下面我们定义VC Dimension: 对于某个备选函数 ...
- 机器学习基石7-The VC Dimension
注: 文章中所有的图片均来自台湾大学林轩田<机器学习基石>课程. 笔记原作者:红色石头 微信公众号:AI有道 前几节课着重介绍了机器能够学习的条件并做了详细的推导和解释.机器能够学习必须满 ...
- VC dimension and Model complexity
可以把growth function m_H(N)的upper bound用N^(k-1)来限制, for N large, k>=3 Thus, 定义: VC Dimension: maxim ...
- 【机器学习基石笔记】七、vc Dimension
vc demension定义: breakPoint - 1 N > vc dimension, 任意的N个,就不能任意划分 N <= vc dimension,存在N个,可以任意划分 只 ...
- 【The VC Dimension】林轩田机器学习基石
首先回顾上节课末尾引出来的VC Bound概念,对于机器学习来说,VC dimension理论到底有啥用. 三点: 1. 如果有Break Point证明是一个好的假设集合 2. 如果N足够大,那么E ...
- 理解机器为什么可以学习(四)---VC Dimension
前面一节我们通过引入增长函数的上限的上限,一个多项式,来把Ein 和 Eout 的差Bound住,这一节引入VC Bound进一步说明这个问题. 前边我们得到,如果一个hypethesis集是有bre ...
随机推荐
- Ionicons的使用
安装 参考Ionicons npm install react-native-vector-icons --save 这时候可能会报错:npm WARN deprcated lodash@4.2.0: ...
- Android.mk模板(持续更新中)
此文列出Android.mk的常用模板(部分内容源于多篇他人博客,这里不具体指出),如有错漏,还请在评论中指出,后期持续更新 #链接第三方动态库,在和部分android源码的编译中验证不过 LOC ...
- 用DotRas来连接VPN网络
最近要用程序来不断的连接VPN(为什么要这样就不讨论了),开始用的是如下代码: public static bool ADSL() { bool flag = true; do { Console.W ...
- html 5 video
正项目中, 20秒 2mb左右在速度上可以接受, 但是最总怎样剪都不可以被游览器读取, 因为H.264 和一些我不清楚的. 为了简单解决这小问题, 请使用 http://easyhtml5video. ...
- 【曝】苹果应用商店逾千款iOS应用存安全漏洞
据国外网站Ibtimes报道,知名网络安全公司FireEye日前警告称,由于一款名为“JSPatch”.可帮助开发者修改应用程序的软件上存在安全漏洞,导致苹果应用商店内1000多款使用了该框架的iOS ...
- Git如何检出指定目录或文件
系统版本:Window 10,Git 版本:2.7.1 对于大型 Git 仓库,每次执行 Git 命令,都需要经过漫长的等待,特别是要经常执行的 git status 命令.下面是一个例子... 从 ...
- ci 框架发送邮箱
定义数据 $config = array( 'protocol' =>'smtp', 'smtp_host'=>'ssl://smtp.163.com', 'smtp_u ...
- maven配置文件setting.xml字段注释
maven的配置文件为settings.xml,在下面路径中可以找到这个文件,分别为: $M2_HOME/conf/settings.xml:全局设置,在maven的安装目录下: ${user.hom ...
- WeMall微信商城源码插件会员卡代码详情
WeMall微信商城源码插件会员卡代码是用于商业推广的比较有效的方式,分享了部分比较重要的代码,供技术员学习参考 Index_index.html <html> <head> ...
- 浅谈Java的集合框架
浅谈Java的集合框架 一. 初识集合 重所周知,Java有四大集合框架群,Set.List.Queue和Map.四种集合的关注点不同,Set 关注事物的唯一性,List 关注事物的索引列表,Q ...