HMM 定义
崔晓源 翻译
HMM是一个三元组 (,A,B).
the vector of the initial state probabilities;
the state transition matrix;
the confusion matrix;
这其中,所有的状态转移概率和混淆概率在整个系统中都是一成不变的。这也是HMM中最不切实际的假设。
HMM的应用
有三个主要的应用:前两个是模式识别后一个作为参数估计
(1) 评估
根据已知的HMM找出一个观察序列的概率。
这类问题是假设我们有一系列的HMM模型,来描述不同的系统(比如夏天的天气变化规律和冬天的天气变化规律),我们想知道哪个系统生成观察状态序列的概率最大。反过来说,把不同季节的天气系统应用到一个给定的观察状态序列上,得到概率最大的哪个系统所对应的季节就是最有可能出现的季节。(也就是根据观察状态序列,如何判断季节)。在语音识别中也有同样的应用。
我们会用forward algorithm算法来得到观察状态序列对应于一个HMM的概率。
(2) 解码
根据观察序列找到最有可能出现的隐状态序列
回想水藻和天气的例子,一个盲人隐士只能通过感受水藻的状态来判断天气状况,这就显得尤为重要。我们使用viterbi algorithm来解决这类问题。
viterbi算法也被广泛的应用在自然语言处理领域。比如词性标注。字面上的文字信息就是观察状态,而词性就是隐状态。通过HMM我们就可以找到一句话上下文中最有可能出现的句法结构。
(3) 学习
从观察序列中得出HMM
这是最难的HMM应用。也就是根据观察序列和其代表的隐状态,生成一个三元组HMM (,A,B)。使这个三元组能够最好的描述我们所见的一个现象规律。
我们用forward-backward algorithm来解决在现实中经常出现的问题--转移矩阵和混淆矩阵不能直接得到的情况。
总结 HMM可以解决的三类问题
- Matching the most likely system to a sequence of observations -evaluation, solved using the forward algorithm;
- determining the hidden sequence most likely to have generated a sequence of observations - decoding, solved using the Viterbi algorithm;
- determining the model parameters most likely to have generated a sequence of observations - learning, solved using the forward-backward algorithm.
4-1)Forward Algorithm
找到观察序列的概率
崔晓源 翻译
Finding the probability of an observed sequence
1、穷举搜索方法
对于水藻和天气的关系,我们可以用穷举搜索方法的到下面的状态转移图(trellis):
Pr(dry,damp,soggy | HMM) = Pr(dry,damp,soggy | sunny,sunny,sunny) + Pr(dry,damp,soggy | sunny,sunny ,cloudy) + Pr(dry,damp,soggy | sunny,sunny ,rainy) + . . . . Pr(dry,damp,soggy | rainy,rainy ,rainy)
![Y{k{1}}, Y{k{2}}, .... , Y{k{T}}](http://image.360doc.com/DownloadImg/2007/7/10/11966_603333_2.gif)
![a](http://image.360doc.com/DownloadImg/2007/7/10/11966_603333_3.gif)
![](http://image.360doc.com/DownloadImg/2007/7/10/11966_603333_4.gif)
![](http://image.360doc.com/DownloadImg/2007/7/10/11966_603333_5.gif)
![a](http://image.360doc.com/DownloadImg/2007/7/10/11966_603333_3.gif)
![a](http://image.360doc.com/DownloadImg/2007/7/10/11966_603333_3.gif)
![](http://image.360doc.com/DownloadImg/2007/7/10/11966_603333_6.gif)
![a](http://image.360doc.com/DownloadImg/2007/7/10/11966_603333_3.gif)
![formula](http://image.360doc.com/DownloadImg/2007/7/10/11966_603333_7.gif)
隐马尔科夫模型HMM自学 (4-2)Forward Algorithm
崔晓源 翻译
书接上文,前一话我们讲到了Forward Algorithm中初始状态的部分概率的计算方法。这次我们继续介绍。
2c.如何计算t>1时刻的部分概率
回忆一下我们如何计算部分概率:
t ( j )= Pr( observation | hidden state is j )* Pr(all paths to state j at time t)
我们可知(通过递归)乘积中第一项是可用的。那么如何得到Pr(all paths to state j at time t) 呢?
为了计算到达一个状态的所有路径的概率,就等于每一个到达这个状态的路径之和:
![[Formula]](http://image.360doc.com/DownloadImg/2007/7/10/11966_603338_3.gif)
where each of the y is one of the observable set. Intermediate probabilities (‘s) are calculated recursively by first calculating
for all states at t=1.
Then for each time step, t = 2, ..., T, the partial probabilityis calculated for each state;
that is, the product of the appropriate observation probability and the sum over all possible routes to that state, exploiting recursion by knowing these values already for the previous time step. Finally the sum of all partial probabilities gives the probability of the observation, given the HMM,.
=======================================================
![](http://image.360doc.com/DownloadImg/2007/7/10/11966_603338_9.gif)