本文介绍了机器学习的泛化理论,包括突破点的限制,上限函数的基本情形,上限函数的归纳情形以及形象化的证明。


系列文章

机器学习基石01:机器学习简介
机器学习基石02:感知器算法(Perceptron Algorithm)
机器学习基石03:机器学习的类型(Types of ML)
机器学习基石04:机器学习的可行性(Feasibility of ML)
机器学习基石05:训练与测试(Training versus Testing)
机器学习基石06:泛化理论(Theory of Generalization)
机器学习基石07:VC维(The VC Dimension)
机器学习基石08:噪声和误差(Noise and Error)
机器学习基石09:线性回归(Linear Regression)
机器学习基石10:逻辑回归(Logistic Regression)
机器学习基石11:线性模型分类(Linear Models for Classification)
机器学习基石12:非线性变换(Nonlinear Transformation)
机器学习基石13:过拟合风险(Hazard of Overfitting)
机器学习基石14:正则化(Regularization)
机器学习基石15:交叉验证(Cross Validation)
机器学习基石16:三个重要原则(Three Learning Principles)


文章目录

  • 系列文章
  • 6. Theory of Generalization
    • 6.1 Restriction of Break Point
    • 6.2 Bounding Function- Basic Cases
    • 6.3 Bounding Function- Inductive Cases
    • 6.4 A Pictorial Proof
    • Summary

6. Theory of Generalization

上一节课,主要探讨了 MMM 的数值大小对机器学习的影响。如果 MMM 很大,就不能保证机器学习有很好的泛化能力,所以问题转换为验证 MMM 有限,即最好按照多项式成长。然后通过引入了成长函数和dichotomy以及break point的概念,提出2D perceptrons的成长函数是多项式级别的猜想。这就是本节课将要深入探讨和证明的内容。


6.1 Restriction of Break Point

突破点的限制。先回顾上一章中提到的两个概念。

成长函数(growth function) mH(N)m_H(N)mH​(N) 的定义:假设空间在N个样本点上能产生的最大二分(dichotomy)数量,其中二分是样本点在二元分类情况下的排列组合。

突破点(break point):不能满足完全分类情形的样本点个数。

完全二分类(shattered)是可分出 2N2^N2N 种二分类(dichotomy)的情形。

四种成长函数与break point的关系:

下面引入一个例子,如果k=2,那么当N取不同值的时候,计算其成长函数 mH(N)m_H(N)mH​(N) 是多少。很明显,当N=1时,mH(N)=2m_H(N)= 2mH​(N)=2,;当N=2时,由break point为2可知,任意两点都不能被shattered(shatter是对N个点,能够分解为 2N2^N2N 种dichotomies);mH(N)m_H(N)mH​(N) 最大值只能是3;当N=3时,简单绘图分析可得其 mH(N)=4m_H(N)= 4mH​(N)=4,即最多只有4种dichotomies。

假设N = 3,推导过程如下:

  • 如图(a)表示在3个样本点时随意选择一种二分的情况,这种分类没有问题,不会违反任意两个样本点出现4种不同的二分类情况(因为突破点是2);
  • 如图(b)表示在(a)的基础上,添加不与之前重复的一种二分类,出现了2种不冲突的二分类,此时也没有问题,不会违反任意两个样本点出现4种不同的二分类情况;
  • 如图(c)表示在(b)的基础上,再添加不与之前重复的一种二分类,出现了3种不冲突的二分类,此时也没有问题,不会违反任意两个样本点出现四种不同的二分类情况;
  • 如图(d)表示在(c)的基础上,再添加不与之前重复的一种二分类,问题出现了,样本 x2,x3x_2,x_3x2​,x3​ 出现了4种不同的二分情况,这与已知条件中k=2矛盾(最多只能出现3种二分类),因此将其删去。
  • 如图(e)表示在(c)的基础上,再添加不与之前重复的一种二分类,此时也没有问题,不会违反任意两个样本点出现四种不同的二分类情况;
  • 如图(f)表示在(e)的基础上,再添加不与之前重复的一种二分类,问题又出现了,样本 x1,x3x_1,x_3x1​,x3​ 出现了4种不同的二分情况,这与已知条件中k=2矛盾(最多只能出现3种二分类),因此将其删去。

