1

저는 JaHMM에 구현 된 HMM을 Android wearable에서 얻은 가속도계 및 자이로 스코프의 센서 데이터로 교육합니다.분류 HMM 자이로 스코프 데이터 Jahmm 모델을 배울 수 없습니다.

가속도계 데이터로 학습 된 HMM은 학습 된 상태를 출력하며 다소 오류가 있습니다. 다음과 같이

모두 현대 상선의 초기화된다

HMM이 상태 (들)

상태 0 파이로 : 가속도계 데이터 훈련 HMM에 대한

Hmm<ObservationVector> hmm = new Hmm<>(2, new OpdfMultiGaussianFactory(3)); 

    hmm.setPi(0, 0.5); 
    hmm.setPi(1, 0.5); 

    hmm.setOpdf(0, new OpdfMultiGaussian(
      new double[]{0,0,0}, 
      new double[][] {{0.1,0,0}, 
          {0,0.1,0}, 
          {0,0,0.1} 
      })); 
    hmm.setOpdf(1, new OpdfMultiGaussian(
      new double[]{0,0,0}, 
      new double[][] {{0.1,0,0}, 
          {0,0.1,0}, 
          {0,0,0.1} 
          })); 


    hmm.setAij(0, 0, 0.5); 
    hmm.setAij(0, 1, 0.5); 

    hmm.setAij(1, 0, 0.5); 
    hmm.setAij(1, 1, 0.5); 

출력 0.5000000000000188 Aij : 0.5 0.5 Opdf : 다변량 가우시안 분포 --- 평균 : [0.036 -0.051 0.075]

상태 1 파이 : 0.5000000000000188 AIJ 0.5 0.5 Opdf : 다 (多) 변수 가우스 분포 --- 평균 : 0.036 -0.051 0.075]

그러나, HMM은 자이로 훈련 데이터 수 HMM의 상태를 배울 것 같아서 시도한 반복 학습 (500 회 반복)이 없습니다. 예 : 배운 상태 확률은 자이로 스코프 데이터와 훈련 HMM 단지 NaN이

출력입니다 :

2 상태 (들)

상태 0 파이와 HMM : NaN이 AIJ? ? Opdf : 다중 변량 가우시안 분포 --- 평균 : [? ? ? ]

상태 1 Pi : NaN Aij :? ? Opdf : 다중 변량 가우시안 분포 --- 평균 : [? ? ? ]

이 문제의 원인은 무엇입니까? HMM에서 데이터를 사용할 수 있기 전에 수행해야 할 전처리 또는 정규화 단계가 있습니까? HMM의 상태 수가 불충분합니까? 저는 5 개 주에서 시도했지만 동일한 결과를 산출합니다.

가속도계에 대한 교육 파일의 조각은 여기에서 볼 수있다 : https://gist.github.com/Gudui/91d2c6b2452f1ea6a5c925b1eed9b40c

자이로 스코프에 대한 교육 파일의 조각은 여기에서 볼 수있다 : 두 훈련 파일의 경우 https://gist.github.com/Gudui/987cc1c1a7c0311a03988b818e7cbbcb

, 각 라인 대표 훈련 순서.

라이브러리는 여기에 있습니다 : 사전에 https://github.com/tanjiti/jahmm

감사합니다!내 댓글 정성 들여

+0

-.하지만 2 일 (1) 가우시안을 무작위 값으로 초기화 (2) 데이터를 정규화하고 희게한다. 즉, 데이터에 평균이없고 비 상관 좌표 (예 : PCA)가 있는지 확인한 다음 다시 시도한다. –

+0

불확실하다. (1) 무엇을 의미합니까? 당신이 설명하면 대답으로 받아 들일 것입니다. 시도하고 받아 들일 수있는 결과를 낳은 내 자이로 스코프 값을 표준화. 감사합니다! @ItamarKatz – Peter

+0

내 대답보기 (1) –

답변

1

, 내가 제안 :

, 즉 가우스 PDF의 사용 무작위로 초기화하는 대신 [0,0,0]에 수단 벡터를 초기화하고, 0.1 배 공분산 행렬 행렬
  1. , 당신이로 이제 임의의 값 또는 데이터를 기반으로 한 경험적 평균과 공분산을 사용하십시오.
  2. 희게 데이터, 즉이 각각 coordiantes가 상관 할 PCA를 사용하는 경우에도 좌표 (또는 제로 평균과 단위 분산이 있는지 확인입니다
난 그냥 데이터를보고 추측하고
+0

그냥 빠른 주석 @ Itamar Katz, 정확히 무엇입니까 평균 벡터와 공분산 행렬의 무작위 값, 그리고 내 데이터를 기반으로 공평한 평균과 공분산을 추출하거나 계산하는 방법은 무엇입니까? – Peter

+0

hmm의 학습은 반복적이며,'hmm.setOpdf'를 사용하여 초기 값을 제공합니다 (나는이 라이브러리를 모른다 고 추측합니다). –

관련 문제