Скрытая модель Маркова следующие вероятности состояния
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.