基于核的隐马尔可夫模型(Kernel Hidden Markov Model, KHMM)的变分推断与序列分类过程
题目描述
假设我们面对一个序列分类问题,其中观测序列(例如,一段语音信号、一个文本句子、一个生物序列)可能来自多个不同的类别。标准的隐马尔可夫模型(HMM)假设观测变量服从某个参数化的分布(例如高斯分布)。但在许多复杂场景中,观测数据可能位于复杂的非线性流形上,或者其分布难以用简单的参数模型描述。基于核的隐马尔可夫模型(KHMM)将核方法引入HMM,将原始观测数据通过一个非线性映射函数φ(·)映射到一个再生核希尔伯特空间(RKHS),并在该高维(甚至无限维)特征空间中,利用HMM的概率框架进行建模。这使模型能够捕捉原始空间中的非线性动态模式。然而,KHMM的直接推断(如前向-后向算法)在特征空间中由于φ(·)的隐式表达和无限维特性而无法直接计算。本题目要求详细解释如何为KHMM设计一个变分推断(Variational Inference, VI) 框架,以实现对隐藏状态序列的后验推断,并最终完成序列分类任务。
解题过程讲解
我将为您循序渐进地分解KHMM的建模、变分推断的动机、具体的变分框架构建,以及最终的分类决策过程。
第一步:KHMM的基本模型设定
-
标准HMM回顾:一个HMM由隐藏状态序列 \(z_{1:T} = (z_1, z_2, ..., z_T)\) 和观测序列 \(x_{1:T} = (x_1, x_2, ..., x_T)\) 组成。其中 \(z_t \in \{1, ..., K\}\)。模型参数包括:
- 初始状态分布 \(\pi\)。
- 状态转移矩阵 \(A\),其中 \(A_{ij} = p(z_t = j | z_{t-1} = i)\)。
- 观测(发射)概率分布 \(p(x_t | z_t = k)\),通常假设为高斯分布等。
-
核化观测模型:KHMM的核心创新在于观测模型。我们不再为 \(p(x_t | z_t)\) 指定一个具体的参数分布。而是假设在特征空间中,给定状态 \(k\),映射后的观测 \(\phi(x_t)\) 服从一个分布。一个常见且可处理的设定是,假设在特征空间中,给定状态 \(k\),\(\phi(x_t)\) 服从一个高斯分布(尽管在原始空间 \(x_t\) 的分布是复杂且非高斯的):
\(p(\phi(x_t) | z_t = k) = \mathcal{N}(\phi(x_t) | \mu_k, \Sigma_k)\)
这里 \(\mu_k\) 是特征空间中的均值向量,\(\Sigma_k\) 是协方差矩阵。由于 \(\phi(\cdot)\) 是到高维/无限维空间的映射,我们无法显式地表示 \(\mu_k\) 和 \(\Sigma_k\)。但核技巧允许我们通过核函数 \(k(x, x’) = \langle \phi(x), \phi(x’) \rangle\) 在内积形式下工作。 -
模型表示与问题:KHMM的联合概率为:
\(p(z_{1:T}, x_{1:T}) = p(z_1) \prod_{t=2}^T p(z_t | z_{t-1}) \prod_{t=1}^T p(\phi(x_t) | z_t)\)
我们的目标是在给定观测序列 \(x_{1:T}\) 下,推断隐藏状态的后验 \(p(z_{1:T} | x_{1:T})\),并可能用于分类(例如,通过比较不同类别KHMM生成该序列的概率,即序列似然 \(p(x_{1:T})\))。直接计算后验是棘手的,因为涉及到特征空间中的分布。
第二步:变分推断的动机与基本思想
-
推断难点:标准HMM使用前向-后向算法精确计算后验 \(p(z_{1:T} | x_{1:T})\)。但在KHMM中,观测概率 \(p(\phi(x_t) | z_t)\) 无法像离散或高斯观测那样进行闭合形式的计算,因为 \(\phi(x_t)\) 是隐式的。此外,在特征空间中直接进行类似前向递归的运算涉及计算无穷维的均值,这在数值上是不可行的。
-
变分推断的引入:变分推断是一种近似贝叶斯推断方法。其核心思想是,用一个由变分参数 \(\nu\) 参数化的简单分布 \(q(z_{1:T}; \nu)\) 来近似真实后验 \(p(z_{1:T} | x_{1:T})\)。然后通过优化变分参数 \(\nu\),最小化 \(q\) 与真实后验之间的KL散度 \(KL(q || p)\)。这等价于最大化证据下界(ELBO):
\(\mathcal{L}(\nu) = \mathbb{E}_{q(z_{1:T})}[\log p(z_{1:T}, x_{1:T})] - \mathbb{E}_{q(z_{1:T})}[\log q(z_{1:T})] \leq \log p(x_{1:T})\) -
变分分布的选择:对于序列模型,一个常见且有效的选择是平均场变分分布,假设各时刻的状态是独立的:
\(q(z_{1:T}) = \prod_{t=1}^T q_t(z_t)\), 其中 \(q_t(z_t)\) 是一个在 \(K\) 个状态上的离散分布,参数为 \(\gamma_{tk} = q(z_t = k)\),且 \(\sum_{k=1}^K \gamma_{tk} = 1\)。
这里 \(\gamma = \{\gamma_{tk}\}\) 就是我们的变分参数 \(\nu\)。这个选择打破了状态间的时间依赖关系,但使得推断变得可处理。
第三步:推导KHMM的ELBO与变分更新方程
这是最核心的步骤,我们需要将KHMM的模型代入ELBO,并推导出优化 \(\gamma_{tk}\) 的更新方程。
-
展开ELBO:
\(\mathcal{L}(\gamma) = \mathbb{E}_{q}[\log p(z_1)] + \sum_{t=2}^T \mathbb{E}_{q}[\log p(z_t | z_{t-1})] + \sum_{t=1}^T \mathbb{E}_{q}[\log p(\phi(x_t) | z_t)] - \mathbb{E}_{q}[\log q(z_{1:T})]\)
前三项是联合概率的期望,最后一项是变分分布的熵。 -
计算各项期望:
- 初始状态与转移项:由于 \(p(z_1)\) 和 \(p(z_t|z_{t-1})\) 是标准的离散分布(多项式),其期望可以容易地用 \(\gamma_{tk}\) 表示。例如:
\(\mathbb{E}_{q}[\log p(z_t | z_{t-1})] = \sum_{i=1}^K \sum_{j=1}^K \gamma_{t-1,i} \gamma_{t,j} \log A_{ij}\) - 观测(发射)项:这是KHMM的关键。我们需要计算 \(\mathbb{E}_{q}[\log p(\phi(x_t) | z_t = k)]\)。
回忆我们在特征空间中假设了高斯观测:\(p(\phi(x_t) | z_t = k) = \mathcal{N}(\phi(x_t) | \mu_k, \Sigma_k)\)。
其对数为:\(\log p(\phi(x_t) | z_t = k) = -\frac{1}{2} \log |2\pi \Sigma_k| - \frac{1}{2} (\phi(x_t) - \mu_k)^\top \Sigma_k^{-1} (\phi(x_t) - \mu_k)\)。
这里 \(\mu_k\) 和 \(\Sigma_k\) 是未知的。核技巧的运用:我们不直接参数化 \(\mu_k\) 和 \(\Sigma_k\),而是采用经验均值和一种简化的协方差形式(例如,假设 \(\Sigma_k = \sigma_k^2 I\),即各向同性的协方差,这是核方法中常见简化)。更进一步,我们可以利用表示定理,将特征空间中的均值表示为训练样本的线性组合:\(\mu_k = \sum_{m=1}^M \beta_{km} \phi(\tilde{x}_m)\),其中 \(\{\tilde{x}_m\}\) 是一组基样本(可以是训练集的一个子集,即诱导点)。将这个表达代入上述对数概率,并利用 \(\langle \phi(x), \phi(x’) \rangle = k(x, x’)\),我们可以将对数概率重写为只包含核函数 \(k(\cdot, \cdot)\) 的表达式,而不需要显式的 \(\phi(\cdot)\)。最终,\(\mathbb{E}_{q}[\log p(\phi(x_t) | z_t = k)]\) 可以表达为一个关于核矩阵 \(K\)(如 \(K_{tm} = k(x_t, \tilde{x}_m)\))和参数 \(\beta_k, \sigma_k^2\) 的函数,记作 \(g_k(x_t; \beta_k, \sigma_k^2)\)。这一步推导涉及大量代数运算,是KHMM数学上的核心。 - 熵项:\(-\mathbb{E}_{q}[\log q(z_{1:T})] = -\sum_{t=1}^T \sum_{k=1}^K \gamma_{tk} \log \gamma_{tk}\)
- 初始状态与转移项:由于 \(p(z_1)\) 和 \(p(z_t|z_{t-1})\) 是标准的离散分布(多项式),其期望可以容易地用 \(\gamma_{tk}\) 表示。例如:
-
推导变分更新方程:
为了最大化ELBO \(\mathcal{L}(\gamma)\),我们固定其他参数(HMM的 \(\pi, A\) 和KHMM的 \(\beta_k, \sigma_k^2\)),对每个 \(\gamma_{tk}\) 求导并令其为零。由于 \(q\) 是平均场形式,我们可以得到类似于HMM中后验状态概率(即 \(\gamma_{tk}\))的固定点迭代方程,但观测“贡献”的部分被替换为上述的核化形式 \(g_k(x_t)\)。
最终的更新方程通常具有以下形式(以对数域表示,更稳定):
\(\log \gamma_{tk} \propto g_k(x_t; \beta_k, \sigma_k^2) + \mathbb{E}_{q(z_{t-1})}[\log p(z_t=k | z_{t-1})] + \mathbb{E}_{q(z_{t+1})}[\log p(z_{t+1} | z_t=k)]\)
对于 \(t=1\) 和 \(t=T\),边界项略有不同。这可以看作一个“变分前向-后向算法”,其中前向和后向传递的信息与标准HMM类似,但观测对数似然 \(\log p(x_t | z_t=k)\) 被替换为 \(g_k(x_t)\)。通过迭代更新所有的 \(\gamma_{tk}\) 直到收敛,我们就得到了近似后验 \(q(z_{1:T})\)。
第四步:模型参数学习与序列分类
-
参数学习:对于一个训练序列 \(x_{1:T}\),我们不仅需要推断变分参数 \(\gamma\),还需要学习模型参数 \(\Theta = \{\pi, A, \{\beta_k, \sigma_k^2\}\}\)。这可以通过变分EM算法实现:
- E步:固定 \(\Theta\),运行上述的变分推断(迭代更新 \(\gamma\)),得到当前最优的 \(q(z_{1:T})\)。
- M步:固定 \(q(z_{1:T})\),最大化ELBO关于 \(\Theta\) 的期望。对于 \(\pi\) 和 \(A\),更新公式与标准HMM的Baum-Welch算法类似,只是用 \(\gamma_{tk}\) 和两两状态的边缘期望 \(\xi_{t,ij} = q(z_{t-1}=i, z_t=j)\)(可从 \(\gamma\) 计算)代替了后验概率。对于KHMM特有的参数 \(\beta_k\) 和 \(\sigma_k^2\),最大化涉及核矩阵的项,通常可以导出类似核岭回归的闭合解或数值解。
- 交替迭代E步和M步直到ELBO收敛。
-
序列分类:对于一个新的测试序列 \(x_{1:T}^{test}\),假设我们有 \(C\) 个类,每个类对应一个已训练好的KHMM(参数为 \(\Theta_c\))。
- 分类时,我们将测试序列输入到每个KHMM中,固定该模型的参数 \(\Theta_c\),仅运行变分推断(E步) 来计算针对该模型的ELBO值 \(\mathcal{L}_c\)(或者等价地,计算变分下界对序列对数似然 \(\log p(x_{1:T}^{test} | \Theta_c)\) 的近似)。
- 根据贝叶斯决策理论,选择使这个(下界)值最大的类别作为预测类别:\(\hat{y} = \arg\max_{c} \mathcal{L}_c\)。
- 注意,我们并不需要为测试序列重新学习模型参数,只需要做快速的变分推断来评估模型对序列的“拟合程度”。
总结
KHMM通过核方法将非线性映射引入HMM的观测模型,增强了其表达能力。变分推断通过引入平均场近似分布 \(q(z_{1:T})\),将难以直接计算的精确后验推断问题,转化为一个迭代优化变分参数 \(\gamma_{tk}\) 的可处理问题。在优化过程中,特征空间中的高斯观测概率通过核函数被巧妙地表达。最终,通过变分EM算法学习模型参数,并通过比较不同类别模型下测试序列的ELBO来进行序列分类。整个过程结合了核方法的非线性处理能力和隐马尔可夫模型的时间序列建模能力,同时利用变分推断解决了计算难题。