统计学习的目标

在统计学习中,我们可以用两个式子来描述学习的目标。对于我们所学习的模型,希望存在一个很小的正数,满足下面式子:

其中,是我们学习的模型,是模型的期望损失,是模型的经验损失。

这两个式子所表示的意思:

1.第一个式子反映了平均意义下,我们所训练的模型预测的好坏,趋于0就代表模型预测的效果越好。

2.就像博客:统计学习三要素所说,不可计算,所以我们希望尽可能的接近

3.如果接近,并且很小,那么我们所学习的模型就与真实的很接近。

这篇文章主要是从第二个式子来讨论问题,就是主要分析模型的泛化能力,推导模型的复杂程度和泛化能力之间的关系(也就是表征系统复杂度的vc维和泛化误差之间的关系)。

Hoeffding不等式

对于上面的第二个式子,只是这样定性的描述我们的目标,其实并没有什么卵用,于是,有人想到了Hoeffding不等式:

若:

1.若服从参数为伯努利分布的随机变量。

2.是从母体中取的子样。

那么:

其中:

有了Hoeffding不等式,上面的第二个式子就可以写为:

其中为计算训练集中数据的个数。

这时,上面的第二个式子就是一个上界可以用数学来表示的量了。我们只需要尽量的减小上界,那么就可以实现:

Hoeffding不等式的“放大”

既然我们现在得到了这个式子:

现在应该考虑的就是怎么样去减小上界。自然而然的,首先想到的是尽量的让值很大。但是这里有两个问题:

1.训练集的数据是有限的,并且训练也是有成本的,所以不能让无限制的增大。并且对于一次统计学习来说,训练集的大小已经是固定的了。

2.并且,训练集数据的个数并不是一个反应模型复杂程度的量。

所以,这样来看,在上述式子中只有这个参数,对于分析模型复杂度和泛化能力的关系并没有什么卵用

于是,有人决定把这个式子进行放大,对于一个假设空间来讨论这个问题,那么上面的式子就可以写成:

这样放大以后多了一个参数,这对于统计学习的讨论是很有意义的,因为的引入把整个假设空间都拉进了这个式子里,我们在此基础上再想办法引入变量来描述假设空间里模型的复杂程度,不就可以向目标靠近了吗?

有效的

怎么取描述假设空间里面模型的复杂程度呢?

或许我们可以对上式的来做文章,用一个叫“有效”的概念在一定程度上表示假设空间里模型的复杂度。

怎么理解有效呢?

假设现在讨论的是一个二分问题,现在一共有个数据。那么可以知道,对于整个训练集,最多的分类可能性有个。

1.如果我们不限制模型的种类,那么,对于这个训练集来说,一个假设空间,不管取的有多大,它的有效的模型个数只有个。因为在大于个的假设空间里,一定会有两个模型的分类结果是一模一样的。

2.(这一个不看也不会影响后面vc维的推导)如果我们限制了模型的种类,比如说,如果现在规定了模型必须只能是直线,那么对于刚刚所说的个可能性,它并不总是可分的。比如对于下图,当为4时,模型为直线时,此时这四个点就是可分的。

所以当考虑到这种情况,一个假设空间,不管取的有多大,实际上它的有效的模型应该是小于的。那么当假设空间并不是无限大的时候,我们也可以相应的推出,对于一个训练集来说,这个假设空间也只有小于等于个有效模型的个数。

我们将对于含有个数据的训练集,假设空间中有效模型的个数记作。从上面的讨论可以看出,它是一个与、假设空间、还有假设空间里模型的种类有关的量。(其实在这里我们可以换一种说法来描述“模型的种类”——模型的复杂度,从上面可以看出,模型越复杂的时候,可能越大)所以现在我们可以说:是一个与、假设空间、还有假设空间里模型复杂度有关的量。

我们这里定性的讨论了是一个小于等于,小于等于的量。在VC维的来龙去脉这篇文章中,定性的给出了的上界,并且说明了对于给定的假设空间,当从一开始慢慢变大时,是以多项式的速度增长的,感兴趣可以去看一下。

vc bound

得到这个有效模型个数有什么用呢,可以把它直接用来替换下式中的吗?

好像是不行的哦。那么我们把等式在左边缩小一下呢,对于假设空间中的任意一个,都有:

由于是大于等于一的数,所以上式是成立的。经过证明(证明过程可参见training versus testing),得到了下面的式子:

它被称为VC bound。

现在来看这个式子:

1.式子的右边里面有一项,如前面所说,它是一个随以多项式的速度增大的,而后面的是随的增大以指数的速度在减小的。所以随的增大,右边是越来越小的。

2.这个式子还告诉我们,当足够大的时候,对于假设空间里面的任意一个模型,它的经验风险都是非常接近的。

VC dimension(VC 维)

正如前面所说,是一个与、假设空间、还有假设空间里模型复杂度有关的量。我们的主要目的是讨论模型复杂度对泛化能力的影响,所以要想办法剔除掉训练集大小对于泛化能力的影响,所以在这里引入了vc维。

终于,在我自己都快把自己绕晕的时候,终于进入正题了。

定义VC维为:

它所表示的意思是,对于一个假设空间,它的有效模型个数刚好能把含有个数据的训练集中所有的可能性()穷尽的最大。根据定义可以看出来,VC维是一个只与假设空间和模型复杂度有关的量。

