私はPythonでジェスチャー認識を行い、隠れマルコフモデルを管理できるより完全なライブラリはnltkです。しかし、私は理解できないことがあります。HiddenMarkovModelTrainerオブジェクトを初期化する
まず、データ。私はジェスチャーの座標を持っており、私はそれらを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 ...]
今私は私と一緒にHMMをバウムウェルチと訓練したいと思います。だからHiddenMarkovModelTrainerは私のクラスです。
私は、インターネットではいくつかのbaum welchの実装を見つけましたが、Matlabだけです。 - X(私の場合 - ラベル)の列車のためのデータである - 私の場合には(データの可能な値をアルファベット - 0,1
baum-welch(X, alphabet, H)
が
:これの実装はtipicallyこの入力を必要とするアルゴリズム、2,3,4,5,6,7) - H ntlk.HiddenMarkovModelTrainerコンストラクタで、私は状態にとシンボルを与えなければならないと私はドンので、隠れ状態の数が
今私は混乱しています」 Xを訓練するためのデータがHiddenMarkovModelTrainer.tのimputであることを考慮して、彼らが何をすべきかを知っているrain_unsupervised()メソッド私はアルファベットが記号であると思う。私は州に入れるべきものを知らない。
私の英語が貧弱であっても、私の説明が明確であることを望みます。
のおかげではなく、あなたの例では、私はいくつかのエラーを持っている:
だから私はこのコードでそれをしようとするだろう。まず、* 'set'オブジェクトはインデックス作成*をサポートしていません。 * '' int 'オブジェクトがサブスクライブできない' * – nkint
、 'a'、 'b'、 'c'などのcharsのようにobserx_sequenceとsymbolsを使用すると、呼び出し時にリストが使用されます。私は* 'IndexError:文字列インデックスが範囲外です' * – nkint
コード内のエラーについて申し訳ありません、私のバージョンのNLTKに苦しんでいますHMMトレーナーのバグ(http://code.google.com/p/nltk/issues/detail?id=681#c0)...「モデルの使い方について」''( '' '、' None ')、(' b '、None)] 'のように入力してみてください。 – wutz