私はPythonでジェスチャー認識を行っていますが、隠れマルコフモデルを管理できることがわかったより完全なライブラリの1つはnltkです。しかし、私には理解できないことがあります。
まずはデータです。ジェスチャの座標があり、それらを 8 つのクラスター (k-means を使用) にクラスター化しました。これは私のジェスチャー構造です:
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 と私の . したがって、HiddenMarkovModelTrainer は私のクラスです。
私はインターネットで baum welch のいくつかの実装を見つけましたが、Matlab でのみです。このアルゴリズムの実装には、通常、次の入力が必要です。
baum-welch(X, alphabet, H)
どこで - X は列車のデータ (私の場合はラベル) - アルファベットはデータの可能な値 (私の場合は - 0,1,2,3,4,5,6,7) - H 非表示の数状態
XをトレーニングするデータがHiddenMarkovModelTrainer.train_unsupervised()メソッドの入力であることを考えると、ntlk.HiddenMarkovModelTrainerコンストラクターで状態とシンボルを指定する必要があり、それらがどうあるべきかわからないため、混乱していますはシンボルです..状態に何を入れればよいかわかりません。
私の英語が下手でも、私の説明が明確であることを願っています。