您的位置:首页 > 其它

台湾大学机器学习基石Lecture7

2017-10-15 12:49 120 查看

7-1:Definition Of VC-Dimension

vc维的定义

上一节我们介绍了成长函数MH(N)、上限函数B(N,K)、以及上限函数小于等于一个组合∑k−1i=0CiN,由组合知道,其最高次幂为Nk−1,下面用两张图来介绍上限函数作为成长函数和Nk−1作为成长函数的差别:



从图中可以看出当N≥2andK≥3时候,MH(N)=B(N,K)≤Nk−1,由上一个Lecture最后一个小节有如下不等式:

P[|Ein(h)−Eout(h)|>ξ]≤4⋅MH(2N)⋅exp(−18ξ2N)

将MH(N)≤Nk−1带入上式得到:

P[|Ein(h)−Eout(h)|>ξ]≤4⋅(2N)k−1⋅exp(−18ξ2N)

假设存在三个条件:

成长函数MH(N)存在断点K

样本数量N足够大

算法A能够选择一个g,使得Ein(g)很小

那么由上面的不等式+三个条件的限制,就能够保证机器学习是可行的。

这一节我们介绍一个新的朋友-VC-Dimension

VC维就是指假设空间能够被二分类样本最大分类的输入点数目。例如,上一节中2-D Perceptron中,当输入为(x1,x2,x3)三个输入时,可以被分成下面的情况:



也可能是下面的情况:



两幅图的区别在于输入的样本点分布不同,导致结果不同。第一张图片可以被完全二分类,第二张图片不能被完全二分类(即被分为2N种),现在定义一个符号dvc,它表示所能分类的最大输入样本点数目。如上图,虽然有些输入情况不能被完全二分类,但是只要至少一种输入分布能够被分为完全二分类,那么就是dvc,例如上面图中dvc=3(这边没有显示输入是4种情况的时候,Lecture5已经叙述了是不能被完全二分类的。)所以dvc可以定义为:

dvc=′最小的k′−1

定义了dvc,那么就存在下面两种情况:

当N≤dvc→N个输入可以被完全二分类。

当N>dvc→假设空间一定存在一个断点K

使用VC维重写成长函数的上限,如下式:

如果N>2,dvc>2→MH(N)≤Ndvc

对上一节介绍的常用分布进行VC维对比:

类型vc维断点k
正射线dvc=1k=2
正的间隔dvc=2k=3
凸集合nono
2-D感知器dvc=3k=4
那么如果dvc有限,g就能够得到泛化保证(即Ein(g)≈Eout(g))

7-2:VC-Dimension of Perceptrons

感知器的vc维。

考虑2-D Perceptron,例如使用PLA算法,假设数据D是线性可分的,那么可以运行足够的循环就能使得Ein(g)=0,并且假设输入数据集和总体数据集分布相同,那么由VC维保证,就可以使得Eout(g)≈0,二维可以,那么如果维数更高呢?

我们从具体情况考虑,再推向一般。

1-D感知器,由之前的推导,其成长函数MH(N)=2N,可以推出dvc=3−1=2

2_D感知器,由上面可知dvc=3

所以,能否假设dvc=d+1?(实际是对的)

下面对这个进行等式进行证明,要证明这个等式,相当于证明它的等价条件:

1. dvc≥(d+1),即证明有(d+1)个输入可以被完全二分类。

2. dvc<(d+2),即证明任何(d+2)个输入不能被完全二分类。

首先证明1:

因为只需要找出一种(d+1)个输入能被完全二分类即可,假设输入向量为:

假设第一个输入向量为全0(0,0…,0),第二个向量为第一个输入为1,其他为0即(1,0…,0),依次类推,第(d+1)个输入向量为最后一个输入为1,其它为0即:(0,0…0,1),由PLA,参数是[(d+1)+1]个,因为还有一个threshold对应的x0,那么加上x0=1,可以得到下面的输入向量矩阵:



显然,上面X的行列式值为1,所以X是可逆的。我们要使得(d+1)个输入能被完全二分类,即y=(y0,y1,y2…,yd+1)有2d+1种情况(因为y0是阈值,是一个不变的值,所以只有2d+1种),我们知道,正确分类的时候,sign(XW)=Y,那么如果XW=Y,当然满足上面的情况,因为X是可逆的,那么W=X−1Y,即无论Y什么情况,都有相对应的W,所以1得证。

