6 VC维
1 VC维的定义
VC维其实就是第一个break point的之前的样本容量。标准定义是:对一个假设空间,如果存在N个样本能够被假设空间中的h按所有可能的2的N次方种形式分开,则称该假设空间能够把N个样本打散;假设空间的VC维就是它能打散的最大样本数目N。若对任意数目的样本都有函数能将它们打散,则函数集的VC维是无穷大:
几种假设空间的VC维如下:
2 感知机的VC维
d维感知机的vc维是d+1。(证明略)
3 VC维的物理意义
VC维表示的是做二分类时假设空间的自由度,是把数据集打散的能力。
我们可以用如下的方法来估计VC维:
即这个假设空间里面可调整的参数的个数。(只是一种估计的方法,有时候可能是不对的)
4 折衷
我们在选择假设空间时,如果选的假设空间VC维太小,好处是能保证Ein和Eout是PAC近似的,坏处是由于假设空间自由度太低,产生的Dichotomy太少,算法可能找不到使得Ein比较小的假设函数h;如果我们的VC维选的很大,好处是假设空间自由度高,能保证算法能找到一个Ein较小的假设函数h,坏处是我们坏事情发生的概率增大了(过拟合了,Ein很小但Eout很大)。
因此我们有如下图:
即vc维增大时,由于产生了更多的Dichotomy,因此Ein通常会下降,但是坏事发生的几率变大了;
vc维减小时,坏事发生的几率减小了,但是Dichotomy比较少,算法的选择有限,因此Ein通常不会太好。
因此最好的vc维是介于中间的。
5 VC-bound是宽松的
按照vcbound, 如果我们要求泛化误差ε是0.1,并且要求坏事发生的几率为0.1,我们可以推出:
然而实际上,我们并不需要这么多数据,通常只需要:
这是因为,VC bound是一个很宽松的上界,宽松表现为以下四点:
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Georgia; color: #2f2f2f; background-color: #ffffff }
span.s1 { }
6 VC维的更多相关文章
- VC维含义
VC维含义的个人理解 有关于VC维可以在很多机器学习的理论中见到,它是一个重要的概念.在读<神经网络原理>的时候对一个实例不是很明白,通过这段时间观看斯坦福的机器学习公开课及相关补充材料, ...
- 【转载】VC维的来龙去脉
本文转载自 火光摇曳 原文链接:VC维的来龙去脉 目录: 说说历史 Hoeffding不等式 Connection to Learning 学习可行的两个核心条件 Effective Number o ...
- svm、经验风险最小化、vc维
原文:http://blog.csdn.net/keith0812/article/details/8901113 “支持向量机方法是建立在统计学习理论的VC 维理论和结构风险最小原理基础上” 结构化 ...
- VC维
vc理论(Vapnik–Chervonenkis theory )是由 Vladimir Vapnik 和 Alexey Chervonenkis发明的.该理论试图从统计学的角度解释学习的过程.而VC ...
- VC维含义的个人理解
有关于VC维可以在很多机器学习的理论中见到,它是一个重要的概念.在读<神经网络原理>的时候对一个实例不是很明白,通过这段时间观看斯坦福的机器学习公开课及相关补充材料,又参考了一些网络上的资 ...
- VC维的来龙去脉——转载
VC维的来龙去脉——转载自“火光摇曳” 在研究VC维的过程中,发现一篇写的很不错的VC维的来龙去脉的文章,以此转载进行学习. 原文链接,有兴趣的可以参考原文进行研究学习 目录: 说说历史 Hoeffd ...
- 【转载】VC维,结构风险最小化
以下文章转载自http://blog.sina.com.cn/s/blog_7103b28a0102w9tr.html 如有侵权,请留言,立即删除. 1 VC维的描述和理解 给定一个集合S={x1,x ...
- 什么叫做VC维
参考<机器学习导论> 假设我们有一个数据集,包含N个点.这N个点可以用2N种方法标记为正例和负例.因此,N个数据点可以定义2N种不同的学习问题.如果对于这些问题中的任何一个,我们都能够找到 ...
- Computer Science Theory for the Information Age-5: 学习理论——VC维的定义以及一些例子
学习理论——VC维的定义以及一些例子 本文主要介绍一些学习理论上的东西.首先,我们得明确,从训练集上学习出来的分类器的最终目标是用于预测未知的样本,那么我们在训练的时候该用多少的样本才能使产生的分类器 ...
随机推荐
- WinHttp
using System; using System.Collections.Generic; using System.Drawing; using System.IO; using System. ...
- FMDB的使用方法
转自:http://blog.devtang.com/blog/2012/04/22/use-fmdb/ 前言 SQLite (http://www.sqlite.org/docs.html) 是一个 ...
- SSM整合(三):Spring4与Mybatis3与SpringMVC整合
源码下载 SSMDemo 上一节整合了Mybatis3与Spring4,接下来整合SpringMVC! 说明:整合SpringMVC必须是在web项目中,所以前期,新建的就是web项目! 本节全部采用 ...
- Knockout.js 组件
Knockout.js是一个基于MVVM模式的轻量级的前端框架,有多轻?根据官网上面显示的最新版本v3.4.0,仅22kb.能够友好地处理数据模型和界面DOM的绑定,最重要的是,它的绑定是双向的,也就 ...
- 【Codeforces 738C】Road to Cinema
http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...
- Oracle数据库基础知识
oracle数据库plsql developer 目录(?)[-] 一 SQL基础知识 创建删除数据库 创建删除修改表 添加修改删除列 oracle cascade用法 添加删除约束主键外 ...
- OC与JavaScript的交互
stringByEvaluatingJavaScriptFromString的用法,它的功能非常的强大,用起来非常简单,通过它我们可以很方便的操作uiwebview中的页面元素. UIWebView是 ...
- Linux系统调用和库函数调用的区别
Linux下对文件操作有两种方式:系统调用(system call)和库函数调用(Library functions).系统调用实际上就是指最底层的一个调用,在linux程序设计里面就是底层调用的意思 ...
- java 的public private protected作用域
- DUT Star Weekly Contest #3 Problem F Solution
题目链接 问题转化 \[a_i+a_j+(i-j)^2=a_i+i^2+a_j+j^2-2ij\] 令 \(b_i=a_i+i^2\) , 问题化为: 求 \[\max \{b_i+b_j-2ij\} ...