Class4 隐马尔科夫模型HMM
一、隐马尔可夫模型的基本概念
隐马尔可夫模型:Hidden Markov Model (HMM)
定义
- 隐马尔可夫模型是关于时间序列的概率模型
- 描述由一个隐藏的马尔可夫链随机生成不可观测的状态序列(state sequence),再由各个状态生成一个
观测而产生观测序列(observation sequence)的过程,序列的每一个位置又可以看作是一个时刻。
组成
HMM由初始概率分布、状态转移概率分布和观测概率分布决定,当观测为离散值时:
HMM的两个基本假设
- 齐次马尔可夫性假设:隐藏的马尔可夫链在时刻的状态只和 − 1的状态有关
- 观测独立性假设:观测只和当前时刻的状态有关
隐马尔可夫模型的基本概念:生成过程
隐马尔可夫模型的三个基本问题
二、隐马尔可夫模型的三个基本问题
概率计算问题
直接计算法
前向算法(Forward Algorithm)
找出从时刻1 → . . . → t → . . . → T ,前向概率的递归关系。
后向算法(Backward Algorithm)
找出从时刻T → . . . → t → . . . → T ,后向概率的递归关系。
预测问题
Viterbi算法
学习问题
Viterbi学习算法
- 如果已知状态-观测对齐序列,每个观测o_t对应一个具体的状态
- 状态-观测对齐序列可通过Viterbi解码算法得到,也可通过人工标注得到(代价昂贵)
- _i 可通过最大似然估计得到(数数)
- _ij 也可通过最大似然估计得到(数数)
- 可得到每个状态 对应的观测集合 _j= 3, 4,…, 6
- 每个状态对应一个GMM,也就得到了每个GMM对应的观测集合 _j= 3, 4,…, 6
Baum-Welch学习算法
Baum-Welch算法可以解决无监督学习的隐马尔可夫问题,也就是说,如果我们现在有一个训练集没有状态序列,只有观测序列,我们可以使用baum-welch算法求隐马尔科夫模型参数。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?