- 浏览: 970985 次
- 性别:
- 来自: 珠海
文章分类
最新评论
-
Yunjey:
Yunjey 写道这样子的话、grid中的editable如何 ...
Flex创建可编辑以及分页的DataGrid -
Yunjey:
这样子的话、grid中的editable如何设置啊?!
Flex创建可编辑以及分页的DataGrid -
di1984HIT:
写的很好~~
JCalendar组件 -
sanny81:
此文真棒!感谢一路风尘的奉献!
但我有一疑 ...
Filter发送自定义数据详解 -
umgsai:
求完整demo umgsai@126.com
Flex和Jsp创建用户登入系统
再次感谢崔晓源。
崔晓源 翻译
书接上文,前一话我们讲到了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) 呢? 为了计算到达一个状态的所有路径的概率,就等于每一个到达这个状态的路径之和: 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 probability
is 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,
.
======================================================= 本来想明天再把后面的部分写好,可是谁叫
今天是节日呢?一时情不自禁就有打开电脑.......... 找到可能性最大的隐含状态序列
崔晓源 翻译
多数情况下,我们都希望能够根据一个给定的HMM模型,根据观察状态序列找到产生这一序列的潜在的隐含状态序列。 1、穷举搜索方法
我们可以通过穷举的方式列出所有可能隐含状态序列,并算出每一种隐状态序列组合对应的观察状态序列的概率。概率最大的那个组合对应的就是最可能的隐状态序列组合。 Pr(observed sequence | hidden state combination). 比如说上图中的trellis中,最有可能的隐状态序列是使得概率: 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) 得到最大值的序列。 同样这种穷举法的计算量太大了。为了解决这个问题,我们可以利用和Forward algorithm一样的原理--概率的时间不变性来减少计算量。 2.用递归方式减少复杂度
在给定的观察序列和HMM模型下,我们用一种递归的方式找到最有可能的隐状态序列。同样我们滴定部分概率,即在trellis中到达某一中间状态的概率。然后介绍如何在初始时刻t=1和t>1的时刻分别求解这个部分概率。但要注意,这里的部分概率是到达某一中间状态的概率最大的路径而不是所有概率之和。
2.1部分概率和部分最优路径
看如下trellis
对于trellis中的每个中间状态和结束状态,都存在一条到达它的最优路径。他可能是下图这样:
我们这些路径为部分最优路径,每一条 部分最优路径都对应一个关联概率--部分概率
。与Forward algorithm不同
是最有可能到达该状态的一条
路径的概率。
(i,t)是所有序列中在t时刻以状态i终止的最大概率。当然它所对应那条路径就是部分最优路径。
(i,t)对于每个i,t都是存在的。这样我们就可以在时间T(序列的最后一个状态)找到整个序列的最优路径。 2b. 计算
's 在t = 1的初始值
由于在t=1不存在任何部分最优路径,因此可以用初始状态
向量协助计算。 这一点与Forward Algorithm相同 2c. 计算
's 在t > 1 的部分概率
同样我们只用t-1时刻的信息来得到t时刻的部分概率。 由此图可以看出到达X的最优路径是下面中的一条:
(sequence of states), . . ., A, X
(sequence of states), . . ., B, X or (sequence of states), . . ., C, X 我们希望找到一条概率最大的。回想马尔科夫一阶模型的假设,一个状态之和它前一时刻的状态有关。 Pr (most probable path to A) . Pr (X | A) . Pr (observation | X)
因此到达X的最大概率就是:
其中第一部分由t-1时刻的部分概率得到,第二部分是状态转移概率,第三部分是混淆矩阵中对应的概率。 (Viterbi Algorithm 待续)
书接前文,viterbi算法已经基本成形...... 崔晓源 翻译
一般化上一篇最后得到的公式我们可以把概率的求解写成: 2d. 反向指针,
's
考虑下面trellis 现在我们可以得到到达每一个中间或者终点状态的概率最大的路径。但是我们需要采取一些方法来记录这条路径。这就需要在每个状态记录得到该状态最优路径的前一状态。记为: 这样argmax操作符就会选择使得括号中式子最大的索引j。 如果有人问,为什么没有乘以混淆矩阵中的观察概率因子。这是因为我们关心的是在到达当前状态的最优路径中,前一状态的信息,而与他对应的观察状态无关。 2e. viterbi算法的两个优点
1)与Forward算法一样,它极大的降低了计算复杂度 2)viterbi会根据输入的观察序列,“自左向右”的根据上下文给出最优的理解。由于viterbi会在给出最终选择前考虑所有的观察序列因素,这样就避免了由于突然的噪声使得决策原理正确答案。这种情况在真实的数据中经常出现。 ==================================================
下面给出viterbi算法完整的定义
The algorithm may be summarised formally as: For each i,, i = 1, ... , n, let : -
this intialises the probability calculations by taking the product of
the intitial hidden state probabilities with the associated observation
probabilities. For t = 2, ..., T, and i = 1, ... , n let : -
thus determining the most probable route to the next state, and
remembering how to get there. This is done by considering all products
of transition probabilities with the maximal probabilities already
derived for the preceding step. The largest such is remembered,
together with what provoked it. Let : - thus determining which state at system completion (t=T) is the most probable. For t = T - 1, ..., 1 Let : -
thus backtracking through the trellis, following the most probable
route. On completion, the sequence i1 ... iT will hold the most
probable sequence of hidden states for the observation sequence in
hand. ==================================================
我们还用天气的例子来说明如何计算状态CLOUDY的部分概率,注意它与Forward算法的区别 崔晓源 翻译
HMM
的第三个应用就是learning,这个算法就不再这里详述了,并不是因为他难于理解,而是它比前两个算法要复杂很多。这个方向在语音处理数据库上有重要
的地位。因为它可以帮助我们在状态空间很大,观察序列很长的环境下找到合适HMM模型参数:初始状态、转移概率、混淆矩阵等。 好了,我们终于可以对HMM做一个阶段性的总结了。通过这个系列的自学过程,我相信各位已经和我一样对HMM的概念和应用有了一个初步的了解。这里我们考虑的都是一阶马尔科夫过程。HMM在语音识别和NLP方面都有很深入的应用。 简
单说说我学习HMM的初衷,在科研过程中遇到了reranking的问题,候选一直都是别人为我生成的,处于好奇,终于决定自己也研究一下,大家都知
道,reranking是需要产生N-best的候选,既然是N-best,那么viterbi算法就只能生成一条最好的路径,其他的该怎么办呢?原来在
实际应用过程中,通常是把viterbi decoding与另一种称为stack
decoding的算法联合使用(当然A*算法也可以)产生多个候选。前面我们已经对A*算法作了介绍,在今后的日子里,如果我有时间也会把stack
decoding向大家介绍。(希望不要等太长时间) 本文来自:崔晓源博客
Forward Algorithm
Viterbi Algorithm
Viterbi Algorithm
尾声
评论
呵呵,你想的太多了吧不过夜数据的话真的可以哦
发表评论
-
值得收藏的23个搜索下载免费PDF电子书的网站
2010-04-03 08:36 2799我们常常需要寻找一些电子书PDF 文件,特别是一些国外的英文版 ... -
小技巧:保存word中图片的最另类最简单办法
2010-03-25 21:34 4864时常,我们会把图片加入到word中,但是将word文件与其他人 ... -
最小二乘法
2010-02-25 11:28 1625一个不错的例子,对初学的人有帮助! 一个在线的演示例子(jav ... -
信号强度从百分比到分贝的转换
2009-11-21 23:50 18447Radio Frequency(RF)信号强度 ... -
IPod Shuttle(1G)充电问题
2009-11-17 10:58 1989最近总是发现我的IPod充电的时候,灯总是黄色一闪一闪 ... -
不再繁琐!Word 2007实现自动编排目录
2009-09-09 10:58 3990最近不少学生朋友在忙 ... -
网络数据库
2009-08-18 11:41 1491警示: 合理使用电子资源,保 ... -
单位冲激函数(图)
2009-08-17 17:36 7940上一回说到,单个矩形脉冲的时域波形如下图: 图1 ... -
介绍两款在线数学公式编辑器
2009-08-16 12:51 11789当然了,在线的不能像Math Type那样,可以随心所欲的编 ... -
Autoregressive Models
2009-08-12 22:27 1297The autoregressive model is one ... -
隐马尔可夫模型
2009-08-04 10:48 1560前一篇文章没有系统地介绍这个模型,本篇文章将详细介绍 1. ... -
重要性抽样方法
2009-07-31 11:10 3032考虑积分: 设 ε1 是 [0 , ... -
卡尔曼滤波简介及其算法实现代码
2009-07-29 17:49 25793卡尔曼滤波算法实现代 ... -
隐马尔科夫模型HMM自学(1)
2009-07-24 10:38 7694介绍 崔晓源 翻译 ... -
OPNET 14.5.A.PL1下载
2009-07-17 22:42 7468下载FTP地址 : ftp://bupt:bupt@forum ... -
Autoregressive (AR) Models
2009-07-17 20:18 1828The autoregressive (AR) mode ... -
Rao-Blackwellised粒子滤波器(RBPF)
2009-07-14 22:31 48811. Rao-Blackwellisation is a ge ... -
LZ78算法
2009-07-14 17:47 1888在介绍LZ78算法之前,首先说明在算法中用到的几个术语和符号: ... -
模式定理
2009-03-31 15:44 1490本文最初由 SpriteLW 发表于 http://bl ...
相关推荐
### 隐马尔科夫模型HMM自学最佳范例 #### 一、引言 隐马尔科夫模型(Hidden Markov Model, HMM)作为一种统计模型,在多个领域都有着广泛的应用,包括但不限于语音识别、自然语言处理、生物信息学等。本文档旨在...
隐马尔科夫模型(Hidden Markov Model,简称HMM)是一种统计建模方法,常用于处理序列数据,如自然语言处理、语音识别、生物信息学等领域。它的核心思想是,存在一组不可直接观测的“隐藏状态”,这些状态按照...
**隐马尔科夫模型(Hidden...通过阅读《HMM自学.doc》和《HMM隐马尔科夫模型的学习资料_有实例介绍.ppt》,你可以逐步掌握HMM的理论与实践技巧,加深对这一重要统计模型的理解。记得结合实例进行操作,以巩固学习成果。
它描述了隐马尔科夫模型作为一个基于统计的学习框架能够随机地创造观察到的一系列事物的现象。这种模型特别被用于自然语言处理任务,例如句法分析标记和语音辨别,同时还提供了一系列重要的思考方式和算法来解释隐含...
隐马尔科夫模型教学。网上有很多隐马尔科夫的教程。但都是离散隐马尔科夫,没有连续隐马尔科夫的介绍。这里面的教程非常详尽,非常适合自学。但是对英语有要求。
在模型学习方面,乐远同学研究了隐马尔科夫模型(HMM)、最大熵模型(ME)和条件随机场(CRF)。这些模型广泛应用于序列标注任务,如词性标注、命名实体识别等。HMM是处理隐藏状态和观察序列的统计模型,ME则通过...
例如,Kaldi中的GMM-UBM(高斯混合模型-通用背景模型)和HMM(隐马尔科夫模型)在语音识别中的应用,以及如何使用Kaldi的脚本和工具进行数据预处理、模型训练和解码。 二、Kaldi自学笔记_THCH30 THCH30数据集是...
模型训练则是利用大量的标注数据来构建识别模型,常见的有HMM(隐马尔科夫模型)和深度神经网络(DNN)。最后,解码阶段是根据模型对输入的特征序列进行识别,输出对应的文本结果。 在压缩包中,可能包含各种版本的...
- 语音识别:理解隐藏马尔科夫模型(HMM)、深度神经网络(DNN)等算法在语音识别中的应用。 - 语音合成:探索文本转语音(TTS)技术,如拼接合成和参数合成。 - 嵌入式平台:学习如何在资源有限的嵌入式环境中优化...