外观
为什么使用均方误差(MSE)?
Why Mean Squared Error (MSE)?

假设你想训练一个线性回归模型。我们知道,训练它的方式是最小化平方误差:
但你有没有想过,为什么我们偏偏要用平方误差呢?

你看,许多函数都有可能最小化观测值与预测值之间的差异。但在所有可能的选择中,平方误差到底有什么特别之处?根据我的经验,人们常说:
- 平方误差是可微的,所以我们才把它当作损失函数。错。
- 它比绝对误差更好,因为平方误差对大误差的惩罚更重。错。遗憾的是,这些解释都是不正确的。不过,从概率的角度来审视,能帮助我们理解为什么平方误差是理想之选。本章就来一探究竟。
在线性回归中,我们用输入 X 来预测目标变量 y,如下所示:

这里的 epsilon 是一个误差项,用来刻画某个数据点 (i) 的随机噪声。基于中心极限定理,我们假设噪声取自一个均值为零的高斯分布:

因此,观测到该误差项的概率可以写成:

把线性回归方程中的误差项代入,我们得到:

对于一组特定的参数 θ,上式告诉我们观测到某个数据点 (i) 的概率。接下来,我们可以如下定义似然函数:

这意味着,通过改变 θ,我们可以用一个分布去拟合观测数据,并量化观测到它的可能性。我们进一步把它写成针对各个数据点的乘积形式,是因为我们假设所有观测之间相互独立。

于是,我们得到:

由于对数函数是单调的,我们使用对数似然并对其求最大化。这被称为最大似然估计(MLE)。

化简后,我们得到:

重申一下,目标是找到使上式最大化的 θ。但第一项与 θ 无关。因此,最大化上式等价于最小化第二项。如果你仔细看,它恰好就是平方误差。

于是,你可以通过最小化平方误差来最大化对数似然。这正是线性回归中最小二乘法的由来。看吧,在线性回归中把平方误差当作损失函数,背后是有清晰的证明和推理的。机器学习中的一切都不是凭空而来的。