algorithm - 为什么前向-后向算法中的先验状态向量不是特征值为1的转移矩阵的特征向量?

标签 algorithm hidden-markov-models

维基百科说你不知道第一个状态是什么,所以你必须在先验状态向量中为每个状态分配相同的概率。但你确实知道转移概率矩阵是什么,并且该矩阵的特征值为 1 的特征向量是 HMM 中每个状态的频率(我认为),所以你为什么不使用该向量作为先验向量状态向量代替?

最佳答案

这实际上是一个建模决策。你的建议当然是可能的,因为它几乎对应于在观察结果上加上大量的观察结果,其中隐藏状态根本没有被观察到或没有任何影响——这将给原始状态带来稳定到平衡的时间分布。

但是,如果您有一系列以分隔开头的观察结果,例如在说话者开始时开始的一段语音,或在句子开头开始的一段文本,则没有特别的理由相信第一个状态的分布与平衡分布相同:我非常怀疑“e”是否是句子开头最常见的字符,而众所周知它是英语文本中最常见的字符.

您选择什么可能并不重要,除非您正在一起处理大量非常短的观察序列。大多数时候,我只会担心是否要将其中一个状态概率设置为零,因为经常用于优化 HMM 参数的 EM 算法或 Baum-Welch 算法可能不愿意重新估计远离零的参数。

关于algorithm - 为什么前向-后向算法中的先验状态向量不是特征值为1的转移矩阵的特征向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11620588/

相关文章:

algorithm - 复发的复杂性

algorithm - hmm 转移矩阵估计

algorithm - 如何找到用隐马尔可夫模型解决的问题示例?

algorithm - 如何使用 O(n) 时间和 O(1) 空间成本就地合并两个排序的整数数组

algorithm - 平衡分配算法

将巧克力 block 等分的算法

machine-learning - Word2Vec 和 Glove 向量适合实体识别吗?

python - 后向算法隐马尔可夫模型,第 0 个索引(终止步骤)产生错误结果

python - scikit 学习 GaussianHMM ValueError : input must be a square array

c++ - 查找具有最多不同字符的字符串