首页
/ 基于高斯分布的贝叶斯决策与连续隐状态推断

基于高斯分布的贝叶斯决策与连续隐状态推断

2025-07-10 07:40:45作者:董斯意

教程概述

本教程是Neuromatch Academy课程"贝叶斯决策"系列的第二部分,重点介绍高斯分布特性及其在连续隐状态贝叶斯推断中的应用。我们将通过寻找Astrocat的趣味案例,深入探讨连续概率分布下的贝叶斯推理方法。

核心概念与技术要点

1. 高斯分布基础

高斯分布(正态分布)是连续概率分布中最重要的分布之一,其概率密度函数为:

N(xμ,σ2)=12πσ2exp((xμ)22σ2)\mathcal{N}(x|\mu,\sigma^2) = \frac{1}{\sqrt{2\pi\sigma^2}}\exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)

其中μ为均值,σ²为方差。高斯分布具有以下优良特性:

  • 对称性:关于均值对称
  • 集中性:大部分概率质量集中在均值附近
  • 可加性:独立高斯随机变量的和仍为高斯分布
def gaussian(x, mu, sigma):
    """计算高斯分布概率密度"""
    return np.exp(-0.5*((x-mu)/sigma)**2)/(sigma*np.sqrt(2*np.pi))

2. 连续状态下的贝叶斯推断

与离散状态类似,连续状态的贝叶斯定理表示为:

p(xy)=p(yx)p(x)p(y)p(x|y) = \frac{p(y|x)p(x)}{p(y)}

对于高斯分布,当先验和似然都是高斯时,后验也是高斯分布,且参数有解析解:

def product_gaussian(mu1, mu2, sigma1, sigma2):
    """计算两个高斯分布的乘积分布参数"""
    sigma_post = np.sqrt(1/(1/sigma1**2 + 1/sigma2**2))
    mu_post = (mu1/sigma1**2 + mu2/sigma2**2)*sigma_post**2
    return mu_post, sigma_post

3. 高斯混合模型

复杂先验可以用高斯混合模型表示:

p(x)=i=1kπiN(xμi,σi2)p(x) = \sum_{i=1}^k \pi_i \mathcal{N}(x|\mu_i,\sigma_i^2)

其中πi是混合系数,∑πi=1。混合模型能表示多峰分布,但后验计算会变得复杂。

def gaussian_mixture(mu1, mu2, sigma1, sigma2, factor):
    """绘制高斯混合分布"""
    x = np.linspace(-7.0, 7.0, 1000)
    y1 = gaussian(x, mu1, sigma1)
    y2 = gaussian(x, mu2, sigma2)
    mixture = y1*factor + y2*(1.0-factor)

4. 损失函数与决策

在连续状态下,常见的损失函数包括:

  • 均方误差(MSE):L(θ,â) = (θ-â)²
  • 绝对误差:L(θ,â) = |θ-â|
  • 0-1损失:L(θ,â) = I(|θ-â|>ε)

最优决策是使期望损失最小的估计:

a^=arga^E[L(θ,a^)]\hat{a}^* = \arg\min_{\hat{a}} \mathbb{E}[L(\theta,\hat{a})]

def calc_expected_loss(loss_f, posterior, x):
    """计算期望损失"""
    if loss_f == "MSE":
        loss = (x[:,None] - x[None,:])**2
    elif loss_f == "Absolute":
        loss = np.abs(x[:,None] - x[None,:])
    elif loss_f == "0-1":
        loss = (np.abs(x[:,None] - x[None,:]) > 0.02).astype(float)
    return np.sum(loss * posterior[None,:], axis=1)

应用案例:寻找Astrocat

我们通过寻找Astrocat的案例演示这些概念:

  1. 多源信息融合:结合卫星(先验)和太空鼠(似然)的观测确定Astrocat位置
  2. 复杂先验处理:当先验是多峰分布时,后验计算需要考虑混合成分
  3. 最优搜索策略:基于不同损失函数制定最优搜索路径
def plot_information(mu1, sigma1, mu2, sigma2):
    """可视化信息融合过程"""
    mu_post, sigma_post = product_gaussian(mu1, mu2, sigma1, sigma2)
    # 绘制先验、似然和后验分布

关键结论

  1. 高斯分布为连续状态贝叶斯推断提供了数学便利
  2. 高斯混合模型能表示更复杂的先验知识
  3. 不同损失函数会导致不同的最优决策
  4. 多源信息融合能显著提高估计精度

本教程为后续更复杂的贝叶斯决策问题奠定了基础,特别是多变量和非高斯情况下的处理方法。理解这些基本概念对于构建更复杂的认知模型和决策系统至关重要。