机器学习基石第七讲:the vc dimension

博客已经迁移至Marcovaldo’s blog (http://marcovaldong.github.io/)

机器学习基石第七讲主要介绍了VC dimension,笔记整理在下面。

Definition of VC Dimension

上一讲我们找到了B(N,k)的上限,拿它和 Nk1 做一个比较,发现当N够大时,前者比后者小得多。

上一讲我们提到了VC bound:在dataset上,H中任意一个hypothesis发生坏事情的概率不超过一个很小很小的定值。

机器学习基石第七讲:the vc dimension_第1张图片

这时可以说机器学习算法选择的g,其 Ein Eout 相差很大的几率很小。

下面开始介绍VC Dimension,其是最大的non-break point的那个点,所以有 dvc=minimum1 。那么当 Ndvc 时,存在某个数据集可能会被某个hypothesis给shatter掉,当然不是一定;当 N>dvc 时,数据集一定不会被H中的任一个hypothesis给shatter。

机器学习基石第七讲:the vc dimension_第2张图片

下面是四个例子的vc dimension。

前面我们说当break point露出一线曙光的时候有好的hypothesis,现在则变成了是有好的vc dimension的时候。

本小节测试:

机器学习基石第七讲:the vc dimension_第3张图片

VC Dimension of Perceptrons

现在回到课程开始时介绍的2D PLA算法。一方面,假设训练数据集线性可分,PLA算法就可以收敛,经过T次(足够大)迭代后就能够得到一个g有 Ein=0 。另一方面,数据集服从某一未知的分布P,存在一未知的目标f,此时的 dvc=3 ,那么当N足够大时,就有 Eout(g)Ein(g) 。将这两条线融合在一起,我们就有了 Eout(g)0 ,从而说明了学习是可行。

机器学习基石第七讲:the vc dimension_第4张图片

现在我们尝试解决多维度的问题。前面知道了1D perceptron的 dvc=2 ,2D perceptrons的 dvc=3 ,我们猜测d-D perceptrons的 dvc=?d+1 。要证明它只需要两步:第一步,证明 dvcd+1 ;第二步,证明 dvcd+1

证明之前先来一个小测试:

机器学习基石第七讲:the vc dimension_第5张图片

先来证明 dvcd+1 ,我们只需证明存在d+1组输入数据能被某一个hypothesis给shatter掉。首先我们找到d+1组输入数据,存在矩阵X中,矩阵的每一行是一组数据。另外,矩阵X是可逆的。shatter的意思是说,对于任意 y=(y1,y2,...,yd+1)T 都能找到一个w使得 sign(Xw)=y
如何做到这一点呢,看下面:

(Xw=y)sign(Xw)=yw=X1y

所以说这一组特殊的数据集可以被shatter,从而证明了 dvcd+1

小测试:

机器学习基石第七讲:the vc dimension_第6张图片

现在来证明 dvcd+1 。举一个二维的例子,选择下图中的一组数据集,注意其中 x4 可由 x1 x2 x3 线性组合而来。前面我们说过下图中的那个问号不可能被标记为叉叉,同样 x4 不可能被标记为叉叉,原因看下图的公式。

数据点之间的这种线性依赖关系限制了dichotomy的产生,这是一种特殊情况,但我们要证明的是所有的情况都不能被shatter。现在我们用一组d维的一般例子来解释。下图中的矩阵X包含d+2组数据,这d+2组数据肯定是线性相关的,然后重复前一张图的计算公式,我们同样也可以证明不能被shatter。这样我们就完成了对一般情况的证明。

机器学习基石第七讲:the vc dimension_第7张图片

最后是小测试:

Physical Intuition of VC Dimension

机器学习基石第七讲:the vc dimension_第8张图片

VC dimension的物理意义就是我的hypothesis在做二元分类的时候大概有多少的自由度,也告诉我们这个hypothesis能最多产生多少dichotomy。不同的VC dimension对应的好坏处见下图:

机器学习基石第七讲:the vc dimension_第9张图片

这时,选择合适的VC dimension就变得很重要,而不同的VC dimension对应着不同的模型,所以选择模型是一件很重要的事。

本小节测试:

机器学习基石第七讲:the vc dimension_第10张图片

Interpreting VC Dimension

前面我们用一个不等式表示坏事情发生的概率,通过对该不等式的处理,我们得到了一个不等式来表示好事情发生的概率。

机器学习基石第七讲:the vc dimension_第11张图片

机器学习基石第七讲:the vc dimension_第12张图片

这里我们用 Ω(N,H,δ) 来表示上图中不等式的右侧,它表示在一个很高的几率内, EoutEin 的值会小于 Ω(N,H,δ) (当然,如果差值为负更好,说明g在未知数据上的犯错率比在训练集上还低)。

观察下图中的图像,可以看到随着 dvc 的不断增大, Ein 不断降低, Eout 先降低后增加,模型复杂度不断增大。最合适的 dvc 往往是在中间的。未来会利用这个图来设计更好的机器学习算法。

机器学习基石第七讲:the vc dimension_第13张图片

另外,VC bound还可以说明样本的复杂度。假设已经给定了 ϵ δ dvc ,问我们需要多大的训练集才可以得到这样的精度,请看下图。总结起来,理论上可能需要 N10,000dvc 才能有一个好的精度,而实际上当 N10dvc 时就已经足够了。

这也说明这个VC bound实际上是很宽松的,宽松的原因是在整个推理过程中多次放大标准(要求太严),具体看下面四点。

机器学习基石第七讲:the vc dimension_第14张图片

到这里,VC bound背后的一些数学意义和哲学意义就算介绍完了,虽然在以后的课程中涉及不太多,但大大加深了我们对机器学习的理解。

本节小测试:

机器学习基石第七讲:the vc dimension_第15张图片

你可能感兴趣的:(机器学习)