当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的更多相关文章

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

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

  2. Coursera台大机器学习课程笔记6 -- The VC Dimension

    本章的思路在于揭示VC Dimension的意义,简单来说就是假设的自由度,或者假设包含的feature vector的个数(一般情况下),同时进一步说明了Dvc和,Eout,Ein以及Model C ...

  3. 【机器学习基石笔记】七、vc Dimension

    vc demension定义: breakPoint - 1 N > vc dimension, 任意的N个,就不能任意划分 N <= vc dimension,存在N个,可以任意划分 只 ...

  4. 【机器学习基石笔记】九、LinearRegression

    [一] 线性回归直觉上的解释 得到Ein = mean(y - wx)^2 [二] w的推导 Ein = 1/N || xw - y||^2 连续.可微.凸函数 在各个方向的偏微分都是0 Ein = ...

  5. 07 The VC Dimension

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

  6. 机器学习基石笔记:01 The Learning Problem

    原文地址:https://www.jianshu.com/p/bd7cb6c78e5e 什么时候适合用机器学习算法? 存在某种规则/模式,能够使性能提升,比如准确率: 这种规则难以程序化定义,人难以给 ...

  7. 机器学习基石笔记:04 Feasibility of Learning

    原文地址:https://www.jianshu.com/p/f2f4d509060e 机器学习是设计算法\(A\),在假设集合\(H\)里,根据给定数据集\(D\),选出与实际模式\(f\)最为相近 ...

  8. 机器学习基石笔记:08 Noise and Error

    噪声:误标.对同一数据点的标注不一致.数据点信息不准确...... 噪声是针对整个输入空间的. 存在噪声的情况下,VC bound依旧有用: 存在噪声,就是f------>p(y|x),f是p的 ...

  9. 机器学习基石笔记:13 Hazard of Overfitting

    泛化能力差和过拟合: 引起过拟合的原因: 1)过度VC维(模型复杂度高)------确定性噪声: 2)随机噪声: 3)有限的样本数量N. 具体实验来看模型复杂度Qf/确定性噪声.随机噪声sigma2. ...

随机推荐

  1. 史上最坑 idea 更改代码不生效

    原来, 如果本地多次调整过系统时间,那么gradle 的缓存 会缓存 你的 上次编译时间再未来,那么你再怎么编译,都很难生效,即使删除了生成的字节码目录. 然后invalidate caches/re ...

  2. spark streaming之三 rdd,job的动态生成以及动态调度

    前面一篇讲到了,DAG静态模板的生成.那么spark streaming会在每一个batch时间一到,就会根据DAG所形成的逻辑以及物理依赖链(dependencies)动态生成RDD以及由这些RDD ...

  3. Pandas分组

    GroupBy技术 分组运算的过程可以用下面的流程图表示出来 import pandas as pd from pandas import Series import numpy as np df = ...

  4. 纯css loading动效

    .loading {margin: 100px;     width: 3px; height:3px;     border-radius: 100%;                      / ...

  5. nodejs 箭头函数

    背景 箭头函数,出现于ES6规范中. 使用 就是lambda函数. 一般使用: (a, b) => { return a + b; } 简略模式: 当参数只有一个时,可以省略括号:当返回值只有一 ...

  6. [剑指Offer]38-字符串的全排列

    链接 https://www.nowcoder.com/practice/fe6b651b66ae47d7acce78ffdd9a96c7?tpId=13&tqId=11180&tPa ...

  7. nignx知识点总结

    https://segmentfault.com/a/1190000013781162

  8. Selenium 学习汇总

    Commands (命令) Action 对当前状态进行操作 失败时,停止测试 Assertion 校验是否有产生正确的值 Element Locators 指定HTML中的某元素 Patterns ...

  9. Android开发日常-listview滚动方法梳理

    listview滚动方法梳理 1.setSelection(position); 滚动到指定条目 2.setSelectionFromTop(position,y): 距离指定条目向下偏移y(像素) ...

  10. Python开发——面向对象【类、实例】

    类 # class Chinese(object): class Chinese: ''' 类的说明性文档 ''' pass print(Chinese) # <class '__main__. ...