# 6 -- Theory of Generalization
上一节课,我们主要探讨了当M的数值大小对机器学习的影响。如果M很大,那么就不能保证机器学习有很好的泛化能力,所以问题转换为验证M有限,即最好是按照多项式成长。然后通过引入了成长函数![](https://img.kancloud.cn/51/56/515626ad9a6c314226ca818d6a40392f_52x18.jpg)和dichotomy以及break point的概念,提出2D perceptrons的成长函数![](https://img.kancloud.cn/51/56/515626ad9a6c314226ca818d6a40392f_52x18.jpg)是多项式级别的猜想。这就是本节课将要深入探讨和证明的内容。
### **一、Restriction of Break Point**
我们先回顾一下上节课的内容,四种成长函数与break point的关系:
![这里写图片描述](https://img.kancloud.cn/ef/70/ef7059b80a060dee27473d8dae99a10d_566x255.jpg)
下面引入一个例子,如果k=2,那么当N取不同值的时候,计算其成长函数![](https://img.kancloud.cn/51/56/515626ad9a6c314226ca818d6a40392f_52x18.jpg)是多少。很明显,当N=1时,![](https://img.kancloud.cn/51/56/515626ad9a6c314226ca818d6a40392f_52x18.jpg)=2,;当N=2时,由break point为2可知,任意两点都不能被shattered(shatter的意思是对N个点,能够分解为![](https://img.kancloud.cn/5a/f8/5af8688894f120bdcab8768507fdff02_19x14.jpg)种dichotomies);![](https://img.kancloud.cn/51/56/515626ad9a6c314226ca818d6a40392f_52x18.jpg)最大值只能是3;当N=3时,简单绘图分析可得其![](https://img.kancloud.cn/51/56/515626ad9a6c314226ca818d6a40392f_52x18.jpg),即最多只有4种dichotomies。
![这里写图片描述](https://img.kancloud.cn/0c/88/0c88b2335d3f1173a19fe5195b886102_566x183.jpg)
所以,我们发现当N>k时,break point限制了![](https://img.kancloud.cn/51/56/515626ad9a6c314226ca818d6a40392f_52x18.jpg)值的大小,也就是说影响成长函数![](https://img.kancloud.cn/51/56/515626ad9a6c314226ca818d6a40392f_52x18.jpg)的因素主要有两个:
* 抽样数据集N
* break point k(这个变量确定了假设的类型)
那么,如果给定N和k,能够证明其![](https://img.kancloud.cn/51/56/515626ad9a6c314226ca818d6a40392f_52x18.jpg)的最大值的上界是多项式的,则根据霍夫丁不等式,就能用![](https://img.kancloud.cn/51/56/515626ad9a6c314226ca818d6a40392f_52x18.jpg)代替M,得到机器学习是可行的。所以,证明![](https://img.kancloud.cn/51/56/515626ad9a6c314226ca818d6a40392f_52x18.jpg)的上界是poly(N),是我们的目标。
![这里写图片描述](https://img.kancloud.cn/0d/c9/0dc97b6fdcf7a4a14c9d5c6e614826c2_384x93.jpg)
### **二、Bounding Function: Basic Cases**
现在,我们引入一个新的函数:bounding function,B(N,k)。Bound Function指的是当break point为k的时候,成长函数![](https://img.kancloud.cn/51/56/515626ad9a6c314226ca818d6a40392f_52x18.jpg)可能的最大值。也就是说B(N,k)是![](https://img.kancloud.cn/51/56/515626ad9a6c314226ca818d6a40392f_52x18.jpg)的上界,对应![](https://img.kancloud.cn/51/56/515626ad9a6c314226ca818d6a40392f_52x18.jpg)最多有多少种dichotomy。那么,我们新的目标就是证明:
这里值得一提的是,B(N,k)的引入不考虑是1D postive intrervals问题还是2D perceptrons问题,而只关心成长函数的上界是多少,从而简化了问题的复杂度。
![这里写图片描述](https://img.kancloud.cn/cc/5b/cc5b71d65f85ae77c3d76a6306983714_566x216.jpg)
求解B(N,k)的过程十分巧妙:
* 当k=1时,B(N,1)恒为1。
* 当N < k时,根据break point的定义,很容易得到![](https://img.kancloud.cn/64/5c/645c90e6a643c7c2f5602d3a2790c993_97x18.jpg)。
* 当N = k时,此时N是第一次出现不能被shatter的值,所以最多只能有![](https://img.kancloud.cn/5a/f8/5af8688894f120bdcab8768507fdff02_19x14.jpg)个dichotomies,则![](https://img.kancloud.cn/64/5c/645c90e6a643c7c2f5602d3a2790c993_97x18.jpg)。
![这里写图片描述](https://img.kancloud.cn/d1/39/d139afd0e51b1af4c1ff16990f3f491f_566x221.jpg)
到此,bounding function的表格已经填了一半了,对于最常见的N>k的情况比较复杂,推导过程下一小节再详细介绍。
### **三、Bounding Function: Inductive Cases**
N > k的情况较为复杂,下面给出推导过程:
以B(4,3)为例,首先想着能否构建B(4,3)与B(3,x)之间的关系。
首先,把B(4,3)所有情况写下来,共有11组。也就是说再加一种dichotomy,任意三点都能被shattered,11是极限。
![这里写图片描述](https://img.kancloud.cn/3c/6d/3c6de6609f96cebdb500d845bd29f6af_224x285.jpg)
对这11种dichotomy分组,目前分成两组,分别是orange和purple,orange的特点是,x1,x2和x3是一致的,x4不同并成对,例如1和5,2和8等,purple则是单一的,x1,x2,x3都不同,如6,7,9三组。
![这里写图片描述](https://img.kancloud.cn/43/89/438900e0edfed76f91ffd9302b740d0b_561x326.jpg)
将Orange去掉x4后去重得到4个不同的vector并成为![](https://img.kancloud.cn/a9/ee/a9ee3ebafb44808c3cbda09f39a2917a_10x7.jpg),相应的purple为![](https://img.kancloud.cn/67/8a/678a8c223bcbb1f3c6aabf3c286630ce_10x14.jpg)。那么![](https://img.kancloud.cn/78/c2/78c213ecc1237c735d53844a1c951536_119x18.jpg),这个是直接转化。紧接着,由定义,B(4,3)是不能允许任意三点shatter的,所以由![](https://img.kancloud.cn/a9/ee/a9ee3ebafb44808c3cbda09f39a2917a_10x7.jpg)和![](https://img.kancloud.cn/67/8a/678a8c223bcbb1f3c6aabf3c286630ce_10x14.jpg)构成的所有三点组合也不能shatter(alpha经过去重),即![](https://img.kancloud.cn/a9/ee/a9ee3ebafb44808c3cbda09f39a2917a_10x7.jpg)。
![这里写图片描述](https://img.kancloud.cn/95/ea/95eae24953a2e7e6fdc7f205f0d9e0dd_559x328.jpg)
另一方面,由于![](https://img.kancloud.cn/a9/ee/a9ee3ebafb44808c3cbda09f39a2917a_10x7.jpg)中x4是成对存在的,且![](https://img.kancloud.cn/a9/ee/a9ee3ebafb44808c3cbda09f39a2917a_10x7.jpg)是不能被任意三点shatter的,则能推导出![](https://img.kancloud.cn/a9/ee/a9ee3ebafb44808c3cbda09f39a2917a_10x7.jpg)是不能被任意两点shatter的。这是因为,如果![](https://img.kancloud.cn/a9/ee/a9ee3ebafb44808c3cbda09f39a2917a_10x7.jpg)是不能被任意两点shatter,而x4又是成对存在的,那么x1、x2、x3、x4组成的![](https://img.kancloud.cn/a9/ee/a9ee3ebafb44808c3cbda09f39a2917a_10x7.jpg)必然能被三个点shatter。这就违背了条件的设定。这个地方的推导非常巧妙,也解释了为什么会这样分组。此处得到的结论是![](https://img.kancloud.cn/a9/ee/a9ee3ebafb44808c3cbda09f39a2917a_10x7.jpg)
![这里写图片描述](https://img.kancloud.cn/e0/81/e0813bd8ce5db72297020eb8be387355_560x324.jpg)
由此得出B(4,3)与B(3,x)的关系为:
![这里写图片描述](https://img.kancloud.cn/fb/89/fb8902c4ca01ba7a4061fc73b2972c7b_564x122.jpg)
最后,推导出一般公式为:
![这里写图片描述](https://img.kancloud.cn/13/2f/132fd0e215d88415a6c50f72f9978208_560x118.jpg)
根据推导公式,下表给出B(N,K)值
![这里写图片描述](https://img.kancloud.cn/81/67/81672a60e9e6a7926c7aa35a0f952846_562x191.jpg)
根据递推公式,推导出B(N,K)满足下列不等式:
![这里写图片描述](https://img.kancloud.cn/ea/80/ea80adc93a1cdee6d7c9d2e273f8fa89_554x98.jpg)
上述不等式的右边是最高阶为k-1的N多项式,也就是说成长函数![](https://img.kancloud.cn/51/56/515626ad9a6c314226ca818d6a40392f_52x18.jpg)的上界B(N,K)的上界满足多项式分布poly(N),这就是我们想要得到的结果。
得到了![](https://img.kancloud.cn/51/56/515626ad9a6c314226ca818d6a40392f_52x18.jpg)的上界B(N,K)的上界满足多项式分布poly(N)后,我们回过头来看看之前介绍的几种类型它们的![](https://img.kancloud.cn/51/56/515626ad9a6c314226ca818d6a40392f_52x18.jpg)与break point的关系:
![这里写图片描述](https://img.kancloud.cn/f8/da/f8da66d501158c0667c9958f90b5d976_566x183.jpg)
我们得到的结论是,对于2D perceptrons,break point为k=4,![](https://img.kancloud.cn/51/56/515626ad9a6c314226ca818d6a40392f_52x18.jpg)的上界是![](https://img.kancloud.cn/04/17/0417697c19243c90db65bf43fcf83ba3_35x14.jpg)。推广一下,也就是说,如果能找到一个模型的break point,且是有限大的,那么就能推断出其成长函数![](https://img.kancloud.cn/51/56/515626ad9a6c314226ca818d6a40392f_52x18.jpg)有界。
### **四、A Pictorial Proof**
我们已经知道了成长函数的上界是poly(N)的,下一步,如果能将![](https://img.kancloud.cn/51/56/515626ad9a6c314226ca818d6a40392f_52x18.jpg)代替M,代入到Hoffding不等式中,就能得到![](https://img.kancloud.cn/6f/c7/6fc7702fbf9cb862010777554e97d82d_74x14.jpg)的结论:
![这里写图片描述](https://img.kancloud.cn/fd/9c/fd9c5c36280b0548aad46603a9d3a557_566x108.jpg)
实际上并不是简单的替换就可以了,正确的表达式为:
![这里写图片描述](https://img.kancloud.cn/c0/22/c0220c9194c332a9789e8f76214d0493_566x91.jpg)
该推导的证明比较复杂,我们可以简单概括为三个步骤来证明:
![这里写图片描述](https://img.kancloud.cn/a5/4b/a54b85f77d0c26f13ba558bb5c071cb0_566x385.jpg)
![这里写图片描述](https://img.kancloud.cn/72/d6/72d6f01b10eca305c01245be19545365_566x355.jpg)
![这里写图片描述](https://img.kancloud.cn/50/e4/50e413b4d4bb0bb65a2d0a3912eb7be2_566x392.jpg)
这部分内容,我也只能听个大概内容,对具体的证明过程有兴趣的童鞋可以自行研究一下,研究的结果记得告诉一下我哦。
最终,我们通过引入成长函数![](https://img.kancloud.cn/b8/3d/b83dac2572351ca2b87995181ffd66bb_25x10.jpg),得到了一个新的不等式,称为Vapnik-Chervonenkis(VC) bound:
![这里写图片描述](https://img.kancloud.cn/05/7e/057ecd77b72464a53c5a8a7b087e4bbf_566x127.jpg)
对于2D perceptrons,它的break point是4,那么成长函数![](https://img.kancloud.cn/51/56/515626ad9a6c314226ca818d6a40392f_52x18.jpg)。所以,我们可以说2D perceptrons是可以进行机器学习的,只要找到hypothesis能让![](https://img.kancloud.cn/c9/38/c938ce5f2a3f7dfb47848be0e1a75bfc_54x15.jpg),就能保证![](https://img.kancloud.cn/20/fb/20fb42022bbd4be133366b923dd6b2aa_75x14.jpg)。
### **五、总结**
本节课我们主要介绍了只要存在break point,那么其成长函数![](https://img.kancloud.cn/51/56/515626ad9a6c314226ca818d6a40392f_52x18.jpg)就满足poly(N)。推导过程是先引入![](https://img.kancloud.cn/51/56/515626ad9a6c314226ca818d6a40392f_52x18.jpg)的上界B(N,k),B(N,k)的上界是N的k-1阶多项式,从而得到![](https://img.kancloud.cn/51/56/515626ad9a6c314226ca818d6a40392f_52x18.jpg)的上界就是N的k-1阶多项式。然后,我们通过简单的三步证明,将![](https://img.kancloud.cn/51/56/515626ad9a6c314226ca818d6a40392f_52x18.jpg)代入了Hoffding不等式中,推导出了Vapnik-Chervonenkis(VC) bound,最终证明了只要break point存在,那么机器学习就是可行的。
**_注明:_**
文章中所有的图片均来自台湾大学林轩田《机器学习基石》课程。
- 台湾大学林轩田机器学习笔记
- 机器学习基石
- 1 -- The Learning Problem
- 2 -- Learning to Answer Yes/No
- 3 -- Types of Learning
- 4 -- Feasibility of Learning
- 5 -- Training versus Testing
- 6 -- Theory of Generalization
- 7 -- The VC Dimension
- 8 -- Noise and Error
- 9 -- Linear Regression
- 10 -- Logistic Regression
- 11 -- Linear Models for Classification
- 12 -- Nonlinear Transformation
- 13 -- Hazard of Overfitting
- 14 -- Regularization
- 15 -- Validation
- 16 -- Three Learning Principles
- 机器学习技法
- 1 -- Linear Support Vector Machine
- 2 -- Dual Support Vector Machine
- 3 -- Kernel Support Vector Machine
- 4 -- Soft-Margin Support Vector Machine
- 5 -- Kernel Logistic Regression
- 6 -- Support Vector Regression
- 7 -- Blending and Bagging
- 8 -- Adaptive Boosting
- 9 -- Decision Tree
- 10 -- Random Forest
- 11 -- Gradient Boosted Decision Tree
- 12 -- Neural Network
- 13 -- Deep Learning
- 14 -- Radial Basis Function Network
- 15 -- Matrix Factorization
- 16(完结) -- Finale