跳转至

Chapter 3: 复杂度

约 3652 个字 预计阅读时间 12 分钟

对于有限维假设空间,我们可以直接使用假设的数目刻画空间的复杂度。但是,对于大多数学习问题来说,假设空间并非是有限的,因此无法直接使用假设的数目刻画空间复杂度,本节将介绍和数据分布 \(\mathcal{D}\) 无关的 VC 维及其扩展 Natarajan 维,以及和数据分布 \(\mathcal{D}\) 相关的 Rademacher 复杂度。

1. 数据分布无关

\(\mathcal{H}\) 表示假设空间,其中的假设是从 \(\mathcal{X}\)\(\mathcal{Y} = \{-1,+1\}\) 的映射,对于数据集 \(D = \{\boldsymbol{x}_1,\ldots,\boldsymbol{x}_m\} \subset \mathcal{X}\)\(\mathcal{H}\) 在数据集 \(D\) 上的限制/Restriction 是从 \(D\)\(\{-1,+1\}^m\)一族映射(也可以认为是 \(m\) 维向量的集合):

\[\mathcal{H}_{\mid D} = \{(h(\boldsymbol{x}_1),\ldots,h(\boldsymbol{x}_m))|h \in \mathcal{H}\},\]

其中 \(h\)\(D\) 上的限制是一个 \(m\) 维向量。

对于 \(m \in \mathbb{N}\),假设空间 \(\mathcal{H}\)增长函数/Growth Function \(\Pi_{\mathcal{H}}(m)\) 表示为

\[\Pi_{\mathcal{H}}(m) = \max_{\{\boldsymbol{x}_1,\ldots,\boldsymbol{x}_m\}\subset\mathcal{X}}|\{(h(\boldsymbol{x}_1),\ldots,h(\boldsymbol{x}_m))|h \in \mathcal{H}\}|.\]

对于大小为 \(m\) 的数据集 \(D\),有

\[\Pi_{\mathcal{H}}(m) = \max_{|D|=m}|\mathcal{H}_{\mid D}|.\]

增长函数 \(\Pi_{\mathcal{H}}(m)\) 表示假设空间 \(\mathcal{H}\)\(m\) 个样本所能赋予标记的最大可能的结果数。\(\mathcal{H}\) 对样本所能赋予标记的可能结果数越大,\(\mathcal{H}\) 的表示能力越强,对学习任务的适应能力也越强。这样,增长函数就在一定程度上描述了假设空间 \(\mathcal{H}\) 的表示能力,反映了假设空间的复杂程度。

引理 3.1:若假设空间 \(\mathcal{H}\) 的 VC 维为 \(d\),则对任意 \(m \in \mathbb{N}\)

\[\Pi_{\mathcal{H}}(m) \leq \sum_{i=0}^d \binom{m}{i}.\]

\(Q\) 表示能被 \(\mathcal{H}_{D^{\prime}\mid D}\) 打散的集合,这里认为 \(\mathcal{H}_{D^{\prime}\mid D}\) 为假设空间,给每一个 \(\boldsymbol{x}_i\) 提供结果。也就是对于 \(Q\) 的任意的二分类结果,都能在 \(\mathcal{H}_{D^{\prime}\mid D}\) 中找到一个假设 \(h\) 令其实现。并且由 \(\boldsymbol{x}_m\)\(\mathcal{H}_{D^{\prime}\mid D}\) 的定义,\(Q \cup \{\boldsymbol{x}_m\}\) 必能被 \(\mathcal{H}_{D}\) 打散。若 \(Q\) 的大小为 \(k\),则 \(k + 1 \leq \text{VC}(\mathcal{H}) = d\),因此 \(\mathcal{H}_{D^{\prime}\mid D}\) 的 VC 维最大为 \(d-1\),于是有

\[|\mathcal{H}_{D^{\prime}\mid D}| \leq \Pi_{\mathcal{H}}(m-1)\leq \sum_{i=0}^{d-1} \binom{m-1}{i}.\]

结合上面的推导,可得

