hmmdecode
은닉 마르코프 모델 사후 상태 확률
구문
PSTATES = hmmdecode(seq,TRANS,EMIS)
[PSTATES,logpseq] = hmmdecode(...)
[PSTATES,logpseq,FORWARD,BACKWARD,S] = hmmdecode(...)
hmmdecode(...,'Symbols',SYMBOLS)
설명
PSTATES = hmmdecode(seq,TRANS,EMIS)
는 은닉 마르코프 모델로부터 시퀀스 seq
의 사후 상태 확률 PSTATES
를 계산합니다. 사후 상태 확률은 관측된 기호 sym
의 시퀀스가 주어졌을 때 단계 i에서 상태가 k일 조건부 확률입니다. 전이 확률 행렬 TRANS
와 출력(Emission) 확률 행렬 EMIS
로 모델을 지정해야 합니다. TRANS(i,j)
는 상태 i
에서 상태 j
로 전이할 확률입니다. EMIS(k,seq)
는 기호 seq
가 상태 k
에서 출력될 확률입니다.
PSTATES
는 seq
와 길이가 같은 배열이며, 모델의 각 상태에 대해 하나의 행을 갖습니다. PSTATES
의 (i, j)번째 요소는 시퀀스 seq
가 주어졌을 때 모델이 j번째 단계에서 상태 i에 있을 확률입니다.
참고
함수 hmmdecode
는 첫 번째 출력 전에 단계 0에서 상태 1에 있는 모델로 시작합니다. hmmdecode
는 모델이 상태 1에서 시작한다는 사실을 근거로 PSTATES
의 확률을 계산합니다.
[PSTATES,logpseq] = hmmdecode(...)
는 전이 행렬 TRANS
와 출력 행렬 EMIS
가 주어졌을 때 시퀀스 seq
의 확률에 대한 로그 logpseq
를 반환합니다.
[PSTATES,logpseq,FORWARD,BACKWARD,S] = hmmdecode(...)
는 S
로 스케일링된 시퀀스의 전향 확률과 후향 확률을 반환합니다.
hmmdecode(...,'Symbols',SYMBOLS)
는 출력되는 기호를 지정합니다. SYMBOLS
는 숫자형 배열, string형 배열 또는 기호 이름으로 구성된 셀형 배열일 수 있습니다. 디폴트 기호는 정수 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., S. Eddy, A. Krogh, and G. Mitchison. Biological Sequence Analysis. Cambridge, UK: Cambridge University Press, 1998.
버전 내역
R2006a 이전에 개발됨