資源簡介
C語言實現的HMM 語音識別算法,比較經典

代碼片段和文件信息
/*
**??????File:???backward.cpp
**??????功能:給定觀察值序列和HMM模型,利用前向后向算法
**????????????求取其概率
*/
#include?“StdAfx.h“
#include?
#include?“hmm.h“
/***************************************************************************
**?函數名稱:Backward
**?功能:后向算法估計參數
**?參數:phmm:指向HMM的指針
**???????T:觀察值序列的長度
**???????O:觀察值序列
**???????beta:運算中用到的臨時數組
**???????pprob:返回值,所要求的概率
**/
void?Backward(HMM?*phmm?int?T?int?*O?double?**beta?double?*pprob)
{
int?????i?j;???/*?狀態?*/
int?????t;??????/*?時間下標?*/
double?sum;
?
?
/*?1.?初始化?*/
?
for?(i?=?1;?i?<=?phmm->N;?i++)
beta[T][i]?=?1.0;
?
/*?2.?遞歸?*/
?
for?(t?=?T?-?1;?t?>=?1;?t--)?
{
for?(i?=?1;?i?<=?phmm->N;?i++)?
{
sum?=?0.0;
for?(j?=?1;?j?<=?phmm->N;?j++)
sum?+=?phmm->A[i][j]?*?(phmm->B[j][O[t+1]])*beta[t+1][j];
beta[t][i]?=?sum;
?
}
}
?
/*?3.?終止?*/
*pprob?=?0.0;
for?(i?=?1;?i?<=?phmm->N;?i++)
*pprob?+=?beta[1][i];
}
/***************************************************************************
**?函數名稱:BackwardWithScale
**?功能:后向算法估計參數(帶比例因子修正)
**?參數:phmm:指向HMM的指針
**???????T:觀察值序列的長度
**???????O:觀察值序列
**???????beta:運算中用到的臨時數組
**???????scale:比例因子數組
**???????pprob:返回值,所要求的概率
**/
void?BackwardWithScale(HMM?*phmm?int?T?int?*O?double?**beta?
double?*scale?double?*pprob)
{
int?????i?j;???/*?狀態指示?*/
int?????t;??????/*?時間下標?*/
double?sum;
?
?
/*?1.?初始化?*/
for?(i?=?1;?i?<=?phmm->N;?i++)
beta[T][i]?=?1.0/scale[T];?
?
/*?2.?遞歸?*/
for?(t?=?T?-?1;?t?>=?1;?t--)?
{
for?(i?=?1;?i?<=?phmm->N;?i++)?
{
sum?=?0.0;
for?(j?=?1;?j?<=?phmm->N;?j++)
sum?+=?phmm->A[i][j]?*?(phmm->B[j][O[t+1]])*beta[t+1][j];
beta[t][i]?=?sum/scale[t];
}
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1919??2002-09-26?06:39??C語言的HMM算法庫\backward.cpp
?????文件???????4045??2002-09-26?05:15??C語言的HMM算法庫\baum.cpp
?????文件????????237??2005-04-06?20:37??C語言的HMM算法庫\forword.cpp
?????文件???????2280??2002-09-26?04:37??C語言的HMM算法庫\hmm.h
?????文件?????????66??2005-04-06?20:33??C語言的HMM算法庫\hmm.txt
?????文件????????434??2002-09-26?05:27??C語言的HMM算法庫\hmmrand.cpp
?????文件???????4081??2005-04-06?20:15??C語言的HMM算法庫\hmmutils.cpp
?????文件??????10836??2005-04-06?20:32??C語言的HMM算法庫\nrutil.cpp
?????文件???????1448??2002-09-26?03:32??C語言的HMM算法庫\nrutil.h
?????文件???????1190??2005-04-06?18:36??C語言的HMM算法庫\ReadMe.txt
?????文件????????290??2005-04-06?18:36??C語言的HMM算法庫\StdAfx.cpp
?????文件????????667??2005-04-06?18:36??C語言的HMM算法庫\StdAfx.h
?????文件???????3020??2002-09-26?06:07??C語言的HMM算法庫\viterbi.cpp
?????目錄??????????0??2005-04-07?21:47??C語言的HMM算法庫
-----------?---------??----------?-----??----
????????????????30513????????????????????14
- 上一篇:c++ xm
l處理 domsax - 下一篇:DDOS攻擊源代碼 VC++6
評論
共有 條評論