2012-04-16 21 views
0

マトリックスからマルコフモデルを生成するので、私は、次の種類のマトリックスからのマルコフモデルを生成する必要があります..私を修正してください{"4":[{2: "two"、3: "one"、2: "exit"}、{...}]、 "three":[{...}上記]}は定義が間違っている可能性があり

番号は特定の状態への遷移が発生しない回数を基本的に..

私はこのためのPythonを使用しています。 「私はアプローチのためのカップルを試みたが、彼らは非常に提供しませんでしたので、私は答えの一つは、物事を少し明確に役立つことを願っています」:通常の質問「?あなたは何を試してみました」と

回答。

ありがとうございます。

EDIT、フルマトリックスを表示するように更新。ここで

+1

入力マトリックスから完全なOPを表すことはできますか?あなたは説明が非常に明確ではありません – Abhijit

+0

はフルマトリックスを追加しました – Stpn

+0

'' three four two "e" 'のような行の物理的意義は何ですか?それは、基本的なマルコフ連鎖から、 '3-> 4-> 2'の状態からの特定の実現であり、その後終了するでしょうか? – Hooked

答えて

1

あなたは(これらは確率だろう)遷移の行列を与えられたのではなく、根本的なマルコフモデルに起因する観測された遷移のシーケンスしていません。

これらの観測値が無限に存在しない限り、基になる遷移パラメータを正確に再構成することはできません。ただし、観察可能なシーケンスが(おそらく)になるようにトランジションを選択できます。あなたの質問を理解したら、Hidden Markov Modelsの解決策を検討する必要があります。自由に利用できるPythonモジュールGHMMはhereです。

+0

ありがとう、GHMMが実際に仕事をするかもしれないように見えます。 – Stpn

0

はアイデアです: の代わりに(Pythonで非常に有効ではありません){"four":[{2:"two", 3:"one",2:"exit"},{...}],"three":[{...}]}を作成しようとしている、(内部辞書内の順序の変化に気づく){"four":[{"two":2, "one":3, "exit":2},{...}],"three":[{...}]}を作成してみてください。

Iterate over the matrix, for each line: 
    if the first word isn't in the big dictionary, add it. 
    if the second word isn't in its sub-dictionary, add it, otherwise add 1 to its value. 
関連する問題