問題タブ [hidden-markov-models]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 隠れマルコフ モデルで解決する問題の例を見つけるにはどうすればよいですか?
隠れマルコフ モデルをかなり読んで、かなり基本的なバージョンを自分でコーディングすることができました。
しかし、私が学ぶ方法は主に 2 つあります。1 つはそれを読んでコードに実装することであり (これは完了しています)、2 つ目はさまざまな状況でどのように適用されるかを理解することです (そのため、私が取り組んでいる問題とどのように関連するかをよりよく理解できます)。これまでに行ったすべての例には、ある種の DNA 予測またはコイン投げが含まれていました。
他のマルコフの問題を解決するためのリソースがあるかどうか疑問に思っています(言語は関係ありませんが、答えもあれば、私が正しいか間違っているかを知ることができます)?
python - それぞれが(辞書の)2つの辞書を持つ2つのタプルの加重平均
との加重平均を取得するための最も簡単/最短/最もPythonの方法a
はb
何でしょうか?
結果c = [(a * a_weight) + (b * b_weight) / (a_weight + b_weight)]
が同じ構造(a
とb
)を持つようにします。
誰かがPythonicの答えを知っているなら、ありがとう。
結果のc
構造の例
たとえば、a_weight
= b_weight
= 0.5(単純平均)の場合、c
の最初の'P':
行
'P': {'P': (0.9 + 0.3) / 2, 'Z': (0.1 + 0.3) / 2, 'N': (0.0 + 0.3) / 2}
の平均になります
a
's'P': {'P': 0.9, 'Z': 0.1, 'N': 0.0}
および
b
's 'P': {'P': 0.3, 'Z': 0.3, 'N': 0.3}
。
基本的に、sの平均だけですvalue
(すべてkey
がそのままである間)。
python - HiddenMarkovModelTrainer オブジェクトを初期化する
私はPythonでジェスチャー認識を行っていますが、隠れマルコフモデルを管理できることがわかったより完全なライブラリの1つはnltkです。しかし、私には理解できないことがあります。
まずはデータです。ジェスチャの座標があり、それらを 8 つのクラスター (k-means を使用) にクラスター化しました。これは私のジェスチャー構造です:
今、私は Baum-Welch と私の . したがって、HiddenMarkovModelTrainer は私のクラスです。
私はインターネットで baum welch のいくつかの実装を見つけましたが、Matlab でのみです。このアルゴリズムの実装には、通常、次の入力が必要です。
どこで - X は列車のデータ (私の場合はラベル) - アルファベットはデータの可能な値 (私の場合は - 0,1,2,3,4,5,6,7) - H 非表示の数状態
XをトレーニングするデータがHiddenMarkovModelTrainer.train_unsupervised()メソッドの入力であることを考えると、ntlk.HiddenMarkovModelTrainerコンストラクターで状態とシンボルを指定する必要があり、それらがどうあるべきかわからないため、混乱していますはシンボルです..状態に何を入れればよいかわかりません。
私の英語が下手でも、私の説明が明確であることを願っています。
machine-learning - K-meansクラスタリングとベクトル量子化の違いは何ですか?
K-meansクラスタリングとベクトル量子化の違いは何ですか?
それらは非常に似ているようです。
隠れマルコフモデルを扱っているので、特徴ベクトルからシンボルを抽出する必要があります。
シンボルを抽出するために、ベクトル量子化またはk-meansクラスタリングを実行しますか?
c# - C# WPF での Kinect の HMM アプリケーション
Kinect に C# WPF API で隠れマルコフモデルを適用したいのですが、可能かどうかわかりません。あれについてどう思う?これは良い作品ですか?一部の友人は、C++ または Matlab の方が優れたアプリケーション API であると言っています。しかし、私はそれらを知りません。Web 上で HMM C# のサンプル コードを見つけられませんでした。始めるべきですか?コメントありがとうございます。
python - インポート エラー ghmm ライブラリ
私はこのエラーが発生します:
しかし
なぜこのエラーが発生するのですか? 追加してみました
私の PYTHONPATH へ
しかし、うまくいきませんでした。
hidden-markov-models - どのタイプの分類システムを使用する必要がありますか?
加速度計からのモーションパターンデータで分類器をトレーニングする必要があります。時間サンプルごとに、XY座標とZ座標を保存しました。したがって、単一の動きが次のように私のデータセットで表されます。
ここで、[]の間の値はXYZコンポーネントを表します。
最初は、隠れマルコフモデルが私の問題に最も適していると思いました。しかし、データの状態を定義するのに問題があります。私が見つけたすべての例には、明確に定義された有限の状態のセットがあります(つまり、雨、晴れ、または曇り)。私のデータセットのすべての値は-11から+11の間にありますが、明らかに整数ではありません。それでも、これを状態として使用できますか?したがって、私に11 * 11 * 11 = 1331の状態を与えますか?そして、どのように遷移行列を計算しますか?
さらに、観察の数は動きによって異なります(同じクラスに属していますが)。
申し訳ありませんが、この質問は広すぎます。このタイプのデータを使用したHMMのチュートリアルへのポインタも大いに役立ちます。
ありがとう
machine-learning - HMM を手書き認識にどのように使用できますか?
問題は、従来の手書き認識とは少し異なります。次の何千ものデータセットがあります。(x, y)
1 つの描画された文字に対して、ペンが押し下げられた連続した座標がいくつかあります。したがって、これはシーケンシャル (時間的) 問題です。
このデータに基づいて手書き文字を分類できるようにしたいと考えており、学習目的で HMM を実装したいと考えています。しかし、これは正しいアプローチですか?これを行うためにどのように使用できますか?
math - 隠れマルコフ モデルの並列前方後方アルゴリズム
サイド プロジェクトとして、NVidia グラフィックス カードに隠れマルコフ モデルを実装して、多くのコアを使用してすばやく実行できるようにしたいと考えています。
私は Forward-Backward アルゴリズムを見ていますが、ここで並列化できるものは何だろうと思っていました。たとえば、アルゴリズムの前方部分を見ると、行列の乗算を分割して並列に実行できますが、前のステップに依存するアルゴリズムの反復部分を何らかの方法で並列化できますか? ここで適用できる数学的なトリックはありますか?
ありがとう、
mj
http://en.wikipedia.org/wiki/Forward%E2%80%93backward_algorithm#Example
hidden-markov-models - P(λ) が隠れマルコフ モデルの事前確率であるとはどういう意味ですか?
次のパラメータが与えられます。
- λ = (A、B、π)。
- A = 状態遷移行列
- A = { a[i][j] } = { P(t での状態 q[i] | t+1 での状態 q[j]) },
- B = 観測行列と
- π = 初期分布。
下の文は正しいですか?(λ と A の関係を明確にする):
a[i][j] = P(t での状態 q[i] | t+1 での状態 q[j]) =P(t での状態 q[i] | t+1 での状態 q[j]、λ )
助けてください!