线性回归误差为什么用平方
线性回归误差为什么用平方
0. 从已经理解的内容出发
我们用一条直线预测 y:
$$ \hat y=\theta_0+\theta_1x $$
真实值和预测值之间的误差是:
$$ \epsilon=y-\hat y $$
我们希望选择一组参数,使所有样本的误差尽可能小。于是有一个问题:
应该用什么方式衡量误差的大小?
吴恩达在线性回归中选择了平方误差:
$$ J(\theta)=\frac{1}{2m}\sum_{i=1}^{m} \left(y^{(i)}-\hat y^{(i)}\right)^2 $$
下面解释为什么是平方,而不是一次方或四次方。
1. 为什么不能直接把误差相加
假设有两个样本,误差分别是:
$$ \epsilon_1=2,\qquad \epsilon_2=-2 $$
如果直接相加:
$$ \epsilon_1+\epsilon_2=2+(-2)=0 $$
但实际上两个样本都预测错了,所以结果为零不能表示“没有误差”。
原因是误差有正负:
- 正误差:预测值偏小;
- 负误差:预测值偏大。
所以正负误差会互相抵消。
2. 一次方、绝对值和平方的区别
带符号的一次方
如果使用:
$$ \sum_{i=1}^{m}\epsilon_i $$
就会发生正负抵消,因此不适合作为总误差。
绝对值的一次方
如果使用:
$$ \sum_{i=1}^{m}|\epsilon_i| $$
就不会发生正负抵消。这其实是合理的损失函数,叫绝对误差损失。
它的缺点是:在 ε=0 处有一个尖角,导数不连续;同时它对大误差的惩罚没有平方误差那么强。
平方误差
平方误差是:
$$ \sum_{i=1}^{m}\epsilon_i^2 $$
它有三个优点:
- 正误差和负误差都会变成正数;
- 大误差会被更强烈地惩罚;
- 函数连续且可导,方便使用梯度下降。
例如:
$$ 2^2=4,\qquad 5^2=25 $$
误差从 2 增加到 5,平方损失增加得非常明显。
3. 高斯分布是怎么出现的
吴恩达不是随意规定“误差要平方”,而是做了一个关于误差的假设:
大多数误差应该接近零,较大的误差比较少见,并且正误差和负误差大致对称。
这种误差形状可以用均值为 0 的高斯分布表示:
$$ \epsilon\sim\mathcal{N}(0,\sigma^2) $$
它的概率密度函数是:
$$ p(\epsilon) =\frac{1}{\sqrt{2\pi}\sigma} \exp\left(-\frac{\epsilon^2}{2\sigma^2}\right) $$
先只看最重要的部分:
$$ p(\epsilon)\propto\exp\left(-\frac{\epsilon^2}{2\sigma^2}\right) $$
因为指数上面出现了 -ε²,所以误差越大,出现的概率密度越小。
4. 从高斯误差推出平方误差
对于一个样本:
$$ \epsilon^{(i)}=y^{(i)}-\theta^Tx^{(i)} $$
高斯假设意味着:
$$ p\left(y^{(i)}\mid x^{(i)};\theta\right) =\frac{1}{\sqrt{2\pi}\sigma} \exp\left( -\frac{\left(y^{(i)}-\theta^Tx^{(i)}\right)^2}{2\sigma^2} \right) $$
这个式子表示:给定输入 x 和参数 θ 后,真实输出 y 在预测值附近出现的可能性。
如果模型的预测很好,那么误差较小,概率密度较大;如果预测很差,那么误差较大,概率密度较小。
假设不同样本之间相互独立,那么所有样本同时出现的可能性等于各个样本概率密度的乘积:
$$ \mathcal{L}(\theta) =\prod_{i=1}^{m} p\left(y^{(i)}\mid x^{(i)};\theta\right) $$
这个 𝓛(θ) 叫似然函数。我们希望找到一组参数,使观察到的训练数据最可能出现,因此希望最大化似然函数。
直接最大化很多乘法不方便,所以取对数:
$$ \log\mathcal{L}(\theta) =\sum_{i=1}^{m} \log p\left(y^{(i)}\mid x^{(i)};\theta\right) $$
代入高斯密度后:
$$ \log\mathcal{L}(\theta) =-m\log(\sqrt{2\pi}\sigma) -\frac{1}{2\sigma^2} \sum_{i=1}^{m} \left(y^{(i)}-\theta^Tx^{(i)}\right)^2 $$
其中第一项与 θ 无关,只有第二项会随着模型参数变化。
因此,最大化对数似然等价于最小化:
$$ \sum_{i=1}^{m} \left(y^{(i)}-\theta^Tx^{(i)}\right)^2 $$
这就是最小二乘法。
所以核心逻辑是:
$$ \text{高斯误差假设} \Longrightarrow \text{最大似然估计} \Longrightarrow \text{最小化平方误差} $$
换句话说,这个逻辑是:最大化预测结果,也就是让真实结果出现在预测值附近的可能性最大化。这里“可能性”的量化标准是概率密度;概率密度越大,说明在相同的小区间内观察到真实值越合理。