저는 제스처 인식을 파이썬으로하고 있으며, 숨겨진 마르코프 모델을 관리 할 수있는보다 완벽한 라이브러리는 nltk입니다. 그러나 내가 이해할 수없는 것이 있습니다.HiddenMarkovModelTrainer 객체를 초기화하십시오.
우선 데이터입니다. 나는 제스처의 좌표를 가지고 있고 그것들을 8 클러스터로 (k- 수단으로) 클러스터 화했다. 그래서 이것은 제 제스처 구조입니다 :
raw coordinates x,y: [[123,16], [120,16], [115,16], [111,16], [107,16], [103,17], ...]
centroids x,y : [[ 132.375 56.625 ]
[ 122.45454545 30.09090909]
[ 70.5 27.33333333]
...]
labels: [5 6 6 6 6 6 6 2 2 2 2 2 2 4 4 4 ...]
이제 저는 Baum-Welch와 HMM을 훈련시키고 싶습니다. 그래서 HiddenMarkovModelTrainer가 제 수업입니다.
저는 인터넷에서 baum welch의 몇 가지 구현을 찾았지만 Matlab에서만 발견되었습니다. 이것의 구현은 tipically이 입력이 필요 알고리즘 : 내 경우 (데이터의 가능한 값을 알파벳 - - - - X (라벨 내 경우) 기차에 대한 데이터입니다 이
baum-welch(X, alphabet, H)
를 0,1 , 2,3,4,5,6,7) - H ntlk.HiddenMarkovModelTrainer 생성자에서 내가 상태를 및 상징을 제공해야하고 내가 돈 때문에
이 지금은 혼란 스러워요 숨겨진 상태의 수 ' X를 훈련 할 데이터가 HiddenMarkovModelTrainer.t의 입력 값이라는 점을 감안할 때, 그들이 무엇인지 알아야합니다. rain_unsupervised() method 나는 내 알파벳이 상징이라고 생각한다. 나는 무엇을 주에 넣어야할지 모른다.
영어가 부족하더라도 내 설명이 분명하기를 바랍니다.
감사하지만 예에서 나는 몇 가지 오류가 있습니다
그래서 나는이 코드를 시도 할 것입니다. 첫째, * 'set'객체는 색인 생성 *을 지원하지 않습니다. 만약 내가 목록 대신 집합을 사용하면 : * ''int '객체는 unsubscriptable입니다. * – nkint
그리고'a ','b ','c '등과 같은 기호를 관찰 된 시퀀스 및 기호로 사용하면 .. 호출 할 때 model.probability ([ 'a', 'b']) 또는 model.probability ('ab') * 'IndexError : 문자열 인덱스가 범위를 벗어났습니다.'* – nkint
코드의 오류로 불편을 끼쳐 드려 죄송합니다. HMM 트레이너의 버그 (http://code.google.com/p/nltk/issues/detail?id=681#c0) ... '모델 사용 정보.확률':이 메소드는 태그가 붙은 토큰의 순서를 기대하는데, 그 주된 목적은 POS 태깅이기 때문에 다음과 같이 입력을 시도하십시오 :'[('a', None), ('b', None)]' – wutz