Coursera自动驾驶课程第13讲:Least Squares

在上一讲《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=e1e2e3e4=yHx=y1y2y3y41111x

当我们必须处理成百上千个测量值时,矩阵表达将会非常有用。同样我们可以将平方差展开,我们将会得到:
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=(yHx)T(yHx)=yTyxTHTyyTHx+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}xLx=x^=yTHyTH+2x^THTH=02yTH+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 + vy1ym=Hx1xn+v1vmy=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]=σ1200σ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)=eTR1e=σ12e12+σ22e22++σm2em2wheree1em=e=y1ymHx1xn

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


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=σ2x^WLS=x^LS=argminxLLS(x)=argxminLWLS(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^=argminxL(x)xLx=x^=0=yTR1H+x^THTR1H

设置零向量的梯度,然后求解最佳参数向量。这将导致另一组正规方程,称为加权正规方程
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}HTR1Hx^WLS=HTR1y
求解公式为:
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^=(HTR1H)1HTR1y

现在,我们来求解我们的电阻值:

在这里插入图片描述在这里插入图片描述

现在,我们将这两种最小二乘进行比较,表格如下:
在这里插入图片描述


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=(HTR1H)1HTR1y

我们的假设是我们有所有的测量数据,并使用所有的测量数据来进行参数估计,这是一个完全合理的假设。

但是如果我们只有数据流的话那应该怎么办呢? 每次有新的测量值时,我们是否需要重新计算最小二乘解?

理想情况下,我们希望使用尽可能多的测量值以获得准确的电阻估计值。 但是,如果使用最小二乘法,则解决法线方程所需的计算资源量将随测量数据的增加而增加。 或者,我们可以尝试使用一种递归方法

在这里插入图片描述在这里插入图片描述

3.2 Linear Recursive Estimator

我们选择使用递归算法进行参数估计。让我们假设我们在时刻k−1k-1k1时有最优估计。

在时刻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^k1+Kk(ykHkx^k1)

