0%

为什么最小二乘法对误差的估计要用平方?

By Z.H. Fu
https://fuzihaofzh.github.io/blog/
  以前上高中的时候问过数学老师这个问题,被老师骂了一顿,说这是规定,后来也就没太在意。今天看了Stanford Andrew Ng讲的《机器学习》,明白了为什么最小二乘法对误差的估计要用平方,而不是绝对值或是四次方。

简单地说,之所以要用这种规定,是因为,取二次方的时候,对参数的估计是当前样本下的最大似然估计。下面给出证明。

记样本为(x(i),y(i))(x^{(i)},y^{(i)}),对样本的预测为y^(i)θ\hat y^{(i)}|_\boldsymbol{\theta}该记法表示该预测依赖于参数θ\boldsymbol{\theta}的选取。我们有:
  $$\boldsymbol{y}=\boldsymbol{\hat y|\theta}+\boldsymbol{\epsilon}$$
  其中,ϵ\boldsymbol{\epsilon}是一个误差函数,我们通常认为其服从正态分布即
  $$\boldsymbol{\epsilon }\sim N(0,\sigma^2)$$
因此有
  $$\begin{aligned}\boldsymbol{y}-\boldsymbol{\hat y|
\theta}&\sim N(0,\sigma^2)\ \boldsymbol{y}&\sim N(\boldsymbol{\hat y|_\boldsymbol{\theta}},\sigma^2)\end{aligned}$$
要求θ\boldsymbol{\theta}的极大似然估计,即是说,我们现在得到的这个真实存在的y\boldsymbol{y}θ\boldsymbol{\theta}不同的取值下,出现概率最大,我们来看这个概率。令

L(θ)=P(yx;θ)=i=1m12πσexp((y(i)y^(i)θ)22σ)L(\boldsymbol{\theta})=P(\boldsymbol{y}|\boldsymbol{x};\boldsymbol{\theta})=\prod_{i=1}^m\frac{1}{\sqrt{2\pi}\sigma}\exp(-\frac{(y^{(i)}-\hat y^{(i)}|_\boldsymbol{\theta})^2}{2\sigma})

为了简化计算,令

l(θ)=logL(θ)=mlog12π+i=0m(y(i)y^(i)θ)22σ\begin{aligned}l(\boldsymbol{\theta})&=\log L(\boldsymbol{\theta})\\&=m\log \frac{1}{\sqrt{2\pi}}+\sum_{i=0}^m-\frac{(y^{(i)}-\hat y^{(i)}|_\boldsymbol{\theta})^2}{2\sigma}\end{aligned}

要让L(θ)L(\boldsymbol{\theta})最大,即需让l(θ)l(\boldsymbol{\theta})最大,即让i=0m(y(i)y^(i)θ)2\sum_{i=0}^m(y^{(i)}-\hat y^{(i)}|_\boldsymbol{\theta})^2取到最小值。

综上,当误差函数定为平方时,参数θ\boldsymbol{\theta}是样本的极大似然估计。