突破点 k = 2,样本点 N = 3 时,最多只能有4种二分类情况,而 4≪234 \ll 2^34≪23。

从上述情形,可以做一个猜想,成长函数 mH(N)≤m_H(N)\lemH​(N)≤ 某个与突破点k有关的二次项,如果可以证明这一结论,即能寻找到一个可以取代无限大M的数值,同理即能推出公式 PD[BADD]≤2⋅M⋅exp(−2ϵ2N)P_D[BAD D]\le 2 \cdot M \cdot exp(-2\epsilon^2N)PD​[BADD]≤2⋅M⋅exp(−2ϵ2N) 在假设空间为无限大时也是成立,即机器是可以学习的。

假设突破点 k = 1 ,在样本数为3时,最大的二分类个数是多少?答案是1。因为突破点 k = 1,即任意一点不能被shatter,样本为3时,只有一种分类情形,假设这种情形是正,则以后所有样本也为正,才能满足上述条件,所以样本N不论为多少,其最大二分类数都是1。

所以,当 N>k 时,break point 限制了 mH(N)m_H(N)mH​(N) 值的大小,也就是说影响成长函数 mH(N)m_H(N)mH​(N) 的因素主要有两个:

  • 抽样数据集 N
  • break point k(这个变量确定了假设的类型)

如果给定N和k,能够证明其 mH(N)m_H(N)mH​(N) 的最大值的上界是多项式的,则根据霍夫丁不等式,就能用代替M,得到机器学习是可行的。所以,证明的 mH(N)m_H(N)mH​(N) 上界是poly(N),是我们的目标。


6.2 Bounding Function- Basic Cases

上限函数的基本情形。

现在,引入一个新的函数:bounding function,B(N,k)B(N,k)B(N,k)。Bound Function:当最小突破点为k时,成长函数 mH(N)m_H(N)mH​(N) 最大值的函数表示。也就是说B(N,k)是 mH(N)m_H(N)mH​(N) 的上界,对应 mH(N)m_H(N)mH​(N) 最多有多少种dichotomy。此函数将成长函数从各种假设空间的关系中解放出来,不用再去关心具体的假设,只需了解此假设的突破点,突破点相同的假设视为一类,抽象化成长函数与假设的关系。那么,新的目标就是证明:B(N,k)≤poly(N)B(N,k) \le poly(N)B(N,k)≤poly(N)
这里值得一提的是,B(N,k)B(N,k)B(N,k) 的引入不考虑是1D postive intrervals问题还是2D perceptrons问题,而只关心成长函数 mH(N)m_H(N)mH​(N) 的上界是多少,从而简化了问题的复杂度。

二分类的个数或者称之为成长函数 mH(N)m_H(N)mH​(N) 说白了就是二元(在图中表示为"×"或者"○"的符号)符号在长度为N的情况下的排列组合(每个不同的排列代表一个二分类,每种二分类可看做一个向量)个数。

提出上限函数的好处在于,可以不用关心到底使用的是何种假设空间,只需要知道突破点便可以得到一个上限函数来对成长函数做约束。

求解 B(N,k)B(N,k)B(N,k) 的过程十分巧妙:

  • 当k=1时,B(N,1)B(N,1)B(N,1) 恒为1;
  • 当N < k时,根据break point的定义,易知 B(N,k)=2NB(N,k) =2^NB(N,k)=2N。
  • 当N = k时,此时N是第一次出现不能被shatter的值,所以最多只能有 2N−12^N -12N−1 个dichotomies,则 B(N,k)=2N−1B(N,k) =2^N - 1B(N,k)=2N−1。原因是突破点代表不能完全二分类 2N2^N2N 的情况,因此在此情况下最大的二分类数可以是 2N−12^N - 12N−1。在这条斜线的右上角区域所有的点都满足完全二分类的,因此值为 2N2^N2N。

    对于最常见的N>k的情况比较复杂,推导过程下一小节再详细介绍。

6.3 Bounding Function- Inductive Cases

上限函数的归纳情形。

从已有的数据上可以看出一个似乎是正确的结论:每个值等于它正上方与左上方的值相加。公式为:B(N,k)=B(N−1,k)+B(N−1,k−1)B(N,k)=B(N-1,k)+B(N-1,k-1)B(N,k)=B(N−1,k)+B(N−1,k−1)。

