概率编程
《人工智能现代方法》读书笔记
第 15 章关注随时间变化的不确定性系统,核心是如何在序列观测中推断隐藏状态。重点包括:
动态贝叶斯网络(DBN)
- 将贝叶斯网络扩展到时间序列,通常用马尔可夫假设:当前状态只依赖前一时刻状态(一阶马尔可夫)
- 转移模型:P(Xₜ | Xₜ₋₁),观测模型:P(Eₜ | Xₜ)
- 联合分布分解:P(X₀:ₜ, E₁:ₜ) = P(X₀) ∏ₜ₌₁ᵀ P(Xₜ | Xₜ₋₁) P(Eₜ | Xₜ)
隐马尔可夫模型(HMM)
- 状态变量离散、观测变量离散(或连续)
- 推理任务:滤波(当前状态)、预测(未来状态)、平滑(过去状态)、最可能状态序列(维特比算法)
卡尔曼滤波(KF)
- 状态和观测为连续、服从高斯分布,转移和观测为线性高斯模型
- 通过均值和协方差进行解析更新,是最优的线性滤波
扩展卡尔曼滤波(EKF)
- 将非线性系统做线性化近似(泰勒展开)
粒子滤波(PF)
- 适用于非线性、非高斯系统,使用加权粒子集合表示后验分布
- 重要步骤:采样、权重更新、重采样
推理算法
- 滤波:前向算法(HMM)或卡尔曼递推
- 平滑:前向后向算法(HMM)或 RTS 平滑(卡尔曼)
- 维特比:动态规划求最可能路径