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

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

时间:2015-02-13 23:36:57      阅读:197      评论: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)

六、Theory of Generalization

泛化理论(举一反三)。

6.1 Restriction of Break Point

突破点的限制。

回顾一下上一章中提到的成长函数技术分享 的定义:假设空间在N个样本点上能产生的最大二分(dichotomy)数量,其中二分是样本点在二元分类情况下的排列组合。

上一章还介绍了突破点(break point)的概念,即不能满足完全分类情形的样本点个数,完全二分类情形(shattered)是可分出技术分享 种二分类(dichotomy)的情形。

继续举例说明,假设一种分类情形最小的突破点为2,即技术分享

容易求出在技术分享 时,成长函数技术分享

技术分享 时,成长函数技术分享 (突破点是2),因此最大的二分类个数不可能超过3,假设为3。

继续观察技术分享 时的情形,因理解稍微有些复杂,还是以图的形式表达,如图6-1所示。

如图6-1a)表示在三个样本点时随意选择一种二分的情况,这种分类没有任何问题,不会违反任意两个样本点出现四种不同的二分类情况(因为突破点是2);

如图6-1b)表示在a)的基础上,添加不与之前重复的一种二分类,出现了两种不冲突的二分类,此时同样也没有任何问题,不会违反任意两个样本点出现四种不同的二分类情况;

如图6-1c) 表示在b)的基础上,再添加不与之前重复的一种二分类,出现了三种不冲突的二分类,此时同样也没有任何问题,不会违反任意两个样本点出现四种不同的二分类情况;

如图6-1d) 表示在c)的基础上,再添加不与之前重复的一种二分类,问题出现了,样本技术分享 出现了四种不同的二分情况,和已知条件中k=2矛盾(最多只能出现三种二分类),因此将其删去。

如图6-1e) 表示在c)的基础上,再添加不与之前重复的一种二分类,此时同样也没有任何问题,不会违反任意两个样本点出现四种不同的二分类情况;

如图6-1f) 表示在e)的基础上,再添加不与之前重复的一种二分类,问题又出现了,样本技术分享 出现了四种不同的二分情况,和已知条件中k=2的条件不符(最多只能出现三种二分类),因此将其删去。

 

技术分享 技术分享

a) b)

技术分享技术分享

c) d)

技术分享 技术分享

e) f)

图6-1 样本数为3时的二分类情形

 

 

在突破点是2,样本点为3时,最多只能有四种二分类情况,而技术分享

从上述情形,可以做一个猜想,成长函数技术分享 小于等于某个与突破点k有关的二次项,如果可以证明这一结论,即能寻找到一个可以取代无限大M的数值,同理即能公式4-6在假设空间为无限大时也是成立,即机器是可以学习的。

假设突破点技术分享 ,在样本数为3时,最大的二分类个数是多少?答案是1,可以想象,在样本为1时,只有一种分类情形,假设这种情形是正,则以后所有样本也为正,才能满足上述条件,所以样本N不论为多少,其最大二分类数都是1。

 

6.2 Bounding Function- Basic Cases

上限函数的基本情形。

根据上一小节的例子,提出一个新的概念,上限函数技术分享 (bounding function),其定义为在最小突破点为k时,表示成长函数技术分享 最大值的函数。此函数将成长函数从各种假设空间的关系中解放出来,不用再去关心具体的假设,只需了解此假设的突破点,突破点相同的假设视为一类,抽象化成长函数与假设的关系。

二分类的个数或者称之为成长函数技术分享 说白了就是二元(在图中表示为"×"或者"○ "的符号)符号在在长度为N的情况下的排列组合(每个不同的排列代表一个二分类,每种二分类可看做一个向量)个数。

在强调一遍,提出这种上限函数的好处在于,它的性质可以不用关心到底使用的是何种假设空间,只需要知道突破点便可以得到一个上限函数来对成长函数做约束。

例如:技术分享 可以同时表示一维空间的感知器(1D perceptrons)和间隔为正(positive intervals)的两种假设空间,因为两者都满足技术分享 。注意一维的成长函数为技术分享,而间隔为正的成长函数为技术分享技术分享一定比这两种情况中最大的还要大,才能约束成长函数,回忆上限函数的定义,是成长函数技术分享最大值的函数表示,从这个例子中可以理解为何还会出现"最大值"。

想要证明技术分享

先观察已知的技术分享 如何表示,通过列表方式找出规律,如图6-2所示。

 