\[\begin{aligned} \lvert \mathcal{H}_D \rvert &\leq \sum_{i=0}^d \binom{m-1}{i} + \sum_{i=0}^{d-1} \binom{m-1}{i} \\ &= \sum_{i=0}^d \left(\binom{m-1}{i} + \binom{m-1}{i-1}\right) \\ &= \sum_{i=0}^d \binom{m}{i}. \end{aligned}\]

这就完成了证明。

定理 3.1:若假设空间 \(\mathcal{H}\) 的 VC 维为 \(d\),则对任意整数 \(m \geq d\)

\[\Pi_{\mathcal{H}}(m) \leq \left(\frac{e\cdot m}{d}\right)^d.\]

证明

根据引理 3.1,有

\[\begin{aligned} \Pi_{\mathcal{H}}(m) &\leq \sum_{i=0}^d \binom{m}{i}\\ &\leq \sum_{i=0}^d \binom{m}{i}\left(\frac{m}{d}\right)^{d-i}\\ &= \left(\frac{m}{d}\right)^d \sum_{i=0}^d \binom{m}{i}\left(\frac{d}{m}\right)^i\\ &\leq \left(\frac{m}{d}\right)^d \sum_{i=0}^m \binom{m}{i}\left(\frac{d}{m}\right)^i\\ &= \left(\frac{m}{d}\right)^d \left(1+\frac{d}{m}\right)^m\\ &\leq \left(\frac{e\cdot m}{d}\right)^d. \end{aligned}\]

这就完成了证明。

当假设空间 \(\mathcal{H}\) 的 VC 维无穷大时,任意大小的样本集 \(D\) 都能被 \(\mathcal{H}\) 打散,此时有 \(\Pi_{\mathcal{H}}(m) = 2^m\),增长函数随着数据集大小的增长而呈指数级增长;当 VC 维有限为 \(d\)\(m \geq d\) 时,由定理 3.1 可知增长函数随着数据集大小的增长而呈多项式级增长。

VC 维仅仅针对二分类问题定义,对于多分类问题,也可以有相应的假设空间复杂度刻画方法,即 Natarajan 维/Natarajan Dimension。在多分类问题中,假设空间 \(\mathcal{H}\) 中的假设是 \(\mathcal{X}\)\(\mathcal{Y} = \{0,\ldots,K-1\}\) 的映射,其中 \(K\) 为类别数。多分类问题中也有相应的增长函数和打散的概念,Natarajan 维也依赖于打散这个概念定义。

多分类问题的增长函数表述与二分类问题一致:

\[\Pi_{\mathcal{H}}(m) = \max_{\{\boldsymbol{x}_1,\ldots,\boldsymbol{x}_m\}\subset\mathcal{X}}|\{(h(\boldsymbol{x}_1),\ldots,h(\boldsymbol{x}_m))|h \in \mathcal{H}\}|.\]

对于给定的集合 \(D \subset \mathcal{X}\),若假设空间 \(\mathcal{H}\) 中存在两个假设 \(f_0,f_1 : D \mapsto \mathcal{Y}\) 满足以下两个条件:

  • 对于任意 \(\boldsymbol{x} \in D\)\(f_0(\boldsymbol{x}) \neq f_1(\boldsymbol{x})\),也就是说 \(f_0\)\(f_1\)\(D\) 中的任意样本都有不同的分类结果;
  • 对于任意集合 \(B \subset D\) 存在 \(h \in \mathcal{H}\) 使得

    \[\forall \boldsymbol{x} \in B, h(\boldsymbol{x}) = f_0(\boldsymbol{x}) \enspace\text{and}\enspace \forall \boldsymbol{x} \in D\setminus B, h(\boldsymbol{x}) = f_1(\boldsymbol{x}),\]

则称集合 \(D\) 能被假设空间 \(\mathcal{H}\) 打散(多分类问题)。

定义 3.2(Natarajan 维):对于多分类问题的假设空间 \(\mathcal{H}\),Natarajan 维是能被 \(\mathcal{H}\) 打散的最大样本集的大小,记作 \(\text{Natarajan}(\mathcal{H})\),我也想记作 \(\mathfrak{N}(\mathcal{H})\)

