欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > SLAM中的概率基础(知识回顾)

SLAM中的概率基础(知识回顾)

2024/11/30 12:33:01 来源:https://blog.csdn.net/qq_42263553/article/details/140855054  浏览:    关键词:SLAM中的概率基础(知识回顾)

今天有些知识点忘记了,特地过来回顾一下,于是就做了这些笔记。
为了方便能够在手机上更直观的看笔记,写下这篇文章,有错误请各位大佬指出。

一、 概率基础概念

1.1. 概率密度函数(PDF)

概率密度函数用于描述连续随机变量在某一取值处的概率密度。在SLAM算法中,用于表示测量噪声和状态估计的不确定性。

  • 概率密度的直观解释:在某个特定值x处的概率密度值 f(x)越大,意味着X在x附近取值的可能性越大。
  • 定义:若X是一个连续随机变量,其概率密度函数为f(x),则在区间[a, b]内,X取值落在[a, b]的概率为:
    P ( a ≤ X ≤ b ) = ∫ a b f ( x ) d x P(a \leq X \leq b) = \int_a^b f(x) \, dx P(aXb)=abf(x)dx

1.2. 条件概率

条件概率描述事件A在事件B已经发生的条件下发生的概率,记为P(A|B)。联合概率表示两个事件共同发生的概率。A与B的联合概率表示为P(A∩B)或者P(A,B)或者P(AB)

  • 定义
    P ( A ∣ B ) = P ( A ∩ B ) P ( B ) P(A|B) = \frac{P(A \cap B)}{P(B)} P(AB)=P(B)P(AB)
    ,前提是P(B) > 0。

1.3. 全概率公式

全概率公式用于计算一个事件的总概率。

  • 定义:如果事件B1, B2, …, Bn构成一个完备事件组(即这些事件两两互斥且它们的并集是全集),那么对于任意事件A,有:
    P ( A ) = ∑ i = 1 n P ( A ∣ B i ) P ( B i ) P(A)=\sum_{i=1}^{n} P(A|B_i) P(B_i) P(A)=i=1nP(ABi)P(Bi)

1.4. 贝叶斯公式

贝叶斯公式用于计算条件概率,特别是在SLAM中用于更新机器人状态的概率分布。

  • 定义
    P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) P(A|B) = \frac{P(B|A) P(A)}{P(B)} P(AB)=P(B)P(BA)P(A)
    其中:

    • P(A|B)是在事件 B已发生的条件下,事件 A发生的条件概率,称为后验概率
    • P(B|A)是在事件 A已发生的条件下,事件 B 发生的条件概率,称为似然
    • P(A)是事件 A发生的概率,称为先验概率(边缘概率),后验概率=先验概率*似然度
    • P(B)是事件 B发生的概率,称为边际概率
    • P(B|A)/P(B),称为似然度
  • 贝叶斯法则的直观理解

    贝叶斯法则告诉我们如何根据新的证据 B 更新对事件 A发生概率的信念。可以把它看作一个更新过程:

    1. 先验概率 P(A)是在没有任何额外信息时,对事件 A 的初始信念。
    2. 似然 P(B|A)是在事件 A 发生的条件下,观察到证据 B 的可能性。
    3. 边际概率 P(B)是证据 B 发生的总概率,可以通过所有可能导致 B 发生的事件求和得到。
    4. 后验概率P(A|B)是在观察到证据 B 后,对事件 A 的更新信念。

二、 随机变量与分布

2.1. 离散和连续随机变量

  • 离散随机变量:取值为有限或可数的集合,例如抛硬币的结果。
  • 连续随机变量:取值为一个区间,例如测量长度。

