我正在尝试学习HMM GMM实现并创建一个简单的模型来检测某些声音(动物调用等)
我试图在MATLAB中用GMM(高斯混合)训练HMM(隐马尔可夫模型)网络.
我有几个问题,我无法找到任何有关的信息.
1)应该mhmm_em()在每个HMM状态的循环中调用函数还是自动完成?
如:
for each state
Initialize GMM’s and get parameters (use mixgauss_init.m)
end
Train HMM with EM (use mhmm_em.m)
Run Code Online (Sandbox Code Playgroud)
2)
[LL, prior1, transmat1, mu1, Sigma1, mixmat1] = ...
mhmm_em(MFCCs, prior0, transmat0, mu0, Sigma0, mixmat0, 'max_iter', M);
Run Code Online (Sandbox Code Playgroud)
最后一个参数,应该是高斯数还是number_of_states-1?
3)如果我们正在寻找最大可能性,那么维特比在哪里发挥作用?
如果我想用我提取的声学特征向量训练我的模型后想要检测某种类型的动物/人类呼叫,我是否还需要在测试模式下使用维特比算法?
这有点令我困惑,我非常感谢这部分的解释.
根据HMM GMM逻辑对代码的任何评论也将受到赞赏.
谢谢
这是我的MATLAB例程;
O = 21; % Number of coefficients in a vector(coefficient)
M = 10; % Number of Gaussian mixtures
Q = 3; % Number of states (left to right) …Run Code Online (Sandbox Code Playgroud) matlab speech-recognition gaussian hidden-markov-models mfcc