7 - VC维度(VC Dimension)-- 衡量模型与样本的复杂度

  • VC Dimension的定义

    我们知道dichotomies数量的上限是成长函数,成长函数的上限是边界函数:

    边界函数的上限就是N^(k-1)了:

    于是我们得到了上限(成长函数)的上限(边界函数)的上限。。。

    所以VC Bound可以改写成:

    复习结束,下面我们定义VC Dimension:

    用中文讲,对于某个备选函数集H,VC Dimension就是它所能shatter的最大数据个数N。

    VC Dimension = minimum break point - 1。

    所以在VC Bound中,(2N)^(k-1)可以替换为(2N)^(VC Dimension)。

    VC Dimension与学习算法A,输入分布P,目标函数f均无关。


  • PLA的VC Dimension

    1D的PLA最多shatter2个点,所以VC Dimension = 2;

    2D的PLA最多shatter3个点,所以VC Dimension = 3

    所以dD的PLA,VC Dimension会不会等于d+1?

    要证明这一点,只需证明:

    ------------------------------------------------------------------------------------------------------------

    (1) 证明VC Dimension≥d+1,只需证明H可以shatter某些d+1个输入。

    我们刻意构造一组d+1个输入:

    第一列灰色的1是对每个输入提高1维的操作,这个是一个d+1维的方阵,对角线全部是1,所以该矩阵可逆。

    对于任意一种输出,我们总能找到一个备选函数使得:

    即这一组输入的所有dichotomies都被穷尽了,所以VC Dimension≥d+1得证。

    ------------------------------------------------------------------------------------------------------------

    (2) 证明VC Dimension≤d+1,只需证明H不能shatter任何d+2个输入

    在2D情形下构造一组4个输入:

    所以 x4 = x3 + x2 - x1。

    如果前3个输出是:

     

    那么第4个输出是多少?

     

    由于:

    所以:

    ------<1>

    如果有一个备选函数W,使得其在x1,x2,x3上的输出的符号与方程<1>中的符号相同:

    那么一定有:

    所以H不能shatter 2+2=4个输入。

    推广到d维:

    任何d+2个数据作为输入,即使升了一维之后,输入矩阵的行数(d+2)依然大于列数(d+1),所以矩阵各行是线性相关的,即x(d+2)能用x(d+1),......,x2,x1的线性组合来表示。

    我们假设H可以shatter d+2个输入,那么我们一定能找到一个W,使得x(d+1),......,x2,x1对应的输出的符号与他们在线性表达式中的系数符号相同:

    所以:

    之前的假设是错的,H不能shatter d+2个输入

    所以VC Dimension≤d+1得证。

    综合(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 Dimension

    VC Bound:

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

    即:

    我们最终希望E-out越小越好,所以上面的不等式中可以只关心上界。

    我们把根号项看做一种惩罚,它拉大了E-in与E-out之间的距离,这个惩罚与“模型复杂度”有关,模型越复杂,惩罚越大:

    一图胜千言,可以看出随着模型复杂度的增加,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具有哲学意义上的指导性。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值