码迷,mamicode.com
首页 > 其他好文 > 详细

机器学习基石笔记7——为什么机器可以学习(3)

时间:2015-02-25 22:19:56      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

转载请注明出处:http://www.cnblogs.com/ymingjingr/p/4271742.html

目录

机器学习基石笔记1——在何时可以使用机器学习(1)

机器学习基石笔记2——在何时可以使用机器学习(2)

机器学习基石笔记3——在何时可以使用机器学习(3)(修改版)

机器学习基石笔记4——在何时可以使用机器学习(4)

机器学习基石笔记5——为什么机器可以学习(1)

机器学习基石笔记6——为什么机器可以学习(2)

机器学习基石笔记7——为什么机器可以学习(3)

机器学习基石笔记8——为什么机器可以学习(4)

机器学习基石笔记9——机器可以怎样学习(1)

机器学习基石笔记10——机器可以怎样学习(2)

机器学习基石笔记11——机器可以怎样学习(3)

机器学习基石笔记12——机器可以怎样学习(4)

机器学习基石笔记13——机器可以怎样学得更好(1)

机器学习基石笔记14——机器可以怎样学得更好(2)

机器学习基石笔记15——机器可以怎样学得更好(3)

机器学习基石笔记16——机器可以怎样学得更好(4)

七、The VC Dimension

VC维。

7.1 Definition of VC Dimension

VC维的定义。

先对上一章的内容作简单总结:如果一个假设空间存在突破点。则一定存在成长函数技术分享被某个上限函数技术分享 所约束,可求出上限函数等于一个组合的求和形式技术分享,易知该形式的最高次项是技术分享。图7-1a)和b)分别是以上限函数为成长函数上限的情况和以技术分享为成长函数上限的情况。

 

技术分享 技术分享

图7-1 a) 以上限函数为上限 b) 以技术分享为上限

 

 

从图中可以看出在技术分享技术分享 的情况下,满足技术分享,得到公式7-1。

 

技术分享    (公式7-1)

 

通过公式7-1和上一章的结论可以得出公式7-2。

 

技术分享    (公式7-2)

 

该公式的意义是在输入样本N很大时,VC限制一定成立,同时等式的左边也一定会在技术分享 的情况下被以多项式形式(技术分享)所约束(注意这里技术分享的条件没有了,原因很简单,VC限制是样本N很大的情况下产生的,因此一定满足技术分享的条件),而在k<3的情况下有其他的限制可以满足(比如前几章提到的如正射线之类的分类不需要多项式形式的限制也可以约束住成长函数)。

至此得知,满足以下几个条件,机器便可以学习:

  1. 假设空间的成长函数技术分享有一个突破点k(有好的假设空间H);
  2. 输入数据样本N足够的大(有好的输入样本集D);

1和2通过VC限制共同推出了技术分享技术分享有很大的可能很接近。

  1. 一个算法A能够找出一个使技术分享足够小的g(好的算法A);

再结合1和2得出的结论就可以进行学习了(当然这里需要一点好的运气)。

接下来介绍一下这一节的正题,VC维度或者VC维(VC dimension)是什么意思。

它的定义和突破点(break point)有很大关系,是最大的一个不是突破点的数。

VC维是假设空间的一个性质,数据样本可以被完全二分的最大值。用技术分享作为VC维的数学符号,假如突破点存在的话,即最小的突破点减去1,如公式7-3所示;如果不存在突破点的话,则VC维为无限大。

 

技术分享     (公式7-3)

 

如果输入数据量N小于VC维技术分享,则有可能输入数据D会被完全的二分类,这里不是一定,只能保证存在。

如果输入数据量N(或者用k表示)大于VC维技术分享,则有k一定是假设空间H的突破点。

使用VC维技术分享对公式7-1进行重写,在技术分享技术分享时,如公式7-4所示。

 

技术分享    (公式7-4)

 

对第五章中提到的几种分类,使用VC维取代突破点,表示VC维与成长函数的关系,如表7-1所示。

 

表7-1 VC维与成长函数的关系

正射线

技术分享

技术分享

一维空间的感知器

技术分享

技术分享

间隔为正的分类

技术分享

技术分享

凸图形分类

技术分享

技术分享

二维平面的感知器

技术分享

技术分享技术分享

 

 

对上述条件1中好的假设空间重新做一个定义,即有限的VC维技术分享

一个有限的VC维总是能够保证寻找到的近似假设g满足技术分享,这一结论与下述部分没有关系:

  1. 使用的算法A,即使技术分享很大,也依然能满足上述的性质;
  2. 输入数据的分布P
  3. 未知的目标函数f

即VC维可应对任意的假设空间,任意的数据分布情况,任意的目标函数。

满足这一性质可以得到如图7-2所示的流程图,其中灰色的部分表示上述几个不会影响技术分享这一结果的部分。

 

技术分享

图7-2 由VC维保证机器可以学习的流程图

 

