隐马尔科夫模型(Hidden Markov Model,以下简称HMM)是比较经典的机器学习模型了,它在语言识别,自然语言处理,模式识别等领域得到广泛的应用。
隐马尔可夫模型是马尔可夫链的一种,它的状态不能直接观察到,但能通过观测向量序列观察到,每个观测向量都是通过某些概率密度分布表现为各种状态,每一个观测向量是由一个具有相应概率密度分布的状态序列产生。
马尔可夫过程(Markov process)是一类随机过程。每个状态的转移只依赖于之前的n个状态,这个过程被称为1个n阶的模型,其中n是影响转移状态的数目。最简单的马尔可夫过程就是一阶过程,每一个状态的转移只依赖于其之前的那一个状态,这个也叫作马尔可夫性质。用数学表达式表示就是下面的样子:
假设这个模型的每个状态都只依赖于之前的状态,这个假设被称为马尔科夫假设,这个假设可以大大的简化这个问题。显然,这个假设可能是一个非常糟糕的假设,导致很多重要的信息都丢失了。
$$ P\left(X_{n+1} \mid X_{1}=x_{1}, X_{2}=x_{2}, \ldots, X_{n}=x_{n}\right)=P\left(X_{n+1}=x \mid X_{n}=x_{n}\right) $$
假设天气服从马尔可夫链,
| 晴 | 阴 | |
|---|---|---|
| 晴 | 0.9 | 0.5 |
| 阴 | 0.5 | 0.5 |
由上表我们可以得到马尔可夫链的状态转移矩阵:
$$ P=\left(\begin{array}{ll}0.9 & 0.1 \\0.5 & 0.5\end{array}\right) $$
因此,一阶马尔可夫过程定义了以下三个部分:
隐马尔可夫模型描述由一个隐藏的马尔科夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测而产生观测随机序列的过程(李航 统计学习方法)。隐马尔可夫模型由初始状态分布,状态转移概率矩阵以及观测概率矩阵所确定。
