欢迎来到天天文库
浏览记录
ID:25948059
大小:141.12 KB
页数:11页
时间:2018-11-23
《隐马尔科夫模型hmm》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、隐马尔科夫模型HMM我们通常都习惯寻找一个事物在一段时间里的变化规律。在很多领域我们都希望找到这个规律,比如计算机中的指令顺序,句子中的词顺序和语音中的词顺序等等。一个最适用的例子就是天气的预测。首先,本文会介绍声称概率模式的系统,用来预测天气的变化然后,我们会分析这样一个系统,我们希望预测的状态是隐藏在表象之后的,并不是我们观察到的现象。比如,我们会根据观察到的植物海藻的表象来预测天气的状态变化。最后,我们会利用已经建立的模型解决一些实际的问题,比如根据一些列海藻的观察记录,分析出这几天的天气状态。GeneratingP
2、atterns有两种生成模式:确定性的和非确定性的。确定性的生成模式:就好比日常生活中的红绿灯,我们知道每个灯的变化规律是固定的。我们可以轻松的根据当前的灯的状态,判断出下一状态。 非确定性的生成模式:比如说天气晴、多云、和雨。与红绿灯不同,我们不能确定下一时刻的天气状态,但是我们希望能够生成一个模式来得出天气的变化规律。我们可以简单的假设当前的天气只与以前的天气情况有关,这被称为马尔科夫假设。虽然这是一个大概的估计,会丢失一些信息。但是这个方法非常适于分析。马尔科夫过程就是当前的状态只与前n个状态有关。这被称作n阶马尔科
3、夫模型。最简单的模型就当n=1时的一阶模型。就当前的状态只与前一状态有关。(这里要注意它和确定性生成模式的区别,这里我们得到的是一个概率模型)。下图是所有可能的天气转变情况: 对于有M个状态的一阶马尔科夫模型,共有M*M个状态转移。每一个状态转移都有其一定的概率,我们叫做转移概率,所有的转移概率可以用一个矩阵表示。在整个建模的过程中,我们假设这个转移矩阵是不变的。 该矩阵的意义是:如果昨天是晴,那么今天是晴的概率为0.5,多云的概率是0.25,雨的概率是0.25。注意每一行和每一列的概率之和为1。另外,在一个系统开始的时候
4、,我们需要知道一个初始概率,称为 向量。 到现在,我们定义了一个一阶马尔科夫模型,包括如下概念:状态:晴、多云、雨状态转移概率初始概率马尔科夫模型也需要改进!崔晓源翻译当一个隐士不能通过直接观察天气状态来预测天气时,但他有一些水藻。民间的传说告诉我们水藻的状态与天气有一定的概率关系。也就是说,水藻的状态与天气时紧密相关的。此时,我们就有两组状态:观察状态(水藻的状态)和隐含状态(天气状态)。因此,我们希望得到一个算法可以为隐士通过水藻和马尔科夫过程,在没有直接观察天气的情况下得到天气的变化情况。更容易理解的一个应用就是语音
5、识别,我们的问题定义就是如何通过给出的语音信号预测出原来的文字信息。在这里,语音信号就是观察状态,识别出的文字就是隐含状态。这里需要注意的是,在任何一种应用中,观察状态的个数与隐含状态的个数有可能不一样的。下面我们就用隐马尔科夫模型HMM来解决这类问题。HMM下图是天气例子中两类状态的转移图,我们假设隐状态是由一阶马尔科夫过程描述,因此他们相互连接。隐状态和观察状态之间的连线表示:在给定的马尔科夫过程中,一个特定的隐状态对应的观察状态的概率。我们同样可以得到一个矩阵:注意每一行(隐状态对应的所有观察状态)之和为1。到此,我
6、们可以得到HMM的所有要素:两类状态和三组概率 两类状态:观察状态和隐状态;三组概率:初始概率、状态转移概率和两态对应概率(confusionmatrix)HMM定义崔晓源翻译HMM是一个三元组(,A,B). thevectoroftheinitialstateprobabilities; thestatetransitionmatrix; theconfusionmatrix; 这其中,所有的状态转移概率和混淆概率在整个系统中都是一成不变的。这也是HMM中最不切实际的假设。HMM的应用有三个主要的应用:前两个是模式
7、识别后一个作为参数估计(1)评估根据已知的HMM找出一个观察序列的概率。这类问题是假设我们有一系列的HMM模型,来描述不同的系统(比如夏天的天气变化规律和冬天的天气变化规律),我们想知道哪个系统生成观察状态序列的概率最大。反过来说,把不同季节的天气系统应用到一个给定的观察状态序列上,得到概率最大的哪个系统所对应的季节就是最有可能出现的季节。(也就是根据观察状态序列,如何判断季节)。在语音识别中也有同样的应用。我们会用forwardalgorithm 算法来得到观察状态序列对应于一个HMM的概率。(2)解码根据观察序列找到最
8、有可能出现的隐状态序列回想水藻和天气的例子,一个盲人隐士只能通过感受水藻的状态来判断天气状况,这就显得尤为重要。我们使用viterbialgorithm来解决这类问题。viterbi算法也被广泛的应用在自然语言处理领域。比如词性标注。字面上的文字信息就是观察状态,而词性就是隐状态。通过HMM我们就可以找
此文档下载收益归作者所有