Main Content

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에서 출력될 확률입니다.

PSTATESseq와 길이가 같은 배열이며, 모델의 각 상태에 대해 하나의 행을 갖습니다. 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 이전에 개발됨