exponenta event banner

hmmdecode

Вероятность заднего состояния скрытой модели Маркова

Синтаксис

PSTATES = hmmdecode(seq,TRANS,EMIS)
[PSTATES,logpseq] = hmmdecode(...)
[PSTATES,logpseq,FORWARD,BACKWARD,S] = hmmdecode(...)
hmmdecode(...,'Symbols',SYMBOLS)

Описание

PSTATES = hmmdecode(seq,TRANS,EMIS) вычисляет вероятности заднего состояния, PSTATES, последовательности seq, от скрытой модели Маркова. Вероятности заднего состояния являются условными вероятностями нахождения в состоянии k на шаге i, учитывая наблюдаемую последовательность символов, sym. Модель задается матрицей вероятности перехода, TRANSи матрица вероятности выбросов, EMIS. TRANS(i,j) - вероятность перехода из состояния i указывать j. EMIS(k,seq) - вероятность того, что символ seq испускается из состояния k.

PSTATES - массив с той же длиной, что и seq и одну строку для каждого состояния в модели. (i, j) -й элемент PSTATES дает вероятность того, что модель находится в состоянии i на j-м шаге, учитывая последовательность seq.

Примечание

Функция hmmdecode начинается с модели в состоянии 1 на шаге 0, перед первым излучением. hmmdecode вычисляет вероятности в PSTATES на основании того, что модель начинается в состоянии 1.

[PSTATES,logpseq] = hmmdecode(...) прибыль logpseq, логарифм вероятности последовательности seq, заданная матрица перехода TRANS и матрица выбросов EMIS.

[PSTATES,logpseq,FORWARD,BACKWARD,S] = hmmdecode(...) возвращает прямую и обратную вероятности последовательности, масштабированной S.

hmmdecode(...,'Symbols',SYMBOLS) определяет символы, которые излучаются. SYMBOLS может быть числовым массивом, строковым массивом или массивом ячеек имен символов. По умолчанию используются целые числа 1 через N, где N - количество возможных выбросов.

Примеры

trans = [0.95,0.05;
         0.10,0.90];
emis = [1/6 1/6 1/6 1/6 1/6 1/6;
   1/10 1/10 1/10 1/10 1/10 1/2];
 
[seq,states] = hmmgenerate(100,trans,emis);
pStates = hmmdecode(seq,trans,emis);
[seq,states] = hmmgenerate(100,trans,emis,...
   'Symbols',{'one','two','three','four','five','six'})
pStates = hmmdecode(seq,trans,emis,...
   'Symbols',{'one','two','three','four','five','six'});

Ссылки

[1] Дурбин, Р., С. Эдди, А. Крог и Г. Митчисон. Анализ биологических последовательностей. Кембридж, Великобритания: Cambridge University Press, 1998.

Представлен до R2006a