N > k的情况较为复杂,下面给出推导过程:

以B(4,3)为例,首先想能否构建B(4,3)与B(3,x)之间的关系。

首先,把B(4,3)所有情况写下来,共有11组。也就是说再加一种dichotomy,任意三点都能被shattered,11是极限。

对这11种dichotomy分组,目前分成两组,分别是orange和purple,orange的特点是,x1,x2x_1,x_2x1​,x2​和x3x_3x3​是一致的,x4x_4x4​ 是成对出现的,例如01和05,02和08等;purple则是单一的,x1,x2,x3x_1,x_2,x_3x1​,x2​,x3​都不同,如06,07,09三组。

注意 k=3k=3k=3 ,意味着在样本点为3时,不能满足完全二分的情形。需要观察在样本数为3时,这11种分类会有何变化,不妨假设这三个样本是 x1,x2,x3x_1,x_2,x_3x1​,x2​,x3​ ,于是只剩下图中所示的7种二分类情形。

将原本两两成对出现的orange去掉 x4x_4x4​列后,去重得到4个不同的vector并成为 α\alphaα,即有 α\alphaα 对二分类, 2α2\alpha2α种二分类,相应的purple为β\betaβ。那么 B(4,3)=2α+βB(4,3) = 2 \alpha + \betaB(4,3)=2α+β,这个是直接转化。已知 N=4,k=3N=4,k=3N=4,k=3 ,由定义,B(4,3)是不能允许任意三点shatter的,所以由α\alphaα和β\betaβ构成的所有3点组合也不能 shattered(alpha经过去重),因此,一定满足式α+β≤B(3,3)\alpha + \beta \le B(3,3)α+β≤B(3,3)。

另一方面,由于α\alphaα中 x4x_4x4​ 是成对存在的,且是不能被任意三点shatter的,则能推导出α\alphaα是不能被任意两点shatter的。这是因为,如果是不能被任意两点shatter,而 x4x_4x4​ 又是成对存在的,那么 x1、x2、x3、x4x_1、x_2、x_3、x_4x1​、x2​、x3​、x4​ 组成的 α\alphaα 必然能被三个点shatter。这就违背了条件的设定。这个地方的推导非常巧妙,也解释了为什么会这样分组。

使用反证法证明。假设x1、x2、x3x_1、x_2、x_3x1​、x2​、x3​三个样本在如下图所示的4种二分类情况下,满足任意两个样本都可完全二分类。将x1、x2、x3x_1、x_2、x_3x1​、x2​、x3​中任意两列取出,同之前被删除的x4x_4x4​ 列相结合,一定可得到一种三个样本都满足完全二分类的情形(因为不论是哪两列与x4x_4x4​相结合都会得到8种二分类,每一行二分类都对应两个不同标记的x4x_4x4​,因此为8种。且两列四行的二分类是全完二分的,在此基础上加上不同属性的列,应该也不会重复,因此一定也是全完二分的)。但是此结论和已知任意三个样本不能完全二分冲突了,因此假设不成立,即在下图中一定存在某两个样本点不能完全二分的情况,因此得到的结论是 α≤B(3,2)\alpha \le B(3,2)α≤B(3,2)。

由此得出B(4,3)与B(3,x)的关系为:

最后,推导出一般公式为:

根据推导公式,下表给出B(N,K)值

根据递推公式,推导出B(N,K)满足下列不等式:

上述不等式的右边是最高阶为k-1的N多项式,也就是说成长函数的上界B(N,K)的上界满足多项式分布 poly(N)poly(N)poly(N),这就是想要得到的结果。

首先需要预先了解组合中的一个定理,CNk=CN−1k+CN−1k−1C_N^k = C_{N-1}^k + C_{N-1}^{k-1}CNk​=CN−1k​+CN−1k−1​。很容易证明 k=1k=1k=1的情况下,上图中公式 B(N,k)≤∑i=0kCNiB(N,k) \le \sum_{i=0}^{k}C_{N}^iB(N,k)≤∑i=0k​CNi​ 成立。

