5 The Bias-Complexity Tradeoff

340 阅读6分钟

5    比亚斯-复杂性交易

在第2章中,我们看到,除非有人小心,否则训练数据可能会误导学习者,并导致过拟合。为了克服这个问题,我们限制搜索空间一些假设类 H\mathcal{H} 这样的假设类可以被视为反映一些先验知识,学习者的任务——相信类的成员 H\mathcal{H} 是一个低错误模型的任务。例如,在我们的木瓜味道问题中,根据我们之前对其他水果的经验,我们可以假设颜色-硬度平面上的一些矩形可以预测(至少近似)木瓜的味道。

这样的先验知识真的是学习成功的必要条件吗?也许存在某种普遍的学习者,也就是说,一个对某一任务没有事先的知识,并且准备好被任何任务挑战的学习者?让我们详细说明这一点。一个特定的学习任务由 X×Y\mathcal{X}\times\mathcal{Y} 上的未知分布 D\mathcal{D} 来定义,其中学习者的目标是找到一个预测因子h: XY\mathcal{X}\rightarrow\mathcal{Y} ,其风险 LD(h)L_D(h) 足够小。因此,问题是是否存在一个学习算法A和一个训练集大小为m,这样,对于每个分布 D\mathcal{D} ,如果A接收到mi.i.d.来自 D\mathcal{D} 的例子,它很有可能输出一个具有低风险的预测器h。

本章的第一部分正式讨论了这个问题。无免费午餐定理指出,不存在这样的普遍学习者。更准确地说,该定理指出,对于二进制分类预测任务,对于每个学习者,都有一个它失败的分布。我们说学习者失败,如果收到i.i.d.从这个分布的例子中,它的输出假设可能有一个很大的风险,比如 \geq 0.3,而对于相同的分布,存在另一个学习者将输出一个小风险的假设。换句话说,该定理指出,没有一个学习者能在所有可学习的任务上取得成功——每个学习者都有失败的任务,而其他学习者都成功了。

因此,当处理一个由某些分布 D\mathcal{D} 定义的特定学习问题时,我们应该有一些关于 D\mathcal{D} 的先验知识。这种先验知识的一种类型是 D\mathcal{D} 来自于某个特定的参数分布族。我们将在第24章的后面研究这些假设下的学习。在 D\mathcal{D} 的另一种先验知识中,我们在定义PAC学习模型时假设的先验知识,是在一些预定义的假设 H\mathcal{H} 类中存在h,即 LD(h)=0L_D(h)=0。 关于 D\mathcal{D} 的一种较软的先验知识是假设 minhHLD(h)min_{h\in H}L_D(h) 较小。从某种意义上说,这个对 D\mathcal{D} 的较弱的假设是使用在不可知的PAC模型中,其中我们要求输出假设的风险不会超过 minhHLD(h)min_{h\in H}L_D(h)

在本章的第二部分中,我们将研究使用假设类作为形式化先验知识的一种手段的好处和陷阱。我们将 H\mathcal{H} 类上的ERM算法的误差分解为两个分量。第一个成分反映了我们先验知识的质量,通过我们的假设类中假设的 minhHLD(H)min_{h\in H}L_D(H) 的最小风险来衡量。这个分量也称为近似误差,或算法对从 H\mathcal{H} 中选择假设的偏差。第二个分量是由于过拟合引起的误差,这取决于 H\mathcal{H} 类的大小或复杂性,称为估计误差。这两个术语意味着在选择更复杂的 H\mathcal{H} (可以减少偏差但增加过拟合的风险)或较不复杂的 H\mathcal{H} (可能增加偏差但减少潜在的过拟合)之间的权衡。

5.1 无免费午餐定理

在这部分中,我们证明了没有普遍的学习者。我们通过证明没有一个学习者能在所有的学习任务上取得成功来做到这一点,如下定理形式化:

定理5.1(无免费午餐)设A是关于一个域 X\mathcal{X} 上的0−1损失的二进制分类任务的任何学习算法。设m是小于 X/2\mid X\mid/2 的任何数字,表示一个训练集的大小。然后,在 X×{0,1}\mathcal{X}\times\{0,1\} 上存在一个分布 D\mathcal{D} ,这样:

