簡體   English   中英

基本隱馬爾可夫模型,維特比算法

[英]Basic Hidden Markov Model, Viterbi algorithm

我對隱馬爾可夫模型相當新,我試圖圍繞理論的一個非常基本的部分。

我想使用HMM作為分類器,因此,給定一個時間序列的數據,我有兩個類:背景和信號。

如何估算每個班級的排放概率? 維特比算法是否需要背景模板和信號來估計概率(數據|狀態)? 或者我完全錯過了這一點?

要使用Viterbi進行分類,您需要已經知道模型參數。
背景和信號是你的兩個隱藏狀態。 使用模型參數和觀察數據,您希望使用Viterbi計算最可能的隱藏狀態序列。

引用hmmlearn文檔

HMM是一種生成概率模型,其中一系列可觀察的X變量由一系列內部隱藏狀態Z生成。隱藏狀態不能直接觀察到。 假設隱藏狀態之間的轉換具有(一階)馬爾可夫鏈的形式。 它們可以由起始概率向量π和轉移概率矩陣A指定。可觀察的發射概率可以是具有以當前隱藏狀態為條件的參數θ的任何分布。 HMM完全由π,A和θ確定

HMM有三個基本問題:

 Given the model parameters and observed data, estimate the optimal sequence of hidden states. Given the model parameters and observed data, calculate the likelihood of the data. Given just the observed data, estimate the model parameters. 

第一和第二個問題可以分別通過稱為維特比算法和前向后向算法的動態編程算法來解決。 最后一個可以通過迭代期望最大化(EM)算法來解決,該算法被稱為Baum-Welch算法。

所以我們的隱馬爾可夫模型,噪聲和信號有兩種狀態。 我們也必須有一些我們觀察到的東西,可能是零和零。 基本上,信號和零都是噪聲,但是你的信號中會混入一些零,而噪聲則會產生一些零。 所以你需要知道

Probablity of 0,1 when in the "noise" state 
Probability of 0,1 when in the "signal" state  
Probability of transitioning to "signal" when in the "noise" state. 
Probability of transitioning to "noise" when in the "signal" state.

因此,我們跟蹤每個時段的每個狀態的概率,最重要的是,我們到達那里的最可能路線(基於轉換概率)。 然后我們假設時間序列結束時最可能的狀態是我們的實際最終狀態,並向后追蹤。

維特比算法需要知道HMM。

可以使用最大可能估計(MLE)來估計HMM,並將其稱為Baum-Welch算法

如果您在使用Viterbi算法時遇到問題,那么這里有一個可行的實現

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM