机器学习 - 学习理论
背景
提及机器学习(Machine Learning
),大多数人的脑海中首先浮现出来的就是各种机器学习的模型策略。当一个问题的数据集(data set
)确定后,我们便开始观察数据,处理特征,确定模型。然而,为什么机器学习这个工具可以大概正确地预测数据的目标结果?在某个数据集上的学习是否具有可行性(feasibility of learning
)?机器学习的学习理论对这些问题作出了解释。本文以理论推导为主,结合具体的学习模型来介绍学习理论的内容。
学习问题
存在未知的目标函数
二、联系学习问题
-
介绍:假设空间(
hypothesis set
)
假设空间是所有假设的集合。在 \(h:\{x_1 ,x_2,\cdots,x_n\}\rightarrow\{-1,+1\}\) 中,我们设 \(x_i\) 的可能取值有 \(N_i\) 的,那么对应的假设空间的大小为 $$2 \times \prod_{i=1}^{n} N_i $$我们先讨论假设空间中只有一个假设的情况,然后扩展到有限个假设,最后扩展到无限个假设
-
只有一个假设的情况( \(\mathcal{H}=\{ h \}\) )
样本内误差(
in-sample error
):$$E_{in}(h)=\frac{1}{N}\sum_{i=1}^N I{h(x_i) \neq f(x_i)}$$样本外误差(
out-sample error
):$$E_{out}(h)=P{h(x) \neq f(x)}$$在学习问题(
learning problem
)中,样本内误差和样本外误差分别相当于Hoeffding不等式中的 \(\overline{X}\) 和 \(E[\overline{X}]\)。此时,Hoeffding不等式转变为:$$P{|E_{in}(h) - E_{out}(h)|>\epsilon} \leq 2e{-2\epsilon2 N}$$从上面的公式可知,拟合训练数据的假设与该假设针对整个样本空间的预测,这两者的错误率差别很大的那种情况发生的概率是很小的。
然而,这不是一个学习过程,只是验证一个假设的预测能力,它不能证明这个假设对应的样本外误差是最小的,不能证明这个假设在假设空间内是最佳假设。
-
有限假设空间情况( \(\mathcal{H}=\{h_1,h_2,\cdots,h_M\}\) )
在假设空间 \(\mathcal{H}\) 中,每个假设 \(h_i\) 都是固定不变的。给定一个的样本集,学习算法的任务就是在给定不变的M个假设中找到一个最终的假设 \(g\),使得对于任意 \(i\in\{1,2,\cdots,M\}\),都有
\[P\{|E_{in}(g) - E_{out}(g)|>\epsilon\} \leqslant P\{|E_{in}(h_i) - E_{out}(h_i)|>\epsilon\} \]其上界为:
\[P\{|E_{in}(g) - E_{out}(g)|>\epsilon\} \leqslant \, \sum_{i=1}^M P\{|E_{in}(h_i) - E_{out}(h_i)|>\epsilon\} \leqslant 2Me^{-2\epsilon^2 N} \]令 \(\delta = P\{|E_{in}(g) - E_{out}(g)|>\epsilon\}\),则$$N \geqslant\frac{1}{2\epsilon^2}[lnM+ln{\frac{1}{\delta}}]$$
也就是说,在有限个假设且样本集足够大的情况下,样本内误差和样本外误差的差的绝对值超过 \(\epsilon\) 的概率为 \(\delta\)。
三、总结
-
再次回到学习问题
回到问题:我们能否通过学习算法,在假设空间 \(\mathcal{H}\) 中找到一个假设 \(h\),使得该假设近似地等于目标函数 \(f\)?
这里的“近似地等于”,意味着 \(E_{out}(g) \approx 0\)
- 确定性答案[
deterministic answer
]:不能。我们不能确定任何一个在 \(\mathcal{D}\) 之外的实例的标记。 - 概率性答案[
probabilistic answer
]:可以。我们可以得到一个在 \(\mathcal{D}\) 之外的实例的最可能的标记结果。
根据上文的讨论可知,学习问题可以分为两个子问题:
- 我们是否可以确定 \(E_{out}(g) \approx E_{in}(g)\)?
- 为了令 \(E_{}(g) \approx 0\),我们是否可以使 \(E_{in}(g)\) 尽可能小?
- 确定性答案[
-
复杂性权衡
- 假设空间的复杂性
当假设空间的大小 \(M\) 变大,\(E_{in}(g)\) 偏离 \(E_{out}(g)\) 的可能性就越大,但是,由于 \(g\) 来源于 \(\mathcal{H}\),假设空间的复杂性增加了我们找到一个较小的 \(E_{in}(g)\) 的概率。在学习理论中,对 \(\mathcal{H}\) 的复杂性的权衡是一个很重要的话题。 - 目标函数的复杂性
\(f\) 复杂而 \(\mathcal{H}\) 简单时,很难找到一个 \(E_{in}(g)\) 的假设;而\(f\) 复杂同时 \(\mathcal{H}\) 复杂时,又会遇到了 \(E_{in}(g)\) 偏离 \(E_{out}(g)\) 的问题;当 \(f\) 过于复杂时,学习是不可行的。
实际问题中,大多数的目标函数都不会过于复杂。只要保证\(\mathcal{H}\)的复杂性可以给我们一个较小的Hoeffing边界,那么,样本集的匹配程度就决定了我们学习 \(f\) 的成败。
- 假设空间的复杂性
-
学习模型
probably approximately correct, PAC
我们训练学习器的目标是,能够从合理数量的训练数据中通过合理的计算量可靠地学习到知识(这里的知识指目标函数 \(f\))。
机器学习的现实情况:除非对每个可能的数据进行训练,否则总会存在多个假设使得真实错误率不为零,即学习器无法保证和目标函数完全一致。此外,训练样本是随机选取的,训练样本总有一定的误导性。为此,我们要弱化对学习器的要求:
- 我们不要求学习器输出零错误率的假设,只要求错误率被限制在某常数 \(\epsilon\) 范围内,\(\epsilon\) 可为任意小。
- 不要求学习器对所有任意抽取的数据都能成功预测,只要求其失败的概率被限定在某个常数 \(\delta\) 的范围内, \(\delta\) 可取任意小。
简而言之,我们只要求学习器可能学习到一个近似正确的假设,故得到了“可能近似正确学习”(PAC学习)。
一个可PAC学习的学习器要满足两个条件:学习器必须以任意高的概率输出一个错误率任意低的假设。学习过程的时间最多以多项式方式增长。
对于PAC学习来说,训练样本的数量和学习所需的计算资源是密切相关的。如果学习器对每个训练样本需要某最小处理时间,那么为了使目标函数 \(f\) 是可PAC学习的,学习器必须在多项式数量的训练样本中进行学习。
第二部分
在第一部分中我们讨论了有限假设空间的情况,不过,现实中遇到的大多数学习问题的假设集的大小都是无限的。此时,\(P\{|E_{in}(g) - E_{out}(g)|>\epsilon\}\) 的上界 \(2Me^{-2\epsilon^2 N}\) 中的 \(M\) 趋于无穷,使得该上界没有任何意义了。因此,在第二部分中,我们将推导出一个更加精确的上界。
一、泛化理论 Theory of Generalization
-
泛化误差(
generalization error
)在第一部分的最后,我们得到
\[P\{|E_{in}(g) - E_{out}(g)|>\epsilon\} \leqslant 2Me^{-2\epsilon^2 N}$$我们选择一个容忍度(`tolerance level`) $\delta=P\{|E_{in}(g) - E_{out}(g)|>\epsilon\}$,那么,至少有 $1-\delta$ 概率,使得 $$E_{out}(g) \leqslant E_{in}(g) + \sqrt{\frac{1}{2N} ln{\frac{2M}{\delta}}}$$$$E_{out}(g) \geqslant E_{in}(g) - \sqrt{\frac{1}{2N} ln{\frac{2M}{\delta}}}$$即泛化边界。 在有限假设集中,当 $M$ 一定时,随着样本数 $N$ 的增加,$E_{out}(g) \approx E_{in}(g)$。而对于有一个无限大小的假设集模型来说,我们可以找一个更精确的值来取代假设空间的实际大小 $M$。当 $M$ 趋于无穷时,该值仍是一个有穷值。为什么 $M$ 可以优化呢?在第一部分,我们利用联合界(`union bound`),令$$P\{\bigcup_{i=1}^{M}A_i\} \leqslant \sum_{i=1}^M P\{A_i\}$$然而在一个典型的学习模型里,许多假设都很类似。下面我们引入成长函数和VC维等概念。 <br /> \]- 二分类(
dichotomies
)
对于某个 \(h \in \mathcal{H}\),\((h(\mathbf{x_1}),\cdots,h(\mathbf{x_N}))\) 是该假设所对应的二分类。可见$$(h(\mathbf{x_1}),\cdots,h(\mathbf{x_N})) \in {+1, -1}^N$$ - 成长函数(
growth function
)
令 \(\mathcal{H}(\mathbf{x_1},\cdots,\mathbf{x_N}) = \{(h(\mathbf{x_1}),\cdots,h(\mathbf{x_N}))|h \in \mathcal{H}\}\),则一个假设空间的成长函数为:$$m_\mathcal{H}(N) = \max_{\mathbf{x_1},\cdots,\mathbf{x_N} \in \mathcal{X}}|\mathcal{H}(\mathbf{x_1},\cdots,\mathbf{x_N})|$$对于不同的 \(\mathcal{D}\),由于内部 \(N\) 个点的分布方式不同,其 \(|\mathcal{H}(\mathbf{x_1},\cdots,\mathbf{x_N})|\)也可能不同。成长函数是假设空间在有限的样本集上的可以产生的不同假设的数量,而不是在整个输入空间里。因此,成长函数的值取决于N个样本的可行的分类结果(任意一个样本的分类结果是+1或-1)的数目。
- 打散(
shatter
)
若一个假设空间 \(\mathcal{H}\) 能产生样本集上的所有假设,即 \(\mathcal{H}(\mathbf{x_1},\cdots,\mathbf{x_N})=\{-1,+1\}^N\),此时,我们说 \(\mathcal{H}\) 可以打散 \(\mathbf{x_1},\cdots,\mathbf{x_N}\),\(m_\mathcal{H}(N)=2^N\)。可以看出,对于任意正整数 \(N\),都满足$$m_\mathcal{H}(N)\leqslant2^N$$ - 断点(
break point
)
如果没有一个大小为 \(k\) 的数据集可以被 \(\mathcal{H}\) 打散,则 \(k\) 是 \(\mathcal{H}\) 的一个断点,此时$$m_\mathcal{H}(k) < 2^k$$ - VC维(
Vapnik-Chervonenkis dimension
)
一个假设空间 \(\mathcal{H}\) 的VC维 \(d_{vc}(\mathcal{H})\),是满足 \(m_\mathcal{H}(N)=2^N\) 的最大整数 \(N\)。如果对于任意 \(N\) 都有 \(m_\mathcal{H}(N)=2^N\) (即没有断点),则\(d_{vc}(\mathcal{H}) = \infty\)。
- 二分类(
-
假设空间的有效大小
给定一个 \(\mathcal{D}\),假设空间中便存在多个具有相同的二分法的假设。对于我们的学习问题来说,这些具有相同二分法的假设就是冗余。因此,尽管假设空间的实际大小是无穷的,但我们有可能可以找到一个有穷的有效大小。
只要 \(\mathcal{H}\) 存在断点(即 \(d_{vc}(\mathcal{H}) \neq \infty\)),\(m_\mathcal{H}(N)\) 就是关于 \(N\) 的多项式。若 \(m_\mathcal{H}(N)\) 可以取代 \(M\),则随着 \(N\) 的增大,泛化误差\(\sqrt{\frac{1}{2N} ln{\frac{2M}{\delta}}}\)将逐渐减小为 \(0\);相反地,若不存在断点,泛化误差永远不会趋向于 \(0\)。
注:在有些问题里只有 \(N\) 个点的分布方式极其特殊时,才能被 \(\mathcal{H}\) 打散。这时,虽然这时 \(m_\mathcal{H}(N)=2^N\),但考虑平均情况,\(m_\mathcal{H}(N)\) 仍是关于 \(N\) 的多项式。
下面证明只要 \(\mathcal{H}\) 存在断点,\(m_\mathcal{H}(N)\) 就是关于 \(N\) 的多项式。
定义 \(B(N, k)\) 为 \(\mathcal{H}(\mathbf{x_1},\cdots,\mathbf{x_N})\) 的最大数目。其中,使 \(\mathcal{H}(\mathbf{x_1},\cdots,\mathbf{x_N})\) 数目最大的样本集 \(\mathcal{D}\) 中不存在可以被 \(\mathcal{H}\) 打散的数目为 \(k\) 的子集。\(B(N, k)\)是比 \(2^N\) 更准确的 \(m_\mathcal{H}(N)\) 的上界。$$m_\mathcal{H}(N)\leqslant B(N, k)\leqslant2^N, \space \space \text{if k is a break point for }\mathcal{H}$$可以根据下式利用动态规划求出具体的 \(B(N,k)\) 的值$$B(N, k) \leqslant B(N-1, k)+B(N-1, k-1)$$也可以直接利用归纳法证明 $$B(N, k) \leqslant \sum_{i=0}^{k-1} \binom{N}{i}$$最后,由于断点 \(k = d_{vc}(\mathcal{H})+1\),而且给定一个 \(\mathcal{H}\) 后,断点和VC维就是固定不动的。所以$$m_\mathcal{H}(N)\leqslant B(N, k) \leqslant \sum_{i=0}^{d_{vc}(\mathcal{H})} \binom{N}{i} \leqslant N^{d_{vc}(\mathcal{H})} + 1$$是一个关于 \(N\) 的多项式。
-
动态规划
初始状态: \(B(N, 1) = 1\);\(k>1\) 时,\(B(1, k) = 2\)
建立递归: 将 \((h(\mathbf{x_1}),\cdots,h(\mathbf{x_N}))\) 划分为 \((h(\mathbf{x_1}),\cdots,h(\mathbf{x_{N-1}}))\) 和 \(h(\mathbf{x_N})\) 两部分。在前一部分仅出现过一次的序列 \(S_1\) 的数目记作 \(\alpha\)。在剩下的 \(B(N,k)- \alpha\) 个序列中,将 \(h(\mathbf{x_{N-1}}) = +1\) 分为一类 \(S_2^+\), \(h(\mathbf{x_{N-1}}) = -1\) 分为一类 \(S_2^-\),容易得知,这两类里的序列数目相等,记作 \(\beta\)。此时,$$B(N, k)=\alpha+2\beta$$在集合 \(S_1+S_2^+\) 中,在第一部分中不存在可以被 \(\mathcal{H}\) 打散的数目为 \(k\) 的子集,即$$\alpha+\beta \leqslant B(N-1,k)$$在集合 \(S_2^-\) 不存在可以被 \(\mathcal{H}\) 打散的数目为 \(k-1\) 的子集(若存在,则在集合 \(S_2^- + S_2^+\) 中也存在可以被 \(\mathcal{H}\) 打散的数目为 \(k\) 的子集,与初始定义矛盾),即$$\beta \leqslant B(N-1,k-1)$$综上,$$B(N, k) \leqslant B(N-1, k)+B(N-1, k-1)$$利用动态规划求出:$$B(N, k) \leqslant \sum_{i=0}^{k-1} \binom{N}{i}$$时间复杂度为 \(O(N*k)\),空间复杂度为 \(O( min(N,k) )\)。 -
归纳法
这里直接用归纳法证明上式的正确性。
当 \(k=1\) 或 \(N=1\)时,上式成立。
假设对于所有的 \(N \leqslant N_0\),上式正确。
当 \(N=N_0+1\) 时,\[B(N_0+1,k) \leqslant \sum_{i=0}^{k-1} \binom{N_0}{i} + \sum_{i=0}^{k-2} \binom{N_0}{i} = 1 + \sum_{i=1}^{k-1} \binom{N_0}{i} + \sum_{i=1}^{k-1} \binom{N_0}{i-1} = 1 + \sum_{i=1}^{k-1} \binom{N_0+1}{i} = \sum_{i=0}^{k-1} \binom{N_0+1}{i} \] -
-
用 \(m_\mathcal{H}(N)\) 取代 \(M\)
若用 \(m_\mathcal{H}(N)\) 取代 \(M\),则对应的Hoeffing不等式转变为VC不等式:$$P{\sup_{h \in \mathcal{H}}|E_{in}(h) - E_{out}(h)|>\epsilon} \leqslant 4m_\mathcal{H}(2N)e^{-\frac{1}{8} \epsilon^2 N}$$给定任意的容忍度\(\delta > 0\),那么至少有 \(1-\delta\) 概率,使得: $$E_{out}(g) \leqslant E_{in}(g) + \sqrt{\frac{8}{N} ln{\frac{4m_\mathcal{H}(2N)}{\delta}}}$$即VC泛化边界。
尽管比之前的泛化边界的限定更弱,但只要VC维不是无穷大的,那么泛化误差最终会收敛于 \(0\)。成长函数作为假设空间的有效大小,取代了假设空间的实际大小 \(M\)。因此,VC泛化边界确定了无限大小的假设空间上学习的可行性。
二、VC边界的证明
对于多个假设的情况,
$$P\{\sup_{h \in \mathcal{H}}|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2}\} \geqslant P\{\sup_{h \in \mathcal{H}}|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2} \space and \space\sup_{h \in \mathcal{H}}|E_{in}(h) - E_{out}(h)|>\epsilon\} = P\{\sup_{h \in \mathcal{H}}|E_{in}(h) - E_{out}(h)|>\epsilon\} \times P\{\sup_{h \in \mathcal{H}}|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2} \space | \space\sup_{h \in \mathcal{H}}|E_{in}(h) - E_{out}(h)|>\epsilon\}$$
设 $h^{*}$ 为任意一个满足 $|E_{in}(h^{*}) - E_{out}(h^{*})|>\epsilon$ 的假设,则
$$P\{\sup_{h \in \mathcal{H}}|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2} \space | \space\sup_{h \in \mathcal{H}}|E_{in}(h) - E_{out}(h)|>\epsilon\} \geqslant P\{|E_{in}(h^{*}) - E'_{in}(h^{*})|>\frac{\epsilon}{2} \space | \space\sup_{h \in \mathcal{H}}|E_{in}(h) - E_{out}(h)|>\epsilon\} \geqslant P\{|E'_{in}(h^{*}) - E_{out}(h^{*})| \leqslant \frac{\epsilon}{2} \space | \space\sup_{h \in \mathcal{H}}|E_{in}(h) - E_{out}(h)|>\epsilon\} \geqslant 1-2e^{-\frac{1}{2} \epsilon^2 N}$$
我们假设 $e^{-\frac{1}{2} \epsilon^2 N} < \frac{1}{4}$(否则,$4m_\mathcal{H}(2N)e^{-\frac{1}{8} \epsilon^2 N}$ 恒大于 $1$,没有证明的必要里),此时可以得到$$P\{\sup_{h \in \mathcal{H}}|E_{in}(h) - E_{out}(h)|>\epsilon\} \leqslant 2P\{\sup_{h \in \mathcal{H}}|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2}\}$$
-
用成长函数限定最坏情况偏差
一种选取 \(\mathcal{D}\) 和 \(\mathcal{D}'\) 的方法是:首先从输入空间中随机地抽取 \(2N\) 个样本,然后随机地划分成 \(\mathcal{D}\) 和 \(\mathcal{D}'\),即此时
\[P\{\sup_{h \in \mathcal{H}}|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2}\} = \sum_{S} P\{S\} \times P\{\sup_{h \in \mathcal{H}}|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2} \space | \space S\}\leqslant \sup_{S} P\{\sup_{h \in \mathcal{H}}|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2} \space | \space S\} \]假设 \(M \leqslant m_{\mathcal{H}}(2N)\),则
\[P\{\sup_{h \in \mathcal{H}}|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2} \space | \space S\} = P\{\sup_{h \in \{h_1,\cdots,h_M\}}|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2} \space | \space S\} \leqslant \sum_{i=1}^{M} P\{|E_{in}(h_i) - E'_{in}(h_i)|>\frac{\epsilon}{2} \space | \space S\} \leqslant M \times \sup_{h \in \mathcal{H}} P\{|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2} \space | \space S\} \]综上,
\[P\{\sup_{h \in \mathcal{H}}|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2}\} \leqslant m_{\mathcal{H}}(2N) \times \sup_{S} \sup_{h \in \mathcal{H}} P\{|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2} \space | \space S\} \] -
限定样本内偏差
首先引入不放回取样的Hoeffing不等式
令 \(\mathcal{A} = \{a_1,\cdots,a_{2N}\}\),其中 \(a_i \in [0,1]\),令 \(\mu = \frac{1}{2N} \sum_{i=1}^{2N}a_i\),令 \(\mathcal{D} = {z_1,\cdots,z_N}\) 为一个从 \(\mathcal{A}\) 中不放回随机取样而得到的大小为 \(N\) 的样本,则$$P{|\frac{1}{N}\sum_{i=1}^{N}z_i - \mu| > \epsilon} \leqslant 2e{-2\epsilon2N}$$当 \(h(\mathbf{x}_i) \ne y_i\) 时,\(a_i = 1\),否则为 \(0\)。此时$$E_{in}(h) = \frac{1}{N} \sum_{a_i \in \mathcal{D}}a_i \text{, and } E'{in}(h) = \frac{1}{N} \sum{a'i \in \mathcal{D}'}a'i$$ $$\mu = \frac{1}{2N} \sum^{2N}a_i = \frac{E(h) + E'{in}(h)}{2}$$
带入Hoeffing不等式,得$$P{|E(h) - E'_{in}(h)|>2t \space | \space S} \leqslant 2e{-2t2N}$$最后,令 \(4t = \epsilon\),得\[P\{|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2} \space | \space S\} \leqslant 2e^{-\frac{1}{8}\epsilon^2N} \]
第三部分
一、泛化边界的解释
VC泛化边界适用于所有的假设集、学习算法、输入空间、概率分布和二分目标函数。但它是一个非常宽松的边界。
- 推导过程中适用的Hoeffing不等式本身就是松弛的。
- 为了使我们的VC分析结果独立于输入空间 \(\mathcal{X}\) 的概率分布 \(P\), \(m_{\mathcal{H}}(N)\) 给出了在最坏样本集的情况下的估计。
- 限定 \(m_{\mathcal{H}}(N)\) 时我们简单地选择了 \(d_{vc}(\mathcal{H})\) 的多项式。
虽然VC分析得到的泛化边界很松弛,但它是我们评估无限假设集下学习的可行性的一个依据。对不同的学习模型来说,VC分析有着同样松弛的边界,因此我们可以比较不同的模型在同一样本集下泛化能力的好坏。
-
样本复杂度
样本复杂度是指达到我们期望的泛化能力所需要的样本数目。
给定 \(\delta > 0\),假设我们期望泛化误差不超过 \(\epsilon\),则$$N \geqslant \frac{8}{\epsilon^2}ln(\frac{4m_{\mathcal{H}}(2N)}{\delta}) \geqslant \frac{8}{\epsilon2}ln\frac{4((2N){d_{vc}}+1)}{\delta}$$\(N\) 和 \(d_{vc}\) 的比例大概是 \(10000:1\),这是一个严格的最大界限。在实践中这一比例大约是 \(10:1\)。
-
对模型复杂度的惩罚项
对模型复杂度的惩罚项,就是给定一个样本集 \(\mathcal{D}\)(即给定 \(N\))时我们可以期望的泛化能力。$$E_{out}(g) \leqslant E_{in}(g) + \Omega(N, \mathcal{H}, \delta)$$这里的 \(\Omega(N, \mathcal{H}, \delta)\) 就是模型的复杂度的惩罚项。$$\Omega(N,\mathcal{H},\delta)=\sqrt{\frac{8}{N} ln{\frac{4m_\mathcal{H}(2N)}{\delta}}} \leqslant \sqrt{\frac{8}{N} ln{\frac{4((2N)^{d_{vc}}+1)}{\delta}}}$$因此,我们需要一个权衡:模型复杂度的增长会降低 \(E_{in}\) 但增加 \(\Omega(N,\mathcal{H},\delta)\)。一个理想的模型应该是使最小化这两项的组合。
-
测试集
尽管我们的VC分析是基于二分目标函数的,但我们可以把它扩大到其他类型的目标函数,甚至是回归目标函数。
二、近似-泛化权衡 Approximation-Generalization Tradeoff
在 \(\mathcal{H}\) 上选择的假设,既要在样本集上近似地接近目标函数 \(f\) ,又要在新的数据集上具有较好的泛化能力。
VC泛化边界提供了考虑权衡的一种方法。如果 \(\mathcal{H}\) 太简单,我们可能无法在样本集上近似地接近目标函数,即无法得到一个较小的 \(E_{in}\)。如果 \(\mathcal{H}\) 太复杂,我们可能得到一个泛化能力较差的假设。
而偏差-方差分析提供给我们另一种方法来看待近似-泛化权衡问题。
VC分析基于0-1误差计算,用 \(E_{in}\) 加上一个惩罚项 \(\Omega\) 来限定 \(E_{out}\)。而偏差方差分析中基于平方误差计算,将 \(E_{out}\) 分解为两个不同的部分。此时,样本外误差为$$E_{out}(g^{(\mathcal{D})}) = E_{\mathbf{x}}[(g^{(\mathcal{D})}(\mathbf{x}) -f(\mathbf{x}))^2]$$可见,我们的最终假设依赖于样本集 \(\mathcal{D}\)。要想不依赖于某个样本集,我们可以计算所有数据集的期望
用 \(\overline{g}(\mathbf{x})\) 来表示 \(E_{\mathcal{D}}[(g^{(\mathcal{D})}(\mathbf{x})]\),则
- \(bias(\mathbf{x}) = (\overline{g}(\mathbf{x})-f(\mathbf{x}))^2\) 表示我们使用不同的样本集学习而得到的平均假设与目标函数的偏差。由于 \(\overline{g}(\mathbf{x})\) 不受样本集的限制,因此偏差值仅受学习模型本身的限制。
- \(var(\mathbf{x}) = E_{\mathcal{D}}[(g^{(\mathcal{D})}(\mathbf{x})-\overline{g}(\mathbf{x}))^2]\) 表示基于不同样本集得到的假设与平均假设之间的差异程度。
综上,我们将样本外误差分解为:$$E_{\mathcal{D}}[{E_{out}(g^{(\mathcal{D})})}] = E_{\mathbf{x}}[bias(\mathbf{x})+var(\mathbf{x})] = bias+var$$我们的推导过程忽略了数据的噪声,虽然噪声是不可避免的,但我们关心的主要是偏差和方差。
使用偏差方差分解方法来看待近似-泛化权衡
偏差方差分解只是一个理论观点,在实际问题中,我们没有产生 \(\overline{g}(\mathbf{x})\) 的多个样本集。我们只有一个样本集,因此较简单的模型(\(\mathcal{H}\) 较简单)可能会产生一个较小的样本外误差。但是,随着 \(N\) 的增加, \(var\) 会逐渐减小,此时 \(bias\) 是 \(E_{out}\) 的主要组成,较复杂的模型(\(\mathcal{H}\) 较复杂)的表现会更好。
与VC分析的一些差异
- 在VC分析中, \(E_{out}\) 被认为是 \(E_{in}\) 和 以 \(\Omega(N,\mathcal{H},\delta)\) 为上界的泛化误差的和。在偏差方差分析里中,\(E_{out}\) 被看作是偏差和方差的和。不过,随着样本数的增多,不管是泛化误差还是方差,都在降低。
- VC分析独立于学习算法 \(\mathcal{A}\),而偏差方差分析中,假设空间 \(\mathcal{H}\) 和 \(\mathcal{A}\) 都对结果产生影响。相同的 \(\mathcal{H}\) 下,不同的 \(\mathcal{A}\) 将产生不同的 \(g^{(\mathcal{D})}\),最终产生不同的偏差和方差。
- VC分析要求最小化样本集的0-1误差(即 \(E_{in}\))。而尽管偏差方差分析是基于平方误差计算,但是学习算法并不一定是采取最小化平方误差的策略来产生 \(g^{(\mathcal{D})}\)。不过,一旦产生 \(g^{(\mathcal{D})}\),我们就用平方误差法来计算 \(g^{(\mathcal{D})}\) 的偏差和方差。
三、补充:误差和噪声
-
误差测量
总体误差:\(E(h,f)\),每一个点的误差:\(e(h(\mathbf{x}),f(\mathbf{x}))\)。\(E(h,f)\)可以是每一个点的误差和的平均值,也可以是用户自定义的函数。在之前的讨论中,$$E_{in}(h) = \frac{1}{N} \sum_{i=1}^{N}e(h(\mathbf{x}i),f(\mathbf{x}i))$$$$E(h) = E{\mathbf{x}}[e(h(\mathbf{x}),f(\mathbf{x}))]$$有两种类型的误差:错误接受(
false accept
)和错误拒绝(false reject
)。误差测量的方式应该取决于我们设计的系统的用途。我们根据FA和FR两者不同错误成本(也可以称作权重),来考虑不同的算法设计策略。 -
噪声目标
目标函数不一定是一个函数,数据总是在存在噪声的情况下生成。因此,我们不使用函数 \(y =f(\mathbf{x})\),而是选择概率分布 \(P\{y|\mathbf{x}\}\)。即 \((\mathbf{x},y)\) 由联合概率分布 \(P\{y|\mathbf{x}\}P\{\mathbf{x}\}\) 独立生成。
此时,噪声目标就等于确定性目标 \(f(\mathbf{x})\) 加上噪声部分 \(y-f(\mathbf{x})\)。通常来说,我们对学习可行性的分析,适用于噪声目标。
后记
本文是笔者在学习加州理工学院公开课-机器学习与数据挖掘时的一些笔记。
后来阅读了配套教材《Learning From Data》,将该书所介绍的学习可行性的推导证明进行了整理。