隐马尔科夫之前向-后向算法
来源:互联网 发布:网络直销模式典例图片 编辑:程序博客网 时间:2024/04/28 06:49
在隐马尔科夫模型中,评估和解码都是需要在已知模型参数的情况下进行的,但是我们往往并不知道这个模型参数,只有能够得到的观察序列,因而我们需要对模型参数进行估计,这便是隐马尔科夫模型的学习问题。
前向-后向算法,通过一个给定的观察序列,对模型参数进行估计,并通过迭代计算不断地对模型参数进行调整,直到达到最优,即使得在该模型参数下给定的观察序列概率达到最大。
前向算法在隐马尔可夫模型之前向算法和维特比算法中已有介绍,后向算法和前向算法类似。
再次定义一下前向算法中的局部概率,将其称为前向变量,后向算法中同样有后向变量为β_t (i)。
β_t (i) = P(O_t+1, O_t+2, ..., O_T | q_t = i, ϕ);ϕ表示为一个HMM模型。
1. 初始化
β_T (i) = a_iE,1 <= i <= N;E为终止状态,a_iE = 1;
2. 递归
,1 <= i <= N, 1 <= t <= T;
3. 终止
P(O | λ) = a_T (q_E) = β_1(q_0) =
重估转移概率a_ij:
a_ij = C(q_i -> q_j) / ∑_k▒ C(q_i -> q_k);C(q_i -> q_j)表示从q_i转移到q_j的数目。
定义在给定模型ϕ和观察序列O_1...T时,t时刻处在状态i,t+1时刻处在状态j的概率为ξ_t:
ξ_t (i,j) = P(q_t = i, q_t+1 = j | O, λ)
ξ_t (i,j) = a_t(i) * b_t(i) / (a_T (a_F));
转移概率:
重估混淆矩阵B:
定义在给定模型和观察序列下,在时刻t处在状态j的概率为γ_t (j):
混淆矩阵:
(PS:前向-后向算法理解的并不是很好,大多公式都是从网上截图下来的。。)
- 隐马尔科夫之前向-后向算法
- HMM学习2之前向-后向算法(转)
- HMM之前向算法
- HMM之前向算法
- 马尔科夫之前向算法
- HMM之前向算法
- HMM模型之前向算法
- HMM之前向后向算法
- 隐马尔科夫模型之前向算法和维特比算法
- HMM之前向算法(forward algorithms)
- 隐马尔科夫模型HMM的前向算法和后向算法
- HMM——前向算法与后向算法
- HMM前向算法和后向算法的推导
- HMM前向算法,维比特算法,后向算法,前向后向算法代码
- STL 之前向迭代器
- HMM学习最佳范例七:前向-后向算法
- 前向-后向算法(Forward-backward algorithm)
- 神经网络中的前向和后向算法
- 深入WPF--Style
- 测试人员与需求关系
- Objective-C 文件学些
- 二叉树的遍历,深度求解以及竖向打印详析
- VS2013打包VC++程序
- 隐马尔科夫之前向-后向算法
- Effective 6 32~ 面向对象与继承
- MyEclipse部署Webservice的java.lang.OutOfMemoryError: PermGen space5错误
- Distinct Subsequences
- StringTokenizer类的使用
- bzoj快乐刷水篇(1)
- 使用STL的next_permutation函数生成全排列(C++)
- java web学习
- UVALive - 3263 That Nice Euler Circuit (几何)