下面定理证明,二分类问题的 VC 维与 Natarajan 维相同。

定理 3.2:类别数 \(K = 2\) 时,\(\text{VC}(\mathcal{H}) = \text{Natarajan}(\mathcal{H})\)

证明

首先证明 \(\text{VC}(\mathcal{H}) \leq \text{Natarajan}(\mathcal{H})\)。令 \(D\) 表示大小为 \(\text{VC}(\mathcal{H})\) 且能被 \(\mathcal{H}\) 打散的集合。取二分类问题打散定义中的 \(f_0,f_1\) 为常值函数,即 \(f_0 = 0,f_1 = 1\)。由于 \(D\) 能被 \(\mathcal{H}\) 打散,则对于任意集合 \(B \subset D\),存在 \(h_B\) 使得 \(\boldsymbol{x} \in B\)\(h_B(\boldsymbol{x}) = 0\)\(\boldsymbol{x} \in D\setminus B\)\(h_B(\boldsymbol{x}) = 1\),这也就是可以实现任意的二分类结果。因此 \(\mathcal{H}\) 可以在多分类意义下打散大小为 \(\text{VC}(\mathcal{H})\)\(D\),于是有 \(\text{VC}(\mathcal{H}) \leq \text{Natarajan}(\mathcal{H})\)

再证明 \(\text{VC}(\mathcal{H}) \geq \text{Natarajan}(\mathcal{H})\)。令 \(D\) 表示大小为 \(\text{Natarajan}(\mathcal{H})\) 且在多分类问题中能被 \(\mathcal{H}\) 打散的集合。对于 \(D\) 上的任意一种对分 \(g : D \to \mathcal{Y}\),令 \(D^+ = \{\boldsymbol{x} \in D|g(\boldsymbol{x}) = 1\}\)\(D^- = \{\boldsymbol{x} \in D|g(\boldsymbol{x}) = 0\}\),只需证明存在 \(h \in \mathcal{H}\) 能实现这种分类,即 \(\forall \boldsymbol{x} \in D\)\(h(\boldsymbol{x}) = g(\boldsymbol{x})\)。当 \(K = 2\) 时,\(f_0,f_1 : D \mapsto \mathcal{Y}\)。定义 \(D_i^y = \{\boldsymbol{x} \in D \mid f_i(\boldsymbol{x}) = y\}\)\(i \in \{0,1\}\)\(y \in \mathcal{Y}\)。取 \(B = (D^+ \cap D_0^1) \cup (D^- \cap D_0^0)\),由多分类问题中的打散定义可知存在 \(h \in \mathcal{H}\) 使得 \(\forall \boldsymbol{x} \in B, h(\boldsymbol{x}) = f_0(\boldsymbol{x})\)\(\forall \boldsymbol{x} \in D\setminus B, h(\boldsymbol{x}) = f_1(\boldsymbol{x})\)。由于 \(\forall \boldsymbol{x} \in D\)\(f_0(\boldsymbol{x}) \neq f_1(\boldsymbol{x})\),通过计算可知,\(\forall \boldsymbol{x} \in B, g(\boldsymbol{x}) = f_0(\boldsymbol{x})\)\(\forall \boldsymbol{x} \in D\setminus B, g(\boldsymbol{x}) = f_1(\boldsymbol{x})\)。从而可得 \(\forall \boldsymbol{x} \in D\)\(h(\boldsymbol{x}) = g(\boldsymbol{x})\),即 \(\mathcal{H}\) 能打散大小为 \(\text{Natarajan}(\mathcal{H})\)\(D\),于是有 \(\text{VC}(\mathcal{H}) \geq \text{Natarajan}(\mathcal{H})\)。定理得证。

第二段也很直接,直接思考多分类问题语境下的二分类问题打散的本质:第一条定义指出我们可以使用两个映射覆盖任意样本的二分类结果,第二个定义指出我们可以拼凑出任意的二分类结果。

2. 数据分布相关

VC 维的定义与数据分布无关,因此基于 VC 维的分析结果是分布无关的。这使得基于 VC 维的分析结果具有一定的普适性,但是由于没有考虑数据自身,因此基于 VC 维的分析结果通常比较松,对那些与学习问题的典型情况相差较远的数据分布来说尤其如此。

