2
MATLAB统计工具箱函数hmmtrain.m似乎假设模型在训练序列之前最初处于状态1。有什么办法可以关掉这个“功能”?举例:MATLAB的hmmtrain假定从状态1开始初始转换
>> y = [ 3 3 1 2 3 ];
>> H = eye(3);
>> T = ones(3)/3;
>> [ T, H ] = hmmtrain(y, T, H)
T =
0 0.5000 0.5000
0 0 1.0000
0.5000 0 0.5000
H =
1 0 0
0 1 0
0 0 1
训练集不包含从1到3的转换。为什么T(1,3)非零?!
我不完全确定,因为我没有在我面前的计算机上的Matlab,但它看起来像你想要适应与已知状态,而不是未知的模型。 [Mathworks建议在这种情况下使用'hmmestimate()'](http://www.mathworks.com/help/toolbox/stats/hmmestimate.html)。虽然我完全同意你显示的输出对于Matlab来说是一件非常愚蠢的事情,但也许尝试'hmmestimate()'会让你在正确的轨道上? – ely 2012-03-20 16:39:53
感谢您的提示,EMS。尽管出现了,但我确实希望通常只是从与国家不同的发射符号中学习。在上面的例子中,我使用了H = eye(3),以便更容易跟踪。 – Clark 2012-03-21 02:00:33