hmmtrain
隐马尔可夫模型参数估计排放
语法
[ESTTR, ESTEMIT] = hmmtrain (seq, TRGUESS EMITGUESS)
hmmtrain(…,“算法”,算法
)
hmmtrain(…,“符号”,符号)
hmmtrain(…,“宽容”,tol)
hmmtrain (…,“Maxiterations”,麦克斯特)
hmmtrain(…,“详细”,真的)
hmmtrain (…, Pseudoemissions PSEUDOE)
hmmtrain (…, Pseudotransitions PSEUDOTR)
描述
[ESTTR, ESTEMIT] = hmmtrain (seq, TRGUESS EMITGUESS)
估计的过渡和发射概率使用Baum-Welch隐马尔可夫模型算法。seq
可以包含一个行向量序列,一个矩阵每一行序列,或一个单元阵列,每个单元包含一个序列。TRGUESS
和EMITGUESS
初步估计的过渡和发射概率矩阵。TRGUESS (i, j)
是过渡状态的估计概率我
州j
。EMITGUESS (i (k)
概率估计的象征吗k
是发出的状态我
。
hmmtrain(…,“算法”,
指定的训练算法。算法
)算法
可以是“BaumWelch”
或“维特比”
。默认的算法“BaumWelch”
。
hmmtrain(…,“符号”,符号)
指定发出的符号。符号
可以是一个数值数组,字符串数组或单元阵列名称的符号。默认符号整数1
通过N
,在那里N
的数量是可能的排放。
hmmtrain(…,“宽容”,tol)
指定公差用于测试收敛的迭代估计过程。默认的公差是1的军医
。
hmmtrain (…,“Maxiterations”,麦克斯特)
指定的最大数量估计的迭代过程。默认的最大是One hundred.
。
hmmtrain(…,“详细”,真的)
返回的状态在每一次迭代算法。
hmmtrain (…, Pseudoemissions PSEUDOE)
指定了维特比算法训练pseudocount排放值。使用这个参数来避免零概率估计排放很低的概率可能不是在样本序列表示。PSEUDOE
应该是一个矩阵的大小米——- - - - - -n,在那里米是在隐马尔科夫模型的状态数和n的数量是可能的排放。如果我→k排放不会在发生seq
,你可以设置PSEUDOE (i (k)
是一个正数代表估计的预期排放量的序列seq
。
hmmtrain (…, Pseudotransitions PSEUDOTR)
指定pseudocount过渡值维特比算法训练。使用这个参数来避免零概率估计转换有极低的概率可能不代表样本序列。PSEUDOTR
应该是一个矩阵的大小米——- - - - - -米,在那里米是在隐马尔科夫模型的状态数。如果我→j不发生在过渡州
,你可以设置PSEUDOTR (i, j)
是一个正数代表估计这种转换的预期数量的序列州
。
如果你知道相对应的状态序列,使用hmmestimate
估计模型参数。
宽容
输入参数的宽容的
控制多少步骤hmmtrain
算法执行函数返回前一个答案。算法终止时所有的以下三个量小于指定的值宽容
:
日志输入序列的可能性
seq
是由当前估计的过渡和排放值矩阵规范的变化转移矩阵,通过矩阵的大小归一化
排放的标准的变化矩阵,通过矩阵的大小归一化
的默认值“宽容”
是1 e-6
。增加公差减少步骤的数量hmmtrain
算法执行之前终止。
maxiterations
的最大迭代数,“maxiterations”
、控制措施的最大数量的算法执行之前终止。如果算法执行麦克斯特
迭代之前到达指定的公差,算法终止和函数返回一个警告。如果发生这种情况,你可以增加的价值“maxiterations”
使算法达到所需的公差在终止之前。
例子
反式= [0.95,0.05;0.10、0.90);工作= (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年,反式工作);seq2 = hmmgenerate(200年,反式工作);seq = {seq1, seq2};[estTR,埃斯特]= hmmtrain教育管理信息系统(seq,反式);
引用
[1]杜宾,R。美国艾迪,a·克罗和g . Mitchison。生物序列分析。英国剑桥:剑桥大学出版社,1998年。
版本历史
之前介绍过的R2006a