2.2. 常见分布

  • 均匀分布

    • 定义:

      • 离散均匀分布:一个离散随机变量X在有限个可能值上均匀分布。

        • 例子:掷一个公平的骰子,X的可能取值为1到6,每个值的概率均为 1/6。
      • 连续均匀分布:一个连续随机变量X在区间 [a,b]上均匀分布。

        • PDF:

        f ( x ) = 1 b − a f(x) = \frac{1}{b - a} f(x)=ba1

        ​ 对于 x在[a,b] 范围内。

        • 例子:在一个长度为L的杆上随机选择一点,选择点的位置均匀分布在 [0,L] 上。
    • 应用:

      • 均匀分布常用于表示完全未知或没有偏好的情况,例如传感器数据初始化时假设在某个范围内均匀分布
  • 指数分布

    • 定义

      • 指数分布是连续概率分布,用于描述某个事件发生的时间间隔

        • PDF:
          f ( x ) = λ e − λ x f(x) = \lambda e^{-\lambda x} f(x)=λeλx
          对于 x≥0.

        • 参数 λ是速率参数,其倒数 1/λ 是平均时间间隔

    • 应用

      指数分布常用于建模事件之间的时间间隔,例如传感器数据的到达时间间隔,或机器人在环境中移动的步长

  • 泊松分布

    • 定义

      • 泊松分布描述在固定时间间隔内事件发生的次数

        • PMF:
          P ( X = k ) = λ k e − λ k ! P(X = k) = \frac{\lambda^k e^{-\lambda}}{k!} P(X=k)=k!λkeλ
          对于 k=0,1,2,…。

        • 参数 λ是给定时间间隔内期望的事件发生次数。

    • 应用

      泊松分布常用于建模在单位时间内或单位空间内事件的发生次数,例如在某段时间内传感器检测到障碍物的次数

  • 二项分布

    • 定义

      • 二项分布描述n次独立试验中成功的次数

        • PMF:
          P ( X = k ) = ( n k ) p k ( 1 − p ) n − k P(X = k) = \binom{n}{k} p^k (1-p)^{n-k} P(X=k)=(kn)pk(1p)nk
          对于 k=0,1,2,…,n。

        • 参数 n是试验次数,p 是每次试验成功的概率。

    • 应用

      二项分布常用于建模一系列独立试验的结果,例如机器人传感器在多次测量中检测到目标的次数

  • 伽马分布

    • 定义

      • 伽玛分布是指数分布的广义形式,用于描述多个事件发生的时间

        • PDF:
          f ( x ) = β α x α − 1 e − β x Γ ( α ) f(x) = \frac{\beta^\alpha x^{\alpha-1} e^{-\beta x}}{\Gamma(\alpha)} f(x)=Γ(α)βαxα1eβx
          对于 x≥0。

        • 参数 α和 β是形状参数和速率参数,Γ(α) 是伽玛函数。

    • 应用

      伽玛分布用于描述多个独立事件发生的时间总和,例如机器人在多个任务中的总时间

  • 高斯分布(正态分布):在SLAM中广泛应用,描述测量噪声和状态估计

    • 概率密度函数PDF:对于均值为μ,方差为σ²的高斯分布,概率密度函数为:
      f ( x ) = 1 2 π σ 2 exp ⁡ ( − ( x − μ ) 2 2 σ 2 ) f(x) = \frac{1}{\sqrt{2 \pi \sigma^2}} \exp\left(-\frac{(x - \mu)^2}{2 \sigma^2}\right) f(x)=2πσ2 1exp(2σ2(xμ)2)

      • 这个函数在均值 μ附近达到最大值,表示随机变量X在均值附近取值的概率密度最大。

      • 随着离均值越远,概率密度函数值逐渐减小,表示取这些值的可能性降低。

    • 在SLAM算法中,概率密度函数常用于表示测量噪声机器人位置的不确定性

    • 通过高斯分布等概率密度函数,可以对测量数据进行建模,从而在同时定位与地图构建过程中进行状态估计。

  • 多项式分布:用于描述多种可能结果中的一种出现的概率。

三、 协方差矩阵

3.1 协方差

  • 方差

    方差能比较好的表达一组数据离散的程度,方差大,这组数据分散的就比较大;方差小,这组数据分散的就比较小。

    方差(variance)的表达公式为:

    方差是协方差的特殊表现形式,即X=Y的时候。

    img

  • 什么是协方差

    协方差是一个用来衡量两个随机变量之间线性关系统计量。它反映了这两个变量如何一起变化。如果两个变量的变化趋势一致(即一个变量增加,另一个变量也增加,或一个变量减少,另一个变量也减少),它们的协方差为正;如果一个变量增加而另一个变量减少,它们的协方差为负;如果两个变量之间没有明显的线性关系,它们的协方差接近零

  • 协方差的定义

    对于两个随机变量 X 和 Y,它们的协方差定义为:
    C o v ( X , Y ) = E [ ( X − E [ X ] ) ( Y − E [ Y ] ) ] Cov(X,Y)=E[(X−E[X])(Y−E[Y])] Cov(X,Y)=E[(XE[X])(YE[Y])]
    其中:

    • E[X]和 E[Y]分别是随机变量 X和 Y的期望(即均值)。

    • (X−E[X])和 (Y−E[Y])分别是随机变量 X和 Y的偏差。

  • 如果我们有 n对样本数据 (x1,y1),(x2,y2),…,(xn,yn),它们的协方差可以通过以下公式计算:
    C o v ( X , Y ) = 1 n ∑ i = 1 n ( x i − x ˉ ) ( y i − y ˉ ) Cov(X,Y)= \frac{1}{n} \sum_{i=1}^n (x_i - \bar{x})(y_i - \bar{y}) Cov(X,Y)=n1i=1n(xixˉ)(yiyˉ)

    $$
    其中:\bar{x}和\bar{y}分别是样本数据 X 和 Y 的均值。

    方差是协方差的特殊表现形式,即X=Y的时候。
    $$

