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) th элемент PSTATES дает вероятность, что модель находится в i состояния в j th шаг, учитывая последовательность 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] Durbin, R., С. Эдди, А. Крог и Г. Мичисон. Биологический анализ последовательности. Кембридж, Великобритания: Издательство Кембриджского университета, 1998.

Смотрите также

| | |

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