在上一讲《Coursera自动驾驶课程第12讲:Semantic Segmentation》我们学习了深度学习的另一个重要应用:语义分割。至此,本课程的视觉感知模块就介绍完了。

从本讲开始,我们将学习一个新的模块,也是本课程的第三个模块:定位模块

B站视频链接:https://www.bilibili.com/video/BV1cE411D7Y9。


文章目录

  • 1. The Squared Error Criterion and The Method
    • 1.1 Overview
    • 1.2 Estimating Resistance
    • 1.3 Minimizing the Squared Error
  • 2. Weighted Least Squares
    • 2.1 Method of Weighted Least Squares
    • 2.2 Re-deriving Regular Least Squares
    • 2.3 Minimizing the Weighted Least Squares Criterion
  • 3. Recursive Least Squares
    • 3.1 Overview
    • 3.2 Linear Recursive Estimator
    • 3.3 Recursive Least Squares
  • 4. Least Squares and Maximum Likelihood
    • 4.1 Overview
    • 4.2 The Method of Maximum Likelihood
    • 4.3 Maximum Likelihood

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

为了说明最小二乘法是如何工作的,让我们举一个简单的例子。假设我们正在尝试测量自动驾驶汽车驱动系统内的电阻欧姆值。

为此,我们使用万用表进行测量。现在,我们得到了四个单独的测量值。

但是,由于多种因素,测量值可能会与额定值不同。

对于这四个测量中的每一个,我们定义一个与其他噪声项无关的标量噪声项vvv。 从统计上讲,在这种情况下,我们会说噪声是独立的且分布相同,我们将在以后进行讨论。 接下来,我们定义每次测量与电阻xxx的实际值之间的误差。

但是请记住,我们尚不知道xxx是什么。 为了找到xxx,我们对这些误差求平方,得到一个方程,该方程是我们的测量值和所要寻找的未知电阻的函数。

在定义了这些误差之后,现在我们给出本例中最小二乘法的目的:求出xxx的最佳估计值以使平方误差最小化。

x^LS=argmin⁡x(e12+e22+e32+e42)=LLS(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=[e1e2e3e4]=y−Hx=[y1y2y3y4]−[1111]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] xe=⎣⎢⎢⎡​e1​e2​e3​e4​​⎦⎥⎥⎤​=y−Hx=⎣⎢⎢⎡​y1​y2​y3​y4​​⎦⎥⎥⎤​−⎣⎢⎢⎡​1111​⎦⎥⎥⎤​x

当我们必须处理成百上千个测量值时,矩阵表达将会非常有用。同样我们可以将平方差展开,我们将会得到:
LLS(x)=e12+e22+e32+e42=eTe=(y−Hx)T(y−Hx)=yTy−xTHTy−yTHx+xTHTHx\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​

从微积分中我们知道,可以通过对未知xxx求导来求解上式,求导为:
∂L∂x∣x=x^=−yTH−yTH+2x^THTH=0−2yTH+2x^THTH=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^LS=(HTH)−1HTy\hat{x}_{\mathrm{LS}}=\left(\mathbf{H}^{T} \mathbf{H}\right)^{-1} \mathbf{H}^{T} \mathbf{y}x^LS​=(HTH)−1HTy

这里需要提醒的是,当(HTH)−1\left(\mathbf{H}^{T} \mathbf{H}\right)^{-1}(HTH)−1存在时,方程有解。

现在,我们带入我们刚才的测量值来求解电阻。

现在,我们总结下:

  • 我们假设测量模型是线性的。
  • 其次,我们假设所有测量值在误差方程中的权重相等

2. Weighted Least Squares

2.1 Method of Weighted Least Squares

现在假设我们使用两个不同的测量设备来测量电阻值,因为两个设备的噪声参数不同,我们需要制定一种方法来一次估算多个参数。

现在我们通过线性模型得到mmm个测量值,这些测量值与nnn个未知参数有关,形式如下:
[y1⋮ym]=H[x1⋮xn]+[v1⋮vm]y=Hx+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

最小二乘法假设:噪声项viv_ivi​在测量过程中是独立的随机变量,我们将会得到下式:
E[vi2]=σi2,(i=1,…,m)R=E[vvT]=[σ120⋱0σm2]\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]=⎣⎡​σ12​0​0⋱σm2​​​⎦⎤​