3.2 协方差矩阵

当我们有多个(不止两个)随机变量时,我们可以计算每一对变量之间的协方差,结果可以组织成一个矩阵,这就是协方差矩阵。

假设我们有三个随机变量 X,Y,Z,它们的协方差矩阵 Σ可以表示为:
Σ = [ V a r ( X ) C o v ( X , Y ) C o v ( X , Z ) C o v ( Y , X ) V a r ( Y ) C o v ( Y , Z ) C o v ( Z , X ) C o v ( Z , Y ) V a r ( Z ) ] \Sigma = \begin{bmatrix} \mathrm{Var}(X) & \mathrm{Cov}(X, Y) & \mathrm{Cov}(X, Z) \\ \mathrm{Cov}(Y, X) & \mathrm{Var}(Y) & \mathrm{Cov}(Y, Z) \\ \mathrm{Cov}(Z, X) & \mathrm{Cov}(Z, Y) & \mathrm{Var}(Z) \end{bmatrix} Σ= Var(X)Cov(Y,X)Cov(Z,X)Cov(X,Y)Var(Y)Cov(Z,Y)Cov(X,Z)Cov(Y,Z)Var(Z)

对角线上的元素是每个变量的方差。非对角线上的元素是不同变量之间的协方差**。

  • 协方差矩阵的定义

    假设我们有一个n维随机向量
    X = [ X 1 , X 2 , … , X n ] T \mathbf{X} = [X_1, X_2, \ldots, X_n]^T X=[X1,X2,,Xn]T
    其均值向量为
    μ = [ μ 1 , μ 2 , … , μ n ] T \mathbf{\mu} = [\mu_1, \mu_2, \ldots, \mu_n]^T μ=[μ1,μ2,,μn]T
    协方差矩阵 Σ定义为:
    Σ = C o v ( X ) = E [ ( X − μ ) ( X − μ ) T ] \Sigma = \mathrm{Cov}(\mathbf{X}) = E[(\mathbf{X} - \mathbf{\mu})(\mathbf{X} - \mathbf{\mu})^T] Σ=Cov(X)=E[(Xμ)(Xμ)T]
    其中 E[⋅]表示期望(平均值)操作,(X−μ)是随机向量 X与其均值向量 μ 之差。

  • 协方差矩阵的元素

    协方差矩阵的元素 Σij表示随机变量 Xi 和 Xj 的协方差:
    Σ i j = C o v ( X i , X j ) = E [ ( X i − μ i ) ( X j − μ j ) ] \Sigma_{ij} = \mathrm{Cov}(X_i, X_j) = E[(X_i - \mu_i)(X_j - \mu_j)] Σij=Cov(Xi,Xj)=E[(Xiμi)(Xjμj)]
    其中:

    当 i=j时,
    Σ i i = V a r ( X i ) \Sigma_{ii} = \mathrm{Var}(X_i) Σii=Var(Xi)
    表示随机变量 Xi 的方差。

    当 i≠j时,
    Σ i j = C o v ( X i , X j ) \Sigma_{ij} = \mathrm{Cov}(X_i, X_j) Σij=Cov(Xi,Xj)
    表示随机变量 Xi和 Xj的协方差。

四、最大似然估计(MLE)

最大似然估计(Maximum Likelihood Estimation, MLE)是一种统计方法,用于估计模型参数,使得观察到的数据在给定模型下的似然最大化。简而言之,它的目标是找到使得观察数据最有可能出现的参数值

  • 定义

    在统计建模中,我们通常有一个参数化的概率模型 P(X|θ),其中 X是我们观察到的数据,θ是模型的参数。最大似然估计的目标是找到参数 θ 的值,使得在这个参数值下,观察到的数据的概率(或似然)最大。

4.1 似然函数

似然函数 L(θ) 是给定数据 X 和参数 θ 时,数据出现的概率。