Rademacher 复杂度的来源

给定数据集 \(D = \{(\boldsymbol{x}_1,y_1),\ldots,(\boldsymbol{x}_m,y_m)\}\)\(h \in \mathcal{H}\) 的经验误差为

\[\hat{E}(h) = \frac{1}{m}\sum_{i=1}^m \mathbb{I}(h(\boldsymbol{x}_i) \neq y_i) = \frac{1}{m}\sum_{i=1}^m \frac{1-y_ih(\boldsymbol{x}_i)}{2} = \frac{1}{2} - \frac{1}{2m}\sum_{i=1}^m y_ih(\boldsymbol{x}_i),\]

其中 \(\frac{1}{m}\sum_{i=1}^m y_ih(\boldsymbol{x}_i)\) 体现了预测值 \(h(\boldsymbol{x}_i)\) 与样本真实标记记号 \(y_i\) 之间的一致性。若 \(\forall i \in [m], h(\boldsymbol{x}_i) = y_i\),则 \(\frac{1}{m}\sum_{i=1}^m y_ih(\boldsymbol{x}_i)\) 取得最大值 1,也就是说具有最小经验误差的假设是

\[\underset{h\in\mathcal{H}}{\arg\max} \frac{1}{m}\sum_{i=1}^m y_ih(\boldsymbol{x}_i).\]

然而,现实任务中样本的标记有时会受到噪声的影响,即对某些样本 \((\boldsymbol{x}_i,y_i)\),标记 \(y_i\) 或许已经受到随机因素的影响,不再是 \(\boldsymbol{x}_i\) 的真实标记。在此情形下,选择假设空间 \(\mathcal{H}\) 中在训练集上表现最好的假设,可能不知选择 \(\mathcal{H}\) 中事先已考虑了噪声影响的假设。

给定数据集 \(D = \{(\boldsymbol{x}_1,y_1),\ldots,(\boldsymbol{x}_m,y_m)\}\)\(h \in \mathcal{H}\),考虑随机变量 \(\sigma_i\),它以 0.5 的概率取值 \(+1\),以 0.5 的概率取值 \(-1\),称其为 Rademacher 随机变量。基于 \(\sigma_i\) 可将 \(h \in \mathcal{H}\) 的经验误差改写为 \(\sup_{h\in\mathcal{H}} \frac{1}{m}\sum\limits_{i=1}^m \sigma_ih(\boldsymbol{x}_i)\)。对 \(\boldsymbol{\sigma} = (\sigma_1,\cdots,\sigma_m)\) 求期望得到:

\[\mathbb{E}_{\boldsymbol{\sigma}}\left[\sup_{h\in\mathcal{H}} \frac{1}{m}\sum_{i=1}^m \sigma_ih(\boldsymbol{x}_i)\right].\]

这样的值和增长函数有着相似的作用,体现了假设空间在数据集 \(D\) 上的表示能力,取值范围为 \([0,1]\)。当这个值取值为 1 时,意味着对任意 \(\boldsymbol{\sigma} = (\sigma_1,\cdots,\sigma_m)\)\(\sigma_i \in \{-1,+1\}\),有

\[\sup_{h\in\mathcal{H}} \frac{1}{m}\sum_{i=1}^m \sigma_ih(\boldsymbol{x}_i) = 1,\]

也就是说,存在 \(h \in \mathcal{H}\) 使得 \(h(\boldsymbol{x}_i) = \sigma_i\),即 \(\Pi_{\mathcal{H}}(m) = 2^m\)\(\mathcal{H}\) 能打散 \(D\)。总的来说,这个值越接近 1,假设空间的表示能力越强。

考虑实值函数空间 \(\mathcal{F} : \mathcal{Z} \to \mathbb{R}\),令 \(\mathcal{Z} = \{z_1,\ldots,z_m\}\),将上面的 \(\mathcal{X}\)\(\mathcal{H}\) 替换为 \(\mathcal{Z}\)\(\mathcal{F}\) 可得我们要的 Rademacher 复杂度。

