2013-04-12 62 views
0

我對HMM並不熟悉,但我想在Matlab中實現。我想用這個工具箱HMM Toolbox。我不確定我是否理解了我必須實施的方式。如果有不同類別的許多狀態訓練序列。所以這是我會做的方式:我通過[TRANS,EMIS] = hmmestimate(seq,states)這代表了HMM 用Matlab實現HMM

  • 我保存這些矩陣與類屬
  • 我做的信息計算每個序列的過渡和發射矩陣

    1. 這對於每個訓練序列
    2. 如果我得到一個觀測序列進行分類,我使用hmmviterbi(seq,TRANS,EMIS)函數來計算每個我已經保存的HMM的「可能性」。
    3. 最「likelyness」一個(最高百分比)是我所盼望的HMM - >我知道類

    這是我可以實現HMM的方式嗎?

    我希望你能給我一些提示

    Btw。我知道我的英語不太好,但我希望這是可以理解的。

  • 回答

    0

    雖然我不知道matlab,並不能幫助你在那個領域,你的步驟聽起來是正確的。以下是我將執行它們的步驟:

    • 您首先使用您的訓練集創建一個模型來表示該組。
    • 針對您希望系統識別的每種情況重複此操作(例如,每種情況的模型)
    • 當您有輸入集時,將其與每個模型進行比較並保留概率/置信度分數。
    • 比較這些分數,並選擇最強的結果(只要它是在您設置的閾值)

    編輯:我發現從以前的問題,一個很好的例子here。要回答你在評論中提供的鏈接是否正確,我不得不說是,但之前沒有使用過HMM,所以無法確認這些功能的使用。我建議你看看上面問題鏈接的答案,並通過它,因爲這是對我上面簡單步驟的更深入的解釋。

    +0

    感謝您的回答...你可能看看這個描述:http://www.mathworks.de/de/help/stats/hmmtrain.html 它看起來像正確的訓練方法,但我不知道我應該怎麼估計martrix? (我想實現複雜的手勢識別) – xandi1987