对于独立同分布的数据点 x1,x2,…,xn,似然函数定义为:
L ( θ ) = P ( X = x 1 , x 2 , … , x n ∣ θ ) = ∏ i = 1 n P ( x i ∣ θ ) L(\theta) = P(X = x_1, x_2, \ldots, x_n | \theta) = \prod_{i=1}^n P(x_i | \theta) L(θ)=P(X=x1,x2,,xnθ)=i=1nP(xiθ)
最大似然估计的目标是找到使得似然函数最大的参数 θ:
θ ^ = arg ⁡ max ⁡ θ L ( θ ) \hat{\theta} = \arg\max_{\theta} L(\theta) θ^=argθmaxL(θ)
由于似然函数通常涉及乘法,为了简化计算,我们通常使用对数似然函数,它的形式是对似然函数取对数:
ℓ ( θ ) = log ⁡ L ( θ ) = log ⁡ ( ∏ i = 1 n P ( x i ∣ θ ) ) = ∑ i = 1 n log ⁡ P ( x i ∣ θ ) \ell(\theta) = \log L(\theta) = \log \left( \prod_{i=1}^n P(x_i | \theta) \right) = \sum_{i=1}^n \log P(x_i | \theta) (θ)=logL(θ)=log(i=1nP(xiθ))=i=1nlogP(xiθ)
因此,最大似然估计可以转化为:
θ ^ = arg ⁡ max ⁡ θ ℓ ( θ ) \hat{\theta} = \arg\max_{\theta} \ell(\theta) θ^=argθmax(θ)

4.2最大似然估计的步骤

1.定义似然函数:根据数据和模型,写出似然函数 L(θ)。

2.对数化似然函数:计算对数似然函数 ℓ(θ)。

3.求解最优参数:对对数似然函数进行优化,找到参数 θ的最大值。

4.3 举例说明

假设我们有一组独立的观测数据 x1,x2,…,xn,它们服从正态分布 N(μ,σ2),其中 μ和 σ2 是未知参数。我们的目标是估计这两个参数。

  • 似然函数

正态分布的概率密度函数是:
P ( x i ∣ μ , σ 2 ) = 1 2 π σ 2 exp ⁡ ( − ( x i − μ ) 2 2 σ 2 ) P(x_i | \mu, \sigma^2) = \frac{1}{\sqrt{2 \pi \sigma^2}} \exp \left( -\frac{(x_i - \mu)^2}{2 \sigma^2} \right) P(xiμ,σ2)=2πσ2 1exp(2σ2(xiμ)2)
因此,似然函数是:
L ( μ , σ 2 ) = ∏ i = 1 n 1 2 π σ 2 exp ⁡ ( − ( x i − μ ) 2 2 σ 2 ) L(\mu, \sigma^2) = \prod_{i=1}^n \frac{1}{\sqrt{2 \pi \sigma^2}} \exp \left( -\frac{(x_i - \mu)^2}{2 \sigma^2} \right) L(μ,σ2)=i=1n2πσ2 1exp(2σ2(xiμ)2)

  • 对数化似然函数

对数似然函数为:
ℓ ( μ , σ 2 ) = log ⁡ L ( μ , σ 2 ) = − n 2 log ⁡ ( 2 π σ 2 ) − 1 2 σ 2 ∑ i = 1 n ( x i − μ ) 2 \ell(\mu, \sigma^2) = \log L(\mu, \sigma^2) = -\frac{n}{2} \log (2 \pi \sigma^2) - \frac{1}{2 \sigma^2} \sum_{i=1}^n (x_i - \mu)^2 (μ,σ2)=logL(μ,σ2)=2nlog(2πσ2)2σ21i=1n(xiμ)2

  • 求解最优参数

对 μ和 σ2 分别进行优化,求出使对数似然函数最大化的 μ 和 σ2 的值。这可以通过设置对数似然函数的偏导数为零并求解得到。

五、最小二乘估计(LSE)

最小二乘估计(Least Squares Estimation, LSE)是一种用于数据拟合和参数估计的方法,广泛应用于回归分析中。它的目标是找到一组参数,使得模型预测值实际观测值之间的差异平方和最小化

  • 定义

    在回归分析中,我们通常有一组观测数据点 (x1,y1),(x2,y2),…,(xn,yn),希望找到一个模型 f(x) 来拟合这些数据。最小二乘估计通过最小化预测值 f(xi)与实际观测值 yi之间的差异平方和确定模型参数

    对于线性回归模型 y=β0+β1x,其中 β0和 β1 是需要估计的参数,最小二乘估计的目标是找到 β0 和 β1 使得以下目标函数最小化:
    SSE = ∑ i = 1 n ( y i − ( β 0 + β 1 x i ) ) 2 \text{SSE} = \sum_{i=1}^n (y_i - (\beta_0 + \beta_1 x_i))^2 SSE=i=1n(yi(β0+β1xi))2
    其中,SSE 表示误差平方和(Sum of Squared Errors)。

5.1 最小二乘估计的步骤