定义 3.3:函数空间 \(\mathcal{F}\) 关于 \(Z\)经验 Rademacher 复杂度

\[\hat{\mathfrak{R}}_{\mathcal{Z}}(\mathcal{F}) = \mathbb{E}_{\boldsymbol{\sigma}}\left[\sup_{f\in\mathcal{F}} \frac{1}{m}\sum_{i=1}^m \sigma_if(z_i)\right].\]

定义 3.4:函数空间 \(\mathcal{F}\) 关于 \(Z\) 在分布 \(\mathcal{D}\)Rademacher 复杂度

\[\mathfrak{R}_{\mathcal{D}}(\mathcal{F}) = \mathbb{E}_{Z \subset \mathcal{Z} \colon \lvert Z \rvert = m}\left[\hat{\mathfrak{R}}_{\mathcal{Z}}(\mathcal{F})\right].\]

在经验 Rademacher 复杂度的定义中,\(Z\) 是一个给定的集合。经验 Rademacher 复杂度体现了函数空间 \(\mathcal{F}\) 在数据集 \(Z\) 上的表示能力,在分布 \(\mathcal{D}\) 上独立同分布采样 \(m\) 个样本求期望就可以得到 Rademacher 复杂度。在经验 Rademacher 复杂度和 Rademacher 复杂度的定义中,\(\sigma_i\)\(\{-1,+1\}\) 上服从均匀分布的随机变量,如果将均匀分布改为其他分布,会得到其他一些复杂度的定义,例如 Gaussian 复杂度:我们令随机变量 \(\boldsymbol{g} = (g_1,\cdots,g_m)\) 服从高斯 \(\mathcal{N}(0,1)\) 分布,即标准正态分布。

定义 3.5:函数空间 \(\mathcal{F}\) 关于 \(Z\)经验 Gaussian 复杂度

\[\hat{\mathfrak{G}}_{\mathcal{Z}}(\mathcal{F}) = \mathbb{E}_{\boldsymbol{g}}\left[\sup_{f\in\mathcal{F}} \frac{1}{m}\sum_{i=1}^m g_if(z_i)\right].\]

定义 3.6:函数空间 \(\mathcal{F}\) 关于 \(Z\) 在分布 \(\mathcal{D}\)Gaussian 复杂度

\[\mathfrak{G}_{\mathcal{D}}(\mathcal{F}) = \mathbb{E}_{Z \subset \mathcal{Z} \colon \lvert Z \rvert = m}\left[\hat{\mathfrak{G}}_{\mathcal{Z}}(\mathcal{F})\right].\]

Rademacher 复杂度与前面介绍的 VC 维用到的增长函数之间也有一定的关系,首先我们需要引入下面的定理。

定理 3.4:令 \(A \subset \mathbb{R}^m\) 为有限集合且 \(r = \max_{\boldsymbol{x}\in A}\|\boldsymbol{x}\|\),有

\[\mathbb{E}_{\boldsymbol{\sigma}}\left[\frac{1}{m} \sup_{\boldsymbol{x}\in A} \sum_{i=1}^m \sigma_i x_i\right] \leq \frac{r\sqrt{2\ln |A|}}{m},\]

其中 \(\boldsymbol{x} = (x_1; \ldots; x_m)\)\(\sigma_i\) 是 Rademacher 随机变量。

证明

对任意 \(t > 0\) 使用 Jensen 不等式可得

\[\begin{aligned} \exp\left(t\mathbb{E}_{\boldsymbol{\sigma}}\left[\sup_{\boldsymbol{x}\in A}\sum_{i=1}^m \sigma_ix_i\right]\right) &\leq \mathbb{E}_{\boldsymbol{\sigma}}\left[\exp\left(t\sup_{\boldsymbol{x}\in A}\sum_{i=1}^m \sigma_ix_i\right)\right]\\ &= \mathbb{E}_{\boldsymbol{\sigma}}\left[\sup_{\boldsymbol{x}\in A}\exp\left(t\sum_{i=1}^m \sigma_ix_i\right)\right]\\ &\leq \sum_{\boldsymbol{x}\in A}\mathbb{E}_{\boldsymbol{\sigma}}\left[\exp\left(t\sum_{i=1}^m \sigma_ix_i\right)\right]. \end{aligned}\]

