gpt4 book ai didi

machine-learning - 多个观测变量的隐马尔可夫模型

转载 作者:行者123 更新时间:2023-11-30 08:21:56 25 4
gpt4 key购买 nike

我正在尝试使用隐马尔可夫模型(HMM)来解决一个问题,其中我在每个时间点 t 有 M 个不同的观察变量(Yti)和一个隐藏变量(Xt)。为了清楚起见,让我们假设所有观察到的变量 (Yti) 都是分类的,其中每个 Yti 传达不同的信息,因此可能具有不同的基数。下图给出了一个说明性示例,其中 M=3。

enter image description here

我的目标是使用 Baum-Welch 算法根据我观察到的变量序列 (Yti) 来训练 HMM 的转换、发射和先验概率。假设,Xt 最初有 2 个隐藏状态。

我读过一些教程(包括著名的 Rabiner 论文)并浏览了一些 HMM 软件包的代码,即“HMM Toolbox in MatLab”和“hmmpytk package in MatLab” Python'。总的来说,我进行了广泛的网络搜索,我能找到的所有资源仅涵盖这种情况,即每个时间点只有一个观察到的变量(M = 1)。这越来越让我认为 HMM 不适合具有多个观察变量的情况。

  • 是否可以将图中描述的问题建模为 HMM?
  • 如果是,如何修改 Baum-Welch 算法以适应基于多变量观测(发射)概率的 HMM 参数训练?
  • 如果没有,您是否知道更适合图中所示情况的方法?

谢谢。

编辑:在此paper ,图中描述的情况被描述为动态朴素贝叶斯,就训练和估计算法而言,需要对单变量 HMM 的 Baum-Welch 和 Viterbi 算法进行轻微扩展。

最佳答案

最简单的方法是让 y_is 在给定 x_is 的情况下条件独立,并让模型保持生成性。这导致了简单的估计量和相对较少的参数,但在某些情况下是一个相当严格的假设(它基本上是朴素贝叶斯分类器的 HMM 形式)。

编辑:这意味着什么。对于每个时间步 i,您都有一个多变量观察y_i = {y_i1...y_in}。您将 y_ij 视为给定 x_i 条件独立,因此:

p(y_i|x_i) = \prod_j p(y_ij | x_i)

然后,您将有效地为隐藏变量 x 的每个可能值学习朴素贝叶斯分类器。 (条件独立在这里很重要:ys 的无条件分布中存在依赖性)。这可以通过 HMM 的标准 EM 来学习。

正如一位评论者所说,您也可以将 y_ijs 的串联视为单个观察,但如果任何 j 变量的维度超出微不足道,这将导致 很多参数,您将需要更多的训练数据。

您是否特别需要模型具有生成性?如果您只是在 x_is 中寻找推论,那么 conditional random field 可能会更好。 ,通过其特征函数可以进行更复杂的观察,而无需相同的独立性限制性假设。

关于machine-learning - 多个观测变量的隐马尔可夫模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17487356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com