我将重写一个使用Python中的Kevin Murphy的Toolbok的MATLAB脚本。
我知道在python中有一些HMM算法实现(Viterbi,Baum Welch,Backword Forward),所以我认为我具备了移植matlab所需的一切-> python。
我的MATLAB脚本使用在Learn_dhmm.m中编写的过程:
function [LL, prior, transmat, obsmat, gamma] = learn_dhmm(data, prior, transmat, obsmat, max_iter, thresh, verbose, act, adj_prior, adj_trans, adj_obs, dirichlet)
% LEARN_HMM Find the ML parameters of an HMM with discrete outputs using EM.
%
% [LL, PRIOR, TRANSMAT, OBSMAT] = LEARN_HMM(DATA, PRIOR0, TRANSMAT0, OBSMAT0)
% computes maximum likelihood estimates of the following parameters,
% where, for each time t, Q(t) is the hidden state, and
% Y(t) is the observation
% prior(i) = Pr(Q(1) = i)
% transmat(i,j) = Pr(Q(t+1)=j | Q(t)=i)
% obsmat(i,o) = Pr(Y(t)=o | Q(t)=i)
% It uses PRIOR0 as the initial estimate of PRIOR, etc.
我不明白这个程序实际上在做什么。
抱歉,我正在学习机械学习
最佳答案
我认为评论是解释性的:Find the ML parameters of an HMM with discrete outputs using EM.
您可以阅读以下经典文章以了解HMM:A tutorial on Hidden Markov Models and selected applications in speech recognition,L。Rabiner,1989,Proc.Natl.Acad.Sci.USA,87:5873。 IEEE 77(2):257--286。
上述功能解决了论文中的问题3(第264页)。
关于machine-learning - Kevin Murphy HMM工具箱中的学习dmm.m使用的算法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8464907/