//求解观察序列概率的前向算法
//A是N*N状态转移概率矩阵
//B是N*M符号发射概率矩阵
//pi是1*N是初始状态的概率分布
//T是终态时间
//O是1*T观察序列
forword_HMM(A, B,pj, T, O)
N = A.length
graph[2][N]//记录表格,利用滚动数组节约存储空间
for t = 0 to (T - 1)
for j = 0 to (N - 1)
if t == 0
//初始化
graph[0][j] = pj[j] * B[j][O[0]]
else
sum = 0
for i = 0 to ( N - 1)
sum += graph[(t-1) % 2][i] * A[i][j]
graph[t % 2][j] = sum * B[j][O[t]]
p = 0
for k = 0 to (N - 1)
p += graph[(T-1)%2][k]
return p
HMM求解观察序列概率的"前向算法"伪代码实现
最新推荐文章于 2022-05-15 17:47:40 发布