問題タブ [viterbi]
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.
machine-learning - HMM ジェスチャ認識との混同
HMM理論について読んでいます。私が理解していることから、HMMを続けるには、初期確率、遷移確率、および放出確率が必要です。HMM の実装について私が見た例では、これらすべての確率が開始時に定義されています。しかし、問題は、HMM を使用してジェスチャを認識したいのですが、確率 (つまり、遷移確率と放出確率行列) を定義する方法を理解できていないことです。ビタビ アルゴリズムを使用して最適なシーケンスを取得する方法、または前方後方を使用して推論を取得する方法を知っています。心配しているのは開始確率だけです。
これに関して誰でも私を案内できますか?
algorithm - ビタビ ブロックの復号化
これがここに当てはまるかどうかはわかりませんが、次のようになります。
Hamming Block Codeを使用してエンコードされたノイズの多いデータがあり、 Viterbi Decoderを使用してデコードしたいと考えています。
宿題を作ったので、Viterbi Block Decoder がどのように機能するかはわかりましたが、かなりの時間がかかり、最適ではない可能性があるため、すべてを自分で実装することは避けたいと思います。
私の質問は次のとおりです。Viterbi Block Decoder の matlab 関数を知っていますか? comm.ViterbiDecoderを見つけましたが、畳み込みエンコーディング専用です。
その間、将来必要になる可能性がある場合に備えて、エンコーダーからできるだけ多くの情報を取得しようとしました (以下のコードを参照)。
matlab - HMM ツールボックスの問題
最近、HMM のトレーニングを行っています。HMM ツールボックスを使用しました。しかし、いくつかの問題があり、解決できませんでした。
以下に示すように、うーんを訓練します。ここには問題はありません。
/li>ビタビ アルゴリズムを使用して、HMM 状態トレリスを通る最も可能性の高いパスを見つけます。
今、問題があります。「obslik」の意味がわかりません。それはobservematrix1ですか?
シーケンスの確率を取得したいのですが、「fwdback」関数を使用する必要があるかどうかわかりません。もしそうなら、「obslik」はどういう意味ですか?
ありがとう!!!
r - ゲノミクス マーカー間で発光行列を変更する HMM でのビタビ アルゴリズムの実装
SNP 遺伝子型データに基づいて祖先を割り当てるための隠れマルコフ アプローチの実装について、助けを求めたいと思います。そのように生成された遷移行列があるとします。
発光マトリックスは n 8x4 マトリックスのリストであり、n はデータ内の SNP/行の数に等しくなります。たとえば、3 つの SNP/行にわたる 8 つのサンプル (A1 ~ A8) の次のデータがあるとします。
リストの行列 1 は次のようになります。
7 つのサンプルが行 1 に T を持っているため、各サンプルの確率は 1/7 です。A8 だけが C を持っているため、C を A8 に割り当てる確率は 100% です。行 3 の場合、出力は次のようになります。
前述の遷移行列と放出行列のリストを使用して、対立遺伝子の任意のシーケンスにビタビ アルゴリズムを実装したいと考えています。私が現在持っているコードは、行ごとに異なる放出マトリックスを使用することはできません
algorithm - 2 次 HMM のビタビ アルゴリズム
2 次 HMM でビタビ アルゴリズムの (できれば MATLAB) コードを見つけようとしています。一次モデルに適用する方法を知っており、二次モデルの概念を理解しています。ただし、2次モデルに実装するのに問題があります。誰かが私に何か良い参考文献を教えてもらえますか? 私は Google を検索しましたが、驚くべきことに、合理的に明確なものを見つけることができませんでした。
また、これを既に実装している MATLAB ライブラリはありますか? 一次HMM用のものがあることは知っています。ありがとう
matlab - Matlab での高速 DP (プロファイル HMM の Viterbi)
Matlab での viterbi logodds 計算の効率に問題があります。
基本的に私の問題は、ネストされたループが必須であり、コードの速度が大幅に低下することです。これは高価な部分です:
プロファイル HMM に viterbi を実装したのは私が初めてではないと思うので、何かアドバイスがあるかもしれません。また、Matlab 独自の hmmviterbi も調べましたが、啓示はありませんでした (ネストされたループも使用しています)。max をいくつかのプリミティブ操作に置き換えることもテストしましたが、顕著な違いはありませんでした (実際には少し遅くなりました)。
r - 行列のビタビ復号化
目的 : 行列を使用した隠れシーケンスのグローバルなデコード。ステップバイステップのコードは次のとおりです。
ラムダ=rbind(c(0.999,0.0002,0.0003,0.0004,0.0001),c(0.001,0.9930,0.010,0.004,0.002),c(0.0004,0.0020,0.9900,0.0075,0.0001),c(0.0000307 ,0.9940,0.0020),c(0.0010,0.0005,0.0040,0.0020,0.9925))
P=cbind(c(0.6,0.1,0.1,0.2),c(0.25,0.3,0.2,0.25),c(0.1,0.6,0.2,0.1),c(0.25,0.2,0.4,0.1),c( 0.5,0.2,0.2,0.1))
隠しシーケンスのビタビ復号化を解決する関数を作成し、エラーを表示したため、グラフをプロットして違いを特定できませんでした.誰かが私のためにこれを修正できますか.
nlp - POS タグ付けにビタビ アルゴリズムを実装する場合、HMM の開始状態と終了状態は必要ですか?
隠れマルコフ モデルで開始状態と終了状態を使用する方法がよくわかりません。これらは、移行マトリックスと排出マトリックスを設計および実装するために必要ですか?
algorithm - ビタビ アルゴリズム - スコア
リープモーションコントローラーを使用するプロジェクトに取り組んでいます。隠れマルコフ モデルを使用して、手が左に動いているか、右に動いているかをモデル化しています。このために、私は次のことを行います。
1) リープ モーション コントローラーからライブ データを取得します (各セットに 2 つの値を含む 80 の値)。
2) 特徴抽出「速度ベクトル」
ライブデータをプロットしましたが、特徴がうまく抽出されているようです。今、私の問題は HMM を生成することです。このために、最初の 80 個の値を 2 次元ベクトル内に格納し、これらの値を使用して各モデルを初期化してトレーニングします。次に例を示します。
-> ライブ データ -> 左 -> 最初の 80 個の値をキャプチャ -> HMM を初期化 -> HMM をトレーニング
-> ライブデータ -> 右 -> 最初の 80 個の値をキャプチャ -> HMM を初期化 -> HMM をトレーニング
次に、各モデルの出力を異なるテキスト ファイルに保存します。
この問題の認識部分では、値を読み取って HMM のモデルを形成し、ライブ データについても特徴を抽出し、これをviterbi_scoring
アルゴリズムに渡します。このために、以下を渡します:raw extracted features
と各モデル。
次に、各スコアを出力しますが、どれも意味がありません。どこが間違っているのか分からないようです。方法は正しいようです。
どんな助けや提案も大歓迎です。