1.存在一个函数f:X{0,1}LD(f)=0\mathcal{X}\rightarrow\{0,1\}与L_D(f)=0. 2.在选择 SDmS\sim D^m 的概率至少为1/7,我们有那个 LD(A(S))1/8L_D(A(S))\geq 1/8。

这个定理指出,对于每个学习者来说,都有一个它失败的任务,即使这个任务可以被另一个学习者成功地学习。事实上,在这种情况下,一个简单的成功学习者将是一个具有假设类 H={f}\mathcal{H}=\{f\}ERM学习者,或者更一般地说,对于任何包含f且其大小满足方程 m8log(7H/6)m\geq 8log(7\mid \mathcal{H}\mid/6) (见推论2.3)。

证明: 设C是大小为2m的 X\mathcal{X} 的一个子集。证明的直觉是,任何只观察C中一半实例的学习算法都没有关于其他实例的标签的信息 C. 因此,存在一个“现实”,即一些目标函数f,这将与A(S)在中未观察到的实例上预测的标签相矛盾C.

注意,从C到{0,1}有 T=22mT=2^{2m} 可能的函数。用 f1fTf_1,……,f_T表示这些函数。对于每个这样的函数,设 DiD_i是一个分布在 C×{0,1}C\times\{0,1\}定义为:

Di({(x,y)})={1/Cify=fi(x)0其他D_i(\{(x,y)\})=\left\{ \begin{matrix} &1/C\quad if\quad y=f_i(x)\\ &0\qquad 其他 \end{matrix} \right.

也就是说,如果根据 fif_i 的标签y确实是真实的标签,那么选择一对(x,y)的概率为 1/C1/\mid C\mid ,如果 yfi(x)y\not=f_i(x) 的概率为0。显然, LDi(fi)=0L_{D_i}(f_i)=0。

我们将证明,对于每个算法,A,它从 C×{0,1}C\times\{0,1\} 接收一个m个例子的训练集,并返回一个函数A(S): C{0,1}C\rightarrow\{0,1\} ,它证明了

maxi[T]ESDim[LDi(A(S))]1/4.(5.1)\underset{i\in[T]}{max}\underset{S\sim D^m_i}{E}[L_{D_i}(A(S))]\geq1/4.(5.1)

显然,这意味着 AA^{'} 对于每一个从 X×{0,1}\mathcal{X}\times\{0,1\} 接收到m个示例的训练集的算法,存在一个函数 fX{0,1}f:\mathcal{X}\rightarrow\{0,1\} 和一个超过 X×{0,1}\mathcal{X}\times\{0,1\} 的分布 D\mathcal{D},这样 LD(f)=0L_D(f)=0 并且

ESDm[LD(A(S))]1/4.(5.2)\underset{S\sim D^m}{E}[L_D(A^{'}(S))]\geq 1/4.(5.2)

很容易验证前面的内容是否足以证明 P[LD(A(S))1/8]1/7P[L_D(A^{'}(S))\geq 1/8]\geq1/7 ,这是我们需要证明的(见练习1)。

现在我们转向证明方程(5.1)是成立的。来自c中有 k=(2m)mk=(2m)^m 个可能的序列。用这些序列表示 S1,,SkS_1,\cdots,S_k 。此外,如果 Sj=(x1,xm)S_j=(x_1,\cdots,x_m) ,我们用 SjiS^i_j 表示包含由函数 fif_i 标记的 SjS_j 中实例的序列,即 Sji=((x1fi(x1))(xmfi(xm)))S^i_j=((x_1、f_i(x_1)),\cdots、(x_m、f_i(x_m))) 。如果分布是 DiD_i ,那么A可能接收到的训练集是 S1i,SkiS^i_1,\cdots,S^i_k ,所有这些训练集都有相同的采样概率。因此,

ESDim[LDi(A(S))]=1kj=1kLDi(A(Sji)).(5.3)\underset{S\sim D^m_i}{E}[L_{D_i}(A(S))]=\frac{1}{k}\sum^{k}_{j=1}L_{D_i}(A(S^i_j)).(5.3)

利用“最大”大于“平均”和“平均”大于“最小”的事实,我们有

maxi[T]1kj=1kLDi(A(Sji))1Ti=1T1kj=1kLDi(A(Sji))=1kj=1k1Ti=1TLDi(A(Sji))minj[k]1Ti=1TLDi(A(Sji)).(5.4)\begin{aligned} \underset{i\in[T]}{max}\frac{1}{k}\sum^{k}_{j=1}L_{D_i}(A(S^i_j)) & \geq\frac{1}{T}\sum^T_{i=1}\frac{1}{k}\sum^{k}_{j=1}L_{D_i}(A(S^i_j))\\ &=\frac{1}{k}\sum^{k}_{j=1}\frac{1}{T}\sum^T_{i=1}L_{D_i}(A(S^i_j))\\ &\geq \underset{j\in[k]}{min}\frac{1}{T}\sum^T_{i=1}L_{D_i}(A(S^i_j)).\quad(5.4) \end{aligned}

接下来,修复一些 j[k]j\in[k] 。表示 Sj=(x1,,xm)S_j=(x_1,\cdots,x_m) ,让 v1,,vpv_1,\cdots,v_p 是C中没有出现在 SjS_j 中的例子。显然, pmp\geq m 。因此,对于每一个函数h: C{0,1}C\rightarrow\{0,1\} 和每一个i我们都有:

LDi(h)=12mxC1[h(x)fi(x)]12mr=1p1[h(vr)fi(vr)]12pr=1p1[h(vr)fi(vr)].(5.5)\begin{aligned} L_{D_i}(h)& =\frac{1}{2m}\sum_{x\in C}1[h(x)\not=f_i(x)]\\ & \geq\frac{1}{2m}\sum^p_{r=1}1[h(vr)\not=f_i(vr)]\\ & \geq\frac{1}{2p}\sum^p_{r=1}1[h(vr)\not=f_i(vr)].\quad(5.5) \end{aligned}

因此

1Ti=1TLDi(A(Sji))1Ti=1T12pr=1p1[A(Sji)(vr)fi(vr)]=12pr=1p1Ti=1T1[A(Sji)(vr)fi(vr)]12.minr[p]1T1[A(Sji)(vr)fi(vr)](5.6)\begin{aligned} \frac{1}{T}\sum^T_{i=1}L_{D_i}(A(S^i_j))& \geq\frac{1}{T}\sum^T_{i=1}\frac{1}{2p}\sum^p_{r=1}1[A(S^i_j)(vr)\not=f_i(vr)]\\ &=\frac{1}{2p}\sum^p_{r=1}\frac{1}{T}\sum^T_{i=1}1[A(S^i_j)(vr)\not=f_i(vr)]\\ &\geq\frac{1}{2}.\underset{r\in [p]}{min}\frac{1}{T}1[A(S^i_j)(vr)\not=f_i(vr)]\quad(5.6) \end{aligned}

接下来,修复一些 r[p]r\in[p] 。我们可以将 f1,,fTf_1,\cdots,f_T 中的所有函数到划分T/2个分离对,对于一对( fifif_i,f_i^{'}),我们对于每个 cC,fi(c)fi(c)c\in C ,f_i(c)\not=f_i^{'}(c) ,当且只有当 c=vrc=v_r 。因为对于这样的一对,我们必须有 Sji=SjiS^i_j=S^{i^{'}}_j ,所以它就是这样的

1[A(Sji)(vr)fi(vr)]+1[A(Sji)(vr)fi(vr)]=11_{[A(S^i_j)(v_r)\not=f_i(v_r)]}+1_{[A(S^{i^{'}}_j)(v_r)\not=f_{i^{'}}(v_r)]}=1

哪种产量

1Ti=1T1[A(Sji)(vr)fi(vr)]\frac{1}{T}\sum^{T}_{i=1}1[A(S^i_j)(v_r)\not=f_i(v_r)]

结合方程式(5.6)、方程式(5.4)和方程式(5.3),我们得到了方程式(5.1)成立,从而得出了我们的证明。