技术分享

图6-2 已知的技术分享 取值

 

技术分享 的这条斜线上,所有值都等于技术分享 ,这一原因在上一节推导中已经提到过,原因是突破点代表不能完全二分类技术分享 的情况,因此在此情况下最大的二分类数可以是技术分享 。在这条斜线的右上角区域所有的点都满足完全二分类的,因此值为技术分享

而在斜线右下角上已给出数值的点都是在上一节中已求出答案的点,空白地方的值则是下节需要介绍的内容。

 

6.3 Bounding Function- Inductive Cases

上限函数的归纳情形。

这一小节主要是将上一小节空白的内容填写上,从已有的数据上可以看出一个似乎是正确的结论:每个值等于它正上方与左上方的值相加。如公式6-1所示。

 

技术分享 (公式6-1)

 

当然单从观察是无法证明该公式是成立的,以下从结论出发来验证它的正确性。

首先通过计算机求出技术分享 的所有二分情况(自己编写程序加上限制条件,在16个二分类中找出符合条件的),其结果如图6-3所示。

 

技术分享

图6-3技术分享 的所有二分类

 

图6-3中的展示效果还是有些混乱,对这11种情况做一次重新排序,将技术分享技术分享 分开观察,如图6-4所示,橙色部分为技术分享 两两一致、技术分享 成对(pair)出现的二分类,设橙色部分一共技术分享 对二分类,即技术分享 种二分类;紫色部分为各不相同的技术分享 ,设紫色部分一共技术分享 种,得公式6-2。

 

技术分享     (公式6-2)

 

技术分享

图6-4 以成对和单个的形式展示

 

注意技术分享 ,意味着在样本点为3时,不能满足完全二分的情形。需要观察在样本数为3时,这11种分类会有何变化,不妨假设这三个样本是技术分享 ,于是只剩如图6-5所示的7种二分类情形。

 

技术分享

图6-5 三个样本时缩减之后的二分类

 

其中橙色部分,原本两两成对出现的二分类,在去掉技术分享 所属的那列样本之后,就合并成了4种二分类情况(技术分享 ),紫色部分不变依然为3种二分情况(技术分享 )。因为已知技术分享 ,在样本数为3时,图6-5中即表示样本书为3 的情况,其一定不能满足完全二分,因此技术分享技术分享一定满足公式6-3。

 

技术分享     (公式6-3)

 

继续观察橙色部分的区域,如图6-6所示。

 

技术分享

图6-6 三个样本时橙色区域的二分类

 

 

以下使用反证法证明。假设技术分享三个样本在如上图所示的四种二分类情况下,满足任意两个样本都可完全二分类。将技术分享中任意两列取出,同之前被删除的技术分享 列相结合,一定可得到一种三个样本都满足完全二分类的情形(因为不论是哪两列与技术分享相结合都会得到8种二分类,每一行二分类都对应两个不同标记的技术分享,因此为8种。且两列四行的二分类是全完二分的,在此基础上加上不同属性的列,应该也不会重复,因此一定也是全完二分的)。但是此结论和已知任意三个样本不能完全二分冲突了,因此假设不成立,即在图6-6中一定存在某两个样本点不能完全二分的情况,因此得出如公式6-4所示的结论。

 

技术分享    (公式6-4)

 

由公式6-2~公式6-4推导出公式6-5。

 

技术分享     (公式6-5)

 

最终还能推导出公式6-6的通用结论,也就是开始时公式6-1的猜想。

 

技术分享    (公式6-6)

 

根据这一结论将图6-2补齐,如图6-7所示。

 

技术分享

图6-7 补齐后的上限函数表

 

最后可以通过如下方式证明公式6-7是成立的。

 

技术分享     (公式6-7)

 

首先需要预先了解组合中的一个定理,如公式6-8所示。

 

技术分享    (公式6-8)

 

很容易证明技术分享 情况下公式6-7成立,如公式6-9所示。

 

技术分享    (公式6-9)

 

上一节中已经给出了证明,不仅仅是满足不等号条件,而且满足等号。

再使用数学归纳法证明在技术分享的情况,公式6-7成立。

假设公式6-10成立,则可以得到在技术分享的情况下公式6-11成立,同时结合公式6-6的结论,公式6-12也能被推导出来。

 

技术分享    (公式6-10)

 

技术分享    (公式6-11)

 

技术分享    (公式6-12)

 

