林轩田之机器学习课程笔记(why can machines learn之theory of generalization)(32之6)

欢迎转载,可以关注博客:http://blog.csdn.net/cqy_chen

概要

本节主要讲解机器学习的一般化理论。上节中讲到由于在很多的假设空间中,M会变得越来越大,就会导致机器学习无法工作,我们就想通过一个小的m来替代,提出增长函数。那么本节在上节的基础上展开。

断点的限制

上节中我们知道了集中简单的情况下的成长函数:
林轩田之机器学习课程笔记(why can machines learn之theory of generalization)(32之6)
这里再加入一个概念,shatter (粉碎),就是当我们的假设空间可以完全的拆分资料的时候,称之为shatter。比如在二维的PLA中,由于断点是4,在3个资料点的时候,假设空间是可以shatter这些资料的。但是当有4个点的时候,就不能shatter了。

举一个简单例子,这里我们定义任意两个点不能被shatter。就会说断点为2,如果出现如下三个点,那么它的假设空间有多大呢?
林轩田之机器学习课程笔记(why can machines learn之theory of generalization)(32之6)
当我们设定资料量的个数,同时设定断点为2。
那么有如下结论:
林轩田之机器学习课程笔记(why can machines learn之theory of generalization)(32之6)

N=1的时候,假设空间只有两种类型。
N=2的时候,假设空间只有3种,因为任意两个点不能被shatter。
N=3的时候,假设空间只有4种。

所以我们可以看如果存在断点,好像就限制了假设空间的成长函数。这里来猜想下,假设空间的大小 mH(N)poly(N)
就是假设空间的成长函数应该是一个多项式的,而不是指数的,这样就可以证明机器学习是可行的了。

简单条件下的边界函数

这里定义一个概念,边界函数,如B(N,K): 当断点为k的时候,假设空间的最大值,mH(N) 。这样就不用去关注一些问题的细节,比如2D 的pla。我们只集中精力去关注这个边界函数。

如下举个简单例子:
林轩田之机器学习课程笔记(why can machines learn之theory of generalization)(32之6)
当N=2,k=2的时候,我们证明了假设空间最多只有3种,当N=3,k=2,假设空间最多只有4种。
当K=1的时候,那么B(N,k)=1.以为1个点都没法shatter。
如果k>N,就是N还不够塞牙缝的,那肯定是2k种,
当K=N的时候,由于k个点不能被shatter,最大是2k1种。
所以我们得到如下图所示:
林轩田之机器学习课程笔记(why can machines learn之theory of generalization)(32之6)
这里需要注意下:
比如在2D的pla中,我们知道k=4,当N=4,最多只有14种,所以,这里的B(N,K)是一个上界。

一般情况下的边界函数

现在的核心就是剩下的部分咯。
比如现在要求得B(4,3)。我们可以想想,这是在k=3的情况下,N=4,那么我们从上面表格中的得到B(3,3)=7。那么就是在N=3的情况下的假设空间数据上添加了一个点。
能否根据B(3,3)推导B(4,3)呢?
我们先采用傻瓜式的举例来看看:
林轩田之机器学习课程笔记(why can machines learn之theory of generalization)(32之6)
那么得到B(4,3)=11,好像B(4,3)=B(3,3)+B(3,2)
林轩田之机器学习课程笔记(why can machines learn之theory of generalization)(32之6)
所以我们填写表格如下;
林轩田之机器学习课程笔记(why can machines learn之theory of generalization)(32之6)
那么我们就可以推论:
林轩田之机器学习课程笔记(why can machines learn之theory of generalization)(32之6)

那么我们就可以成长函数小于等于边界函数,边界函数又小于等多个相加,多个相加又小于等于多项式的函数。

到此,我们证明了成长函数,如果存在断点,那么我们能够得到成长函数是多项式的增长的。那么机器学习是可行的。

简单证明

那么上面已经证明,成长函数是多项式增长的。那么是否可以直接替换进霍夫丁不等式呢?
林轩田之机器学习课程笔记(why can machines learn之theory of generalization)(32之6)

第一步

采用E^in 代替Eout。因为这个成长函数是在有限个点上进行的,Eout上有无数个点。
林轩田之机器学习课程笔记(why can machines learn之theory of generalization)(32之6)
所以我们只需要和一部分验证的数据E^in 进行比较。
这里再采用2N个点,N个作为Ein,N个作为E^in

第二步

使用mH2N来计算这些重复的边界和。
如下图
林轩田之机器学习课程笔记(why can machines learn之theory of generalization)(32之6)

第三步

采用无放回的霍夫丁不等式
林轩田之机器学习课程笔记(why can machines learn之theory of generalization)(32之6)
假设有2N个点,这个时候,采用不放回的抽样比较。就得到了上面的式子。

所以最后得到:
林轩田之机器学习课程笔记(why can machines learn之theory of generalization)(32之6)

证明当点够多的时候,可以选择误差最小的点作为我们分分类器,可以在新的样本中有相似的表现。

上面的证明比较简单,详细的推导过程需要自己去理理。

欢迎转载,可以关注博客:http://blog.csdn.net/cqy_chen