前方高能预警,将出现一大波繁杂的公式,不想看可调至最后结果

表示的是:含有个数据的训练集,假设空间中有效模型的个数,所以对于给定的假设空间:

进一步的:

再更进一步:

那么,之前的式子:

我们现在可以进一步放大为:

现在令:

可以反解出:

我就是最后结果)由此,结合前面红色加粗的结论,可以得到,当很大的时候,有很大的概率出现:

上面这个式子就是模型的评估与选择这篇文章中提到的泛化误差上界。(喜极而泣,大费周章,终于把这个坑给填了)

vc维在这里面起到了一个惩罚项的作用,它所表征的是模型的复杂程度,当模型越复杂的时候,vc维越大,泛化能力就越差;当模型越简单的时候,vc维越小,经验损失函数和期望损失函数越接近,泛化能力越好。

写在后面的话:

上面有一些观点是我自己开的脑洞,比如说为什么要在假设集上来讨论Hoeffding不等式,还有高能预警的推导,如果您有别的看法,欢迎讨论。

我自己学这一段的时候也有一些疑问,如果您有什么想法,跪求解答:

1.它的推导过程是针对的二分问题,如果是高维的话,还work吗?

2.好,就算是二分问题,那么对于二分问题来说,假设的就一定是服从伯努利分布的吗?不是的话,就不能用Hoeffding不等式呀,那后面的讨论有什么意义呢?

3.我个人觉得用vc维来描述模型的复杂程度有点麻烦了,难道就不能用别的更为简单和直观的变量来表征模型复杂度吗?对于高能预警的那一片推导中有,我有很大疑问,为什么一定要用vc维?应该还是存在别的更简单更直观的描述模型复杂度的量吧。

深入学习理论:VC维(VC dimensions)相关推荐

  1. what is VC维

    1. 什么是VC维 VC维(Vapnik-Chervonenkis Dimension)的概念是为了研究学习过程一致收敛的速度和推广性,由统计学习理论定义的有关函数集学习性能的一个重要指标. 传统的定 ...

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

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

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

    目录: 说说历史 Hoeffding不等式 Connection to Learning 学习可行的两个核心条件 Effective Number of Hypotheses Growth Funct ...

  4. VC维与DNN的Boundary

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

  5. ML之VC维:VC维(Vapnik-Chervonenkis Dimension)理论的概述(衡量模型复杂度和预测能力的指标)的简介、案例理解之详细攻略

    ML之VC维:VC维(Vapnik-Chervonenkis Dimension)理论的概述(衡量模型复杂度和预测能力的指标)的简介.案例理解之详细攻略 目录 VC维(Vapnik-Chervonen ...

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

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

  7. VC维的来龙去脉 | 火光摇曳

    转载地址:http://www.flickering.cn/machine_learning/2015/04/vc%E7%BB%B4%E7%9A%84%E6%9D%A5%E9%BE%99%E5%8E% ...

  8. 斯坦福ML公开课笔记10——VC维、模型选择、特征选择

    本篇是ML公开课的第10个视频,上接第9个视频,都是讲学习理论的内容.本篇的主要内容则是VC维.模型选择(Model Selection).其中VC维是上篇笔记中模型集合无限大时的扩展分析:模型选择又 ...

  9. 机器学习,VC维理解

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

最新文章

  1. Windbg学习 (0x0012) 命令-批处理命令程序
  2. Beep()之我迷糊了……
  3. Invocation of init method failed; nested exception is org.hibernate.InvalidMappingException: Could n
  4. HDU1862 EXCEL排序
  5. 罗美琪和春波特的故事...
  6. 华夫饼为什么不松软_用了3年的华夫饼配方,掌握这个配比,外酥里软超,比蛋糕好吃...
  7. iOS 将16进制颜色转换成UIColor
  8. 报表性能优化方案之多种报表服务器内存修改方法
  9. android开发学习 ------- json数据与实体类之间的相互转换
  10. 临时更换swap优先级
  11. 页面优化必须知道的技能:meta标签中的http-equiv属性使用介绍
  12. php 添加数据sql语句,PHP添加/修改/删除SQL语句
  13. iis6xp_xp安装iis6步骤方法
  14. matlab二极管伏安特性,基于Matlab对Spice二极管特性受温度影响的研究
  15. BZOJ5369:[PKUSC2018]最大前缀和(状压DP)
  16. 读王阳明二知行合一2有感
  17. 各种音视频编解码学习——————详解 h264 ,mpeg4 ,aac 等所有音视频格式
  18. 汉语拼音文件搜索项目
  19. 大数据与人工智能方向基础 --- 概述
  20. 关于写作,村上春树提供的几个方法

热门文章

  1. 表单验证设计的用户体验基本原则
  2. aspectj框架切入点表达式
  3. C++ MFC 导出ListControl数据到Excel
  4. 安卓修改电池容量教程_安卓手机端修改电池电量图标的教程
  5. RLC元件上电压,电流关系
  6. C语言中函数参数传递的方式:值传递,地址传递
  7. 小程序文档整理之 -- API(媒体)
  8. [latex] 页码起始页设置
  9. 解决火狐浏览器提示连接不安全或证书错误的问题
  10. 计算机内存占用过高,电脑内存占用高怎么办 Win7内存占用高解决办法