现在我们可以定义一个加权最小二乘准则
LWLS(x)=eTR−1e=e12σ12+e22σ22+…+em2σm2where[e1⋮em]=e=[y1⋮ym]−H[x1⋮xn]\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=σ12​e12​​+σ22​e22​​+…+σm2​em2​​​where⎣⎢⎡​e1​⋮em​​⎦⎥⎤​=e=⎣⎢⎡​y1​⋮ym​​⎦⎥⎤​−H⎣⎢⎡​x1​⋮xn​​⎦⎥⎤​

通过扩展此表达式,我们可以了解为什么我们称此加权最小二乘。 现在,每个误差平方项都由与相应测量值相关的方差的倒数加权。 换句话说,噪声的方差越大,损失函数中与之相关的误差项所占的权重就越小


2.2 Re-deriving Regular Least Squares

在看到如何最小化这个新的加权标准之前,让我们看一下如果将所有噪设置为相同的值会发生什么。
LWLS(x)=e12σ2+e22σ2+…+em2σ2=1σ2(e12+…+em2)\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​)​

在这种情况下,我们可以考虑分母的方差。 由于平方项是常数,因此不会影响最小化。 这意味着,在方差相等的情况下,加权最小二乘结果与普通最小二乘结果相同
σ12=σ22=…σm2=σ2→x^WLS=x^LS=argmin⁡xLLS(x)=arg⁡min⁡xLWLS(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​=argminx​LLS​(x)=argxmin​LWLS​(x)


2.3 Minimizing the Weighted Least Squares Criterion

回到加权最小二乘,我们采用与以前相同的方法来逼近最小化,我们同样进行求导。
x^=argmin⁡xL(x)⟶∂L∂x∣x=x^=0=−yTR−1H+x^THTR−1H\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^=argminx​L(x)⟶∂x∂L​∣∣∣∣​x=x^​=0=−yTR−1H+x^THTR−1H

设置零向量的梯度,然后求解最佳参数向量。这将导致另一组正规方程,称为加权正规方程
HTR−1Hx^WLS=HTR−1y\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^=(HTR−1H)−1HTR−1y\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^WLS=(HTR−1H)−1HTR−1y\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−1k-1k−1时有最优估计。

在时刻kkk处,我们收到一个新的测量结果yky_kyk​,该测量结果遵循具有高斯噪声的线性测量模型。我们的目标是给定我们的测量值和先前的估算值以便在时刻kkk计算出更新的最佳估算值

线性递归估计由以下表达式给出。
x^k=x^k−1+Kk(yk−Hkx^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​−Hk​x^k−1​)

在此,Kk\mathbf{K}_{k}Kk​称为估计器增益矩阵。它量化了我们当前的测量与我们先前的最佳估计的匹配程度。公式中的增益矩阵和测量矩阵的具体形式我们现在先不介绍,目前我们已经知道了递归算法是如何工作的。我们的新估算值只是旧估算值和校正项的总和,基于我们期望的测量值与实际测量值之差。


3.3 Recursive Least Squares

现在,我们如何计算增益矩阵Kk\mathbf{K}_{k}Kk​呢?

同样地,我们需要像前面一样使用递归最小二乘来计算。 递归最小二乘法目的是最小化我们在时刻kkk的估计值平方差期望
LRLS=E[(xk−x^k)2]=σk2\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​​

对于多个未知参,递归最小二乘法可以写成:
LRLS=E[x1k−x^1k)2+…+(xnk−x^nk)2]=Trace⁡(Pk)\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​)​

这与我们以前的最小二乘准则完全一样,只是现在我们讨论的是期望。 与其直接将误差最小化,不如将其期望值最小化,方差越低,我们对估计的把握就越大。

这里我们可以为该状态协方差矩阵给出一个递归定义:
Pk=(1−KkHk)Pk−1(1−KkHk)T+KkRkKkT\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−Kk​Hk​)Pk−1​(1−Kk​Hk​)T+Kk​Rk​KkT​

