前言
马尔可夫模型(HMM)是表达常用的数学模型,相关概念在随机过程中能学到。在语音识别(ASR)中,是基础且重要的模型之一。本篇文章主要介绍:
- HMM 概念
- 前向和后向算法
- 维特比算法
隐马尔可夫模型(HMM)
简单理解HMM
数据科学中,预测是一个经久不衰的问题。以常见的时间为序数据为例,数据科学家期望对过去( t 0 t_{0} t0时刻)和当前( t N t_{N} tN时刻)数据的观察( Time ),实现预测未来( t N + 1 t_{N+1} tN+1时刻)的值,HMM也是为了干这类事情而生的统计模型。
做个不恰当但有意思的比喻,假设数据科学家是算命先生,观察到的数据是求富贵顾客的生辰八字、面相等等。中式算命先生掏出周易算本(统计模型),输入观察数据,得出结果——顾客会富贵。这么个过程就是数据科学常干的事,HMM也是为了干类似的事情而生的统计模型(想象成周易算本)。
分享其它博主拿HMM干的事:
1、预测女朋友心情
现在回到HMM,实际HMM或者其它统计学方法能干的不止这些,包括分类、数据压缩等都是常见任务。通过概率的表达,HMM大多用于时间序列的模型,预测天气、股票等。HMM的主要机理由内部状态节点实现,包含各节点之间的转移概况,以及各状态与实际观测结果之间的观测概率。或者,换个方式理解转移概率和观测概率,转移概率代表数据变化主要趋势,观测概率包含可能的观测与主趋势差异。通过不断输入观测数据的训练,最终转移概率能把握数据随时间的主要变化规律,从而实现下一时刻的预测。因为模型内部的状态是不可观测,所以是“隐”(Hidden)。
HMM三大基本问题:
- 概率计算问题:已知模型参数和观测值,计算观测值的概率;
- 预测问题:已知模型和观测值,计算观测值概率最大时,随时间变化的状态路径;
- 学习问题:已经观测值,估计使观测值概率最大的模型。
图解HMM流程
先介绍盒子和球的例子:假设有三个盒子,盒子里都有红球和白球,每次观测选取一个盒子取一个球。根据以上介绍,HMM模型参数在例子中表示如下表
模型参数 | 参数值 | 概率表达 | 意义 |
---|---|---|---|
状态集合 | 【1号盒子,2号盒子,3号盒子】 | HMM的状态节点 | |
状态转移概率 | A = [ a 12 a 22 a 32 a 12 a 22 a 32 a 13 a 23 a 33 ] A = \begin{bmatrix} a_{12} & a_{22} & a_{32} \\ a_{12} & a_{22} & a_{32} \\ a_{13} & a_{23} & a_{33} \end{bmatrix} A=⎣⎡a12a12a13a22a22a23 |