8.1.1 经验风险最小化
Last updated
Last updated
机器学习算法的目标是降低\eqn?所示的期望泛化误差。 这个数据量被称为风险。
[success]
其中指所有数据,因此是泛化误差的期望,称为风险。
在这里,我们强调该期望取自真实的潜在分布$p{\text{data}}$。 如果我们知道了真实分布$p{\text{data}}(x, y)$,那么最小化风险变成了一个可以被优化算法解决的优化问题。 然而,我们遇到的机器学习问题,通常是不知道$p_\text{data}(x, y)$,只知道训练集中的样本。
将机器学习问题转化回一个优化问题的最简单方法是最小化训练集上的期望损失。 这意味着用训练集上的经验分布\,$\hat{p}(x,y)$替代真实分布$p(x,y)$。 现在,我们将最小化经验风险:
其中$m$表示训练样本的数目。
[success] 其中指经验数据,也就是训练样本。因此是经验误差的期望,称为经验风险。
基于最小化这种平均训练误差的训练过程被称为经验风险最小化。 在这种情况下,机器学习仍然和传统的直接优化很相似。 我们并不直接最优化风险,而是最优化经验风险,希望也能够很大地降低风险。 一系列不同的理论构造了一些条件,使得在这些条件下真实风险的期望可以下降不同的量。
然而,经验风险最小化很容易导致过拟合。 高容量的模型会简单地记住训练集。 在很多情况下,经验风险最小化并非真的可行。 最有效的现代优化算法是基于梯度下降的,但是很多有用的损失函数,如$0-1$损失,没有有效的导数(导数要么为零,要么处处未定义)。 这两个问题说明,在深度学习中我们很少使用经验风险最小化。 反之,我们会使用一个稍有不同的方法,我们真正优化的目标会更加不同于我们希望优化的目标。
[success] (1)最小化风险 ---> (2)最小化经验风险 ---> (3)最小化代理损失函数 (1)是目标 (2)是纯优化方法,存在两个问题:(a)容易过拟合(b)有些损失函数没有有效的导数 (3)是ML/DL使用的优化方法