Скрытая модель Маркова, наиболее вероятный путь состояния
STATES = hmmviterbi(seq,TRANS,EMIS)
hmmviterbi(...,'Symbols',SYMBOLS)
hmmviterbi(...,'Statenames',STATENAMES)
STATES = hmmviterbi(seq,TRANS,EMIS)
заданная последовательность, seq
, вычисляет наиболее вероятный путь через скрытую модель Маркова, заданную матрицей вероятностей перехода, TRANS
, и матрица вероятностей выбросов EMIS
. TRANS(i,j)
- вероятность перехода от состояния i
в состояние j
. EMIS(i,k)
- вероятность того, что символ k
излучается из состояния i
.
Примечание
Функция hmmviterbi
начинается с модели в состоянии 1 на шаге 0, перед первым выбросом. hmmviterbi
вычисляет наиболее вероятный путь на основе того, что модель начинается в состоянии 1.
hmmviterbi(...,'Symbols',SYMBOLS)
задает символы, которые испускаются. SYMBOLS
может быть числовым массивом, строковыми массивами или массивом ячеек с именами символов. Символы по умолчанию являются целыми числами 1
через N
, где N
количество возможных выбросов.
hmmviterbi(...,'Statenames',STATENAMES)
задает имена состояний. STATENAMES
может быть числовым массивом, строковыми массивами или массивом ячеек с именами состояний. Имена состояний по умолчанию: с 1 по M
, где M
количество состояний.
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); estimatedStates = hmmviterbi(seq,trans,emis); [seq,states] = ... hmmgenerate(100,trans,emis,... 'Statenames',{'fair';'loaded'}); estimatesStates = ... hmmviterbi(seq,trans,emis,... 'Statenames',{'fair';'loaded'});
[1] Дурбин, Р., С. Эдди, А. Крог и Г. Митчисон. Анализ биологической последовательности. Кембридж, Великобритания: Cambridge University Press, 1998.