下面证明2:

我们以2-D感知器为例,考虑下图的输入:



假设在标记的时候,标记y1=−1,y2=1,y3=1,那么y4不可能为1,因为

x4=x3+x2−x1,两边同时乘以w也不会引起变化,得到

wTx4=wTx3+wTx2−wTx1>0一定成立(在满足y1=−1,y2=1,y3=1),这种关系在线性代数中其实就是线性相关,导致了不可能完全二分类。考虑(d+2)个输入:



那么一定有xd+2=xd+1+…+x2−x1,也就是,其实也就是这(d+2)组数据肯定线性相关,那么总有一个yn必须为其他的y表示,也就是不可能达到2d+2种。所以2成立。

综上:可得dvc=d+1

7-3:physical intuition of VC-Dimension

vc维的物理直觉

因为数据样本D的维度和参数W的维数是一致的,考虑下面两种情形:





图一dvc=1,对应的参数也就一个a即边界的确定,图二中dvc=2,那么对应的参数为2即上下边界。首先给出一个新的概念-自由度,w=(w0,…,wd)是假设空间的自由度,由此可以推断出:自由度和dvc的大小是相等的。VC维的物理意义就是在做二元分类的时候能够有多少的自由度,也就是能将假设空间最大可分的数量。

这边的自由度即参数个数,当然参数越多,模型也就越复杂,也就是dvc越大,那么使得Ein(g)≈Eout(g)不成立的坏数据就会变多。为了避免这种情况,就只有使得输入样本数N变大,才能保证Ein(g)≈Eout(g)。

回顾一下之前的问题:

1. 是否能够保证Ein(g)足够小

2. 是否能偶保证Ein(g)≈Eout(g)

不同的VC维情况如下:

小的VC维大的VC维
1不能够保证,因为选择太少了1能够保证,因为有很多的选择
2能够保证,由变换后的霍夫丁不等式可以保证2不能保证,同样由霍夫丁不等式说明
注:上面表格提到的变换后的霍夫丁不等式:

P[|Ein(h)−Eout(h)|>ξ]≤4⋅(2N)dvc⋅exp(−18ξ2N)

由公式可以看出,选择一个恰当的dvc或者说H是很有必要的。

7-4:interpreting VC-Dimension

vc维的解释

vc维限制的公式如下:

P[|Ein(h)−Eout(h)|>ξ]≤4⋅(2N)dvc⋅exp(−18ξ2N)

设不等式右边为δ,那么下面的式子必定成立:

P[|Ein(h)−Eout(h)|≤ξ]≥1−δ

并且有:

δ=4⋅(2N)dvc⋅exp(−18ξ2N)

→ξ=8N⋅ln(4⋅(2N)dvc8)−−−−−−−−−−−−−√

其中Ein(g)−Eout(g)的大小称为泛化误差(Generalization error),并且

|Ein(g)−Eout(g)|≤ξ

→ Ein(g)−8N⋅ln(4⋅(2N)dvc8)−−−−−−−−−−−−−√≤Eout(g)

≤Ein(g)+8N⋅ln(4⋅(2N)dvc8)−−−−−−−−−−−−−√

我们一般关心的错误的上限,将不等式右边定义为Ω(N,H,δ),表示模型复杂度。观察下面图形:



图中,蓝线表示Ein(g),红线代表模型复杂度,紫线代表Eout(g)<
11f4d
/span>,从图中可以看出,Ein(g)随着dvc的增大而降低(因为选择多了),模型复杂度随着dvc的增大而增大(因为参数变多了),Eout(g)随着dvc先下降后上升,那么这里就存在一个最优的d∗vc。因此寻找最优的d∗vc就很重要了。

这里其实还有一个问题,其实VC Bound是很宽松的,比如上限Ndvc本就是一个很宽松的值。从下面一幅图也能看出来。



举个例子:

假设给定ξ=0.1,δ=0.3,dvc=3,求N为多少能满足下面的式子:

δ≥4⋅(2N)dvc⋅exp(−18ξ2N)如下图所示:



即N≈30000,即N≈10000dvc时,才能有比较好的模型,其实是因为上限过于宽松导致的,实际上并不需要这么大,在实际应用中,N≈10dvc
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  机器学习