通过使用矩阵演算并取导数,我们可以证明,当Kk\mathbf{K}_{k}Kk​具有以下值时,状态协方差矩阵有最小值。 完整推导超出了我们课程的范围,但是可以在任何标准的教材中找到。
Kk=Pk−1HkT(HkPk−1HkT+Rk)−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−1​HkT​(Hk​Pk−1​HkT​+Rk​)−1

最后,我们可以简化PkP_kPk​。 可以看到,增益矩阵越大,估算器协方差就越小
Pk=Pk−1−KkHkPk−1=(1−KkHk)Pk−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​−Kk​Hk​Pk−1​=(1−Kk​Hk​)Pk−1​​

直观地,您可以认为该增益矩阵平衡了我们从先前的估计中获得的信息和我们从新的测量中获得的信息。

  • 现在来总结一下,我们首先使用未知参数的估计值和相应的协方差矩阵来初始化。
    x^0=E[x]P0=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^0​P0​​=E[x]=E[(x−x^0​)(x−x^0​)T]​

  • 接下来,我们建立测量模型
    yk=Hkx+vk\mathbf{y}_{k}=\mathbf{H}_{k} \mathbf{x}+\mathbf{v}_{k} yk​=Hk​x+vk​

  • 最后,每次测量时,我们都会计算测量增益,然后使用它来更新参数估计以及估计器的协方差。
    Kk=Pk−1HkT(HkPk−1HkT+Rk)−1x^k=x^k−1+Kk(yk−Hkx^k−1)Pk=(1−KkHk)Pk−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}Kk​x^k​Pk​​=Pk−1​HkT​(Hk​Pk−1​HkT​+Rk​)−1=x^k−1​+Kk​(yk​−Hk​x^k−1​)=(1−Kk​Hk​)Pk−1​​


4. Least Squares and Maximum Likelihood

4.1 Overview

让我们首先回顾本讲最开始介绍的最小二乘法,形式为:
LLS(x)=(y1−x)2+(y2−x)2+…+(ym−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 xx^:
x^LS=argmin⁡xLLS(x)=argmin⁡x(e12+e22+…+em2)\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​=argminx​LLS​(x)=argminx​(e12​+e22​+…+em2​)

但是我们可以问,为什么选择最小化误差平方和呢? 为什么不是最小化立方和,或开平方和? 这实际上是一个特别深层次的问题,并且有一个完整的统计学理论。 您确实可以使用不同的误差函数,但是我们将讨论平方和具有吸引力且相关的两个原因。

  • 首先简单。 平方和使我们能够使用相对简单的代数来求解最佳参数,可以很容易写成两个矩阵相乘的形式,将问题转化为求解线性方程组。
  • 第二个原因是最小平方和最大似然估计之间有着深层联系。 这种联系最早是由高斯以特定的形式派生的。

(关于最大似然估计,可阅读博客)


4.2 The Method of Maximum Likelihood

为了理解最小二乘法和最大似然估计之间的联系,回顾我们的问题,我们可以想知道哪个xxx最有可能使我们的测量更可信。换句话说,哪个xxx使yyy的条件概率最大。
x^=argmax⁡xp(y∣x)\hat{x}=\operatorname{argmax}_{x} p(y | x)x^=argmaxx​p(y∣x)

下图中对于未知电阻值,我们有四个可能的值,即xa,xb,xc,xdx_a, x_b, x_c, x_dxa​,xb​,xc​,xd​。下图中测量值ymeasy_{meas}ymeas​在绿色曲线中具有最大概率。即yyy在xax_axa​下的条件概率最大。


4.3 Maximum Likelihood

现在,我们来一步步推导最小二乘和最大似然之间的联系。

回顾我们之前介绍的测量模型:
y=x+vy = x + vy=x+v

我们可以通过假设将vvv的概率密度转换为我们的测量条件概率。例如,如果
v∼N(0,σ2)v \sim \mathscr{N}\left(0, \sigma^{2}\right)v∼N(0,σ2)

然后,在xxx的条件下yyy的测量概率。
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−μ)22σ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π​1​e2σ2−(z−μ)2​

这意味着我们可以如下表示单个测量的概率。
p(y∣x)=N(y;x,σ2)=12πσ2e−(y−x)22σ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πσ2​1​e2σ2−(y−x)2​​