1.定义模型:假设一个模型形式(如线性模型)。

2.构建误差平方和:根据模型和数据,构建误差平方和目标函数。

3.求解最优参数:通过求导并设置导数为零,找到使目标函数最小化的参数。

5.2 线性回归中的最小二乘估计

在线性回归中,模型形式为 y=β0+β1xy = \beta_0 + \beta_1 xy=β0+β1x。我们希望通过最小化误差平方和来找到参数 β0\beta_0β0 和 β1\beta_1β1。

  • 1.构建误差平方和

SSE = ∑ i = 1 n ( y i − ( β 0 + β 1 x i ) ) 2 \text{SSE} = \sum_{i=1}^n (y_i - (\beta_0 + \beta_1 x_i))^2 SSE=i=1n(yi(β0+β1xi))2

  • 2.求导数并设置为零

对 β0 和 β1分别求偏导数,并设置为零,得到方程组:
∂ SSE ∂ β 0 = − 2 ∑ i = 1 n ( y i − ( β 0 + β 1 x i ) ) = 0 \frac{\partial \text{SSE}}{\partial \beta_0} = -2 \sum_{i=1}^n (y_i - (\beta_0 + \beta_1 x_i)) = 0 β0SSE=2i=1n(yi(β0+β1xi))=0

∂ SSE ∂ β 1 = − 2 ∑ i = 1 n x i ( y i − ( β 0 + β 1 x i ) ) = 0 \frac{\partial \text{SSE}}{\partial \beta_1} = -2 \sum_{i=1}^n x_i (y_i - (\beta_0 + \beta_1 x_i)) = 0 β1SSE=2i=1nxi(yi(β0+β1xi))=0

  • 3.解方程组

通过解上述方程组,可以得到参数 β0和 β1的闭式解:
β 1 = n ∑ i = 1 n x i y i − ∑ i = 1 n x i ∑ i = 1 n y i n ∑ i = 1 n x i 2 − ( ∑ i = 1 n x i ) 2 \beta_1 = \frac{n \sum_{i=1}^n x_i y_i - \sum_{i=1}^n x_i \sum_{i=1}^n y_i}{n \sum_{i=1}^n x_i^2 - (\sum_{i=1}^n x_i)^2} β1=ni=1nxi2(i=1nxi)2ni=1nxiyii=1nxii=1nyi

β 0 = 1 n ∑ i = 1 n y i − β 1 1 n ∑ i = 1 n x i \beta_0 = \frac{1}{n} \sum_{i=1}^n y_i - \beta_1 \frac{1}{n} \sum_{i=1}^n x_i β0=n1i=1nyiβ1n1i=1nxi

5.3 举例说明

举例说明

假设我们有以下数据点:

{(1,2),(2,3),(3,5),(4,7)}

我们希望拟合一个线性模型 y=β0+β1x

1.计算数据的均值:
x ˉ = 1 + 2 + 3 + 44 = 2.5 xˉ=1+2+3+44=2.5 xˉ=1+2+3+44=2.5

y ˉ = 2 + 3 + 5 + 74 = 4.25 yˉ=2+3+5+74=4.25 yˉ=2+3+5+74=4.25

2.计算 β1:
β 1 = 4 ( 1 ⋅ 2 + 2 ⋅ 3 + 3 ⋅ 5 + 4 ⋅ 7 ) − ( 1 + 2 + 3 + 4 ) ( 2 + 3 + 5 + 7 ) 4 ( 1 2 + 2 2 + 3 2 + 4 2 ) − ( 1 + 2 + 3 + 4 ) 2 = 4 ( 54 ) − 10 ( 17 ) 4 ( 30 ) − 100 = 1.6 \beta_1 = \frac{4(1 \cdot 2 + 2 \cdot 3 + 3 \cdot 5 + 4 \cdot 7) - (1 + 2 + 3 + 4)(2 + 3 + 5 + 7)}{4(1^2 + 2^2 + 3^2 + 4^2) - (1 + 2 + 3 + 4)^2} = \frac{4(54) - 10(17)}{4(30) - 100} = 1.6 β1=4(12+22+32+42)(1+2+3+4)24(12+23+35+47)(1+2+3+4)(2+3+5+7)=4(30)1004(54)10(17)=1.6

3.计算 β0:
β 0 = y ˉ − β 1 x ˉ = 4.25 − 1.6 ⋅ 2.5 = 0.25 \beta_0 = \bar{y} - \beta_1 \bar{x} = 4.25 - 1.6 \cdot 2.5 = 0.25 β0=yˉβ1xˉ=4.251.62.5=0.25
因此,拟合的线性模型为:

y=0.25+1.6x

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com