HMM
ZhangAnam
大菜鸟
展开
-
HMM学习最佳范例二:生成模式
发表于 2009年06月9号 由 52nlp二、生成模式(Generating Patterns)1、确定性模式(Deterministic Patterns) 考虑一套交通信号灯,灯的颜色变化序列依次是红色-红色/黄色-绿色-黄色-红色。这个序列可以作为一个状态机器,交通信号灯的不同状态都紧跟着上一个状态。 注意每一个状态都是唯一的依赖于前一个状态,所转载 2014-05-29 12:57:41 · 936 阅读 · 0 评论 -
HMM学习最佳范例五:前向算法3
五、前向算法(Forward Algorithm)前向算法定义(Forward algorithm definition) 我们使用前向算法计算T长观察序列的概率: 其中y的每一个是观察集合之一。局部(中间)概率(‘s)是递归计算的,首先通过计算t=1时刻所有状态的局部概率: 然后在每个时间点,t=2,… ,T时,对于每个状态的局部转载 2014-05-29 13:04:08 · 804 阅读 · 0 评论 -
HMM学习最佳范例六:维特比算法2
六、维特比算法(Viterbi Algorithm)寻找最可能的隐藏状态序列(Finding most probable sequence of hidden states)2b.计算t=1时刻的局部概率‘s 我们计算的局部概率是作为最可能到达我们当前位置的路径的概率(已知的特殊知识如观察概率及前一个状态的概率)。当t=1的时候,到达某状态的最可能路径明显是不转载 2014-05-29 13:07:21 · 943 阅读 · 0 评论 -
HMM学习最佳范例六:维特比算法3
六、维特比算法(Viterbi Algorithm)寻找最可能的隐藏状态序列(Finding most probable sequence of hidden states)2d.反向指针,‘s 考虑下面这个网格 在每一个中间及终止状态我们都知道了局部概率,(i,t)。然而我们的目标是在给定一个观察序列的情况下寻找网格中最可能的隐藏状态序列——转载 2014-05-29 13:08:38 · 888 阅读 · 0 评论 -
HMM学习最佳范例六:维特比算法4
六、维特比算法(Viterbi Algorithm)维特比算法定义(Viterbi algorithm definition)1、维特比算法的形式化定义 维特比算法可以形式化的概括为: 对于每一个i,i = 1,… ,n,令: ——这一步是通过隐藏状态的初始概率和相应的观察概率之积计算了t=1时刻的局部概率。 对于t=2,…,T和i转载 2014-05-29 13:09:32 · 946 阅读 · 0 评论 -
HMM学习最佳范例七:前向-后向算法4
七、前向-后向算法(Forward-backward algorithm) 隐马尔科夫模型(HMM)的三个基本问题中,第三个HMM参数学习的问题是最难的,因为对于给定的观察序列O,没有任何一种方法可以精确地找到一组最优的隐马尔科夫模型参数(A、B、pi)使P(O|)最大。因而,学者们退而求其次,不能使P(O|)全局最优,就寻求使其局部最优(最大化)的解决方法,而前向-后向算法(又称之为B转载 2014-05-29 13:27:50 · 919 阅读 · 0 评论 -
HMM学习最佳范例八:总结
八、总结(Summary) 通常,模式并不是单独的出现,而是作为时间序列中的一个部分——这个过程有时候可以被辅助用来对它们进行识别。在基于时间的进程中,通常都会使用一些假设——一个最常用的假设是进程的状态只依赖于前面N个状态——这样我们就有了一个N阶马尔科夫模型。最简单的例子是N = 1。 存在很多例子,在这些例子中进程的状态(模式)是不能够被直接观察的,但是可以非直接地,或者概率转载 2014-05-29 13:30:22 · 880 阅读 · 0 评论 -
HMM学习最佳范例七:前向-后向算法1
七、前向-后向算法(Forward-backward algorithm)根据观察序列生成隐马尔科夫模型(Generating a HMM from a sequence of obersvations) 与HMM模型相关的“有用”的问题是评估(前向算法)和解码(维特比算法)——它们一个被用来测量一个模型的相对适用性,另一个被用来推测模型隐藏的部分在做什么(“到底转载 2014-05-29 13:25:24 · 1185 阅读 · 0 评论 -
HMM学习最佳范例七:前向-后向算法3
七、前向-后向算法(Forward-backward algorithm) 前向-后向算法是Baum于1972年提出来的,又称之为Baum-Welch算法,虽然它是EM(Expectation-Maximization)算法的一个特例,但EM算法却是于1977年提出的。那么为什么说前向-后向算法是EM算法的一个特例呢?这里有两点需要说明一下。 第一,1977年A. P. Demps转载 2014-05-29 13:27:09 · 1067 阅读 · 0 评论 -
HMM学习最佳范例五:前向算法2
五、前向算法(Forward Algorithm)计算观察序列的概率(Finding the probability of an observed sequence)2b.计算t=1时的局部概率‘s 我们按如下公式计算局部概率: t ( j )= Pr( 观察状态 | 隐藏状态j ) x Pr(t时刻所有指向j状态的路径) 特别当t=1时,没有任何指向当前转载 2014-05-29 13:03:08 · 850 阅读 · 0 评论 -
HMM学习最佳范例四:隐马尔科夫模型
四、隐马尔科夫模型(Hidden Markov Models)1、定义(Definition of a hidden Markov model) 一个隐马尔科夫模型是一个三元组(pi, A, B)。 :初始化概率向量; :状态转移矩阵; :混淆矩阵; 在状态转移矩阵及混淆矩阵中的每一个概率都是时间无关的——也就是说,当系统演化时这些矩阵并不随时间改变。实际上,转载 2014-05-29 12:59:29 · 1231 阅读 · 0 评论 -
HMM学习最佳范例五:前向算法1
五、前向算法(Forward Algorithm)计算观察序列的概率(Finding the probability of an observed sequence)1.穷举搜索( Exhaustive search for solution) 给定隐马尔科夫模型,也就是在模型参数(pi, A, B)已知的情况下,我们想找到观察序列的概率。还是考虑天气这个例子,我们有转载 2014-05-29 13:01:29 · 827 阅读 · 0 评论 -
HMM学习最佳范例五:前向算法4
首先需要说明的是,本节不是这个系列的翻译,而是作为前向算法这一章的补充,希望能从实践的角度来说明前向算法。除了用程序来解读hmm的前向算法外,还希望将原文所举例子的问题拿出来和大家探讨。 文中所举的程序来自于UMDHMM这个C语言版本的HMM工具包,具体见《几种不同程序语言的HMM版本》。先说明一下UMDHMM这个包的基本情况,在linux环境下,进入umdhmm-v1.02目录,“make转载 2014-05-29 13:05:06 · 834 阅读 · 0 评论 -
HMM学习最佳范例五:前向算法5
在HMM这个翻译系列的原文中,作者举了一个前向算法的交互例子,这也是这个系列中比较出彩的地方,但是,在具体运行这个例子的时候,却发现其似乎有点问题。 先说一下如何使用这个交互例子,运行时需要浏览器支持java,我用的是firefox。首先在Set按钮前面的对话框里上观察序列,如“Dry,Damp, Soggy” 或“Dry Damp Soggy”,观察符号间用逗号或空格隔开;然后再点击S转载 2014-05-29 13:05:49 · 755 阅读 · 0 评论 -
HMM学习最佳范例六:维特比算法1
六、维特比算法(Viterbi Algorithm)寻找最可能的隐藏状态序列(Finding most probable sequence of hidden states) 对于一个特殊的隐马尔科夫模型(HMM)及一个相应的观察序列,我们常常希望能找到生成此序列最可能的隐藏状态序列。1.穷举搜索 我们使用下面这张网格图片来形象化的说明隐藏状态和观察状态转载 2014-05-29 13:06:41 · 952 阅读 · 0 评论 -
HMM学习最佳范例七:前向-后向算法2
七、前向-后向算法(Forward-backward algorithm) 要理解前向-后向算法,首先需要了解两个算法:后向算法和EM算法。后向算法是必须的,因为前向-后向算法就是利用了前向算法与后向算法中的变量因子,其得名也因于此;而EM算法不是必须的,不过由于前向-后向算法是EM算法的一个特例,因此了解一下EM算法也是有好处的,说实话,对于EM算法,我也是云里雾里的。好了,废话少说,转载 2014-05-29 13:26:32 · 1170 阅读 · 0 评论 -
HMM学习最佳范例三:隐藏模式
三、隐藏模式(Hidden Patterns)1、马尔科夫过程的局限性 在某些情况下,我们希望找到的模式用马尔科夫过程描述还显得不充分。回顾一下天气那个例子,一个隐士也许不能够直接获取到天气的观察情况,但是他有一些水藻。民间传说告诉我们水藻的状态与天气状态有一定的概率关系——天气和水藻的状态是紧密相关的。在这个例子中我们有两组状态,观察的状态(水藻的状态)和隐藏的状态(天气的状态)。转载 2014-05-29 12:58:24 · 971 阅读 · 0 评论 -
HMM学习最佳范例六:维特比算法5
六、维特比算法(Viterbi Algorithm)维特比算法程序示例 仍然需要说明的是,本节不是这个系列的翻译,而是作为维特比算法这一章的补充,将UMDHMM这个C语言版本的HMM工具包中的维特比算法程序展示给大家,并运行包中所附带的例子。关于UMDHMM这个工具包的介绍,大家可以参考前向算法4中的介绍。维特比算法程序示例如下(在viterbi.c中):转载 2014-05-29 13:34:14 · 938 阅读 · 0 评论 -
HMM学习最佳范例一:介绍
隐马尔科夫模型(HMM)依然是读者访问“我爱自然语言处理”的一个热门相关关键词,我曾在《HMM学习最佳范例与崔晓源的博客》中介绍过国外的一个不错的HMM学习教程,并且国内崔晓源师兄有一个相应的翻译版本,不过这个版本比较简化和粗略,有些地方只是概况性的翻译了一下,省去了一些内容,所以从今天开始计划在52nlp上系统的重新翻译这个学习教程,希望对大家有点用。一、介绍(Introduction)转载 2014-05-29 11:07:19 · 812 阅读 · 0 评论 -
HMM学习最佳范例七:前向-后向算法5
七、前向-后向算法(Forward-backward algorithm) 上一节我们定义了两个变量及相应的期望值,本节我们利用这两个变量及其期望值来重新估计隐马尔科夫模型(HMM)的参数pi,A及B: 如果我们定义当前的HMM模型为,那么可以利用该模型计算上面三个式子的右端;我们再定义重新估计的HMM模型为,那么上面三个式子的左端就是重估的HMM模型参数。Baum及他转载 2014-05-29 13:29:18 · 939 阅读 · 0 评论