有向概率图模型:深入解析与应用拓展
立即解锁
发布时间: 2025-09-01 01:09:15 阅读量: 17 订阅数: 12 AIGC 


概率图模型与计算机视觉
### 有向概率图模型:深入解析与应用拓展
#### 1. 隐马尔可夫模型(HMM)相关内容
##### 1.1 Viterbi算法与HMM学习
在概率图模型中,Viterbi算法与HMM学习是重要的部分。将公式(3.143)代入公式(3.142)可得:
\[
x_{1:T}^* = \underset{x_{1:T}}{\text{argmax}} p(x_{1:T} | y_{1:T}) = \underset{x_T}{\text{argmax}} \delta_T(x_T) = \underset{x_T}{\text{argmax}} \max_{x_{T - 1}} \{ p(x_T | x_{T - 1}) p(y_T | x_T) \delta_{T - 1}(x_{T - 1}) \}
\]
由此可得 \( x_t^* = \underset{i}{\text{argmax}} \delta_t(i) \),其中 \( t = 1, 2, \cdots, T \)。Viterbi算法与算法3.2中的最大积(MAP)推理的变量消除算法类似。
对于HMM学习,和带有隐变量的动态贝叶斯网络(DBN)学习一样,采用了期望最大化(EM)算法的变体。由于HMM的特殊拓扑结构,专门为HMM学习开发了高效的方法,其中最著名的HMM参数学习方法是Baum - Welch算法。
给定 \( M \) 个观测序列 \( y = \{ y_m \}_{m = 1}^M \),我们要估计HMM的参数 \( \boldsymbol{\theta} \),它由先验概率 \( \pi_i \)、转移概率 \( a_{ij} \) 和观测概率 \( b_i \) 组成。这通过最大化对数边缘似然来实现:
\[
\boldsymbol{\theta}^* = \underset{\boldsymbol{\theta}}{\text{argmax}} \log p(y | \boldsymbol{\theta})
\]
其中 \( \log p(y | \boldsymbol{\theta}) \) 可进一步写为:
\[
\log p(y | \boldsymbol{\theta}) = \sum_{m = 1}^M \log p(y_m | \boldsymbol{\theta}) = \sum_{m = 1}^M \log \sum_{x_m} p(x_m, y_m | \boldsymbol{\theta})
\]
按照EM算法,最大化边缘对数似然等价于最大化期望对数似然,即:
\[
\boldsymbol{\theta}^* = \underset{\boldsymbol{\theta}}{\text{argmax}} \sum_{m = 1}^M \sum_{x_m} q(x_m | y_m, \boldsymbol{\theta}_q) \log p(x_m, y_m | \boldsymbol{\theta})
\]
其中 \( q(x_m | y_m, \boldsymbol{\theta}_q) \) 选择为 \( p(x_m | y_m, \boldsymbol{\theta}^-) \),\( \boldsymbol{\theta}^- \) 表示EM算法上一次迭代的参数。利用贝叶斯网络链规则,\( \log p(x_m, y_m | \boldsymbol{\theta}) \) 可进一步写为:
\[
\log p(x_m, y_m | \boldsymbol{\theta}) = \log p(x_0, \pi_i) + \log p(y_0 | x_0, b_0) + \sum_{t = 1}^T [ \log p(x_t^m | x_{t - 1}^m, a_{ij}) + \log p(y_t^m | x_t^m, b_i) ]
\]
按照算法3.8中的EM过程,在E步,估计 \( p(x_m | y_m, \boldsymbol{\theta}^-) \) 以获得 \( x \) 每个配置的概率(权重)。在M步,参数估计变为训练数据中某些配置的期望计数。这些更新迭代直到收敛,过程可以用随机的 \( \boldsymbol{\theta}_0 \) 初始化。
Baum - Welch算法遵循类似的迭代过程。给定当前参数估计 \( \boldsymbol{\theta} \)(在 \( t = 0 \) 时随机初始化),对于每个训练序列 \( y_m \),执行E步和M步:
- **E步**:
\[
\xi_t(i, j) = p(x_t = i, x_{t + 1} = j | y_m, \boldsymbol{\theta})
\]
可使用前向 - 后向算法计算:
\[
\xi_t(i, j) = \frac{\alpha_t(i) a_{i, j} b_j(y_{t + 1}) \beta_{t + 1}(j)}{\sum_{i' = 1}^K \sum_{j' = 1}^K \alpha_t(i') a_{i', j'} b_{j'}(y_{t + 1}) \beta_{t + 1}(j')}
\]
其中 \( \alpha_t(i) \) 和 \( \beta_{t + 1}(j) \) 分别是公式(3.140)和(3.141)中定义的前向和后向概率,\( a_{ij} \) 和 \( \beta_{t + 1}(j') \) 是当前参数。给定 \( \xi_t(i, j) \),可进一步定义 \( \gamma_t(i) = p(x_t = i) = \sum_{j = 1}^K \xi_t(i, j) \),即时间 \( t \) 时 \( X_t \) 处于状态 \( i \) 的概率。
- **M步**:
使用 \( \xi_t(i, j) \) 更新 \( \boldsymbol{\theta} \) 的参数 \( \pi_i \)、\( a_{ij} \) 和 \( b_j \) 如下:
\[
\pi_i = \gamma_1(i), \quad a_{i, j} = \frac{\sum_{t = 1}^{T - 1} \xi_t(i, j)}{\sum_{t = 1}^{T - 1} \gamma_t(i)}
\]
对于发射概率 \( b_i \),如果观测 \( y \) 是离散的且 \( y \in \{ 1, 2, \cdots, J \} \),则
\[
b_i(j) = \frac{\sum_{t = 1, y_t = j}^T \gamma_t(i)}{\sum_{t = 1}^T \gamma_t(i)}
\]
对于连续观测 \( y \),对于每个状态值 \( i \),收集数据 \( y_i = \{ y_t, x_t = i \}_{t = 1}^T \) 并使用 \( y_i \) 估计 \( b_i \)。E步和M步迭代直到收敛。
由于每个训练序列 \( y_m \) 单独更新参数,最终估计的 \( \boldsymbol{\theta} \) 是每个 \( y_m \) 更新参数的平均值。使用更新后的参数,过程重复直到收敛。和EM算法一样,该方法对初始化敏感,不能保证找到全局最优解。此外,常使用交叉验证来确定隐藏状态变量 \( X \) 的最优基数。除了生成式学习,还可以通过最大化条件对数似然对HMM进行判别式学习。
##### 1.2 HMM的变体
传统的HMM在建模简单一元动态方面存在局限性,因此开发了许多HMM的变体来扩展标准HMM,具体如下表所示:
| 变体名称 | 特点 |
| --- | --- |
| 高斯混合HMM | 对于具有连续值观测的HMM,通过引入另一个离散节点表示混合,将发射概率建模为高斯混合。 |
| 自回归HMM(AR - HMM) | 放宽了标准HMM中给定隐藏节点时观测相互独立的假设,允许连续观测之间存在时间链接。 |
| 输入 - 输出HMM(IO - HMM) | 允许隐藏状态有输入和输出。 |
| 隐藏半马尔可夫模型(HSMM) | 放宽了HMM的马尔可夫状态转移假设,允许状态变化是自进入当前状态以来经过时间的函数,明确建模状态持续时间,每个状态发射多个观测。 |
| 多观测隐藏马尔可夫模型(MOHMM) | 当特征向量维度较高时,为缓解观测空间高维问题,尝试对观测空间进行因式分解以适应多种类型的观测,假设给定隐藏状态,不同观测因子相互独立。 |
| 耦合HMM(CHMM) | 用于建模两个相互作用的动态过程,每个过程由一个单独的HMM捕获,它们的相互作用通过隐藏状态之间的链接捕获,可进一步分为对称CHMM和非对称CHMM。 |
| 因子HMM | 假设动态状态可以由多个可分解的隐藏状态源链表示,将复杂的隐藏元状态分解为多个独立的简单状态,这些状态共享相同的观测,每个简单状态由一个单一的HMM表示,每个HMM可以捕获复杂动态的不同方面。 |
| 层次HMM | 允许对具有层次状态结构的领域进行建模,是对因子HMM的扩展,允许不同隐藏状态变量之间的相互作用,将传统HMM扩展为包含隐藏状态的层次结构,每个状态本身可以是一个子HMM。 |
| 分层HMM(LHMM) | 所有层并行运行,较低层生成较高层的观测,最低层是图像观测,允许在不同时间粒度级别上进行有效的时间模式编码,通过分解参数空间增强系统的鲁棒性,可视为HMM的级联,每层的HMM独立学习。 |
这些变体各自具有独特的特点和应用场景,能够更好地适应不同的实际需求。
#### 2. 线性动态系统(LDS)
线性动态系统(LDS)是DBN的另一个特殊情况,其节点形成如图3.40所示的两层链结构,与HMM类似。但与HMM不同的是,LDS的顶层可以是连续或离散的,并且通常不假设为隐藏的。
LDS的状态转移可以是 \( p \) 阶的,与传统的DBN和HMM通常假设的一阶马尔可夫状态转移不同。LDS可以通过先验网络、转移网络和观测模型来指定:
- **先验网络**:仅由一个节点 \( X_0 \) 组成,先验概率分布可指定为 \( p(X_0) = N(\mu_0, \Sigma_0) \)。
- **转移模型**:\( p \) 阶转移模型可由 \( p(X_t | X_{t - 1}, X_{t - 2}, \cdots, X_{t - p}) \) 指定,通常通过回归函数指定,当前节点值 \( X_t \) 生成为先前值的线性组合(线性高斯):
\[
X_t = A_1 X_{t - 1} + A_2 X_{t - 2} + \cdots + A_p X_{t - p} + \epsilon
\]
其中 \( \epsilon \sim N(0, I_d) \) 是白噪声向量,\( p \) 是模型的阶数,回归矩阵 \( A_i \in R^{d \times d} \),\( i = 1, \cdots, p \) 是参数,\(
0
0
复制全文
相关推荐









