《机器学习基石》学习笔记 6 Theory of Generalization

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

一、Restriction of Break Point

我们先回顾一下上节课的内容,四种成长函数与break point的关系:
在这里插入图片描述
下面引入一个例子,如果 k=2,那么当 N 取不同值的时候,计算其成长函数 mH(N)m_H(N) 是多少。很明显,当 N=1 时,mH(N)=2m_H(N) = 2,;当 N=2 时,由 break point 为 2 可知,任意两点都不能被 shattered(shatter的意思是对 N 个点,能够分解为 2N2^N 种 dichotomies ); mH(N)m_H(N) 最大值只能是 3;当 N=3 时,简单绘图分析可得其 mH(N)=4m_H(N)=4 ,即最多只有 4 种 dichotomies。

在这里插入图片描述

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

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

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

二、Bounding Function: Basic Cases

现在,我们引入一个新的函数:bounding function,B(N,k)。Bound Function 指的是当break point 为 k 的时候,成长函数 mH(N)m_H(N) 可能的最大值。也就是说 B(N,k) 是 mH(N)m_H(N) 的上界,对应 mH(N)m_H(N) 最多有多少种 dichotomy。那么,我们新的目标就是证明:
B(N,k)poly(N)B(N,k)≤poly(N)

这里值得一提的是,B(N,k) 的引入不考虑是 1D postive intrervals 问题还是 2D perceptrons 问题,而只关心成长函数的上界是多少,从而简化了问题的复杂度。

在这里插入图片描述
求解 B(N,k) 的过程十分巧妙:

  • 当 k=1 时,B(N,1) 恒为 1。
  • 当 N < k 时,根据 break point 的定义,很容易得到 B(N,k)=2NB(N,k)=2^N
  • 当 N = k 时,此时 N 是第一次出现不能被 shatter 的值,所以最多只能有 2N12^N−1 个dichotomies,则 B(N,k)=2N1B(N,k)=2^N−1

在这里插入图片描述
到此,bounding function 的表格已经填了一半了,对于最常见的 N>k 的情况比较复杂,推导过程下一小节再详细介绍。

三、Bounding Function: Inductive Cases

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

  1. 以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_2x3x_3 是一致的,x4x_4 不同并成对,例如 1 和 5,2 和 8 等,purple 则是单一的,x1,x2,x3x_1, x_2, x_3 都不同,如 6, 7, 9 三组。
      在这里插入图片描述
    • 将 Orange 去掉 x4x_4 后,去重得到 4 个不同的 vector 并成为 α\alpha,相应的 purple 为 β\beta 。那么 B(4,3)=2α+βB(4,3)=2\alpha + \beta,这个是直接转化。紧接着,由定义,B(4,3) 是不能允许任意三点 shatter 的,所以由 α\alphaβ\beta 构成的所有三点组合也不能 shatter(α\alpha 经过去重),即 α+βB(3,3)\alpha + \beta ≤ B(3,3)在这里插入图片描述
    • 另一方面,由于 α\alphax4x_4 是成对存在的,且 α\alpha 是不能被任意三点 shatter 的,则能推导出 α\alpha 是不能被任意两点 shatter 的。这是因为,如果 α\alpha 存在两点两点可以被 shatter,而 x4x_4 又是成对存在的,那么 x1x2x3x4x_1、x_2、x_3、x_4 组成的 α\alpha 必然能被三个点 shatter。这就违背了条件的设定。这个地方的推导非常巧妙,也解释了为什么会这样分组。此处得到的结论是 αB(3,2)\alpha ≤ B(3,2)在这里插入图片描述
  2. 由此得出 B(4,3) 与 B(3,x) 的关系为:在这里插入图片描述
  3. 最后,推导出一般公式为:在这里插入图片描述
  4. 根据推导公式,下表给出 B(N,K) 值在这里插入图片描述

根据递推公式,推导出 B(N,K) 满足下列不等式:在这里插入图片描述
上述不等式的右边是最高阶为 Nk1N^{k-1} 的多项式,也就是说成长函数 mH(N)m_H(N) 的上界 B(N,K) 的上界满足多项式分布 poly(N),这就是我们想要得到的结果。

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

在这里插入图片描述
我们得到的结论是,对于 2D perceptrons,break point 为 k=4,mH(N)m_H(N) 的上界是 Nk1N^{k−1}。推广一下,也就是说,如果能找到一个模型的 break point,且是有限大的,那么就能推断出其成长函数 mH(N)m_H(N) 有界。

四、A Pictorial Proof

我们已经知道了成长函数的上界是 poly(N) 的,下一步,如果能将 mH(N)m_H(N) 代替 M,代入到 Hoffding 不等式中,就能得到 EoutEinE_{out} \approx E_{in}的结论:
在这里插入图片描述
实际上并不是简单的替换就可以了,正确的表达式为:
在这里插入图片描述
该推导的证明比较复杂,我们可以简单概括为三个步骤来证明:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这部分内容,我是既没有听懂,也没有看懂,如果有感兴趣的同学就自己研究吧。

最终,我们通过引入成长函数 mHm_H,得到了一个新的不等式,称为Vapnik-Chervonenkis(VC) bound:
在这里插入图片描述
对于 2D perceptrons,它的 break point 是 4,那么成长函数 mH(N)=O(N3)m_H(N)=O(N^3) 。所以,我们可以说 2D perceptrons 是可以进行机器学习的,只要找到hypothesis 能让 Ein0E_{in} \approx 0,就能保证 EinEoutE_{in} \approx E_{out}

五、总结

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章