假设B(N−1,k)≤∑i=0k−1CN−1iB(N-1,k) \le \sum_{i=0}^{k-1}C_{N-1}^iB(N−1,k)≤∑i=0k−1​CN−1i​成立;则在 k≥2k \ge 2k≥2的情况下有:

B(N−1,k−1)≤∑i=0k−2CN−1i=∑i=1k−1CN−1i−1B(N-1,k-1) \le \sum_{i=0}^{k-2}C_{N-1}^i=\sum_{i=1}^{k-1}C_{N-1}^{i-1}B(N−1,k−1)≤∑i=0k−2​CN−1i​=∑i=1k−1​CN−1i−1​;则有:

B(N,k)≤B(N−1,k)+B(N−1,k−1)B(N,k) \le B(N-1,k)+B(N-1,k-1)B(N,k)≤B(N−1,k)+B(N−1,k−1)

≤∑i=0k−1CN−1i+∑i=0k−2CN−1i\le \sum_{i=0}^{k-1}C_{N-1}^i + \sum_{i=0}^{k-2}C_{N-1}^{i}≤∑i=0k−1​CN−1i​+∑i=0k−2​CN−1i​

=∑i=0k−1CN−1i+∑i=1k−1CN−1i−1= \sum_{i=0}^{k-1}C_{N-1}^i + \sum_{i=1}^{k-1}C_{N-1}^{i-1}=∑i=0k−1​CN−1i​+∑i=1k−1​CN−1i−1​

=CN−10+∑i=1k−1(CN−1i+CN−1i)= C_{N-1}^0 + \sum_{i=1}^{k-1}(C_{N-1}^i +C_{N-1}^i)=CN−10​+∑i=1k−1​(CN−1i​+CN−1i​)

=1+∑i=1k−1CNi= 1 + \sum_{i=1}^{k-1}C_{N}^i=1+∑i=1k−1​CNi​

=CN0+∑i=1k−1CN−1i= C_N^0 + \sum_{i=1}^{k-1}C_{N-1}^i=CN0​+∑i=1k−1​CN−1i​

=∑i=0k−1CN−1i= \sum_{i=0}^{k-1}C_{N-1}^i=∑i=0k−1​CN−1i​

这一结果意味着:成长函数 mH(N)m_H(N)mH​(N) 的上限函数 B(N,k)B(N,k)B(N,k) 的上限为 Nk−1N^{k-1}Nk−1。

得到了的上界B(N,K)的上界满足多项式分布 poly(N)poly(N)poly(N)后,回过头来看之前介绍的几种类型的成长函数与break point的关系:

得到的结论是,对于2D perceptrons,break point为k=4, 成长函数的的上界是 Nk−1N^{k-1}Nk−1。推广一下,也就是说,如果能找到一个模型的break point,且是有限大的,那么就能推断出其成长函数有界。


6.4 A Pictorial Proof

一种形象化的证明。

在这一小节之前,说明一下,面对这一小节时,因为林老师本身也没打算将这个证明的详细流程全部给出,我觉得原因有几个:一是难度很高,即使全部讲解能听懂的估计也没几个;二是思想更重要,只需要知道它用到了什么原理去证明这个问题,这比了解这枯燥的数学推导更重要;三是结论比求解过程更重要。

在讲述之前几章时,一直以为只需要证明出在假设函数为无限多的情况下,寻找成长函数mH(N)m_H(N)mH​(N) 作为假设空间个数的上限,直接使用该上限去取代原本霍夫丁不等式中的M便可得出结论,即在Ein(g)E_{in}(g)Ein​(g) 接近0时,Eout(g)E_{out}(g)Eout​(g) 也接近0,也就是机器是可以学习的。实际与这一结果类似,但是稍有偏差,在霍夫丁不等式(如公式6-13所示)中多出一些常量。

比较两个公式,实际结论比猜想的公式,在不等式右侧三个不同位置多了三个常数。下面按照先后顺序,分三步简单说明这些变化的原因。可参考这位博主的证明:

第一步:Ein(g)E_{in}(g)Ein​(g) 取代 Eout(g)E_{out}(g)Eout​(g)


