背景
相关前置背景知识见博客:https://www.jianshu.com/p/d11cb1fe1201
HMM三个问题回顾
1.状态问题:已知状态转移概率矩阵、输出概率矩阵,求某个输出序列的出现概率?
2.解码问题:已知状态转移概率矩阵、输出概率矩阵、输出序列,求概率最大的隐藏序列?
3.训练模型参数:已知隐藏序列、输出序列,求状态转移矩阵、输出概率矩阵?
1.状态问题
暴力求解
穷举所有可能的状态序列,计算每个状态序列能够输出给定输出序列的概率,进行求和即可前向算法
使用动态规划的思想,使其复杂度从O(T⋅NT)降低到O(T⋅N2),是多项式级别的算法。
后向算法
与前向算法类似,也是使用动态规划算法求解,区别在于后向算法从后向前求解。
2.解码问题
维特比算法
3.模型训练问题
EM算法
EM 算法与梯度下降有类似的局限性:该算法并不保证能找到全局最优参数,只能保证找到局部最优解。
Baum-Welch算法
第M步更新方式主要基于贝叶斯公式:
此处详细解释可参考《统计学习方法》一书。
引用
1.从机器学习到深度学习:基于scikit-learn与tensorflow的高效开发实战
网友评论