7.2 VC Dimension of Perceptrons

感知器的VC维。

以下两个条件保证了2维线性可分的数据是可以学习的。

  1. 线性可分的数据通过PLA算法运行足够长的时间(T步骤足够大),则会找出一条可以正确分类的直线,使得样本中没有产生分错类的情况,即技术分享
  2. 在训练样本和整个数据集都服从同一分布P的前提下,有VC限制保证了,在技术分享且训练样本N足够大时,技术分享

以上两个条件共同得出技术分享的结论。

这一节讨论的是PLA能否处理维数大于二维的数据。

从上一节的内容得知:只要求出技术分享是一个有限数,则可以使用VC限制来保证技术分享。于是问题变成了在维数大于二维时,感知器的VC维技术分享如何表示(能否表示成一个有限数)。

两种已知感知器的VC维表示。1维感知器的VC维:技术分享;2维感知器的VC维:技术分享

能否以此类推得出d维感知器的VC维:技术分享呢?

上述只是一种猜想,接下来是对此猜想进行证明,证明的思路也很传统,证明等于号的成立分为两步:证明大于等于技术分享以及小于等于技术分享

证明大于等于的思路:证明存在d+1数量的某一数据集可以完全二分;证明小于等于的思路:证明任何d+2数量的数据集都不可以完全二分。

首先证明大于等于。因为只需要证明存在,不妨构造一个输入样本集,假设样本为一个行向量,其中第一个样本为0向量,第二个样本是其第一个分量为1其他分量为0的向量,第三个样本是其第二个分量为1其他分量为0的向量,以此类推,第d+1个样本是其第d个分量为1其他分量为0的向量,如:技术分享技术分享技术分享,…,技术分享,在感知器中样本X如公式7-5所示,其中每一个样本加上默认的第0个分量,其值为1(从阈值b变成技术分享所乘的样本分量)。

 

技术分享     (公式7-5)

 

很容易证明该矩阵式可逆:除了第一行之外的每一行都减去第一行得到一个对角矩阵,因此为满秩,可逆。

需要证明的是可以完全二分,关注的重点为输出标记向量技术分享 。只要找出各种权值向量技术分享 能将上述输入样本集X映射到全部的二分情况下的技术分享上就可以了。

已知感知器可以使用技术分享 表示。而只要权值向量使得技术分享成立,就一定满足技术分享的需求。假设其中输入矩阵如公式7-5所示,即X是可逆矩阵,输出向量y的任意一种二分类情况都可以被一个假设函数w划分出,原因是权值向量技术分享满足技术分享 ,即任何一种二分类情况都会有一个权向量w与之对应,因此满技术分享成立。

证明小于等于的思路:证明小于等于是不能如上,举一个特殊输入数据集,因为其要证明在所有的情况下,证明过程稍微复杂一些,先以一个2维空间的例子为切入点。

假设一个2维空间,则需要观察在2+2个输入数据量,不妨假设这四个输入样本分别是技术分享技术分享技术分享技术分享。输入数据集X如公式7-6所示。

 

技术分享    (公式7-6)

 

可以想象在标记技术分享 为-1,技术分享技术分享为+1时,技术分享不可以为-1,如图7-3所示。

 

技术分享

图7-3 2维数据样本不可二分的情况

 

用数学的形式如何表达?首先根据这四个样本可以确保公式7-7成立。

 

技术分享    (公式7-7)

 

该公式等号两边同时左乘权值向量技术分享依旧成立,但在满足技术分享 为-1,技术分享技术分享为+1这一条件时,公式左边一定大于0,如公式7-8所示。

 

技术分享    (公式7-8)

 

这种样本间线性依赖(linear dependence)的关系导致了无法二分。

那在高维空间结果如何呢?

假设在d维空间中d+2个样本,其输入样本集如公式7-9所示。

 

技术分享     (公式7-9)

 

因为样本间的线性依赖关系,一定可以得到公式7-10,其中技术分享 表示系数,该系数可正可负,也可以等于0,但是不可以全为0.

 

技术分享    (公式7-10)

 

此处使用反证法:设存在一个这样的二分情况,技术分享,在公式7-10的等号两边左乘权值向量技术分享得公式7-11。

 

技术分享    (公式7-11)

 

因为技术分享技术分享的第i个分量同号(i=1,2,…,d+1),因此左项必然为正,假设不成立,因此在任何d+2个输入数据集中必然都存在不能满足的二分类,即技术分享

至此大于等于以及小于等于都证明结束,起初的猜想技术分享成立。

 

7.3 Physical Intuition of VC Dimension

VC维的直觉。

上一节内容将感知器中数据的维度与VC维联系到了一起,也明白了起名时VC维中的维的含义。而在感知器中,数据样本的维度又与权值向量的维度一致,不同的权值向量对应着不同的假设函数,因此称假设函数的参数技术分享是假设空间上的自由度(degree of freedom)。如果从假设空间的数量|H|角度上描述,则自由度是无限大的;但是从感知器在二元分类上这一限制条件入手,则可以使用VC维作为自由度的衡量。

