Какой алгоритм используется в learn_dmm.m в наборе инструментов Kevin Murphy HMM? - PullRequest
1 голос
/ 11 декабря 2011

Я собираюсь переписать скрипт MATLAB, использующий набор инструментов Кевина Мерфи в Python.

Я знаю, что в Python есть некоторые реализации HMM-алгоритмов (Витерби, Баум Уэлч, 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.

Я не понимаю, что на самом деле делает эта процедура.

извините, я только подхожу к обучению машинному делу

1 Ответ

1 голос
/ 13 декабря 2011

Я думаю, что комментарий является пояснительным: Find the ML parameters of an HMM with discrete outputs using EM.

Вы можете прочитать эту классическую статью, чтобы понять HMM: Учебник по скрытым марковским моделям и избранным приложениям в распознавании речи , LРабинер, 1989, Proc.IEEE 77 (2): 257-286.

Вышеприведенная функция решает проблему 3 (стр. 264) в статье.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...