如果我们有多个独立的测量值,每个测量值具有相同的噪声方差,则我们可以通过相乘给出其概率:
p(y∣x)∝N(y1;x,σ2)N(y2;x,σ2)×…×N(ym;x,σ2)=1(2π)mσ2mexp⁡(−∑i=1m(yi−x)22σ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σ2m​1​exp(2σ2−∑i=1m​(yi​−x)2​)​

现在我们先给出最大似然估计(MLE)公式,即最大化yyy在xxx下的条件概率。
x^MLE=argmax⁡xp(y∣x)\hat{x}_{\mathrm{MLE}}=\operatorname{argmax}_{x} p(\mathbf{y} | x)x^MLE​=argmaxx​p(y∣x)

为此,我们将使用优化中经常使用到的技术。与其直接使可能性最大化,不如将其取对数并将其最大化。因为对数是单调增加的。
x^MLE=argmax⁡xp(y∣x)=arg⁡max⁡xlog⁡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​​=argmaxx​p(y∣x)=argxmax​logp(y∣x)​

取对数后形式为:
log⁡p(y∣x)=−12σ2((y1−x)2+…+(ym−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)+Clogp(y∣x)=−2σ21​((y1​−x)2+…+(ym​−x)2)+C

现在最后一步是将求函数的最大值转为求函数负数的最小值,即:

arg⁡max⁡zf(z)=arg⁡min⁡z(−f(z))\arg \max _{z}f(z) =\arg\min_{z}(-f(z)) argzmax​f(z)=argzmin​(−f(z))

我们可以将最大似然问题写成:
x^MLE=argmin⁡x−(log⁡p(y∣x))=argmin⁡x12σ2((y1−x)2+…+(ym−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))=argminx​2σ21​((y1​−x)2+…+(ym​−x)2)​

此外,如果我们还是假设每次测量都含有不同的高斯噪声,我们可以得出与加权最小二乘中看到的相同准则。
x^MLE=argmin⁡x12((y1−x)2σl2+…+(ym−x)2σm2)\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​=argminx​21​(σl2​(y1​−x)2​+…+σm2​(ym​−x)2​)

在给定高斯噪声的情况下,最大似然估计等于我们先前得出的最小二乘解或加权最小二乘解
x^MLE=x^LS=argmin⁡xLLS(x)=arg⁡min⁡xLMLE(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​=argminx​LLS​(x)=argxmin​LMLE​(x)

最后,让我们讨论该方法的一个注意事项。当我们使用最小二乘法时,测量离群值会对我们的最终估计产生重大影响

因此,这些异常值将极大地影响我们参数的估计。自动驾驶车辆的传感器数据的许多估算器可能会发生这种情况。例如,在激光雷达扫描过程中行走的人或GPS信号不良可能导致异常值。考虑我们的电阻器示例。对于可能来自一次简单事故的外部测量,最终估计值大大偏离了非异常情况的估计值。

现在,我们已经得出了最大似然和最小二乘法之间的联系,我们已经准备好将递归最小二乘估计器扩展到滤波器。下一讲,我们将介绍卡尔曼滤波器,它是20世纪最著名的算法之一。

Coursera自动驾驶课程第13讲:Least Squares相关推荐

  1. Coursera自动驾驶课程第14讲:Linear and Nonlinear Kalman Filters

    在上一讲<Coursera自动驾驶课程第13讲:Least Squares>我们学习了最小二乘法相关知识. 本讲我们将学习20世纪最著名的一个算法:卡尔曼滤波.具体包括线性卡尔曼滤波(KF ...

  2. Coursera自动驾驶课程第16讲:LIDAR Sensing

    在第15讲<Coursera自动驾驶课程第15讲:GNSS and INS Sensing for Pose Estimation> 我们学习了自动驾驶定位中常用的两种传感器:IMU(惯性 ...

  3. Coursera自动驾驶课程第17讲:An Autonomous Vehicle State Estimator

    在第16讲<Coursera自动驾驶课程第16讲:LIDAR Sensing>我们学习了自动驾驶目前常用的3D 传感器,激光雷达,了解了激光雷达的工作原理,掌握了对点云数据的操作以及如何使 ...

  4. Coursera自动驾驶课程第10讲:Feedforward Neural Networks

    在上一讲<Coursera自动驾驶课程第9讲:Visual Features Detection Description and Matching>中我们学习了如何进行图像特征检测,特征匹 ...

  5. Coursera自动驾驶课程第8讲:Basics of 3D Computer Vision

    在上一讲<Coursera自动驾驶课程第7讲:Vehicle Lateral Control>中我们了解了如何对汽车进行横向控制. 本课程第一个篇章就暂时告一段落了,接下来我们开始学习新的 ...

  6. Coursera自动驾驶课程第18讲:The Planning Problem

    在第17讲<Coursera自动驾驶课程第17讲:An Autonomous Vehicle State Estimator> 我们学习了如何使用多传感器融合进行自车定位,以及传感器的内外 ...

  7. Coursera自动驾驶课程第15讲:GNSS and INS Sensing for Pose Estimation

    在上一讲<Coursera自动驾驶课程第14讲:Linear and Nonlinear Kalman Filters> 我们学习了卡尔曼滤波相关知识,包括:线性卡尔曼滤波(KF).扩展卡 ...

  8. Coursera自动驾驶课程第12讲:Semantic Segmentation

    在上一讲<Coursera自动驾驶课程第11讲:2D Object Detection>我们学习了深度学习的一个重要应用:目标检测. 本讲我们将学习深度学习的另一个重要应用:语义分割.这是 ...

  9. Coursera自动驾驶课程第11讲:2D Object Detection

    在上一讲<Coursera自动驾驶课程第10讲:Feedforward Neural Networks>中我们学习了神经网络的基础知识,包括损失函数,梯度下降,正则化,卷积网络等. 本讲我 ...

最新文章

  1. C语言指针数组,遍历查询!_只愿与一人十指紧扣_新浪博客
  2. ResNet及其变体结构梳理与总结
  3. 电商项目商品搜索模块 - ESik分词器安装
  4. 未来的电子计算机作文500字,我的新计算机作文500字
  5. elementUI vxe-table结合使用(通用表格)
  6. 头像裁剪框html css,CSS3 clip-path实现的用户头像裁剪效果
  7. 计算机98k音乐,【土豆】handclap 98K 完整版
  8. Julia : 如何生成一个水仙花数?
  9. 【气动学】基于matlab GUI弹道仿真【含Matlab源码 1136期】
  10. 计算机中用于描述音乐乐曲并,计算机中用于描述音乐乐曲并由声卡合成出音乐来的语言(规范)为。...
  11. linux教程期末考试,Linux-期末考试试题8套(含答案)-linux期末
  12. 泊松分布和指数分布:通俗易懂
  13. android 设置闹钟,android 设置闹钟
  14. 计算机的开机自检是在 里完成的,计算机的开机自检是在里完成的
  15. 淘宝奇门接口的签名方法
  16. python扇贝每日一句api_【扇贝批量添加单词到词库】利用python调用扇贝API (oauth2)...
  17. android /mnt/sdcard 只读,Android重要的文件目录mnt/sdcard 和 /sdcard
  18. 编写一个掷色子猜大小的游戏
  19. 4.2. sysctl - configure kernel parameters at runtime
  20. 如何用matlab去修改图像尺寸

热门文章

  1. [剑指offer]面试题第[57]题[Leetcode][第167题][JAVA][和为s的两个数字][两数之和][HashSet][二分][双指针]
  2. python利用有道词典翻译_使用Python从有道词典网页获取单词翻译
  3. linux消息框架,远程处理器消息框架 - 基于Linux 简化 AMP 配置使其更方便更动态地分配资源...
  4. 十二个球称三次C语言编程,十二个球,有一个不知轻重,现有一个天平,称三次,找出此球!...
  5. Android File.listFiles()返回null问题
  6. python turtle库输出文字_python turtle库学习笔记
  7. C++ 堆、栈、自由存储区、全局静态存储区和常量存储区
  8. c语言课程设计修改订单流程图,C语言课程设计————写下流程图! 谢谢
  9. java编写代码时易出错_写Java程序最容易犯的错误有哪些呢?
  10. python导出dxf图_在PDMS中使用python直接生成管口方位图(开源分享第三集)