Coursera机器学习:VC Bound和VC维度

那些数学家们把这11个划分很鸡贼的分成两组(╮(╯▽╰)╭):

其中橙色的划分总能找到自己相似的“伴侣”,它与“伴侣”的(x1, x2, x3)相等,x4相反,有 2α 个;

紫色的划分总是“单身”,

综合(1)(2),对于d-D PLA,其VC Dimension=d+1。

VC Dimension的物理意义在教程中这么说:

即VC Dimension是备选函数集H的“能力”。“能力”越大,H对数据的划分就越细致。

例如,从Positive Ray到Positive Interval,自由变量从1个变成了2个,VC Dimension从1变成了2,H变得更强大。

在VC Dimension与备选函数集大小M基本正相关:

深入理解VC DimensionVC Bound:

所以GOOD事件:| E-in(h) – E-out(h)≤ε|可以改写成:

我们最终希望E-out越小越好,所以上面的不等式中可以只关心上界。我们把根号项看做一种惩罚,它拉大了E-in与E-out之间的距离,这个惩罚与“模型复杂度”有关,模型越复杂,惩罚越大:

上面的”模型复杂度“ 的惩罚(penalty),基本表达了模型越复杂(VC维大),Eout 可能距离Ein 越远。下面的曲线可以更直观地表示这一点:一图胜千言,可以看出随着模型复杂度的增加,E-in与E-out两条曲线渐行渐远。

如果VC Dimension太大,模型复杂度增加,E-in与E-out偏离;

如果VC Dimension太小,虽然E-in≈E-out,但H不够给力,,很难找到不犯错(或很少犯错)的h。

———————————————————————————————————–

VC Bound提高了数据复杂度。

用一个简单的数学题就能说明:

你帮老板分析股票数据,老板说E-in与E-out差距最大为ε=0.1;置信度为90%,即δ=0.1;所用模型的VC Dimension = 3。你用程序算了一番,发现:

于是你向老板汇报,请给我29300条数据作为训练集、29300条作为测试集,我就能达到你的要求,如果想万无一失,200000条数据是起码的。本来被老板逼死的节奏,现在要把老板逼死了,哪来这么多数据?

本题中:

need N≈ 10000 * VC Dimension

而实际应用中,需要的数据量在10倍VC Dimension左右。

为什么VC Bound会这么宽松,以至于过多估算数据量?

因为VC Bound对数据分布、目标函数、备选函数集、学习算法都没有要求,它牺牲了部分精确性,换来了无所不包的一般性。这使得VC Bound具有哲学意义上的指导性。即便如此,VC Dimension & VC bound 依然是分析机器学习模型的最重要的理论工具。

关于Machine Learning更多讨论与交流,敬请关注本博客和新浪微博songzi_tea.

告诉自己,我这次失败了,重新开始吧!下次我会吸取教训,不让自己犯同样的错误的

Coursera机器学习:VC Bound和VC维度

相关文章:

你感兴趣的文章:

标签云: