隐马尔可夫模型(HMM)的Baum-Welch算法原理与参数估计过程
题目描述
隐马尔可夫模型(HMM)是一种用于建模时序数据的统计模型,包含隐藏状态序列和观测序列。Baum-Welch算法是HMM的无监督学习算法,通过观测数据估计模型参数(初始状态概率、状态转移概率、观测概率)。其核心思想是利用期望最大化(EM)算法,迭代优化参数直至收敛。
解题过程
1. HMM基本定义
HMM由以下参数组成:
- 隐藏状态集合 \(Q = \{q_1, q_2, ..., q_N\}\)(如天气:晴、雨)。
- 观测集合 \(V = \{v_1, v_2, ..., v_M\}\)(如活动:散步、购物)。
- 初始状态概率 \(\pi = [\pi_i]\),其中 \(\pi_i = P(z_1 = q_i)\)。
- 状态转移矩阵 \(A = [a_{ij}]\),其中 \(a_{ij} = P(z_{t+1} = q_j \mid z_t = q_i)\)。
- 观测概率矩阵 \(B = [b_j(k)]\),其中 \(b_j(k) = P(o_t = v_k \mid z_t = q_j)\)。
目标:给定观测序列 \(O = (o_1, o_2, ..., o_T)\),估计参数 \(\lambda = (\pi, A, B)\)。
2. Baum-Welch算法的EM框架
Baum-Welch是EM算法的特例,分两步迭代:
- E步:计算隐藏状态的期望统计量(基于当前参数)。
- M步:更新参数以最大化期望似然。
3. E步:计算前向概率与后向概率
前向概率 \(\alpha_t(i) = P(o_1, o_2, ..., o_t, z_t = q_i \mid \lambda)\):
- 初始化:\(\alpha_1(i) = \pi_i b_i(o_1)\)。
- 递推:
\[ \alpha_{t+1}(j) = \left[ \sum_{i=1}^N \alpha_t(i) a_{ij} \right] b_j(o_{t+1}), \quad t=1,2,...,T-1. \]
后向概率 \(\beta_t(i) = P(o_{t+1}, o_{t+2}, ..., o_T \mid z_t = q_i, \lambda)\):
- 初始化:\(\beta_T(i) = 1\)(约定条件)。
- 递推:
\[ \beta_t(i) = \sum_{j=1}^N a_{ij} b_j(o_{t+1}) \beta_{t+1}(j), \quad t=T-1,...,1. \]
4. E步:计算关键统计量
状态概率 \(\gamma_t(i) = P(z_t = q_i \mid O, \lambda)\):
\[\gamma_t(i) = \frac{\alpha_t(i) \beta_t(i)}{\sum_{j=1}^N \alpha_t(j) \beta_t(j)}. \]
状态转移概率 \(\xi_t(i,j) = P(z_t = q_i, z_{t+1} = q_j \mid O, \lambda)\):
\[\xi_t(i,j) = \frac{\alpha_t(i) a_{ij} b_j(o_{t+1}) \beta_{t+1}(j)}{\sum_{i=1}^N \sum_{j=1}^N \alpha_t(i) a_{ij} b_j(o_{t+1}) \beta_{t+1}(j)}. \]
5. M步:更新参数
利用统计量的期望值更新参数:
- 初始概率:
\[ \pi_i^{\text{new}} = \gamma_1(i). \]
- 转移概率:
\[ a_{ij}^{\text{new}} = \frac{\sum_{t=1}^{T-1} \xi_t(i,j)}{\sum_{t=1}^{T-1} \gamma_t(i)}. \]
- 观测概率(离散观测):
\[ b_j(k)^{\text{new}} = \frac{\sum_{t=1}^T \gamma_t(j) \cdot \mathbf{1}[o_t = v_k]}{\sum_{t=1}^T \gamma_t(j)}. \]
6. 迭代与收敛
重复E步和M步,直到参数变化小于阈值或似然函数收敛。最终得到最优参数 \(\lambda^*\)。
关键点总结
- Baum-Welch通过EM算法避免直接求解复杂的极大似然问题。
- 前向-后向算法高效计算边缘概率,是E步的核心。
- 参数更新公式直观反映了“计数”的期望值(如转移次数、观测频次)。
- 适用于离散或连续观测(需调整 \(B\) 的分布形式)。
通过以上步骤,即使仅观测到活动序列,也能推断出天气变化的规律(隐藏状态参数)。