我有一個觀察鳥類運動的500個序列。我想預測這隻鳥的第501次運動是什麼。我搜索了網頁,我想這可以通過使用HMM來完成,但是我對這個主題沒有任何經驗。任何人都可以解釋用於解決這個問題的算法的步驟?隱馬爾可夫模型預測下一個觀察
回答
x1-x2-x3-x4-x5......x500-x501
| | | | | |
y1 y2 y3 y4 y5 y500
x - actual state
y - observations
P(y_i|x_i) - how you think the observation depends on the actual state
P(x_i|x_(i-1)) - how you think the actual state evolves
for i = 1,2,3...,501:
write down best-guess of x_i based on y_i* and x_(i-1)**
you have your solution, since you only care about the last state
* missing in step 1
** missing in step 501
上面被稱爲前後算法(http://en.wikipedia.org/wiki/Forward-backward_algorithm),並且是和 - 積算法的一個特殊的情況下(貝葉斯網絡樹和馬爾可夫網絡樹)在此特定種類的樹的(一個簡單的鏈節點掛起)。你可以忽略「倒退」步驟,因爲你不需要它,因爲你只關心最後一個狀態。
如果您的HMM的轉移概率是未知的,你必須:
- 執行學習算法,如EM
- 採取天真的猜想(上HMM模型進行時稱爲鮑姆 - 韋爾奇)基於領域知識(例如,如果您的隱藏狀態是DNA,您可以通過手動標記DNA數據上的轉換和計算頻率來計算給定之前狀態的轉換事件的頻率)
抱歉,我無法理解你的答案。我只有一個0到8之間的500個數字序列(如5,4,6,6,...,0,2)。我想獲得最可能的第501個數字。 – user975733
首先想想這些問題:** 1)**'「我的真實/隱藏狀態的範圍是什麼?(它可能不是0-8,它可能是0-100甚至非數字像{ '高','低'})「** 2)**'」如果我觀察到5,那麼對於真實/隱藏狀態是什麼意思?「** 3)**'」如果真實在時間= t處的狀態是[某事物],我認爲時間= t + 1時的狀態會是什麼?(例如,如果x500 ='高',那麼它很可能會轉變爲飛行'低' ?)「' – ninjagecko
- 1. 隱馬爾可夫模型
- 2. 如何使未來的預測與隱馬爾可夫模型
- 3. Matlab隱馬爾可夫模型數據預測
- 4. 隱馬爾可夫模型每種狀態的多個觀察值
- 5. 使用多個連續觀察變量的隱馬爾可夫模型
- 6. 用矩陣(NxN)觀察創建離散隱馬爾可夫模型?
- 7. 用C++隱馬爾可夫模型
- 8. 隱馬爾可夫模型工具:Jahmm
- 9. 馬爾可夫鏈與隱馬爾可夫模型有什麼區別?
- 10. 爲什麼在鮑姆韋爾奇算法中使用隱馬爾可夫模型與馬爾可夫模型
- 11. 使用非均勻隱馬爾可夫模型預測降雨量
- 12. 隱藏馬爾科夫模型閾值
- 13. 隱馬爾可夫在PyMC3
- 14. 使用HIdden馬爾科夫模型進行預測
- 15. 流利NHibernate:模型馬爾可夫鏈
- 16. 隱馬爾可夫模型中的計算分佈
- 17. R中訓練隱馬爾可夫模型
- 18. 隱馬爾可夫模型的並行前後向算法
- 19. 使用隱馬爾可夫模型設計AI mp3播放器
- 20. 使用隱馬爾可夫模型的手形分析
- 21. 基本隱馬爾可夫模型,維特比算法
- 22. 在.net中隱藏馬爾可夫模型實現?
- 23. 三面骰子的隱馬爾可夫模型
- 24. 如何適應數據到隱馬爾可夫模型sklearn/hmmlearn
- 25. 隱馬爾可夫模型貝葉斯關係
- 26. 隱藏的馬爾可夫模型包在R
- 27. R優化隱馬爾可夫模型中的狀態數
- 28. 遊戲中的隱馬爾可夫模型
- 29. 時間序列的隱馬爾可夫模型
- 30. pmtk-3左右隱馬爾可夫模型
我會爭論一些已經存在的。 ..詳細... http://en.wiki pedia.org/wiki/Hidden_Markov_model – Gleno