上节课,我们主要介绍了机器学习的可行性。首先,由NFL定理可知,机器学习貌似是不可行的。但是,随后引入了统计学知识,如果样本数据足够大,且hypothesis个数有限,那么机器学习一般就是可行的。本节课将讨论机器学习的核心问题,严格证明为什么机器可以学习。从上节课最后的问题出发,即当hypothesis的个数是无限多的时候,机器学习的可行性是否仍然成立?
一、Recap and Preview
我们先来看一下基于统计学的机器学习流程图:
该流程图中,训练样本D和最终测试h的样本都是来自同一个数据分布,这是机器能够学习的前提。另外,训练样本D应该足够大,且hypothesis set的个数是有限的,这样根据霍夫丁不等式,才不会出现Bad Data,保证
这里,我们总结一下前四节课的主要内容:第一节课,我们介绍了机器学习的定义,目标是找出最好的矩g,使
这四节课总结下来,我们把机器学习的主要目标分成两个核心的问题:
上节课介绍的机器学习可行的一个条件是hypothesis set的个数M是有限的,那M跟上面这两个核心问题有什么联系呢?
我们先来看一下,当M很小的时候,由上节课介绍的霍夫丁不等式,得到
二、Effective Number of Line
我们先看一下上节课推导的霍夫丁不等式:
其中,M表示hypothesis的个数。每个hypothesis下的BAD events
当M=∞时,上面不等式右边值将会很大,似乎说明BAD events很大,
也就是说union bound被估计过高了(over-estimating)。所以,我们的目的是找出不同BAD events之间的重叠部分,也就是将无数个hypothesis分成有限个类别。
如何将无数个hypothesis分成有限类呢?我们先来看这样一个例子,假如平面上用直线将点分开,也就跟PLA一样。如果平面上只有一个点x1,那么直线的种类有两种:一种将x1划为+1,一种将x1划为-1:
如果平面上有两个点x1、x2,那么直线的种类共4种:x1、x2都为+1,x1、x2都为-1,x1为+1且x2为-1,x1为-1且x2为+1:
如果平面上有三个点x1、x2、x3,那么直线的种类共8种:
但是,在三个点的情况下,也会出现不能用一条直线划分的情况:
也就是说,对于平面上三个点,不能保证所有的8个类别都能被一条直线划分。那如果是四个点x1、x2、x3、x4,我们发现,平面上找不到一条直线能将四个点组成的16个类别完全分开,最多只能分开其中的14类,即直线最多只有14种:
三、Effective Number of Hypotheses
接下来,我们讨论如何计算成长函数。先看一个简单情况,一维的Positive Rays:
另一种情况是一维的Positive Intervals:
它的成长函数可以由下面推导得出:
再来看这个例子,假设在二维空间里,如果hypothesis是凸多边形或类圆构成的封闭曲线,如下图所示,左边是convex的,右边不是convex的。那么,它的成长函数是多少呢?
四、Break Point
上一小节,我们介绍了四种不同的成长函数,分别是:
对于2D perceptrons,我们之前分析了3个点,可以做出8种所有的dichotomy,而4个点,就无法做出所有16个点的dichotomy了。所以,我们就把4称为2D perceptrons的break point(5、6、7等都是break point)。令有k个点,如果k大于等于break point时,它的成长函数一定小于2的k次方。
五、总结
本节课,我们更深入地探讨了机器学习的可行性。我们把机器学习拆分为两个核心问题:
欢迎关注公众号学习交流~