HMM 隐马尔科夫 matlab工具箱中英文对照.docx
- 文档编号:8444004
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:9
- 大小:44.22KB
HMM 隐马尔科夫 matlab工具箱中英文对照.docx
《HMM 隐马尔科夫 matlab工具箱中英文对照.docx》由会员分享,可在线阅读,更多相关《HMM 隐马尔科夫 matlab工具箱中英文对照.docx(9页珍藏版)》请在冰豆网上搜索。
HMM隐马尔科夫matlab工具箱中英文对照
StatisticsToolbox™functionsrelatedtohiddenMarkovmodelsare:
hmmgenerate—GeneratesasequenceofstatesandemissionsfromaMarkovmodel
(2)hmmgenerate(...,'Symbols',SYMBOLS)
specifiedbytransitionprobabilitymatrixTRANSandemissionprobabilitymatrixEMIS,andusesittogenerate:
这个已知的HMM用转移概率矩阵TRANS和输出概率矩阵EMIS来说明。
Arandomsequenceseqofemissionsymbols
观测值序列
Arandomsequencestatesofstates
隐状态序列
Thelengthofbothseqandstatesislen.
len表示产生序列的长度
TRANS(i,j)istheprobabilityoftransitionfromstateitostatej.从状态i转移到状态j的矩阵
EMIS(k,l)istheprobabilitythatsymbollisemittedfromstatek.状态k产生观测值l的概率矩阵
(2)hmmgenerate(...,'Symbols',SYMBOLS)specifiesthesymbolsthatareemitted.SYMBOLScanbeanumericarrayoracellarrayofthenamesofthesymbols.Thedefaultsymbolsareintegers1throughN,whereNisthenumberofpossibleemissions.
指定观测值表示方法。
(3)hmmgenerate(...,'Statenames',STATENAMES)specifiesthenamesofthestates.STATENAMEScanbeanumericarrayoracellarrayofthenamesofthestates.Thedefaultstatenamesare1throughM,whereMisthe
numberofstates.
priortothefirstemission.Themodelthenmakesatransitiontostatei1,withprobabilityT1i1,andgeneratesanemissionak1with
probabilityEi1k11.hmmgeneratereturnsi1asthefirstentry
ofstates,andak1asthefirstentryofseq.
0.10,0.90];
emis=[1/61/61/61/61/61/6;
1/101/101/101/101/101/2];
[seq,states]=hmmgenerate(100,trans,emis)
[seq,states]=hmmgenerate(100,trans,emis,...
'Symbols',{'one','two','three','four','five','six'},...
'Statenames',{'fair';'loaded'})
hmmestimate—Calculatesmaximumlikelihoodestimatesoftransitionandemissionprobabilitiesfromasequenceofemissionsandaknownsequenceofstates
通过已知的状态序列和已知的观察值序列计算出状态转移概率矩阵和观察
(2)hmmestimate(...,'Symbols',SYMBOLS)
(3)hmmestimate(...,'Statenames',STATENAMES)
(4)hmmestimate(...,'Pseudoemissions',PSEUDOE)
likelihoodestimateofthetransition,TRANS,andemission,EMIS,probabilitiesofahiddenMarkovmodelforsequence,seq,withknownstates,states.
hmmestimate函数需要事先知道了得到输出序列seq,以及得到此结果的状态变化序列states。
(2)hmmestimate(...,'Symbols',SYMBOLS)specifiesthesymbolsthatareemitted.SYMBOLScanbeanumericarrayoracellarrayofthenamesofthesymbols.Thedefaultsymbolsareintegers1throughN,whereNisthenumberofpossibleemissions.
指定观测值表示方法。
(3)hmmestimate(...,'Statenames',STATENAMES)specifiesthenamesofthestates.STATENAMEScanbeanumericarrayoracellarrayofthenamesofthestates.Thedefaultstatenamesare1throughM,whereMisthenumberofstates.
指定状态值表示方法。
(4)hmmestimate(...,'Pseudoemissions',PSEUDOE)specifiespseudocountemissionvaluesinthematrixPSEUDO.Usethisargumenttoavoidzeroprobabilityestimatesforemissionswithverylowprobabilitythatmightnotberepresentedinthesamplesequence.PSEUDOEshouldbeamatrixofsizem-by-n,wheremisthenumberofstatesinthehiddenMarkovmodelandnisthenumberofpossibleemissions.Iftheemissiondoesnotoccur
inseq,youcansetPSEUDOE(i,k)tobeapositivenumberrepresentinganestimateoftheexpectednumberofsuchemissionsinthesequenceseq.
(5)hmmestimate(...,'Pseudotransitions',PSEUDOTR)specifies
pseudocounttransitionvalues.Youcanusethisargumenttoavoidzeroprobabilityestimatesfortransitionswithverylowprobabilitythatmightnotberepresentedinthesamplesequence.PSEUDOTRshouldbeamatrixofsizem-by-m,wheremisthenumberofstatesinthehiddenMarkovmodel.Ifthetransitiondoesnotoccurinstates,youcanset
PSEUDOTR(i,j)tobeapositivenumberrepresentinganestimateofthe
thetransitionmightneveroccurinthesequencestates,ortheemissionmightneveroccurinthesequenceseq.Ineithercase,thealgorithmreturnsaprobabilityof0forthegiventransitionoremissioninTRANSorEMIS.Youcancompensatefortheabsenceoftransitionwiththe'Pseudotransitions'and'Pseudoemissions'arguments.ThesimplestwaytodothisistosetthecorrespondingentryofPSEUDOorPSEUDOTRto1.Forexample,ifthetransitiondoesnotoccurinstates,setPSEUOTR(i,j)=1.ThisforcesTRANS(i,j)tobepositive.Ifyouhaveanestimatefortheexpectednumberoftransitionsinasequenceofthesamelengthasstates,andtheactualnumberoftransitionsthatoccurinseqissubstantiallylessthanwhatyouexpect,youcansetPSEUOTR(i,j)totheexpectednumber.ThisincreasesthevalueofTRANS(i,j).Fortransitionsthatdooccurinstateswiththefrequencyyouexpect,setthecorrespondingentryofPSEUDOTRto0,whichdoesnotincreasethecorrespondingentryofTRANS.
Ifyoudonotknowthesequenceofstates,usehmmtraintoestimatethemodelparameters.
在知道输出序列,不知道状态转移序列,可以使用hmmtrain估计转移状态
emis=[1/61/61/61/61/61/6;
1/101/101/101/101/101/2];
[seq,states]=hmmgenerate(1000,trans,emis);
[estimateTR,estimateE]=hmmestimate(seq,states);
hmmtrain—Calculatesmaximumlikelihoodestimatesof
transitionandemissionprobabilitiesfromasequenceofemissions
通过观察值状态序列计算出状态转移概率矩阵和观察概率矩阵的最大似然
(1)[ESTTR,ESTEMIT]=hmmtrain(seq,TRGUESS,EMITGUESS)
(2)hmmtrain(...,'Algorithm',algorithm)
(3)hmmtrain(...,'Symbols',SYMBOLS)
(4)hmmtrain(...,'Tolerance',tol)
(5)hmmtrain(...,'Maxiterations',maxiter)
(6)hmmtrain(...,'Verbose',true)
(7)hmmtrain(...,'Pseudoemissions',PSEUDOE)
transitionandemissionprobabilitiesforahiddenMarkovmodelusingtheBaum-Welchalgorithm.seqcanbearowvectorcontainingasinglesequence,amatrixwithonerowpersequence,oracellarraywitheachcellcontainingasequence.TRGUESSandEMITGUESSareinitialestimatesofthetransitionandemissionprobabilitymatrices.TRGUESS(i,j)isthe
estimatedprobabilityoftransitionfromstateitostatej.EMITGUESS(i,k)istheestimatedprobabilitythatsymbolkisemittedfromstatei.
使用BW算法估计状态转移概率矩阵和观察概率矩阵,seq可以是一个行向量也可是是一个矩阵或者单元阵列。
TRGUESS和EMITGUESS是状态转移概率矩阵和观察概率矩阵的初始估计矩阵。
(2)hmmtrain(...,'Algorithm',algorithm)specifiesthetraining
algorithm.algorithmcanbeeither'BaumWelch'or'Viterbi'.Thedefaultalgorithmis'BaumWelch'.
指定训练算法。
默认算法是BW算法。
(3)hmmtrain(...,'Symbols',SYMBOLS)specifiesthesymbolsthatareemitted.SYMBOLScanbeanumericarrayoracellarrayofthenamesofthesymbols.Thedefaultsymbolsareintegers1throughN,whereNisthenumberofpossibleemissions.
指定观测值表示方法。
(4)hmmtrain(...,'Tolerance',tol)specifiesthetoleranceusedfortestingconvergenceoftheiterativeestimationprocess.Thedefaulttoleranceis1e-4.
指定迭代过程中的收敛精度,默认精度为0.0001。
(5)hmmtrain(...,'Maxiterations',maxiter)specifiesthemaximumnumberofiterationsfortheestimationprocess.Thedefaultmaximumis100.
指定迭代次数,默认迭代次数为100。
(6)hmmtrain(...,'Verbose',true)returnsthestatusofthealgorithmateachiteration.
返回每次迭代的状态。
(7)hmmtrain(...,'Pseudoemissions',PSEUDOE)specifiespseudocountemissionvaluesfortheViterbitrainingalgorithm.Usethisargumenttoavoidzeroprobabilityestimatesforemissionswithverylowprobabilitythatmightnotberepresentedinthesamplesequence.PSEUDOEshouldbeamatrixofsizem-by-n,wheremisthenumberofstatesinthehidden
Markovmodelandnisthenumberofpossibleemissions.Ifthei→kemissiondoesnotoccurinseq,youcansetPSEUDOE(i,k)tobeapositivenumberrepresentinganestimateoftheexpectednumberofsuchemissionsinthesequenceseq.
(8)hmmtrain(...,'Pseudotransitions',PSEUDOTR)specifiespseudocounttransitionvaluesfortheViterbitrainingalgorithm.Usethisargumenttoavoidzeroprobabilityestimatesfortransitionswithverylow
probabilitythatmightnotberepresentedinthesamplesequence.PSEUDOTRshouldbeamatrixofsizem-by-m,wheremisthenumberofstatesinthehiddenMarkovmodel.Ifthei→jtransitiondoesnotoccurinstates,youcansetPSEUDOTR(i,j)tobeapositivenumberrepresentinganestimateoftheexpectednumberofsuchtransitionsinthesequencestates.
Ifyouknowthestatescorrespondingtothesequences,usehmmestimate
algorithmexecutesbeforethefunctionreturnsananswer.Thealgorithmterminateswhenallofthefollowingthreequantitiesarelessthanthevaluethatyouspecifyfortolerance:
当下列三个量均小于设定值时算法停止。
●Theloglikelihoodthattheinputsequenceseqisgeneratedbythe
currentlyestimatedvaluesofthetransitionandemissionmatrices●Thechangeinthenormofthetransitionmatrix,normalizedbythe
sizeofthematrix
●Thechangeinthenormoftheemissionmatrix,normalizedbythesize
ofthematrix
Thedefaultvalueof'tolerance'is.0001.Increasingthetolerancedecreasesthenumberofstepsthehmmtrainalgorithmexecutesbeforeitterminates.
maximumnumberofstepsthealgorithmexecutesbeforeitterminates.Ifthealgorithmexecutesmaxiteriterationsbeforereachingthespecifiedtolerance,thealgorithmterminatesandthefunctionreturnsawarning.Ifthisoccurs,youcanincreasethevalueof'maxiterations'tomakethealgorithmreachthedesiredtolerancebeforeterminating.
迭代的最大次数:
如果算法在达到收敛精度以前到达迭代的最大次数,那么算法会终止,并且返回一个警告。
如果出现这种状况,你可以增加迭代次数来使
0.10,0.90];
emis=[1/6,1/6,1/6,1/6,1/6,1/6;
1/10,1/10,1/10,1/10,1/10,1/2];
seq1=hmmgenerate(100,trans,emis);
seq2=hmmgenerate(200,trans,emis);
seqs={seq1,seq2};
*算法收敛到一个局部最大值,这种情况下,分别对TRGUESS和EMITGUESS赋予不同的初值,多次执行此算法,最后选取相比较来说值最大的那个结果。
*观测序列seq提供的数据太少,这时要输入充分多的数据。
hmmviterbi—CalculatesthemostprobablestatepathforahiddenMarkovmodel
计算一个隐马尔可夫模型最可能的状态变化过程;
GiventhetransitionandemissionmatricesTRANSandEMIS,thefunctionhmmviterbiusestheViterbialgorithmtocomputethemostlikelysequenceofstatesthemodelwouldgothroughtogenerateagivensequenceseqofemissions.
给定状态转移矩阵TRANS和混淆矩阵EMIS,hmmviterbi使用Viterbi算法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- HMM 隐马尔科夫 matlab工具箱中英文对照 matlab 工具箱 中英文 对照