从机器学习到深度学习(七)隐马尔可夫模型

背景

相关前置背景知识见博客: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的高效开发实战

你可能感兴趣的:(从机器学习到深度学习(七)隐马尔可夫模型)