为什么引入vc维?

为了估计out of sample error,必须定义模型得复杂度。 目前知道得复杂度度量方法:

模型参数个数。。。

naive,\(sin(\alpha x)\)虽然只有一个参数,但是明显比分类器\(I(\alpha x1 + \beta x2>0)\)复杂度高

trace
\[\begin{eqnarray*} \text{若} \hat{y} = Sy, \text{那么复杂度是} tr(S) \end{eqnarray*}\]

实际上,这种复杂度定义应用范围有限,我们需要更general得复杂度定义方式

定义

某一类模型\(f\{x,\alpha\}\)所能shatter得点得数量(假设点得label是任意得)

例子

二维回归不能shatter4个点,所以,vc dimension是3

作用

给out of sample error限定了bound,尽管很loss [Cherkassky & Mulier (2007, pages 116-118)]
\[\begin{eqnarray*} \text{对于二分类:} Err_\tau \leqslant \overline{err} + \frac{\varepsilon}{2}(1 + \sqrt{1 + \frac{4\cdot\overline{err}}{\varepsilon}}) \\ \text{对于回归:} Err_\tau \leqslant \frac{\overline{err}}{(1 - c\sqrt{\varepsilon})_{+}} \\ \text{其中,} \varepsilon = a_1\frac{h[\log(a_2N/h) + 1] - \log{(\eta/4)}}{N} \\ 0 < a_1 \leqslant 4, 0 < a_2 \leqslant 2 \end{eqnarray*}\]

缺点

有些模型,vc dimension根本不知道