其中 Ein(h)E_{in}(h)Ein​(h) 的可能性是有限多种,因为假设空间的种类被成长函数 mH(h)m_H(h)mH​(h) 约束住了,而样本的大小又是固定的,所以错误率最多只有 mH(h)m_H(h)mH​(h) 种;但是 mH(h)m_H(h)mH​(h) 的可能性还是无限多,因为数据是无限大,错误率也自然也会无限多种。为了解决此问题,提出了一种叫做 影子数据(ghost data) 的概念。使用跟输入样本一样多的数据 D′D'D′,有 D′=DD'=DD′=D,用这组新的样本取代整个样本去近似求解在无限大的数据中 EoutE_{out}Eout​ 的值,求解的近似值记为 Ein′E'_{in}Ein′​。EinE_{in}Ein​ 和 Ein′E'_{in}Ein′​ 的分布情况如上图所示,其中 EoutE_{out}Eout​ 为它俩的分布中心,假设在数据 DDD 的情况下 ∣Ein−Eout∣|E_{in}- E_{out}|∣Ein​−Eout​∣很大,从图中不难看出,再抽取一次数据 D′D'D′ 得到的 ∣Ein′−Eout∣|E'_{in}- E_{out}|∣Ein′​−Eout​∣很大 的几率,最多只有条件∣Ein−Eout∣|E_{in}- E_{out}|∣Ein​−Eout​∣很大 的一半概率,意味着 EinE_{in}Ein​ 和 Ein′E'_{in}Ein′​ 很接近的几率最多只有∣Ein−Eout∣|E_{in}- E_{out}|∣Ein​−Eout​∣很大 这个条件的一半(因为从该图中得知 EinE_{in}Ein​ 和 Ein′E'_{in}Ein′​ 只可能变得小于EoutE_{out}Eout​),即∣Ein′−Eout∣|E'_{in}- E_{out}|∣Ein′​−Eout​∣很小的几率最多只有∣Ein−Eout∣|E_{in}- E_{out}|∣Ein​−Eout​∣很大 这一几率的一半。用公式表示其含义如下:

第二步,分解假设空间的种类

第三步:使用无取回的霍夫丁

还是用小球和罐子的那个例子解释,罐子中不再是无限多个小球,而是2N个小球,选择N个小球而留下另外N个,可以通过下图公式得出如下结论。

最终,通过引入成长函数,得到了一个在机器学习领域很著名的理论——V-C上界制(Vapnik-Chervonenkis bound)。

对于2D perceptrons,它的break point是4,那么成长函数 mH(N)≈O(N3)m_H(N) \approx O(N^3)mH​(N)≈O(N3)。可以使用这个VC bound来说明在样本N足够大时候,发生坏事的情况很少,即选择一个在样本中错误率很小的g,可以得出其在整个数据上错误率也很低的结论,说明机器学习是可行的。



Summary

本节课我们主要介绍了只要存在break point,那么其成长函数就满足poly(N)poly(N)poly(N)。推导过程是先引入成长函数 mH(N)m_H(N)mH​(N)的的上界 B(N,k)B(N,k)B(N,k),B(N,k)B(N,k)B(N,k)的上界是N的k-1阶多项式,从而得到mH(N)m_H(N)mH​(N)的上界就是N的k-1阶多项式。然后,通过简单的三步证明,将代入了Hoffding不等式中,推导出了Vapnik-Chervonenkis(VC)bound,最终证明了只要break point存在,那么机器学习就是可行的。


参考:
https://www.cnblogs.com/ymingjingr/p/4290983.html
https://github.com/RedstoneWill/HsuanTienLin_MachineLearning