考虑随机变量 \(\sigma_1,\ldots,\sigma_m\) 的独立性,并且使用 Hoeffding 不等式:

\[\begin{aligned} \exp\left(t\mathbb{E}_{\boldsymbol{\sigma}}\left[\sup_{\boldsymbol{x}\in A}\sum_{i=1}^m \sigma_ix_i\right]\right) &\leq \sum_{\boldsymbol{x}\in A}\prod_{i=1}^m \mathbb{E}_{\sigma_i}[\exp(t\sigma_ix_i)]\\ &\leq \sum_{\boldsymbol{x}\in A}\prod_{i=1}^m \exp\left(\frac{t^2(2x_i)^2}{8}\right) = \sum_{\boldsymbol{x}\in A}\exp\left(\frac{t^2}{2}\sum_{i=1}^m x_i^2\right)\\ &\leq \sum_{\boldsymbol{x}\in A}\exp\left(\frac{t^2r^2}{2}\right) = |A|\exp\left(\frac{t^2r^2}{2}\right). \end{aligned}\]

对不等式的两边取对数可得

\[\mathbb{E}_{\boldsymbol{\sigma}}\left[\sup_{\boldsymbol{x}\in A}\sum_{i=1}^m \sigma_ix_i\right] \leq \frac{\ln|A|}{t} + \frac{tr^2}{2}.\]

\(t = \frac{\sqrt{2\ln|A|}}{r}\) 时,右侧取最小值,可得

\[\mathbb{E}_{\boldsymbol{\sigma}}\left[\sup_{\boldsymbol{x}\in A}\sum_{i=1}^m \sigma_ix_i\right] \leq r\sqrt{2\ln|A|}.\]

两边同时除以 \(m\),定理得证。

由定理 3.4 可得关于 Rademacher 复杂度与增长函数之间的关系。

推论 3.1:假设空间 \(\mathcal{H}\) 的 Rademacher 复杂度 \(\mathfrak{R}_m(\mathcal{H})\) 与增长函数 \(\Pi_{\mathcal{H}}(m)\) 之间满足

\[\mathfrak{R}_m(\mathcal{H}) \leq \sqrt{\frac{2\ln\Pi_{\mathcal{H}}(m)}{m}}.\]

证明

对于 \(D = \{\boldsymbol{x}_1,\ldots,\boldsymbol{x}_m\}\)\(\mathcal{H}_{\mid D}\) 为假设空间 \(\mathcal{H}\)\(D\) 上的限制。由于 \(h \in \mathcal{H}\) 的值域为 \(\{-1,+1\}\),可知 \(\mathcal{H}_{\mid D}\) 中的元素为模长 \(\sqrt{m}\) 的向量。因此,由定理 3.4 可得

\[\mathfrak{R}_m(\mathcal{H}) = \mathbb{E}_D\left[\mathbb{E}_{\boldsymbol{\sigma}}\left[\sup_{h\in\mathcal{H}_{\mid D}}\frac{1}{m}\sum_{i=1}^m \sigma_ih_i\right]\right] \leq \mathbb{E}_D\left[\frac{\sqrt{m}\sqrt{2\ln|\mathcal{H}_{\mid D}|}}{m}\right].\]

又因为 \(|\mathcal{H}_{\mid D}| \leq \Pi_{\mathcal{H}}(m)\),有

\[\mathfrak{R}_m(\mathcal{H}) \leq \mathbb{E}_D\left[\frac{\sqrt{m}\sqrt{2\ln\Pi_{\mathcal{H}}(m)}}{m}\right] = \sqrt{\frac{2\ln\Pi_{\mathcal{H}}(m)}{m}},\]

从而定理得证。

在下一章,我们就可以看见:基于 Rademacher 复杂度可以推导出比基于 VC 维更紧的泛化误差界。

3. 分析材料

3.1 线性超平面

3.2 支持向量机

3.3 多层神经网络