隱馬爾科夫模型(HMM)——qjzcy的部落格
工作學習中的一點體會——隱馬爾科夫模型 HMM(一)
一. 提綱
1) 假設
2) 模型
3) 五個引數
4) 解決三個問題
5) 三個方法
6) Vertibe演算法
7) 改進
二.兩個假設
1、 馬爾科夫性假設: 一個特定狀態的概率僅依賴於前一狀態
2、 齊次:觀測狀態的概率只依賴於產生這個觀測狀態的隱含狀態
三.模型
四.五個引數
1 初始矩陣
2、A 觀察序列
3、B 隱含序列
4、M 發射矩陣:隱含狀態到觀測狀態的概率矩陣
5、N 轉移矩陣:隱含狀態到隱含狀態的轉移概率矩陣
五.解決三個問題
1、評估問題:給定一個觀察序列和五個引數,求觀測序列的概率
2、解碼問題:給定一個觀察序列和引數,求最大概率的隱含序列
3、學習問題:給定一個觀察序列,如何調整引數,使得概率最大?
六.三個方法
七.Vertibe演算法
1.對於我們來說,一般我們需要的是求出最大隱含狀態,所以viterbi演算法是我們關心的(比如詞性標註,求一句話的詞性,這時候詞性就轉換為隱含狀態,當我們求出最大的隱含狀態序列,也就得到了最大的詞性序列)
2.viterbi 實際上是個動態規劃的過程
見(二)分析
八.改進
1、 針對假設改進
1) 當前狀態只和前一狀態相關,根據我們生活的經驗,當前的狀態不僅和前一狀態相關,可能還和前幾個狀態或者後面的狀態相關,所以我們可以做的改進之一就是把狀態的相關改為和前幾個狀態相關
2) 只依賴於當前的隱含狀態相關,同樣根據我們的經驗,我們也許還和一些其他因素相關,比如位置(比如我們把隱含狀態定義為詞的開頭,中間,結尾,那麼句子的開始也一定是詞的開頭)
2、 層疊的隱馬模型
中科院的幾篇論文,就是先用隱馬模型訓練專有名詞後,又套了一層或幾層的隱馬模型。後來又應用在了層疊的條件隨機場,感覺都是一個思路
3、 不同的模型,最大熵隱馬,條件隨機場