在上一讲《Coursera自动驾驶课程第12讲:Semantic Segmentation》我们学习了深度学习的另一个重要应用:语义分割
。至此,本课程的视觉感知
模块就介绍完了。
从本讲开始,我们将学习一个新的模块,也是本课程的第三个模块:定位模块
。
B站视频链接:https://www.bilibili.com/video/BV1cE411D7Y9。
文章目录
1. The Squared Error Criterion and The Method
1.1 Overview
首先介绍一个关于最小二乘法的故事。
最小二乘法最早可以追溯到18世纪晚期(当时距离汽车诞生还有80多年)。 1801年1月1日,意大利牧师兼天文学家Giuseppe Piazzi
在夜空中发现了一个新的天体,现在称为谷神星,可以在月球和地球旁边观测到。
Piazzi在40天之内对这颗新物体进行了24次观测,之后该物体在阳光直射下消失了。由于谷神星的直径只有大约900公里,因此再次发现它非常具有挑战性。这意味着其他天文学家无法证实Piazzi的发现。为了再次定位谷神星,Carl Friedrich Gauss
(著名的数学王子)使用最小二乘法
基于测量结果准确估算了谷神星的轨道参数。
借助高斯的计算,在Piazzi进行首次观测后将近一年,天文学家成功地重新发现了谷神星。
1.2 Estimating Resistance
为了说明最小二乘法是如何工作的,让我们举一个简单的例子。假设我们正在尝试测量自动驾驶汽车驱动系统内的电阻欧姆值。
为此,我们使用万用表进行测量。现在,我们得到了四个单独的测量值。
但是,由于多种因素,测量值可能会与额定值不同。
对于这四个测量中的每一个,我们定义一个与其他噪声项无关的标量噪声项
v
v
v。 从统计上讲,在这种情况下,我们会说噪声是独立的且分布相同,我们将在以后进行讨论。 接下来,我们定义每次测量与电阻
x
x
x的实际值之间的误差。
但是请记住,我们尚不知道 x x x是什么。 为了找到 x x x,我们对这些误差求平方,得到一个方程,该方程是我们的测量值和所要寻找的未知电阻的函数。
在定义了这些误差之后,现在我们给出本例中最小二乘法的目的:求出 x x x的最佳估计值以使平方误差最小化。
x ^ L S = argmin x ( e 1 2 + e 2 2 + e 3 2 + e 4 2 ) = L L S ( x ) \hat{x}_{\mathrm{LS}}=\operatorname{argmin}_{x}\left(e_{1}^{2}+e_{2}^{2}+e_{3}^{2}+e_{4}^{2}\right)=\mathscr{L}_{\mathrm{LS}}(x) x^LS=argminx(e12+e22+e32+e42)=LLS(x)
1.3 Minimizing the Squared Error
为了最小化平方差,我们将误差写成矩阵形式:
e
=
[
e
1
e
2
e
3
e
4
]
=
y
−
H
x
=
[
y
1
y
2
y
3
y
4
]
−
[
1
1
1
1
]
x
\mathbf{e}=\left[ \begin{array}{l}{e_{1}} \\ {e_{2}} \\ {e_{3}} \\ {e_{4}}\end{array}\right]=\mathbf{y}-\mathbf{H} x=\left[ \begin{array}{l}{y_{1}} \\ {y_{2}} \\ {y_{3}} \\ {y_{4}}\end{array}\right]-\left[ \begin{array}{l}{1} \\ {1} \\ {1} \\ {1}\end{array}\right] x
e=⎣⎢⎢⎡e1e2e3e4⎦⎥⎥⎤=y−Hx=⎣⎢⎢⎡y1y2y3y4⎦⎥⎥⎤−⎣⎢⎢⎡1111⎦⎥⎥⎤x
当我们必须处理成百上千个测量值时,矩阵表达将会非常有用。同样我们可以将平方差展开,我们将会得到:
L
L
S
(
x
)
=
e
1
2
+
e
2
2
+
e
3
2
+
e
4
2
=
e
T
e
=
(
y
−
H
x
)
T
(
y
−
H
x
)
=
y
T
y
−
x
T
H
T
y
−
y
T
H
x
+
x
T
H
T
H
x
\begin{aligned} \mathscr{L}_{\mathrm{LS}}(x)=e_{1}^{2}+e_{2}^{2}+e_{3}^{2}+e_{4}^{2} &=\mathbf{e}^{T} \mathbf{e} \\ &=(\mathbf{y}-\mathbf{H} x)^{T}(\mathbf{y}-\mathbf{H} x) \\ &=\mathbf{y}^{T} \mathbf{y}-x^{T} \mathbf{H}^{T} \mathbf{y}-\mathbf{y}^{T} \mathbf{H} x+x^{T} \mathbf{H}^{T} \mathbf{H} x \end{aligned}
LLS(x)=e12+e22+e32+e42=eTe=(y−Hx)T(y−Hx)=yTy−xTHTy−yTHx+xTHTHx
从微积分中我们知道,可以通过对未知
x
x
x求导来求解上式,求导为:
∂
L
∂
x
∣
x
=
x
^
=
−
y
T
H
−
y
T
H
+
2
x
^
T
H
T
H
=
0
−
2
y
T
H
+
2
x
^
T
H
T
H
=
0
\begin{array}{r}{\left.\frac{\partial \mathscr{L}}{\partial x}\right|_{x=\hat{x}}=-\mathbf{y}^{T} \mathbf{H}-\mathbf{y}^{T} \mathbf{H}+2 \hat{x}^{T} \mathbf{H}^{T} \mathbf{H}=0} \\ {-2 \mathbf{y}^{T} \mathbf{H}+2 \hat{x}^{T} \mathbf{H}^{T} \mathbf{H}=0}\end{array}
∂x∂L∣∣x=x^=−yTH−yTH+2x^THTH=0−2yTH+2x^THTH=0
重新排列后,我们得到了正规方程
,可以将其写为单个矩阵公式。
x
^
L
S
=
(
H
T
H
)
−
1
H
T
y
\hat{x}_{\mathrm{LS}}=\left(\mathbf{H}^{T} \mathbf{H}\right)^{-1} \mathbf{H}^{T} \mathbf{y}
x^LS=(HTH)−1HTy
这里需要提醒的是,当 ( H T H ) − 1 \left(\mathbf{H}^{T} \mathbf{H}\right)^{-1} (HTH)−1存在时,方程有解。
现在,我们带入我们刚才的测量值来求解电阻。
现在,我们总结下:
- 我们假设测量模型是
线性
的。 - 其次,我们假设所有测量值在误差方程中的
权重相等
。
2. Weighted Least Squares
2.1 Method of Weighted Least Squares
现在假设我们使用两个不同的测量设备来测量电阻值,因为两个设备的噪声参数不同,我们需要制定一种方法来一次估算多个参数。
现在我们通过线性模型得到
m
m
m个测量值,这些测量值与
n
n
n个未知参数有关,形式如下:
[
y
1
⋮
y
m
]
=
H
[
x
1
⋮
x
n
]
+
[
v
1
⋮
v
m
]
y
=
H
x
+
v
\left[ \begin{array}{c}{y_{1}} \\ {\vdots} \\ {y_{m}}\end{array}\right]=\mathbf{H} \left[ \begin{array}{c}{x_{1}} \\ {\vdots} \\ {x_{n}}\end{array}\right]+\left[ \begin{array}{c}{v_{1}} \\ {\vdots} \\ {v_{m}}\end{array}\right]\\ \\ y = Hx + v
⎣⎢⎡y1⋮ym⎦⎥⎤=H⎣⎢⎡x1⋮xn⎦⎥⎤+⎣⎢⎡v1⋮vm⎦⎥⎤y=Hx+v
最小二乘法假设:噪声项
v
i
v_i
vi在测量过程中是独立的随机变量,我们将会得到下式:
E
[
v
i
2
]
=
σ
i
2
,
(
i
=
1
,
…
,
m
)
R
=
E
[
v
v
T
]
=
[
σ
1
2
0
⋱
0
σ
m
2
]
\mathbb{E}\left[v_{i}^{2}\right]=\sigma_{i}^{2}, \quad(i=1, \ldots, m) \quad \mathbf{R}=\mathbb{E}\left[\mathbf{v} \mathbf{v}^{T}\right]=\left[\begin{array}{cc}\sigma_{1}^{2} & 0 \\ & \ddots & \\ 0 & \sigma_{m}^{2}\end{array}\right]
E[vi2]=σi2,(i=1,…,m)R=E[vvT]=⎣⎡σ1200⋱σm2⎦⎤
现在我们可以定义一个加权最小二乘准则
。
L
W
L
S
(
x
)
=
e
T
R
−
1
e
=
e
1
2
σ
1
2
+
e
2
2
σ
2
2
+
…
+
e
m
2
σ
m
2
w
h
e
r
e
[
e
1
⋮
e
m
]
=
e
=
[
y
1
⋮
y
m
]
−
H
[
x
1
⋮
x
n
]
\begin{aligned} \mathscr{L}_{\mathrm{WLS}}(\mathbf{x}) &=\mathbf{e}^{T} \mathbf{R}^{-1} \mathbf{e} \\ &=\frac{e_{1}^{2}}{\sigma_{1}^{2}}+\frac{e_{2}^{2}}{\sigma_{2}^{2}}+\ldots+\frac{e_{m}^{2}}{\sigma_{m}^{2}} \end{aligned} \quad \quad where \quad \quad \left[ \begin{array}{c}{e_{1}} \\ {\vdots} \\ {e_{m}}\end{array}\right]=\mathbf{e}=\left[ \begin{array}{c}{y_{1}} \\ {\vdots} \\ {y_{m}}\end{array}\right]-\mathbf{H} \left[ \begin{array}{c}{x_{1}} \\ {\vdots} \\ {x_{n}}\end{array}\right]
LWLS(x)=eTR−1e=σ12e12+σ22e22+…+σm2em2where⎣⎢⎡e1⋮em⎦⎥⎤=e=⎣⎢⎡y1⋮ym⎦⎥⎤−H⎣⎢⎡x1⋮xn⎦⎥⎤
通过扩展此表达式,我们可以了解为什么我们称此加权最小二乘。 现在,每个误差平方项都由与相应测量值相关的方差的倒数加权
。 换句话说,噪声的方差越大,损失函数中与之相关的误差项所占的权重就越小
。
2.2 Re-deriving Regular Least Squares
在看到如何最小化这个新的加权标准之前,让我们看一下如果将所有噪设置为相同的值会发生什么。
L
W
L
S
(
x
)
=
e
1
2
σ
2
+
e
2
2
σ
2
+
…
+
e
m
2
σ
2
=
1
σ
2
(
e
1
2
+
…
+
e
m
2
)
\begin{aligned} \mathscr{L}_{\mathrm{WLS}}(\mathbf{x}) &=\frac{e_{1}^{2}}{\sigma^{2}}+\frac{e_{2}^{2}}{\sigma^{2}}+\ldots+\frac{e_{m}^{2}}{\sigma^{2}} \\ &=\frac{1}{\sigma^{2}}\left(e_{1}^{2}+\ldots+e_{m}^{2}\right) \end{aligned}
LWLS(x)=σ2e12+σ2e22+…+σ2em2=σ21(e12+…+em2)
在这种情况下,我们可以考虑分母的方差。 由于平方项是常数,因此不会影响最小化。 这意味着,在方差相等的情况下,加权最小二乘结果与普通最小二乘结果相同
。
σ
1
2
=
σ
2
2
=
…
σ
m
2
=
σ
2
→
x
^
W
L
S
=
x
^
L
S
=
argmin
x
L
L
S
(
x
)
=
arg
min
x
L
W
L
S
(
x
)
\sigma_{1}^{2}=\sigma_{2}^{2}=\ldots \sigma_{m}^{2}=\sigma^{2} \rightarrow \quad \hat{\mathbf{x}}_{\mathrm{WLS}}=\hat{\mathbf{x}}_{\mathrm{LS}}=\operatorname{argmin}_{\mathbf{x}} \mathscr{L}_{\mathrm{LS}}(\mathbf{x})=\arg \min _{\mathbf{x}} \mathscr{L}_{\mathrm{WLS}}(\mathbf{x})
σ12=σ22=…σm2=σ2→x^WLS=x^LS=argminxLLS(x)=argxminLWLS(x)
2.3 Minimizing the Weighted Least Squares Criterion
回到加权最小二乘,我们采用与以前相同的方法来逼近最小化,我们同样进行求导。
x
^
=
argmin
x
L
(
x
)
⟶
∂
L
∂
x
∣
x
=
x
^
=
0
=
−
y
T
R
−
1
H
+
x
^
T
H
T
R
−
1
H
\hat{\mathbf{x}}=\operatorname{argmin}_{\mathbf{x}} \mathscr{L}(\mathbf{x}) \quad \longrightarrow \quad\left.\frac{\partial \mathscr{L}}{\partial \mathbf{x}}\right|_{\mathbf{x}=\hat{\mathbf{x}}}=\mathbf{0}=-\mathbf{y}^{T} \mathbf{R}^{-1} \mathbf{H}+\hat{\mathbf{x}}^{T} \mathbf{H}^{T} \mathbf{R}^{-1} \mathbf{H}
x^=argminxL(x)⟶∂x∂L∣∣∣∣x=x^=0=−yTR−1H+x^THTR−1H
设置零向量的梯度,然后求解最佳参数向量。这将导致另一组正规方程,称为加权正规方程
。
H
T
R
−
1
H
x
^
W
L
S
=
H
T
R
−
1
y
\mathbf{H}^{T} \mathbf{R}^{-1} \mathbf{H} \hat{\mathbf{x}}_{\mathrm{WLS}}=\mathbf{H}^{T} \mathbf{R}^{-1} \mathbf{y}
HTR−1Hx^WLS=HTR−1y
求解公式为:
x
^
=
(
H
T
R
−
1
H
)
−
1
H
T
R
−
1
y
\hat{\mathbf{x}}=\left(\mathbf{H}^{T} \mathbf{R}^{-1} \mathbf{H}\right)^{-1} \mathbf{H}^{T} \mathbf{R}^{-1} \mathbf{y}
x^=(HTR−1H)−1HTR−1y
现在,我们来求解我们的电阻值:
现在,我们将这两种最小二乘进行比较,表格如下:
3. Recursive Least Squares
3.1 Overview
回顾一下,前面我们已经探讨了如何通过一组测量值来计算电阻,计算公式为:
x
^
W
L
S
=
(
H
T
R
−
1
H
)
−
1
H
T
R
−
1
y
\hat{x}_{\mathrm{WLS}}=\left(\mathbf{H}^{T} \mathbf{R}^{-1} \mathbf{H}\right)^{-1} \mathbf{H}^{T} \mathbf{R}^{-1} \mathbf{y}
x^WLS=(HTR−1H)−1HTR−1y
我们的假设是我们有所有的测量数据
,并使用所有的测量数据来进行参数估计,这是一个完全合理的假设。
但是如果我们只有数据流的话那应该怎么办呢? 每次有新的测量值时,我们是否需要重新计算最小二乘解?
理想情况下,我们希望使用尽可能多的测量值以获得准确的电阻估计值。 但是,如果使用最小二乘法,则解决法线方程所需的计算资源量将随测量数据的增加而增加
。 或者,我们可以尝试使用一种递归方法
。
3.2 Linear Recursive Estimator
我们选择使用递归算法进行参数估计。让我们假设我们在时刻 k − 1 k-1 k−1时有最优估计。
在时刻
k
k
k处,我们收到一个新的测量结果
y
k
y_k
yk,该测量结果遵循具有高斯噪声的线性测量模型。我们的目标是给定我们的测量值和先前的估算值
,以便在时刻
k
k
k计算出更新的最佳估算值
。
线性递归估计由以下表达式给出。
x
^
k
=
x
^
k
−
1
+
K
k
(
y
k
−
H
k
x
^
k
−
1
)
\hat{\mathbf{x}}_{k}=\hat{\mathbf{x}}_{k-1}+\mathbf{K}_{k}\left(\mathbf{y}_{k}-\mathbf{H}_{k} \hat{\mathbf{x}}_{k-1}\right)
x^k=x^k−1+Kk(yk−Hkx^k−1)
在此,
K
k
\mathbf{K}_{k}
Kk称为估计器增益矩阵
。它量化了我们当前的测量与我们先前的最佳估计的匹配程度。公式中的增益矩阵和测量矩阵的具体形式我们现在先不介绍,目前我们已经知道了递归算法是如何工作的。我们的新估算值只是旧估算值和校正项的总和
,基于我们期望的测量值与实际测量值之差。
3.3 Recursive Least Squares
现在,我们如何计算增益矩阵 K k \mathbf{K}_{k} Kk呢?
同样地,我们需要像前面一样使用递归最小二乘来计算。 递归最小二乘法目的是最小化我们在时刻
k
k
k的估计值平方差期望
。
L
R
L
S
=
E
[
(
x
k
−
x
^
k
)
2
]
=
σ
k
2
\begin{aligned} \mathscr{L}_{\mathrm{RLS}}&=\mathbb{E}\left[\left(x_{k}-\hat{x}_{k}\right)^{2}\right] \\ &=\sigma_{k}^{2} \end{aligned}
LRLS=E[(xk−x^k)2]=σk2
对于多个未知参,递归最小二乘法可以写成:
L
R
L
S
=
E
[
x
1
k
−
x
^
1
k
)
2
+
…
+
(
x
n
k
−
x
^
n
k
)
2
]
=
Trace
(
P
k
)
\begin{aligned} \mathscr{L}_{\mathrm{RLS}} &=\mathbb{E}\left[x_{1 k}-\hat{x}_{1 k}\right)^{2}+\ldots+\left(x_{n k}-\hat{x}_{n k}\right)^{2} ] \\ &=\operatorname{Trace}\left(\mathbf{P}_{k}\right) \end{aligned}
LRLS=E[x1k−x^1k)2+…+(xnk−x^nk)2]=Trace(Pk)
这与我们以前的最小二乘准则完全一样,只是现在我们讨论的是期望。 与其直接将误差最小化,不如将其期望值最小化,方差越低,我们对估计的把握就越大。
这里我们可以为该状态协方差矩阵
给出一个递归定义:
P
k
=
(
1
−
K
k
H
k
)
P
k
−
1
(
1
−
K
k
H
k
)
T
+
K
k
R
k
K
k
T
\mathbf{P}_{k}=\left(\mathbf{1}-\mathbf{K}_{k} \mathbf{H}_{k}\right) \mathbf{P}_{k-1}\left(\mathbf{1}-\mathbf{K}_{k} \mathbf{H}_{k}\right)^{T}+\mathbf{K}_{k} \mathbf{R}_{k} \mathbf{K}_{k}^{T}
Pk=(1−KkHk)Pk−1(1−KkHk)T+KkRkKkT
通过使用矩阵演算并取导数,我们可以证明,当
K
k
\mathbf{K}_{k}
Kk具有以下值时,状态协方差矩阵有最小值。 完整推导超出了我们课程的范围,但是可以在任何标准的教材中找到。
K
k
=
P
k
−
1
H
k
T
(
H
k
P
k
−
1
H
k
T
+
R
k
)
−
1
\mathbf{K}_{k}=\mathbf{P}_{k-1} \mathbf{H}_{k}^{T}\left(\mathbf{H}_{k} \mathbf{P}_{k-1} \mathbf{H}_{k}^{T}+\mathbf{R}_{k}\right)^{-1}
Kk=Pk−1HkT(HkPk−1HkT+Rk)−1
最后,我们可以简化
P
k
P_k
Pk。 可以看到,增益矩阵越大,估算器协方差就越小
。
P
k
=
P
k
−
1
−
K
k
H
k
P
k
−
1
=
(
1
−
K
k
H
k
)
P
k
−
1
\begin{aligned} \mathbf{P}_{k} &=\mathbf{P}_{k-1}-\mathbf{K}_{k} \mathbf{H}_{k} \mathbf{P}_{k-1} \\ &=\left(\mathbf{1}-\mathbf{K}_{k} \mathbf{H}_{k}\right) \mathbf{P}_{k-1} \end{aligned}
Pk=Pk−1−KkHkPk−1=(1−KkHk)Pk−1
直观地,您可以认为该增益矩阵平衡了我们从先前的估计中获得的信息和我们从新的测量中获得的信息。
-
现在来总结一下,我们首先使用未知
参数的估计值
和相应的协方差矩阵
来初始化。
x ^ 0 = E [ x ] P 0 = E [ ( x − x ^ 0 ) ( x − x ^ 0 ) T ] \begin{aligned} \hat{\mathbf{x}}_{0} &=\mathbb{E}[\mathbf{x}] \\ \mathbf{P}_{0} &=\mathbb{E}\left[\left(\mathbf{x}-\hat{\mathbf{x}}_{0}\right)\left(\mathbf{x}-\hat{\mathbf{x}}_{0}\right)^{T}\right] \end{aligned} x^0P0=E[x]=E[(x−x^0)(x−x^0)T] -
接下来,我们建立
测量模型
。
y k = H k x + v k \mathbf{y}_{k}=\mathbf{H}_{k} \mathbf{x}+\mathbf{v}_{k} yk=Hkx+vk -
最后,每次测量时,我们都会计算测量增益,然后使用它来更新参数估计以及估计器的协方差。
K k = P k − 1 H k T ( H k P k − 1 H k T + R k ) − 1 x ^ k = x ^ k − 1 + K k ( y k − H k x ^ k − 1 ) P k = ( 1 − K k H k ) P k − 1 \begin{aligned} \mathbf{K}_{k} &=\mathbf{P}_{k-1} \mathbf{H}_{k}^{T}\left(\mathbf{H}_{k} \mathbf{P}_{k-1} \mathbf{H}_{k}^{T}+\mathbf{R}_{k}\right)^{-1} \\ \hat{\mathbf{x}}_{k} &=\hat{\mathbf{x}}_{k-1}+\mathbf{K}_{k}\left(\mathbf{y}_{k}-\mathbf{H}_{k} \hat{\mathbf{x}}_{k-1}\right) \\ \mathbf{P}_{k} &=\left(\mathbf{1}-\mathbf{K}_{k} \mathbf{H}_{k}\right) \mathbf{P}_{k-1} \end{aligned} Kkx^kPk=Pk−1HkT(HkPk−1HkT+Rk)−1=x^k−1+Kk(yk−Hkx^k−1)=(1−KkHk)Pk−1
4. Least Squares and Maximum Likelihood
4.1 Overview
让我们首先回顾本讲最开始介绍的最小二乘法,形式为:
L
L
S
(
x
)
=
(
y
1
−
x
)
2
+
(
y
2
−
x
)
2
+
…
+
(
y
m
−
x
)
2
\mathscr{L}_{\mathrm{LS}}(x)=\left(y_{1}-x\right)^{2}+\left(y_{2}-x\right)^{2}+\ldots+\left(y_{m}-x\right)^{2}
LLS(x)=(y1−x)2+(y2−x)2+…+(ym−x)2
通过最小化误差平方和
,我们求出参数的最优估计
x
^
\hat x
x^:
x
^
L
S
=
argmin
x
L
L
S
(
x
)
=
argmin
x
(
e
1
2
+
e
2
2
+
…
+
e
m
2
)
\hat{x}_{\mathrm{LS}}=\operatorname{argmin}_{x} \mathscr{L}_{\mathrm{LS}}(x)=\operatorname{argmin}_{x}\left(e_{1}^{2}+e_{2}^{2}+\ldots+e_{m}^{2}\right)
x^LS=argminxLLS(x)=argminx(e12+e22+…+em2)
但是我们可以问,为什么选择最小化误差平方和呢?
为什么不是最小化立方和,或开平方和? 这实际上是一个特别深层次的问题,并且有一个完整的统计学理论。 您确实可以使用不同的误差函数,但是我们将讨论平方和具有吸引力且相关的两个原因。
- 首先
简单
。 平方和使我们能够使用相对简单的代数来求解最佳参数,可以很容易写成两个矩阵相乘的形式,将问题转化为求解线性方程组。 - 第二个原因是
最小平方和
和最大似然估计
之间有着深层联系。 这种联系最早是由高斯以特定的形式派生的。
(关于最大似然估计,可阅读博客)
4.2 The Method of Maximum Likelihood
为了理解最小二乘法和最大似然估计之间的联系
,回顾我们的问题,我们可以想知道哪个
x
x
x最有可能使我们的测量更可信。换句话说,哪个
x
x
x使
y
y
y的条件概率最大。
x
^
=
argmax
x
p
(
y
∣
x
)
\hat{x}=\operatorname{argmax}_{x} p(y | x)
x^=argmaxxp(y∣x)
下图中对于未知电阻值,我们有四个可能的值,即
x
a
,
x
b
,
x
c
,
x
d
x_a, x_b, x_c, x_d
xa,xb,xc,xd。下图中测量值
y
m
e
a
s
y_{meas}
ymeas在绿色曲线中具有最大概率。即
y
y
y在
x
a
x_a
xa下的条件概率最大。
4.3 Maximum Likelihood
现在,我们来一步步推导最小二乘和最大似然之间的联系。
回顾我们之前介绍的测量模型:
y
=
x
+
v
y = x + v
y=x+v
我们可以通过假设将
v
v
v的概率密度转换为我们的测量条件概率。例如,如果
v
∼
N
(
0
,
σ
2
)
v \sim \mathscr{N}\left(0, \sigma^{2}\right)
v∼N(0,σ2)
然后,在
x
x
x的条件下
y
y
y的测量概率。
p
(
y
∣
x
)
=
N
(
0
,
σ
2
)
p(y|x)=\mathscr{N}\left(0, \sigma^{2}\right)
p(y∣x)=N(0,σ2)
高斯随机变量的概率密度由以下方程式给出。
N
(
z
;
μ
,
σ
2
)
=
1
σ
2
π
e
−
(
z
−
μ
)
2
2
σ
2
\mathscr{N}\left(z ; \mu, \sigma^{2}\right)=\frac{1}{\sigma \sqrt{2 \pi}} e^{\frac{-(z-\mu)^{2}}{2 \sigma^{2}}}
N(z;μ,σ2)=σ2π1e2σ2−(z−μ)2
这意味着我们可以如下表示单个测量的概率。
p
(
y
∣
x
)
=
N
(
y
;
x
,
σ
2
)
=
1
2
π
σ
2
e
−
(
y
−
x
)
2
2
σ
2
\begin{aligned} p(y | x) &=\mathscr{N}\left(y ; x, \sigma^{2}\right) \\ &=\frac{1}{\sqrt{2 \pi \sigma^{2}}} e^{\frac{-(y-x)^{2}}{2 \sigma^{2}}} \end{aligned}
p(y∣x)=N(y;x,σ2)=2πσ21e2σ2−(y−x)2
如果我们有多个独立的测量值,每个测量值具有相同的噪声方差,则我们可以通过相乘给出其概率:
p
(
y
∣
x
)
∝
N
(
y
1
;
x
,
σ
2
)
N
(
y
2
;
x
,
σ
2
)
×
…
×
N
(
y
m
;
x
,
σ
2
)
=
1
(
2
π
)
m
σ
2
m
exp
(
−
∑
i
=
1
m
(
y
i
−
x
)
2
2
σ
2
)
\begin{aligned} p(\mathbf{y} | x) & \propto \mathscr{N}\left(y_{1} ; x, \sigma^{2}\right) \mathscr{N}\left(y_{2} ; x, \sigma^{2}\right) \times \ldots \times \mathscr{N}\left(y_{m} ; x, \sigma^{2}\right) \\ &=\frac{1}{\sqrt{(2 \pi)^{m} \sigma^{2 m}}} \exp \left(\frac{-\sum_{i=1}^{m}\left(y_{i}-x\right)^{2}}{2 \sigma^{2}}\right) \end{aligned}
p(y∣x)∝N(y1;x,σ2)N(y2;x,σ2)×…×N(ym;x,σ2)=(2π)mσ2m1exp(2σ2−∑i=1m(yi−x)2)
现在我们先给出最大似然估计(MLE)
公式,即最大化
y
y
y在
x
x
x下的条件概率。
x
^
M
L
E
=
argmax
x
p
(
y
∣
x
)
\hat{x}_{\mathrm{MLE}}=\operatorname{argmax}_{x} p(\mathbf{y} | x)
x^MLE=argmaxxp(y∣x)
为此,我们将使用优化中经常使用到的技术。与其直接使可能性最大化,不如将其取对数并将其最大化
。因为对数是单调增加的。
x
^
M
L
E
=
argmax
x
p
(
y
∣
x
)
=
arg
max
x
log
p
(
y
∣
x
)
\begin{aligned} \hat{x}_{\mathrm{MLE}} &=\operatorname{argmax}_{x} p(\mathbf{y} | x) \\ &=\arg \max _{x} \log p(\mathbf{y} | x) \end{aligned}
x^MLE=argmaxxp(y∣x)=argxmaxlogp(y∣x)
取对数后形式为:
log
p
(
y
∣
x
)
=
−
1
2
σ
2
(
(
y
1
−
x
)
2
+
…
+
(
y
m
−
x
)
2
)
+
C
\log p(\mathbf{y} | x)=-\frac{1}{2 \sigma^{2}}\left(\left(y_{1}-x\right)^{2}+\ldots+\left(y_{m}-x\right)^{2}\right)+C
logp(y∣x)=−2σ21((y1−x)2+…+(ym−x)2)+C
现在最后一步
是将求函数的最大值转为求函数负数的最小值
,即:
arg max z f ( z ) = arg min z ( − f ( z ) ) \arg \max _{z}f(z) =\arg\min_{z}(-f(z)) argzmaxf(z)=argzmin(−f(z))
我们可以将最大似然问题写成:
x
^
M
L
E
=
argmin
x
−
(
log
p
(
y
∣
x
)
)
=
argmin
x
1
2
σ
2
(
(
y
1
−
x
)
2
+
…
+
(
y
m
−
x
)
2
)
\begin{aligned} \hat{x}_{\mathrm{MLE}} &=\operatorname{argmin}_{x}-(\log p(\mathbf{y} | x)) \\ &=\operatorname{argmin}_{x} \frac{1}{2 \sigma^{2}}\left(\left(y_{1}-x\right)^{2}+\ldots+\left(y_{m}-x\right)^{2}\right) \end{aligned}
x^MLE=argminx−(logp(y∣x))=argminx2σ21((y1−x)2+…+(ym−x)2)
此外,如果我们还是假设每次测量都含有不同的高斯噪声,我们可以得出与加权最小二乘中看到的相同准则。
x
^
M
L
E
=
argmin
x
1
2
(
(
y
1
−
x
)
2
σ
l
2
+
…
+
(
y
m
−
x
)
2
σ
m
2
)
\hat{x}_{\mathrm{MLE}}=\operatorname{argmin}_{x} \frac{1}{2}\left(\frac{\left(y_{1}-x\right)^{2}}{\sigma_{\mathrm{l}}^{2}}+\ldots+\frac{\left(y_{m}-x\right)^{2}}{\sigma_{m}^{2}}\right)
x^MLE=argminx21(σl2(y1−x)2+…+σm2(ym−x)2)
在给定高斯噪声的情况下,最大似然估计等于我们先前得出的最小二乘解或加权最小二乘解
。
x
^
M
L
E
=
x
^
L
S
=
argmin
x
L
L
S
(
x
)
=
arg
min
x
L
M
L
E
(
x
)
\hat{x}_{\mathrm{MLE}}=\hat{x}_{\mathrm{LS}}=\operatorname{argmin}_{x} \mathscr{L}_{\mathrm{LS}}(x)=\arg \min _{x} \mathscr{L}_{\mathrm{MLE}}(x)
x^MLE=x^LS=argminxLLS(x)=argxminLMLE(x)
最后,让我们讨论该方法的一个注意事项。当我们使用最小二乘法时,测量离群值会对我们的最终估计产生重大影响
。
因此,这些异常值将极大地影响我们参数的估计。自动驾驶车辆的传感器数据的许多估算器可能会发生这种情况。例如,在激光雷达扫描过程中行走的人或GPS信号不良可能导致异常值。考虑我们的电阻器示例。对于可能来自一次简单事故的外部测量,最终估计值大大偏离了非异常情况的估计值。
现在,我们已经得出了最大似然和最小二乘法之间的联系,我们已经准备好将递归最小二乘估计器扩展到滤波器。下一讲,我们将介绍卡尔曼滤波器
,它是20世纪最著名的算法之一。