在此,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[(xkx^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[x1kx^1k)2++(xnkx^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=(1KkHk)Pk1(1KkHk)T+KkRkKkT

通过使用矩阵演算并取导数,我们可以证明,当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=Pk1HkT(HkPk1HkT+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=Pk1KkHkPk1=(1KkHk)Pk1

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

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

  • 接下来,我们建立测量模型
    yk=Hkx+vk\mathbf{y}_{k}=\mathbf{H}_{k} \mathbf{x}+\mathbf{v}_{k} yk=Hkx+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}Kkx^kPk=Pk1HkT(HkPk1HkT+Rk)1=x^k1+Kk(ykHkx^k1)=(1KkHk)Pk1


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)=(y1x)2+(y2x)2++(ymx)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=argminxLLS(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^=argmaxxp(yx)

下图中对于未知电阻值,我们有四个可能的值,即xa,xb,xc,xdx_a, x_b, x_c, x_dxa,xb,xc,xd。下图中测量值ymeasy_{meas}ymeas在绿色曲线中具有最大概率。即yyyxax_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)vN(0,σ2)

然后,在xxx的条件下yyy的测量概率。
p(y∣x)=N(0,σ2)p(y|x)=\mathscr{N}\left(0, \sigma^{2}\right)p(yx)=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π1e2σ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(yx)=N(y;x,σ2)=2πσ21e2σ2(yx)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(yx)N(y1;x,σ2)N(y2;x,σ2)××N(ym;x,σ2)=(2π)mσ2m1exp(2σ2i=1m(yix)2)

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

为此,我们将使用优化中经常使用到的技术。与其直接使可能性最大化,不如将其取对数并将其最大化。因为对数是单调增加的。
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=argmaxxp(yx)=argxmaxlogp(yx)

取对数后形式为:
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(yx)=2σ21((y1x)2++(ymx)2)+C

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

arg⁡max⁡zf(z)=arg⁡min⁡z(−f(z))\arg \max _{z}f(z) =\arg\min_{z}(-f(z)) argzmaxf(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(yx))=argminx2σ21((y1x)2++(ymx)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=argminx21(σl2(y1x)2++σm2(ymx)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=argminxLLS(x)=argxminLMLE(x)

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/439638.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

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

在上一讲《Coursera自动驾驶课程第13讲:Least Squares》我们学习了最小二乘法相关知识。 本讲我们将学习20世纪最著名的一个算法:卡尔曼滤波。具体包括线性卡尔曼滤波(KF),扩展卡尔曼滤波(EKF),误差状态卡…

详解两阶段3D目标检测网络 Voxel R-CNN:Towards High Performance Voxel-based 3D Object Detection

本文介绍一篇两阶段的3D目标检测网络:Voxel R-CNN,论文已收录于AAAI 2021。 这里重点是理解本文提出的 Voxel RoI pooling。 论文链接为:https://arxiv.org/pdf/2012.15712.pdf 项目链接为:https://github.com/djiajunustc/Voxe…

java容器类1:Collection,List,ArrayList,LinkedList深入解读

1、 Iterable 与 Iterator Iterable 是个接口&#xff0c;实现此接口使集合对象可以通过迭代器遍历自身元素. public interface Iterable<T> 修饰符和返回值方法名描述Iterator<T>iterator()返回一个内部元素为T类型的迭代器default voidforEach(Consumer<?…

无限场景开放式仿真器 PGDrive:Improving the Generalization of End-to-End Driving through Procedural Generation

本文介绍一个拥有无限场景开放式驾驶仿真器&#xff1a;PGDrive&#xff0c;通过 Procedural Generation 技术可以生成无限多的驾驶场景&#xff0c;由香港中文大学周博磊团队开发。 论文地址&#xff1a;https://arxiv.org/pdf/2012.13681.pdf 项目地址&#xff1a;https://…

java容器类2:Map及HashMap深入解读

Java的编程过程中经常会和Map打交道&#xff0c;现在我们来一起了解一下Map的底层实现&#xff0c;其中的思想结构对我们平时接口设计和编程也有一定借鉴作用。(以下接口分析都是以jdk1.8源码为参考依据) 1. Map An object that maps keys to values. A map cannot contain du…

两阶段3D目标检测网络 SIENet: Spatial Information Enhancement Network for 3D Object Detection from Point Cloud

本文介绍一篇两阶段的3D目标检测网络&#xff1a;SIENet。 这里重点是理解本文提出的 Hybrid-Paradigm Region Proposal Network 和 Spatial Information Enhancement module。 论文链接为&#xff1a;https://arxiv.org/abs/2103.15396 项目链接为&#xff1a;https://githu…

java容器类3:set/HastSet/MapSet深入解读

介绍 Set&#xff1a;集合&#xff0c;是一个不包含重复数据的集合。&#xff08;A collection that contains no duplicate elements. &#xff09; set中最多包含一个null元素&#xff0c;否者包含了两个相同的元素&#xff0c;不符合定义。 上一篇学习了Java中的容器类的一…

Bandit算法原理及Python实战

目录 1&#xff09;什么是Bandit算法 为选择而生。 Bandit算法与推荐系统 怎么选择Bandit算法&#xff1f; 2)常用Bandit算法 Thompson sampling算法 UCB算法 Epsilon-Greedy算法 Greedy算法 3&#xff09;Bandit算法Python实战 参考资料&#xff1a; 推荐系统里面有…

ava容器类4:Queue深入解读

Collection的其它两大分支&#xff1a;List和Set在前面已近分析过&#xff0c;这篇来分析一下Queue的底层实现。 前三篇关于Java容器类的文章&#xff1a; java容器类1&#xff1a;Collection,List,ArrayList,LinkedList深入解读 java容器类2&#xff1a;Map及HashMap深入解…

Waymo离线点云序列3D物体检测网络 (3D Auto Labeling): Offboard 3D Object Detection from Point Cloud Sequences

本文介绍一篇Waymo基于点云序列的3D物体检测网络&#xff1a;3D Auto Labeling&#xff0c;论文已收录于CVPR 2021。 这里重点是理解本文提出的 Object-centric Auto Labeling。 论文链接为&#xff1a;https://arxiv.org/abs/2103.05073 2021-09-02补充&#xff1a;本文作者…

Waymo自动驾驶数据集介绍与使用教程

本文将对Waymo自动驾驶数据集&#xff08;Waymo Open Dataset&#xff09;进行介绍。 论文链接为&#xff1a;https://arxiv.org/abs/1912.04838v7 项目链接为&#xff1a;https://github.com/waymo-research/waymo-open-dataset 数据集链接为&#xff1a;https://waymo.com…

Java 并发基础——线程安全性

线程安全&#xff1a;多个线程访问某个类时&#xff0c;不管运行时环境采用何种调度方式或者这些线程将如何交替执行&#xff0c;并且在主调代码中不需要任何额外的同步或协调&#xff0c;这个类都能表现出正确的行为&#xff0c;那么久称这个类是线程安全的。 在线程安全类中封…

详解一阶段3D物体检测网络 SE-SSD: Self-Ensembling Single-Stage Object Detector From Point Cloud

本文介绍一篇一阶段的3D物体检测网络&#xff1a;SE-SSD&#xff0c;论文已收录于 CVPR 2021。 这里重点是理解本文提出的 Consistency Loss 、Orientation-Aware Distance-IoU Loss、Shape-Aware Data Augmentation。 论文链接为&#xff1a;https://arxiv.org/pdf/2104.0980…

详解3D点云分割网络 Cylindrical and Asymmetrical 3D Convolution Networksfor LiDAR Segmentation

本文介绍一篇3D点云分割网络&#xff1a;Cylinder3D&#xff0c;论文已收录于 CVPR 2021。 这里重点是理解本文提出的 Cylindrical Partition 和 Asymmetrical 3D Convolution Network。 论文链接为&#xff1a;https://arxiv.org/pdf/2011.10033.pdf 项目链接为&#xff1a;…

自动驾驶3D物体检测研究综述 3D Object Detection for Autonomous Driving: A Survey

本文介绍一篇最新的自动驾驶3D物体检测研究综述&#xff08;2021年6月份发布&#xff09;&#xff0c;来源于中国人民大学&#xff0c;论文共26页&#xff0c;99篇参考文献。 论文链接为&#xff1a;https://arxiv.org/pdf/2106.10823.pdf 0. Abstract 自动驾驶被看作是避免人…

Java中接口的多继承

我们知道Java的类只能继承一个类&#xff0c;但可以实现多个接口。但是你知道么&#xff1f;Java中的接口却可以继承多个接口。本文就来说一说Java中接口的多继承。 进入主题之前&#xff0c;先扩展一下。Java为什么只支持单继承呢&#xff1f; 我们不妨假设Java支持多继承&a…

详解基于IMU/GPS的行人定位: IMU/GPS Based Pedestrian Localization

本文介绍一篇使用 IMU/GPS 数据融合的行人定位论文&#xff0c;这里重点是理解本文提出的 Stop Detection 和 GPS Correction。 论文地址为&#xff1a;https://www.researchgate.net/publication/261452498_IMUGPS_based_pedestrian_localization 1. Introduction 低成本的 …

每次maven刷新jdk都要重新设置

pom.xml <java.version>17</java.version> 改为<java.version>1.8</java.version>

【CodeForces - 706D】Vasiliy's Multiset(01字典树)

题干&#xff1a; Author has gone out of the stories about Vasiliy, so here is just a formal task description. You are given q queries and a multiset A, initially containing only integer 0. There are three types of queries: " x" — add integer …

详解自动驾驶仿真框架OpenCDA: An Open Cooperative Driving Automation Framework Integrated with Co-Simulation

本文介绍一款同时支持协同驾驶开发与测试、自动驾驶全栈开发 和 CARLA-SUMO联合仿真的开源框架 OpenCDA&#xff0c;论文已收录于 ITSC 2021。主要feature有&#xff1a; 支持CARLA-SUMO联合仿真&#xff0c;CARLA端主管环境渲染、传感器模拟、车辆动力&#xff0c;Sumo端主管…