通过之前学习过的两个列子来更具体的看待VC维和假设空间参数之间的关系,如图7-4所示。

 

技术分享

图7-4 a) 正射线

技术分享

b) 间隔为正的分类

 

其中图7-4 a)VC维技术分享时,假设空间有1个参数,即阈值;图7-4 b)VC维技术分享时,假设空间有2个参数,即左右边界点。因此在大部分情况下,VC维技术分享大致等于假设空间参数的个数。

5.1节中提到的两个问题,本节可以使用VC维替代M,进而描述与这两个问题的关系,如表7-1所示。

 

表7-1 VC维的大小与两个条件的关系

 

技术分享很小的时候

技术分享很大的时候

第一个问题

满足,技术分享

技术分享的时候,不好情况出现的几率变小

不满足,技术分享

技术分享大的时候,不好情况出现的几率变大了

第二个问题

不满足,在技术分享变小时,假设的数量变小,算法的选择变小,可能无法找到技术分享 接近0的假设。

满足,在技术分享变大时,假设的数量变大,算法的选择变大,找到技术分享 接近0的假设的几率变大。

 

此处写点自己的思考:在一些书中,参数较多的模型都称为复杂模型,很少给出解释,这一节的内容给出了很好的解释,因为在很多情况下模型参数的个数大致等于VC维的个数。参数越多或者说模型越复杂,越有可能找出使技术分享最小的假设函数g,但是这需要大量训练样本的支持,因为只有在训练样本数量N足够大时,才能使更复杂(即参数更多或者说VC维更大)得模型出现不好情况的几率变小,如上表的右列。

 

7.4 Interpreting VC Dimension

解释VC维。

VC限制的公式如7-12所示。

 

技术分享    (公式7-12)

 

不等式的右边用符号技术分享 表示,则好事情技术分享发生的几率一定大于等于技术分享技术分享技术分享接近程度可以使用含有技术分享的公式表示,如公式7-13所示。

 

技术分享    (公式7-13)

 

其中技术分享技术分享接近程度,即技术分享被称为泛化误差(generalization error),通过上式证明该误差小于等于技术分享

因此技术分享的范围可以用公式7-14表示。

 

技术分享    (公式7-14)

 

其中最左边的公式一般不去关心,重点是右边的限制,表示错误的上限。

技术分享又被写成函数技术分享 ,称为模型复杂度(model complexity)。

通过一个图表来观察VC维到底给出了哪些重要信息,如图7-5所示。

 

技术分享

图 7-5 错误率与VC维的关系

 

其中蓝色线表示技术分享随VC维技术分享的变化;红色部分为模型复杂度技术分享技术分享的变化;紫色部分为技术分享随VC维技术分享的变化,其中技术分享可以表示用技术分享技术分享表示成技术分享的形式。

其中技术分享随着技术分享的增加而减小,不难理解,因为技术分享越大可以选择的假设空间就越大,就有可能选择到更小的技术分享;模型复杂度技术分享技术分享的增加而增加也不难理解,从技术分享就能得出关系;而技术分享因为这前两者的求和,因此出现了一个先降低后增加的过程,使其最小的取值为技术分享。使得技术分享最小才是学习的最终目的,因此寻找技术分享很重要。

VC维除了表示模型复杂度之外还可以表示样本的复杂度(sample complexity)。

假设给定需求技术分享技术分享技术分享,求N为多少时,即输入样本多大时才可以满足这些条件。我们将N的各个数量级代入公式技术分享,与技术分享作比较,得到图7-6。

 

技术分享

图7-6 N的取值与技术分享的关系

 

从图中可以得出在N差不多2万9千时,才可以训练出满足条件的模型,这是一个很大的数字,即数据的复杂度和VC维存在一个理论上的关系,技术分享 。但在实际应用中,倍数远比这小的多,大概是技术分享。造成这一现象的原因使自VC限制是个非常宽松的约束。宽松的原因主要来自以下四个:

  1. 霍夫丁不需要知道未知的技术分享VC限制可以用于各种分布,各种目标函数;
  1. 成长函数技术分享取代真正的二分类个数本身就是一个宽松的上界,VC限制可以用于各种数据样本;
  2. 使用二项式技术分享作为成长函数的上界使得约束更加宽松,VC限制可以用于任意具有相同VC技术分享的假设空间;
  3. 联合限制(union bound)并不是一定会选择出现不好事情的假设函数,VC限制可以用于任意算法。

其实很难找出在这四个方面都可以任意选择且比VC限制约束更紧的限制了,了解VC限制的重点其实也并不是它的约束宽松与否,而是它给予我们的哲学启示。

机器学习基石笔记7——为什么机器可以学习(3)

标签:

原文地址:http://www.cnblogs.com/ymingjingr/p/4300092.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!