隐马尔科夫模型HMM

隐马尔科夫模型

文章目录

    • HMM的定义
    • HMM可以用五个元素来描述,即2个状态集和3个概率矩阵
      • 1)隐含状态S
      • 2)可观测状态O
      • 3)初始状态转移矩阵 π
      • 4)隐藏状态转移概率矩阵A
      • 5)观测状态转移概率矩阵B
    • HMM的两个基本假设
      • 1)马尔科夫假设
      • 2)观测独立性假设
    • HMM可以解决的问题
      • 1)评估问题
      • 2)解码问题
      • 3)学习问题

HMM的定义

​ 隐马尔可夫模型是统计模型,它用来描述一个含有隐含未知参数的马尔科夫过程。其难点是从可观测的参数中确定该过程的隐含参数,然后利用这些隐含的函数来做进一步的分析,例如模式识别。

​ 隐马尔可夫模型是马尔科夫模型中的一种,他的状态不能直接观测到,但是能够通过可观测向量观测到,每个观测向量都是通过某些概率密度分布表现为各种状态,每个观测向量是由一个具有相应概率密度分布的状态序列产生。所以,隐马尔可夫模型是一个双重随机过程-----具有一定状态数的隐马尔可夫链和显示随机函数集。

​ 隐马尔可夫HMM可以看作是最简单的动态贝叶斯网络。

​ 在马尔科夫模型中状态时不能直接可见的,但是输出依赖于该状态下,是可见的。

HMM可以用五个元素来描述,即2个状态集和3个概率矩阵

1)隐含状态S

​ 这些状态之间满足马尔科夫性质,是马尔科夫模型中实际隐含的状态,这些状态通常无法直接观测而得到。

2)可观测状态O

​ 在模型中跟隐藏状态直接相连,可通过观测直接得到。(可观测状态的数目不一定跟隐藏状态的数目一致)

3)初始状态转移矩阵 π

​ 表示隐藏状态在初始时刻t=1的概率矩阵

4)隐藏状态转移概率矩阵A

​ 表示隐藏层的各个状态之间的转移概率,Aij = P(sj|si)表示前一个时刻t-1的隐藏状态下si,t时刻的状态sj的概率

5)观测状态转移概率矩阵B

​ 表示从隐藏状态到观测状态的概率, Bij = P(oi|sj), 1<=i<=M, 1<=j<=N, 表示在t时刻,隐藏状态sj的条件下,观测状态oi的概率

​ 综上,状态转移概率矩阵A和初始状态概率向量π确定了隐藏的马尔科夫链,生成不可观测的隐藏状态序列,观测概率矩阵B确定了如何从隐藏状态生成可观测序列。

​ 一般可用λ=(A,B,π)三元组来简洁表示一个HMM模型;HMM模型是标准马尔科夫模型的扩展,添加了可观测状态集合和这些集合与隐含状态之间的概率关系。

HMM的两个基本假设

1)马尔科夫假设

​ 假设隐藏状态的马尔科夫链在任意时刻t 的状态只依赖于其前一个时刻的状态,与其他时刻的状态无关

p(qt|qt-1, ot-1, ..., q1, o1) = p(qt|qt-1), t=1,2,...,T

2)观测独立性假设

​ 任意时刻的观测只依赖于该时刻的马尔科夫链的状态,与其他的观测和状态无关

P(ot|qT, oT, qT-1, oT-1, ..., q1, o1) = P(ot|qt)

HMM的概率图如下:
隐马尔科夫模型HMM_第1张图片

HMM可以解决的问题

1)评估问题

给定观测序列O(o1,o2,…,ot)和模型的参数λ=(A,B,π) ,怎样有效计算某一个观测序列的概率,进而可对该HMM模型进行评估。例如:有一些模型参数各异的HMM,给定观测序列O,我们想知道哪个HMM模型是最可能生成该观测序列。通常我们利用formard算法分别计算每个HMM产生给定观测序列的O的概率,然后从中选择最优的HMM

这类评估问题的一个经典例子就是语音识别。在描述语音识别的隐马尔可夫模型中,每个单词生成一个对应的HMM,每个观测序列由一个单词的语音构成,单词的识别是通过评估进而选出最有可能产生观测序列所代表的的读音的HMM而实现的

2)解码问题

给定一个观测序列O和模型的参数λ=(A,B,π) ,怎样寻找某种意义上的最优的隐藏状态序列。在这类问题中,我们感兴趣的是马尔科夫模型中的隐藏状态,这些隐藏状态不能直接观测但是却更有价值,通常利用Viterbi算法来寻找。

该问题的实际例子就是中文分词,即把一个词如何划分才合适。例如:句子“发展中国家”是划分出“发展,中,国家”,还是“发展-中国-家”。这个问题可以用HMM模型来解决。句子的分词方法可以看作是隐含状态,而句子则可看作是给定的观测状态,从而通过HMM来寻找最可能正确的分词方法。

3)学习问题

即HMM的模型参数λ=(A,B,π) 未知,如何调整这些参数使得观测序列O的概率尽可能的大。即怎样调整模型参数λ=(A,B,π) 使观测序列的O的概率最大

你可能感兴趣的:(机器学习算法)