【概述】
对于隐马尔可夫模型的预测问题,即:已知模型
有两种预测算法:
- 近似算法:计算简单,但由于预测的状态序列可能有实际不发生的部分,故不能保证预测的状态序列整体是最有可能的状态序列
- Viterbi 算法:计算较为复杂,本质是用动态规划求概率最大路径,一条路径对应一条状态
【近似算法】
近似算法的思想是:在每个
对于给定的隐马尔可夫模型
在每一时刻
从而得到状态序列
对于上述方法得到的状态序列,可能存在转移概率
【Viterbi 算法】
基本思想
Viterbi 算法的基本思想是动态规划,根据动态规划的原理,最优路径具有这样的特性:如果最优路径在时刻
因为假如不是这样,那么从
依据这一原理,只需从
之后,为了找出最优路径的各个结点,从终结点
算法流程
首先给出两个变量的定义
定义在时刻
根据定义,可得
定义在时刻
输入:隐马尔可夫模型
输出:最优路径
算法步骤:
Step 1:算法初始化
Step 2:对
Step 3:计算最优路径的概率
Step 4:最优路径回溯,对
求得最优路径
Gitalking ...