2014-10-30 6 views
1

동일한 마코프 상태에 대해 여러 emmision 스펙트럼을 결합하려면 어떻게해야합니까? 다 변수 숨겨진 마코프 모델

는 이제 고전 HMM 예제를 사용하자 :

% states 
S = {sunny, rainy, foggy} 

% discrete observations 
x = {umbrella, no umbrella} 

이제 내가 여러 관측 순서가 있다면. 예 :

% sequence 1 
x1 = {umbrella, no umbrella} 

% sequence 2 
x2 = {wearing a coat, not wearing a coat} 

어떻게이 두 개의 관측 시퀀스를 하나의 HMM으로 결합 할 수 있습니까?

참고 : x1x2을 결합하여 해당 상호 종속성도 모델링하고 싶습니다. 따라서 단순히 x={x1 x2}이라고 말하면 (IMO) 좋은 해결책이 아닙니다.

[ESTTR,ESTEMIT] = hmmtrain(seq,TRGUESS,EMITGUESS) 

이는 나에게 하나의 seq를 삽입 할 수 있습니다 :


은 특히, 내가 matlab에의 hmmtrain 기반으로 HMM를 양성하고자합니다.

이제 HMM의 상태에 대해 모두 말하는 5 가지 emmision 스펙트럼이 있다고 가정 해 보겠습니다. 이 다 변수 사례를 어떻게 처리 할 수 ​​있습니까?

답변

4

각 세트에서 가능한 관측치를 Cartesian product에게 가져가는 것은 어떻습니까? 즉 새로운 이산 방출 모델은 없을 것입니다 :

  • 우산 착용-A-코트
  • 우산 착용하지-A-코트
  • 노 우산 착용-A-코트
  • 우산 및 비 착용 코트
+0

명백하게 이것은 HMMTRAIN이 처리 할 수있는 [다항 분포] (https://en.wikipedia.org/wiki/Multinomial_distribution) 일 것입니다. – Amro

+0

그러나 시퀀스 당 20 개의 방출 시퀀스와 4 개의 다른 상태가 있다면 어떻게 될까요? 데카르트 제품을 사용하면 거대한 계산 공간으로 문제가 폭발 할 것입니다. –

+1

사용하는 용어가 다소 혼란 스럽습니다 ... 위에서 제안한 값은 가능한 "관찰"집합입니다. ** sequence **는 단순히 시간에 따른 일련의 관찰 일뿐입니다 ... 다른 말로하면, 우리는 ** state **'s (k)'에 있다면't (i)'의 어떤 시점에서 배출 모델 확률 분포 (주사위 굴림을 생각해 보라)에 따라 상기 이산 ** 관측치 ** 중 하나를 방출하십시오. 분명히 당신은 너무 많은 관측이나 너무 많은 상태를 갖고 싶지 않을 것입니다. 그렇지 않으면 HMM 모델을 성공적으로 훈련시키기 위해 많은 양의 데이터가 필요할 것입니다. (차원의 저주) – Amro

1

특수 HMM을 선택하기위한 전제 조건은 어떻게 작성합니까? 거대한 HMM 대신 여러 개의 작은 HMM을 만들 수 있으며 관련 HMM 만 선택할 수 있습니다. 예 : if (umbrella = true)를 적용한 다음 HMM_1을 적용하고 HMM_2를 적용합니다. 그런 다음, 당신은 또한 HMM에서 배출 기호가 적습니다. 좋은 부작용 : 교육 및 테스트 시간을 절약 할 수 있습니다.