您的位置:首页 > 其它

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

2017-12-24 09:25 555 查看
概要

断点的限制

简单条件下的边界函数

一般情况下的边界函数

简单证明
第一步

第二步

第三步

欢迎转载,可以关注博客: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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  机器学习 林轩田
相关文章推荐