欢迎转载,可以关注博客:http://blog.csdn.net/cqy_chen
概要
本节主要讲解机器学习的一般化理论。上节中讲到由于在很多的假设空间中,M会变得越来越大,就会导致机器学习无法工作,我们就想通过一个小的m来替代,提出增长函数。那么本节在上节的基础上展开。
断点的限制
上节中我们知道了集中简单的情况下的成长函数:
这里再加入一个概念,shatter (粉碎),就是当我们的假设空间可以完全的拆分资料的时候,称之为shatter。比如在二维的PLA中,由于断点是4,在3个资料点的时候,假设空间是可以shatter这些资料的。但是当有4个点的时候,就不能shatter了。
举一个简单例子,这里我们定义任意两个点不能被shatter。就会说断点为2,如果出现如下三个点,那么它的假设空间有多大呢?
当我们设定资料量的个数,同时设定断点为2。
那么有如下结论:
N=1的时候,假设空间只有两种类型。
N=2的时候,假设空间只有3种,因为任意两个点不能被shatter。
N=3的时候,假设空间只有4种。
所以我们可以看如果存在断点,好像就限制了假设空间的成长函数。这里来猜想下,假设空间的大小
mH(N)≤poly(N)
就是假设空间的成长函数应该是一个多项式的,而不是指数的,这样就可以证明机器学习是可行的了。
简单条件下的边界函数
这里定义一个概念,边界函数,如 B(N,K) : 当断点为k的时候,假设空间的最大值, mH(N) 。这样就不用去关注一些问题的细节,比如2D 的pla。我们只集中精力去关注这个边界函数。
如下举个简单例子:
当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,最大是
2k−1
种。
所以我们得到如下图所示:
这里需要注意下:
比如在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)呢?
我们先采用傻瓜式的举例来看看:
那么得到B(4,3)=11,好像B(4,3)=B(3,3)+B(3,2)
所以我们填写表格如下;
那么我们就可以推论:
那么我们就可以成长函数小于等于边界函数,边界函数又小于等多个相加,多个相加又小于等于多项式的函数。
到此,我们证明了成长函数,如果存在断点,那么我们能够得到成长函数是多项式的增长的。那么机器学习是可行的。
简单证明
那么上面已经证明,成长函数是多项式增长的。那么是否可以直接替换进霍夫丁不等式呢?
第一步
采用
E^in
代替
Eout
。因为这个成长函数是在有限个点上进行的,
Eout
上有无数个点。
所以我们只需要和一部分验证的数据
E^in
进行比较。
这里再采用2N个点,N个作为
Ein
,N个作为
E^in
第二步
使用
mH2N
来计算这些重复的边界和。
如下图
第三步
采用无放回的霍夫丁不等式
假设有2N个点,这个时候,采用不放回的抽样比较。就得到了上面的式子。
所以最后得到:
证明当点够多的时候,可以选择误差最小的点作为我们分分类器,可以在新的样本中有相似的表现。
上面的证明比较简单,详细的推导过程需要自己去理理。
欢迎转载,可以关注博客:http://blog.csdn.net/cqy_chen