隐马尔可夫模型(HMM)的计算问题及算法解析
1. 隐马尔可夫模型简介
隐马尔可夫模型(HMM)最初在统计学领域被研究,名为马尔可夫链的概率函数。后来,“隐马尔可夫模型”这一术语在工程领域被广泛采用,应用于众多实际场景,如语音识别、手写识别、手势识别、自然语言处理和生物信息学等。HMM的规模差异很大,小到只有几个状态的简单示例,大到包含数百万个状态的复杂模型。由于存在高效解决HMM所有计算问题的算法,它成为少数能应用于大规模实际任务的机器学习方法之一。例如,一些包含数百万个状态的大型HMM常用于解决大词汇量语音识别问题。
HMM主要有三个计算问题需要解决,分别是评估问题、解码问题和训练问题。得益于HMM的两个假设所规定的结构约束,我们能够推导出高效的算法来解决这些问题。
2. 评估问题:前向 - 后向算法
评估问题是在给定HMM所有参数Λ的情况下,计算任意观测序列o的概率pΛ(o)。与高斯混合模型(GMM)不同,不能使用暴力方法计算相关求和式。因为不同状态序列的数量与序列长度呈指数关系,在遍历所有可能的状态序列时,计算量会非常大。例如,一个有N = 5个状态的小型HMM生成长度T = 100的观测序列,需要对约10⁷⁰个不同的状态序列进行求和。
不过,HMM采用了马尔可夫和输出独立性假设,这使得联合概率pΛ(o, s)可以分解为许多局部相关的条件概率的乘积,进而可以使用高效的动态规划方法从左到右递归地计算求和式。
前向算法是一种动态规划算法,通过反复进行T轮求和来计算pΛ(o),将计算复杂度显著降低到O(T × N²)。该算法从序列的开头开始,逐步计算到结尾,所有的部分和αt(st)被称为前向概率。前向概率αt(i)
超级会员免费看
订阅专栏 解锁全文
64

被折叠的 条评论
为什么被折叠?



