hmmgenerate
은닉 마르코프 모델의 상태 및 출력
구문
[seq,states] = hmmgenerate(len,TRANS,EMIS)
hmmgenerate(...,'Symbols',SYMBOLS)
hmmgenerate(...,'Statenames',STATENAMES)
설명
[seq,states] = hmmgenerate(len,TRANS,EMIS)
는 알려진 마르코프 모델(전이 확률 행렬 TRANS
와 출력 확률 행렬 EMIS
로 지정됨)을 받고, 이를 사용하여 다음을 생성합니다.
출력 기호로 구성된 랜덤 시퀀스
seq
상태로 구성된 랜덤 시퀀스
states
seq
와 states
의 길이는 모두 len
입니다. TRANS(i,j)
는 상태 i
에서 상태 j
로 전이할 확률입니다. EMIS(k,l)
은 기호 l
이 상태 k
에서 출력될 확률입니다.
참고
함수 hmmgenerate
는 첫 번째 출력 전에 스텝 0에서 상태 1에 있는 모델로 시작합니다. 그러면 모델은 확률 T1i1로 상태 i1로 전이되고 확률 Ei1k11로 출력 ak1을 생성합니다 . hmmgenerate
는 states
의 첫 번째요소로 i1을 반환하고 seq
의 첫 번째 요소로 ak1을 반환합니다.
hmmgenerate(...,'Symbols',SYMBOLS)
는 출력되는 기호를 지정합니다. SYMBOLS
는 숫자형 배열 또는 string형 배열로 지정하거나, 문자형 벡터로 구성된 셀형 배열로 지정할 수 있습니다. 디폴트 기호는 정수 1
부터 N
까지입니다. 여기서 N
은 가능한 출력 개수입니다.
hmmgenerate(...,'Statenames',STATENAMES)
는 상태의 이름을 지정합니다. STATENAMES
는 숫자형 배열 또는 string형 배열로 지정하거나, 문자형 벡터로 구성된 셀형 배열로 지정할 수 있습니다. 디폴트 상태 이름은 1
에서 M
까지입니다. 여기서 M
은 상태의 개수입니다.
모델은 항상 상태 1에서 시작하고 TRANS
의 첫 번째 행에 있는 전이 확률을 가집니다(다음 예제에서 출력값 states
의 첫 번째 요소는 1에 대해 확률 0.95를 가지고, 2에 대해 확률 0.05를 가집니다).
예제
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) [seq,states] = hmmgenerate(100,trans,emis,... 'Symbols',{'one','two','three','four','five','six'},... 'Statenames',{'fair';'loaded'})
버전 내역
R2006a 이전에 개발됨