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

By Z.H. Fu
切问录 www.fuzihao.org

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

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

  记样本为\((x^{(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}\)的极大似然估计,即是说,我们现在得到的这个真实存在的\(\boldsymbol{y}\)\(\boldsymbol{\theta}\)不同的取值下,出现概率最大,我们来看这个概率。令 \[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})\] 为了简化计算,令 \[\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(\boldsymbol{\theta})\)最大,即需让\(l(\boldsymbol{\theta})\)最大,即让\(\sum_{i=0}^m(y^{(i)}-\hat y^{(i)}|_\boldsymbol{\theta})^2\)取到最小值。

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