泛化误差
定义
机器学习算法的最终目标是最小化期望损失风险,由于数据的真实分布通常是不知道的,因此,将学习目标转换为最小化经验风险:
ming∈Gl^n(g)=1n∑i=1nl(g;xi,yi)min_{g\in\mathcal{G}}\hat{l}_n(g)=\frac{1}{n}\sum_{i=1}^{n}l(g;x_i,y_i)ming∈Gl^n(g)=n1∑i=1nl(g;xi,yi)
优化算法对最小化经验风险函数求解,并在算法结束的第TTT次迭代中输出模型g^T\hat{g}_Tg^T。我们希望学习到的模型g^T\hat{g}_Tg^T的期望风险L(g^T)L(\hat{g}_T)L(g^T)尽可能小,并将其定义为机器学习算法的泛化误差。
泛化误差分解
机器学习中,我们希望学习算法的泛化误差L(g^T)L(\hat{g}_T)L(g^T)尽可能小,尽可能接近最优模型的期望风险。也就是说,优化算法输出的模型g^T\hat{g}_Tg^T与最优模型g∗g^*g∗所对应的期望风险之差L(g^T)−L(g∗)L(\hat{g}_T)-L(g^*)L(g^T)−L(g∗) 尽可能小,这个差距通常也被称为泛化误差。
我们对泛化误差进行如下分解:
L(g^T)−L(g∗)=L(g^T)−L(g^n)+L(g^n)−L(gG∗)+L(gG∗)−L(g∗)L(\hat{g}_T)-L(g^*)=L(\hat{g}_T)-L(\hat{g}_n)+L(\hat{g}_n)-L(g_\mathcal{G}^*)+L(g_\mathcal{G}^*)-L(g^*)L(g^T)−L(g∗)=L(g^T)−L(g^n)+L(g^n)−L(gG∗)+L(gG∗)−L(g∗)
其中,每个部分的含义如下:
符号 | 含义 |
---|---|
g^T\hat{g}_Tg^T | 机器学习学得模型g^T\hat{g}_Tg^T |
g^n\hat{g}_ng^n | 函数族G\mathcal{G}G中使得经验风险最小的模型 |
gG∗g_\mathcal{G}^*gG∗ | 函数族G\mathcal{G}G中使得期望风险最小的模型 |
上述可以进一步分解为以下三项:
- L(g^T)−L(g^n)L(\hat{g}_T)-L(\hat{g}_n)L(g^T)−L(g^n)为优化误差,表示的是优化算法迭代TTT轮后输出的模型与经验风险最小的模型所对应的期望风险的差别。这项误差是由于优化算法的局限性带来的,与选用的优化算法、数据量大小、迭代轮数以及函数空间有关
- L(g^n)−L(gG∗)L(\hat{g}_n)-L(g_\mathcal{G}^*)L(g^n)−L(gG∗)为估计误差,表示的是经验风险最小的模型和期望风险最小的模型所对应的期望风险的差别。这项误差主要是由训练数据集的局限性带来的,与数据量的大小和函数空间的复杂程度都有关系
- L(gG∗)−L(g∗)L(g_\mathcal{G}^*)-L(g^*)L(gG∗)−L(g∗)为近似误差,表示的是函数集合G\mathcal{G}G中的最优期望风险与全局最优期望风险的差别。这项误差与函数空间的表达力有关
定性地讲,当函数空间增大时,近似误差减小,估计误差增大;当数据量增大时,估计误差减小;当迭代轮数TTT增大时,优化误差减小 。