【机器学习幼功】VC维与模型复杂度、样板复杂度

2020-02-14 21:22栏目:竞技宝app
TAG:

图片 1

引言

上一小节,我们引入了VC维的概念,用它来描述假设集合的表达能力。这一小节中,我们将从VC维的物理意义出发,进一步学习如何根据VC维传达的信息来选择模型和假设集合。

       最近正好在弄一个PHP的程序,在这之前一直没有怎么以接触,发现对PHP版本知识了解不是很清楚,自己看了不少类似的文章,还是感觉不够明确和全面,

为了优化“64位像素转32位像素”,我测试了多种算法,并分别在VC6、VC2010、C#2010、VB6上实现了这些算法,同时还对比测试了MMX、SSE指令集版算法的性能。测试成绩详见——请大家帮忙做一下测试,看看其他硬件环境下的性能。测试程序下载——_Test.rar

VC维的物理意义

如果我们将假设集合的数量|H|比作假设集合的自由度,那么VC维就是假设集合在做二元分类的有效的自由度,即这个假设空间能够产生多少Dichotomies的能力(VC维说的是,到什么时候,假设集合还能shatter,还能产生最多的Dichotomies)。

       网上的结论又都是模棱两可,在此,给出最完整甚至武断的解释。(内面部分内容是摘自其它程序员的博文)

VC维、真实错误率、训练错误率

在上一节中,我们讨论要做到好的预测要满足两个条件,第一是训练误差要接近真实误差,即Ein(g)约等于Eout(g);第二是训练误差要尽量接近0,即Ein(g)约等于0。
现在,我们用VC维这个工具来描述。

  • 如果VC维很小,那么发生预测偏差很大的坏事情的可能性也就很小,那这有利于Ein(g)接近Eout(g);但是,这是我们的假设空间的表达能力受到了限制,这样Ein(g)可能就没有办法做到很小。
  • 如果VC维很大,那么假设空间的表达能力很强,我们很有可能选到一个Ein(g)很小的假设,但是Ein(g)和Eout(g)之差很大的坏事情发生的情况发生的可能性就变得很大,这样Ein(g)和Eout(g)根本不接近,我们就无法确定选择的假设在测试数据的时候表现的很好。

图片 2

这时,VC维变成了我们一个重要的选择,我们可以用VC维提供的信息来选择更好的模型和假设空间。

      本文讲解:VC6与VC9,Thread Safety与None-Thread Safe,Apache module与fastcgi的区别与选择。

版权声明:本文由龙竞技官网发布于竞技宝app,转载请注明出处:【机器学习幼功】VC维与模型复杂度、样板复杂度