隐马尔科夫模型——维特比算法
来源:互联网 发布:青岛衣知她有限公司 编辑:程序博客网 时间:2024/06/05 18:09
前言
隐马尔科夫有三个基本问题:概率问题、学习问题、预测问题。本文主要讨论预测问题的解法——维特比算法。阅读本文的前提是已经明白什么是隐马尔科夫模型(三要素、基本假设)。本文的所有符号及解释,请查看上一篇博客:隐马尔科夫模型——基本概念
什么是预测问题
预测问题又称之为解码问题,是指:已知状态转移矩阵、观测矩阵和观测序列,求该序列下最有可能的状态序列。
已知模型
λ=(A,B,π) 和观测序列O=(o1,o2,...,oT) ,求使条件概率P(I|O) 最大的状态序列I=(i1,i2,...,iT) 。
维特比算法
维特比算法实际是用动态规划解决预测问题——求概率最大的路径(最优路径)最优路径具有这样的特性:如果最优路径在t时刻经过状态节点i,那么该节点到状态序列终点所经过的路径也一定是最优路径。假如不是,那么从该节点到终点就会有另外一条更有路径存在,再连接上起点到该状态节点i,会产生一条新的最优路径,原路径就不是最优的了。这是矛盾的。个人觉得类似迪杰斯特拉求最短路算法。
首先,提到两个变量:
算法过程
- 初始化:
δ1(i)=πibi(o1),i=1,2,...,N ψ1(i)=0,i=1,2,...,N - 递推:对t=2,3,…,T
δt(i)=max[δt−1(j)aji]bi(ot),i=1,2,..,N ψt(i)=argmax[δt−1(j)aji],i=1,2,...,N - 终止
P∗=maxδT(i) i∗T=argmax[δT(i)] - 最优路径回溯:对t=T-1,…,1求得最优路径
i∗t=ψt+1(i∗t+1) I∗=(i∗1,i∗2,...,i∗T)
举例计算
应用问题已经在上一篇隐马尔科夫模型——基本概念中举过,不再重复描述。本例稍微在原来基础上改变实验次数为三次,转移矩阵概率和观测概率重新设置,具体如下:
阅读全文
0 0
- 隐马尔科夫模型——维特比算法
- HMM:隐马尔科夫模型-维特比算法
- 隐马尔科夫模型与维特比算法
- 隐马尔科夫模型之前向算法和维特比算法
- 隐马尔可夫模型(五)——隐马尔可夫模型的解码问题(维特比算法)
- 隐马尔可夫模型(五)——隐马尔可夫模型的解码问题(维特比算法)
- 隐马尔科夫-维特比算法
- 隐马尔科夫-维特比算法
- 维特比算法
- 维特比算法
- 维特比算法
- 维特比算法
- 维特比算法
- 维特比算法
- 维特比算法
- 维特比算法
- 隐马尔可夫模型(HMM) - 4 - 预测算法(维特比算法)
- 隐马尔科夫模型(HMMs)之五:维特比算法及前向后向算法
- NGUI滚动条ScrolBar
- 宾馆房间 hotelroom
- 驾校自动预约
- nsq
- 文件上传
- 隐马尔科夫模型——维特比算法
- 【自然语言处理入门】03:利用线性回归对数据集进行分析预测(下)
- Qt Creator 3.5 导入现有工程
- mybatis传入混合参数(多个不同类型的参数)
- iptables
- 股票数据分析
- 空间配置器
- Android Studio 下载与安装教程(最简单版)
- go语言的命令行库