4. 数学基础(三):最优化理论与信息论

好,咱们继续往下走。前两讲我们把概率论和线性代数过了一遍,今天要聊的这两个东西——最优化理论和信息论,说实话,是雷达数据处理里最「烧脑」但也最「实用」的部分。

我个人习惯把最优化看作是「找最优解的艺术」,而信息论则是「度量不确定性的科学」。你想想看,目标关联的本质是什么?不就是从一堆乱七八糟的观测中,找出最可能属于同一个目标的那些点吗?这背后,全是优化和信息论的影子。

4.1 最小二乘估计:最朴素的优化思想

最小二乘法,我估计很多人在大学里就接触过。但说实话,真正在工程里用起来,和课本上那些推导完全是两码事。

它的核心思想很简单:让预测值和观测值的误差平方和最小。为什么是平方?不是绝对值?嗯,这里有个小故事——当年高斯就是用这个方法预测谷神星轨道的,平方的好处是数学上可导,方便求极值。

核心公式:
J(x) = (z - Hx)ᵀR⁻¹(z - Hx)

其中:
- z:观测向量
- H:观测矩阵
- x:状态向量
- R:观测噪声协方差矩阵

我在项目中遇到过这样一个坑:某次做多雷达数据融合,直接用普通最小二乘,结果出来的轨迹全是毛刺。后来才发现,不同雷达的测量精度不一样,必须用加权最小二乘,给精度高的雷达更大的权重。这个「权重」就是上面公式里的 R⁻¹。

避坑指南: 我曾经在融合GPS和雷达数据时,直接用普通最小二乘,结果定位误差反而更大。后来加了权重矩阵,效果立竿见影。记住:永远不要忽略观测质量的不一致性。

4.2 极大似然估计:从数据反推参数

极大似然估计(MLE),说白了就是:给定观测数据,找一组参数,使得这组数据出现的概率最大。

你想想看,目标关联里经常要判断两个点是不是同一个目标。如果它们来自同一个目标,那么它们的运动应该符合某个运动模型。MLE就是帮我们找到最可能的那个模型参数。

举个具体的例子:假设我们观测到一组距离测量值 z₁, z₂, ..., zₙ,它们服从高斯分布 N(μ, σ²)。那么似然函数就是:

L(μ, σ²) = ∏ᵢ₌₁ⁿ (1/√(2πσ²)) · exp(-(zᵢ - μ)²/(2σ²))

取对数后求导,你会发现:μ的MLE估计就是样本均值,σ²的MLE估计就是样本方差。嗯,这个结果很直观,但背后的推导过程值得你亲手走一遍。

注意: 极大似然估计在小样本情况下可能有偏。比如方差估计,我记得教科书上用的是除以n,但实际工程中常用除以n-1的无偏估计。这个细节,在目标跟踪的滤波初始化阶段特别重要。

4.3 信息论基础:熵与互信息

聊完优化,咱们来看看信息论。很多人觉得信息论是通信领域的东西,跟雷达没关系。其实不然,目标关联里有一个经典问题:如何衡量两个传感器观测之间的「相关性」?互信息就是干这个的。

4.3.1 熵:不确定性的度量

熵的概念,最早是香农提出来的。它的物理意义很直观:一个随机变量的不确定性越大,熵就越大。

公式长这样:

H(X) = -∑ p(x) · log₂ p(x)

举个例子:一个公平的硬币,抛一次,正面和反面概率各0.5,熵是1比特。如果硬币两面都是正面,概率为1和0,熵是0——因为结果完全确定,没有任何不确定性。

在雷达数据处理中,熵可以用来衡量目标状态的不确定性。比如卡尔曼滤波的协方差矩阵,它的行列式或者迹,本质上就是一种熵的度量。

4.3.2 互信息:相关性的量化

互信息衡量的是:知道一个变量后,另一个变量的不确定性减少了多少。

I(X;Y) = H(X) - H(X|Y)
       = ∑∑ p(x,y) · log₂(p(x,y)/(p(x)p(y)))

我个人觉得,互信息比相关系数更「高级」的地方在于:它能捕捉非线性关系。相关系数只能描述线性相关,但互信息可以描述任意形式的依赖关系。

在目标关联中的应用: 假设有两个传感器A和B,它们同时观测两个目标。我们可以计算A的观测和B的观测之间的互信息。如果互信息很大,说明它们很可能来自同一个目标。反之,如果互信息接近0,说明它们独立,大概率不是同一个目标。

4.4 知识体系总览

说了这么多,我画了一张图,帮你把今天的内容串起来:

最优化理论与信息论知识体系 最优化理论 信息论基础 最小二乘估计 (LS) 加权最小二乘 (WLS) 极大似然估计 (MLE) 熵:不确定性度量 联合熵与条件熵 互信息:相关性量化 目标关联中的核心应用 航迹起始与关联 多传感器融合 关联假设检验

4.5 三者之间的关系

你可能会问:最小二乘、极大似然估计、信息论,这三者到底什么关系?

我简单总结一下:

  • 最小二乘是MLE在噪声服从高斯分布时的特例。换句话说,如果噪声是高斯白噪声,最小二乘解就是MLE解。
  • MLE比最小二乘更通用,可以处理各种分布(比如泊松分布、指数分布)。
  • 互信息可以看作是MLE的一种推广——MLE找的是最可能的参数,互信息衡量的是变量之间的依赖强度。
我的经验: 在实际项目中,我通常先用互信息做初步的关联判断,再用MLE或最小二乘做精细的参数估计。这种「粗筛+细调」的策略,在计算资源和精度之间取得了很好的平衡。

4.6 一个简单的代码示例

最后,给你看一段Python代码,演示如何用最小二乘做直线拟合。这段代码我在多个项目里用过,很实用:

import numpy as np

def least_squares_fit(x, y):
    """
    最小二乘直线拟合
    x: 自变量数组
    y: 因变量数组
    返回: 斜率a, 截距b
    """
    n = len(x)
    # 构造设计矩阵
    H = np.vstack([x, np.ones(n)]).T
    # 最小二乘解: (HᵀH)⁻¹Hᵀy
    theta = np.linalg.inv(H.T @ H) @ H.T @ y
    a, b = theta[0], theta[1]
    return a, b

# 示例数据
x = np.array([1, 2, 3, 4, 5])
y = np.array([2.1, 3.9, 6.2, 7.8, 10.1])

a, b = least_squares_fit(x, y)
print(f"拟合结果: y = {a:.2f}x + {b:.2f}")

嗯,这段代码虽然简单,但背后的思想贯穿了整个目标关联算法。你想想看,航迹关联本质上不就是找一条「最拟合」的轨迹吗?

好了,这一讲的内容就到这里。数学基础部分我们用了三讲,下一讲开始,我们正式进入目标关联的核心算法。

可可精品资料库