我正在尝试使用隐马尔可夫模型 (HMM) 来解决每个时间点 t 有 M 个不同的观察变量 (Yti) 和单个隐变量 (Xt) 的问题。为清楚起见,我们假设所有观察到的变量 (Yti) 都是分类变量,其中每个 Yti 传达不同的信息,因此可能具有不同的基数。下图中给出了一个说明性示例,其中 M=3。
我的目标是使用 Baum-Welch 算法从我观察到的变量序列 (Yti) 中训练 HMM 的转换、发射和先验概率。假设 Xt 最初将有 2 个隐藏状态。
我已经阅读了一些教程(包括著名的 Rabiner 论文)并浏览了一些 HMM 软件包的代码,即“ HMM Toolbox in MatLab ”和“ hmmpytk package in Python ”。总的来说,我进行了广泛的网络搜索,所有我能找到的资源只涵盖了每个时间点只有一个观察到的变量 (M=1) 的情况。这越来越让我认为 HMM 不适合具有多个观察变量的情况。
- 是否可以将图中描述的问题建模为 HMM?
- 如果是,如何修改 Baum-Welch 算法以适应基于多变量观察(发射)概率的 HMM 参数训练?
- 如果没有,您是否知道更适合图中所示情况的方法?
谢谢。
编辑: 在本文中,图中描述的情况被描述为动态朴素贝叶斯,就训练和估计算法而言,它需要对单变量 HMM 的 Baum-Welch 和 Viterbi 算法进行轻微扩展。