7-ML的可行性(4)

5. vc-dimension及vc-bound

  1. 定义scater:如果一个h在处理包含N个样本点的某一个数据集D时能产生 \(2^N\) 个dichtopy,就说h能schater这N个样本点。【看清楚,我只说存在一个D,并没有说面对所有的N-input,我的这个h都能产生 \(2^N\) 个dichtomy】

  2. 定义vc-dimension:
    • 从上述讨论我们看出,开始N很小的时候,h都能schater这N个样本点,但是N越来越大时,总会【存】在一个阈值K,使得h无法schater这K个样本点。这个阈值K就是第一个break-point,也就是【最小】的的break-point。因为往后,任意一个N>K,h都无法schater掉这N个样本点了【原因在于,当前的h连K的最大dichtomy数 \(2^K\) 都无法产生,更别提更大的dichtomy数了】。
    • 联系上述【最小】的break point,我们取【最大】的一个non-break point,即K-1,定义这个K-1为vc-dimension,记做 \(d_{vc}\) 。显然,这个 \(d_{vc}\) 标识了【能shcater的最多的样本点数目为 \(d_{vc}\) 】的一组h【即与具体h无关】,再多输入一个样本点,h就不能shcater任意一个包含 \(d_{vc}+1\) 个样本点集合D了,因为 \(d_{vc}+1\) 是这一组h的【最小】的break-point。
  3. vc-dimension的物理含义:
    至少目前我理解了两个含义:
    • 从直观的角度:
      因为 \(d_{vc}\) 表示当前h能够schater掉 \(d_{vc}\) 个样本点,即产生 \(2^{d_{vc}}\) 个dichtomy,这其实就表示了当前h的powerfulness,因为它能产生这么多的分界直线{分界面},那么进而找到了一个很合适的h,使得 \(E_{in} \approx 0\)
    • 从BAD DATA的角度看:
      当前h的|group|的upper-bound的upper-bound的upper-bound是指数函数的,即 \(2^{d_{vc}}\) ,对应着当前h产生BAD-DATA的概率很大。这表明:当前h在面对“这样一个样本点规模 \(d_{vc}\) 时”,存在风险,这是vc-dimension给我们的一个信息。(说明当前N还不够大,需要继续增大N)
    • 我们的目标就是:因为当 \(N > d_{vc}\) 时, \(B(N,K) = o(N^{K-1})\) ,那么找一个恰当的N,上述h的风险就有可能降低。\(d_{vc}\) 就是我们研究这个恰当的N的关键线索。
  4. vc-bound:(证明过程见“|group|可以代替M”那里)

    \[ \mathbb{P}[BAD] = \mathbb{P}[\exists h \in \mathcal{H}\text{ s.t. } |E_{in}(h)-E_{out}(h)|\gt \epsilon] \\ \leq 4m_{\mathcal{H}}(2N)exp(-\frac{1}{8}\epsilon^2N) \\ = 4(2N)^{d_{vc}}exp(-\frac{1}{8}\epsilon^2N) \\ \]

    根据上式,我们得出结论:

    • h存在break point,即 \(d_{vc}(H)\) 是有限的(definite),这样的H才是good的【保证BAD-DATA的概率很小,故而 \(E_{out} = E_{in}\)
    • 训练数据数目N足够大【能保证BAD-DATA的概率很小,故而 \(E_{out} = E_{in}\)
    • 算法A能在 \(D_{in}\) 中找到 \(E_{in} \approx 0\) 的那个h

    满足了上述三个条件,则Machine Learning 是可行的,有意义的。如下以2D perceptrons为例:

    image

  5. 求解 $d_{vc} ;of; \mathcal{H} $
    由上面推导知, \(d_{vc}\) 是对假设空间 $\mathcal{H} $ 的一个描述,与具体的hypothesis、D、f均无关,如果用定义求太过繁琐而不具备可操作性。
    先定义模型的自由参数及自由度,比如PLA中的w0,w1,...wn就是自由参数,再定义【自由参数的个数】为【模型的自由度】,则PLA的模型自由度为n+1。发现前面的推导已知PLA的 $d_{vc} = n+1 $ ,即【模型自由度= \(d_{vc}\) 】,这不是巧合,而是一种经验规律。后面就可以以【模型自由度】近似代替【 \(d_{vc}\)

  6. vc-bound的物理含义:
    已知,

    \[ \mathbb{P}[BAD] = \mathbb{P}[\exists h \in \mathcal{H}\text{ s.t. } |E_{in}(h)-E_{out}(h)|\gt \epsilon] \\ = 4(2N)^{d_{vc}}exp(-\frac{1}{8}\epsilon^2N) \]

    等式右边是BAD-DATA发生的概率,记为 \(\delta\) ,那么【不发生】BAD-DATA的概率 为 $ 1 - \delta $ ,又称为置信度。根据 \(\delta\) 可以通过vc-bound反解出误差率 \(\epsilon\) :

    \[ \epsilon= \sqrt{\frac{8}{N}ln(\frac{4(2N)^{d_{vc}}}{\delta})} \]

    扫描二维码关注公众号,回复: 1766151 查看本文章

    这个 \(\epsilon\) 即为 \(|E_{in} - E_{out}|\) ,那么对于Good-Data,必须满足: \(|E_{in} - E_{out}| \le \epsilon\) ,而我们关注的是 \(E_{out}\) ,展开不等式并代入 \(\epsilon\) 有:

    \[ E_{in}(g)-\sqrt{\frac{8}{N}ln(\frac{4(2N)^{d_{vc}}}{\delta})} \leq E_{out}(g) \leq E_{in}(g)+\sqrt{\frac{8}{N}ln(\frac{4(2N)^{d_{vc}}}{\delta})} \]

    记 $ \Omega (N,\mathcal{H},\delta)=\sqrt{\frac{8}{N}ln(\frac{4(2N)^{d_{vc}}}{\delta})} $ 为模型的复杂度(model complexity),显然 \(E_{out}\)\(E_{in}\) 及model complexity的双重影响,可以画出一个图像表示:

    iamge

    根据上图可知, \(d_{vc}\) 的最佳值应该是一个折中值,它在保证【 \(min \; E_{in}\) 】与【减小model complexity】这两个目标之间做了折中。
    • 这个图的含义很丰富:并不是你的 \(\mathcal{H}\) 越强大越好, $E_{in} ; is ; too ; small $ 往往伴随着过拟合的问题。这对应着奥卡姆剃刀理论,“简单的模型就是好的”【即 model complexity小但是 \(E_{in}\) 稍微大一点的model is good model】
  7. 样本复杂度N对P(BAD)的影响:

    image

    由上图知,理论上需要的样本点个数N是 \(10000d_{vc}\) ,但实际上 \(10d_{vc}\) 就足以满足 \(\epsilon \; and \; \delta\) 的精度要求。究其本质是因为我们所求的vc-bound一直是|group|的upper-bound的upper-bound的upper-bound,把P(BAD)放大了三次,也就是说【没有考虑具体的 \(\mathcal{H},\mathcal{A},D\) 】,而都是一概取相应的max。

6. 最后总结一下本次5节课的主题:

介绍了break-point,schater, vc-dimension,vc-bound,vc-dimension的近似代替,vc-dimension的物理含义,vc-bound对泛化误差 \(E_{out}\) 的一个定量评估,以及最终导出了ML可行性的条件:

  1. \(the \; d_{vc} \; of \; \mathcal{H} \; is \; definite\)
  2. 样本点个数N足够大
  3. 存在一个合适的h使得 \(E_{in} smallest\)

猜你喜欢

转载自www.cnblogs.com/LS1314/p/9228027.html