資源簡介
HMM隱馬爾可夫模式的經典學習C語言源碼,對學習hmm模式有非常好的幫助。有效的解決了HMM的三個問題:評估,譯碼和學習訓練。

代碼片段和文件信息
/*
**??????Author:?Tapas?Kanungo?kanungo@cfar.umd.edu
**??????Date:???15?December?1997
**??????File:???backward.c
**??????Purpose:?Backward?algorithm?for?computing?the?probabilty
**??????????????of?observing?a?sequence?given?a?HMM?model?parameter.
**??????Organization:?University?of?Maryland
**
**??????$Id:?backward.cv?1.3?1998/02/23?07:56:05?kanungo?Exp?kanungo?$
*/
#include?
#include?“hmm.h“
static?char?rcsid[]?=?“$Id:?backward.cv?1.3?1998/02/23?07:56:05?kanungo?Exp?kanungo?$“;
void?Backward(HMM?*phmm?int?T?int?*O?double?**beta?double?*pprob)
{
????????int?????i?j;???/*?state?indices?*/
????????int?????t;??????/*?time?index?*/
????????double?sum;
?
?
????????/*?1.?Initialization?*/
?
????????for?(i?=?1;?i?<=?phmm->N;?i++)
????????????????beta[T][i]?=?1.0;
?
????????/*?2.?Induction?*/
?
????????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.?Termination?*/
????????*pprob?=?0.0;
????????for?(i?=?1;?i?<=?phmm->N;?i++)
????????????????*pprob?+=?beta[1][i];
?
}
void?BackwardWithScale(HMM?*phmm?int?T?int?*O?double?**beta?
double?*scale?double?*pprob)
{
????????int?????i?j;???/*?state?indices?*/
????????int?????t;??????/*?time?index?*/
double?sum;
?
?
????????/*?1.?Initialization?*/
?
????????for?(i?=?1;?i?<=?phmm->N;?i++)
????????????????beta[T][i]?=?1.0/scale[T];?
?
????????/*?2.?Induction?*/
?
????????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];
?
????????????????}
????????}
?
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2012??1999-05-06?00:51??UmdHmm-v1.02\backward.c
?????文件???????3563??2012-11-01?10:59??UmdHmm-v1.02\backward.o
?????文件???????3968??1999-05-06?00:51??UmdHmm-v1.02\baum.c
?????文件???????6703??2012-11-01?10:59??UmdHmm-v1.02\baum.o
?????文件???????1773??1999-05-06?02:01??UmdHmm-v1.02\CHANGES
?????文件??????17976??1999-05-06?00:51??UmdHmm-v1.02\COPYING
????....SH.????????78??2012-07-25?17:14??UmdHmm-v1.02\Desktop.ini
?????文件??????71068??1999-05-06?02:05??UmdHmm-v1.02\esthmm
?????文件???????5365??2012-10-30?20:31??UmdHmm-v1.02\esthmm.c
?????文件??????11373??2012-11-01?10:59??UmdHmm-v1.02\esthmm.o
?????文件???????2215??2012-10-30?18:02??UmdHmm-v1.02\forward.c
?????文件???????4016??2012-11-01?10:59??UmdHmm-v1.02\forward.o
?????文件??????47120??1999-05-06?02:04??UmdHmm-v1.02\genseq
?????文件???????2640??1999-05-06?00:52??UmdHmm-v1.02\genseq.c
?????文件???????8567??2012-11-01?10:59??UmdHmm-v1.02\genseq.o
?????文件???????2539??1999-05-06?00:51??UmdHmm-v1.02\hmm.h
?????文件????????718??1999-05-06?00:51??UmdHmm-v1.02\hmmrand.c
?????文件???????2624??2012-11-01?10:59??UmdHmm-v1.02\hmmrand.o
?????文件?????180218??1999-05-06?02:00??UmdHmm-v1.02\hmmtut.pdf
?????文件?????254653??1999-05-06?01:57??UmdHmm-v1.02\hmmtut.ps
?????文件???????3954??1999-05-06?00:51??UmdHmm-v1.02\hmmutils.c
?????文件??????10618??2012-11-01?10:59??UmdHmm-v1.02\hmmutils.o
?????文件???????1143??1999-05-06?00:53??UmdHmm-v1.02\Makefile
?????文件???????3980??1999-05-06?00:51??UmdHmm-v1.02\nrutil.c
?????文件????????764??1999-05-06?00:51??UmdHmm-v1.02\nrutil.h
?????文件???????9746??2012-11-01?10:59??UmdHmm-v1.02\nrutil.o
?????文件???????3097??1999-05-06?01:49??UmdHmm-v1.02\README
?????文件???????2852??1999-05-06?00:51??UmdHmm-v1.02\sequence.c
?????文件???????8868??2012-11-01?10:59??UmdHmm-v1.02\sequence.o
?????文件????????213??1999-05-06?00:51??UmdHmm-v1.02\t2.100.seq
............此處省略39個文件信息
- 上一篇:C++中探出打開文件夾對話框并獲取文件夾路徑
- 下一篇:C++的圖書管理系統
評論
共有 條評論