1. vc-dimension及vc-bound
-
定义scater:如果一个h在处理包含N个样本点的某一个数据集D时能产生 (2^N) 个dichtopy,就说h能schater这N个样本点。【看清楚,我只说存在一个D,并没有说面对所有的N-input,我的这个h都能产生 (2^N) 个dichtomy】
-
定义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。
-
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的关键线索。
- 从直观的角度:
-
vc-bound:(证明过程见“|group|可以代替M”那里)
[ mathbb{P}[BAD] = mathbb{P}[exists h in mathcal{H} ext{ 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为例:
-
求解 $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}) 】 -
vc-bound的物理含义:
已知,[]= 4(2N){d_{vc}}exp(-frac{1}{8}epsilon2N)
[ ][][ ][][ ]根据上图可知, (d_{vc}) 的最佳值应该是一个折中值,它在保证【 (min ; E_{in}) 】与【减小model complexity】这两个目标之间做了折中。
- 这个图的含义很丰富:并不是你的 (mathcal{H}) 越强大越好, $E_{in} ; is ; too ; small $ 往往伴随着过拟合的问题。这对应着奥卡姆剃刀理论,“简单的模型就是好的”【即 model complexity小但是 (E_{in}) 稍微大一点的model is good model】
-
样本复杂度N对P(BAD)的影响:
由上图知,理论上需要的样本点个数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。
2. 最后总结一下本次5节课的主题:
介绍了break-point,schater, vc-dimension,vc-bound,vc-dimension的近似代替,vc-dimension的物理含义,vc-bound对泛化误差 (E_{out}) 的一个定量评估,以及最终导出了ML可行性的条件:
- (the ; d_{vc} ; of ; mathcal{H} ; is ; definite)
- 样本点个数N足够大
- 存在一个合适的h使得 (E_{in} smallest)