HMM中观察符号的分类?

机器算法验证 分类 隐马尔可夫模型
2022-04-13 23:27:37

我是 HMM 概念的新手。我分别训练了 2 个 HMM。

HMM1 使用符号 A、B、C 进行训练。

HMM2 使用符号 D、E、F 进行训练。

我在集合 V={A,B,C,D,E,F} 中有一组观察符号。

在测试阶段,我通过尝试将测试向量与 V 中的一个符号相关联来提取符号(使用到聚类中心的欧几里德距离)。

如果仅使用符号 D、E、F.... 训练该 HMM,我将如何确定观察序列 A、B、C...的对数似然

还是在这种情况下没有定义对数似然?

观察符号是否必须在各种 HMM 之间共享?即从一个常见的观察符号集V中挑选?

请帮我弄清楚我做错了什么?

2个回答

这是一个经典的黑天鹅问题。HMM1 将零可能性分配给符号 D、E、F,而 HMM2 将零可能性分配给符号 A、B、C。基本上从 HMM1 的角度来看,D、E、F 是不可能的,而从 HMM2 的角度来看,D、E、F 是。他们永远不会预测他们。(请注意,此答案中没有任何关于 HMM 的内容——您可以将“HMM”替换为“分类器”或“模型”,并且前面的语句仍然成立。)

如果您对符号 A、B、C 和 D、E、F 之间的关系有所了解,您可以通过将它们相互映射来获得创意。

简而言之,该序列的对数似然,即使用在 D、E、F 上训练的模型的序列 A、B、C 始终为 -inf(= log 0)。

根据您定义观察的方式,您可以通过pseudo observation对罕见的训练观察或不可见的观察(例如number所有数字)设置 a 来解决此问题。这样,当 HMM 遇到看不见的观察时,它会寻找最接近的pseudo observation. 有关详细信息,请参阅此处的 2.7.1 。

另一方面,如果你pseudo observation的 HMM 模型中没有,处理看不见的观察的最简单方法就是将它们分配为零概率!