数值计算之 最小二乘与极大似然估计
前言
在别的博客上发现了一个比较有趣的看法,就是从概率的角度上把最小二乘法与极大似然估计联系起来。这里记录一下。
最小二乘法
假设我们使用 f ( x ) f(x) f(x)对系统的观测数据 ( x 1 , y 1 ) , … , ( x n , y n ) (x_1,y_1),\dots,(x_n,y_n) (x1,y1),…,(xn,yn)进行建模,建模结果与观测数据必然存在误差(也叫残差 δ \delta δ)。
最小二乘法就是通过调整模型
f
(
x
)
f(x)
f(x)的参数,使残差最小化:
arg min
f
(
x
)
∑
i
=
1
n
(
f
(
x
i
)
−
y
i
)
2
=
arg min
f
(
x
)
∑
i
=
1
n
δ
i
2
\argmin_{f(x)} \sum_{i=1}^n (f(x_i)-y_i)^2=\argmin_{f(x)} \sum_{i=1}^n \delta_i^2
f(x)argmini=1∑n(f(xi)−yi)2=f(x)argmini=1∑nδi2
残差建模
如果模型
f
(
x
)
f(x)
f(x)能够很好的描述系统,则观测数据与预测数据的差值应当是类似于白噪声一样的随机误差(偶然误差)。可以将残差
δ
\delta
δ建模为高斯分布:
δ
∼
N
(
0
,
σ
2
)
p
(
δ
)
=
1
2
π
σ
exp
(
−
δ
2
2
σ
2
)
\delta \sim N(0, \sigma^2) \\ p(\delta)=\frac {1}{\sqrt{2\pi }\sigma}\exp (-\frac{\delta^2}{2\sigma^2}) \\
δ∼N(0,σ2)p(δ)=2π
σ1exp(−2σ2δ2)
极大似然估计
由于观测残差是独立的,因此其联合概率密度可表示为:
∏
i
=
1
n
p
(
δ
i
)
=
(
1
2
π
σ
)
n
exp
(
−
∑
i
=
1
n
δ
i
2
2
σ
2
)
\prod_{i=1}^n p(\delta_i) = (\frac {1}{\sqrt{2\pi }\sigma})^n\exp (-\frac{\sum_{i=1}^n\delta_i^2}{2\sigma^2})
i=1∏np(δi)=(2π
σ1)nexp(−2σ2∑i=1nδi2)
从概率的角度来看,最优模型
f
(
x
)
f(x)
f(x)要使得残差出现的概率最大。这就是极大似然估计:
arg max
δ
i
∏
i
=
1
n
p
(
δ
i
)
\argmax_{\delta_i} \prod_{i=1}^n p(\delta_i)
δiargmaxi=1∏np(δi)
取上式的负对数:
−
log
∏
i
=
1
n
p
(
δ
i
)
=
n
log
(
2
π
σ
)
+
∑
i
=
1
n
δ
i
2
2
σ
2
arg min
δ
i
(
n
log
(
2
π
σ
)
+
∑
i
=
1
n
δ
i
2
2
σ
2
)
i
.
e
.
arg min
δ
i
∑
i
=
1
n
δ
i
2
-\log\prod_{i=1}^n p(\delta_i) = n\log({\sqrt{2\pi}\sigma}) +\frac{\sum_{i=1}^n\delta_i^2}{2\sigma^2} \\ \argmin_{\delta_i} (n\log({\sqrt{2\pi}\sigma}) +\frac{\sum_{i=1}^n\delta_i^2}{2\sigma^2}) \\ i.e. \quad \argmin_{\delta_i} \sum_{i=1}^n\delta_i^2
−logi=1∏np(δi)=nlog(2π
σ)+2σ2∑i=1nδi2δiargmin(nlog(2π
σ)+2σ2∑i=1nδi2)i.e.δiargmini=1∑nδi2
这就把极大似然估计与最小二乘法联系了起来。