机器学习基石06:泛化理论(Theory of Generalization)相关推荐

  1. 机器学习基石13:过拟合风险(Hazard of Overfitting)

    本文详细介绍了过拟合的概念,造成过拟合的原因以及过拟合的解决方案. 系列文章 机器学习基石01:机器学习简介 机器学习基石02:感知器算法(Perceptron Algorithm) 机器学习基石03 ...

  2. 机器学习基石12:非线性变换(Nonlinear Transformation)

    本文介绍了非线性变换的整体流程:通过非线性变换,将非线性模型映射到另一个空间,转换为线性模型,再来进行线性分类. 之后介绍了非线性变换存在的问题:时间复杂度和空间复杂度的增加. 最后证明了非线性变换的 ...

  3. 机器学习基石05:训练与测试(Training versus Testing)

    上一篇文章介绍了机器学习的可行性.本文将讨论机器学习的核心问题,严格证明为什么机器可以学习. 系列文章 机器学习基石01:机器学习简介 机器学习基石02:感知器算法(Perceptron Algori ...

  4. 机器学习基石笔记(六):泛化理论

    文章目录 Lecture 6: Theory of Generalization Restriction of Break Point Fun Time Bounding Function: Basi ...

  5. 台湾大学林轩田机器学习基石课程学习笔记6 -- Theory of Generalization

    红色石头的个人网站:redstonewill.com 上一节课,我们主要探讨了当M的数值大小对机器学习的影响.如果M很大,那么就不能保证机器学习有很好的泛化能力,所以问题转换为验证M有限,即最好是按照 ...

  6. 林轩田机器学习基石Lecture 6: Theory of Generalization

    @Lecture 6: Theory of Generalization Restriction of Break Point 确定假设H的成长函数是限定的,也就是H关于样本个数N的成长函数,如果mH ...

  7. 台湾国立大学机器学习基石.听课笔记(第六讲): 一般化(举一反三)的理论

    Lecture 6: Theory of Generalization(一般化(举一反三)的理论) 一.Restriction of Break Point(切断点的限制) 当break point ...

  8. 台湾大学林轩田机器学习基石课程学习笔记13 -- Hazard of Overfitting

    红色石头的个人网站:redstonewill.com 上节课我们主要介绍了非线性分类模型,通过非线性变换,将非线性模型映射到另一个空间,转换为线性模型,再来进行分类,分析了非线性变换可能会使计算复杂度 ...

  9. 机器学习基石13-Hazard of Overfitting

    注: 文章中所有的图片均来自台湾大学林轩田<机器学习基石>课程. 笔记原作者:红色石头 微信公众号:AI有道 上节课主要介绍了非线性分类模型,通过非线性变换,将非线性模型映射到另一个空间, ...

最新文章

  1. WEB登录H3C模拟器
  2. java 工厂的变形模拟的各种应用
  3. 0经验跨行,我怎么拿到谷歌offer的?
  4. 其他手机有机会用鸿蒙,即将发布的荣耀50系列手机可以有机会用鸿蒙系统吗?...
  5. window和linux下Redis 安装和使用
  6. oracle 事务实现原理,数据库事务的实现原理
  7. python基础 数据类型
  8. 中国银行网点全集数据
  9. python实现简单购物系统
  10. 计算机毕业设计-springboot协同办公管理系统-公文流转系统代码设计-多人协同办公讨论管理系统
  11. 河南省第八届ACM程序设计竞赛(未完再续)
  12. 调整计算机硬盘大小,固态硬盘分区如何合并 自己调整磁盘大小真的很实用
  13. 学python还是matlab_先学matlab还是python-女性时尚流行美容健康娱乐mv-ida网
  14. 大龄程序猿的出路在哪里
  15. 内网穿透远程访问家里的群晖NAS 1-2
  16. 手机天猫将全面升级,成为天猫新零售入口丨对话天猫总裁靖捷
  17. PTA-L1-088 静静的推荐(C++)
  18. 《MongoDB在信息资源共享建设的应用实践》
  19. python中str()的使用
  20. Java多线程B站爬虫与45万条视频数据,mysql批量写入性能对比,附代码

热门文章

  1. 微信支付签约委托代扣文档 - 月付会员或者定期支付服务 - APP纯签约
  2. 苹果手机2019年什么时候出新款_[创立24周年]因强大而简单.智者,驭时而进 唯一的对手是上一个自己。要有舍才有得! - 手机数码电玩维修...
  3. T100 ERP 开发说明(二)
  4. qt有关tcpserver中读取数据时是否使用flush时的研究
  5. html手机9张图片显示,怎么把一张图片分成9张(手机美图秀秀九宫格在哪)
  6. 哪个选项不是python文件打开的合法模式组合_下面代码的输出结果是( ):
  7. 使用keytool工具常用证书转换
  8. 台式电脑计算机硬盘清理,怎样清理台式电脑硬盘垃圾
  9. android酷炫转圈动画,android常用旋转线条加载动画
  10. 智能运维 | 我们不一样!告诉你百度云如何做智能流量异常检测