这一结果意味着:成长函数技术分享 的上限函数技术分享 的上限为技术分享

 

6.4 A Pictorial Proof

一种形象化的证明。

在书写这一小节之前,还是想说明一下,我面对这一小节时,看得是一知半解,因为林老师本身也没打算将这个证明的详细流程全部给出,我觉得原因有几个:一是难度很高,即使全部讲解能听懂的估计也没几个;二是思想更重要,你只需要知道它用到了什么原理去证明这个问题,这比你了解这枯燥的数学推导更重要;三是结论比求解过程更重要。当然这不是说求解过程不重要,我会在看懂相关理论之后,整理出一个关于V-C限制完整证明的笔记,但估计现在也没时间去看懂这一理论。

言归正传,开始这一小节的简单阐述。

在讲述之前几章时,一直以为只需要证明出在假设函数为无限多的情况下,寻找成长函数技术分享 作为假设空间个数的上限,直接使用该上限去取代原本霍夫丁不等式中的M便可得出结论,即在技术分享 接近0时,技术分享也接近0,也就是机器是可以学习的。实际与这一结果类似,但是稍有偏差,在那本以为的霍夫丁不等式(如公式6-13所示)的公式中多出一些常量。

 

技术分享    (公式6-13)

 

先给出结论,公式如6 -14所示。

 

技术分享    (公式6-14)

 

比较两个公式,发现最终的结论比猜想的,在不等式的右侧三个不同位置多了三个常数,分别是开头的地方多了一个2倍,成长函数中多了一个2倍,指数函数中多了一个技术分享 。按先后循序,分三步简单说明一下这些变化的原因。

第一步,用技术分享取代技术分享

公式6-15的说明(不敢叫做证明,目前完全没有头绪,一到三步的说明都是自己的理解,不正确之处还望指正)。

 

技术分享    (公式6-15)

 

其中技术分享 的可能性是有限多种,因为假设空间的种类被成长函数技术分享约束住了,而样本的大小又是固定的,所以错误率也最多只有技术分享种;但是技术分享的可能性还是无限多,因为它的数据是无限大,错误率也自然也会无限多种。为了解决此问题,提出了一种叫做影子数据的概念(ghost data)。使用跟输入样本一样多的数据技术分享,有技术分享 ,用这组新的样本取代整个样本去近似求解在无限大的数据中技术分享的值,求解的近似值记为技术分享。图6-8表示技术分享技术分享的分布情况,其中技术分享为它俩的分布中心,假设数据D的情况下技术分享很大,从图中不难看出,再抽取一次数据技术分享得到的技术分享很大的几率,最多只有条件技术分享很大的一半概率,意味着技术分享技术分享很接近的几率最多只有技术分享很大这个条件的一半(因为从该图中得知技术分享技术分享只可能变得小于技术分享),即技术分享很小的几率最多只有技术分享很大这一几率的一半。换句话说技术分享很大的几率至少是技术分享很大这一几率的一半,用公式6-16表示其含义如下:

 

技术分享

图6-8 技术分享技术分享的分布

 

技术分享    (公式6-16)

 

将公式6-16稍微调整一下就可以得到公式6-17。

 

技术分享    (公式6-17)

 

从公式6-17到公式6-15多了一个更强的约束,因此从技术分享变成了技术分享

第二步,分解假设空间的种类

其中技术分享的可能性与样本D有关,而技术分享与样本技术分享有关,因此整个假设空间的种类可以写成技术分享 的个数,我们又从之前几章的内容得知,种类的个数并非无限多,其上限最大为成长函数技术分享那,因此坏事情发生的概率如公式6-18所示。

 

技术分享    (公式6-18)

 

第三步,使用无取回的霍夫丁。

还是用小球和罐子的那个例子解释,罐子中不再是无限多个小球,而是2N个小球,选择N个小球而留下另外N个,可以通过公式6-19得出如下结论。

 

技术分享    (公式6-19)

 

这是一种无放回的霍夫丁,最终得到公式6-20。

 

技术分享    (公式6-20)

 

至此说明了(不敢叫证明)一个在机器学习领域很著名的理论——V-C上界制(Vapnik-Chervonenkis bound)。

2维的感知器,其突破点为4,因此其成长函数为技术分享,可以使用这个VC上界来说明在样本N足够大时候,发生坏事的情况很少,即选择一个在样本中错误率很小的g,可以得出其在整个数据上错误率也很低的结论,说明机器学习是可能的。

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

标签:

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

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