【隐马尔可夫模型】用前向算法计算观测序列概率P(O|λ)
【隐马尔可夫模型】用后向算法计算观测序列概率P(O|λ)
隐马尔可夫模型是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状志的序列,再由各个状态随机生成一个观测而产生观测的序列的过程。模型本身属于生成模型,表示状态序列和观测序列的联合分布,但是状态序列是隐藏不可观测的。
观测序列概率的计算需要有效的算法支撑。
模型,A为状态转移概率矩阵,B为观测概率矩阵,π 为初始状态概率向量
直接计算法
直接计算法主要用于阐释思路,概念上可行但计算上不可行(计算量过大)
思路:
1、列举所有可能的长度为的状态序列
2、求各个状态序列与观测序列的联合概率
3、对所有可能的状态序列求和,得到
输入:隐马尔可夫模型和观测序列
输出:贯彻序列 出现的概率,
1)状态序列的概率
2)对固定的状态序列 , 观测序列的概率
3)和同时出现的联合概率
4)对所有可能的状态序列求和,得到观测序列的概率
实际操作中,步骤四的计算量很大,是阶的
前向算法
前向概率: 给定隐马尔可夫模型,定义到时刻t 部分观测序列为且状态为 的概率为前向概率,记作
输入:隐马尔可夫模型和观测序列
输出:观测序列 出现的概率
1)初值,
2)递推,对
3)终止
计算量阶
例: 盒子和球模型,状态集合,观测集合
,用前向算法求
解答:
1)初值
A为状态转移概率矩阵,B为观测概率矩阵,π 为初始状态概率向量,O为观测序列
——A的i行j列,——B的i行列
例如对应Red,对应观测集合V的第一列,对应观测概率矩阵B的第一列
2)递推
B的i行列,就是对应B的第一行第一列的元素
3)终止
递推至T=3,对前向概率求和得到
后向算法
后向概率: 给定隐马尔可夫模型,定义到时刻t 状态为 的条件下,从t+1到T的部分观测序列为的概率为后向概率,记作
输入:隐马尔可夫模型和观测序列
输出:观测序列出现的概率
1)初值,
2)递推,对
3)终止
计算量阶
例: 盒子和球模型,
,用后向算法求
解答:
1)初值
A为状态转移概率矩阵,B为观测概率矩阵,π 为初始状态概率向量,O为观测序列
从T=4向下递推,一般设后向概率初值为1
2)递推
递推至终止
——A的i行j列,——B的i行列
B的i行列,就是对应B的第一行第一列的元素
3)终止