日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

隐马尔可夫模型:HMM

發布時間:2025/3/21 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 隐马尔可夫模型:HMM 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

隱馬爾可夫模型求解三大問題實例剖析

HMM 模型如圖所示:

?

一、隱馬爾可夫模型定義

隱馬爾可夫模型由初始概率分布狀態轉移概率分布以及觀測概率分布確定。

設?Q(圖中的q)是所有可能的狀態的集合,V(圖中的O) 是所有可能的觀測的集合。

?

其中,N為可能狀態數,M為可能的觀測數。

I是長度為T的隱藏狀態序列,O是對應的觀測序列。

?

以下三個參數(A、B、π):

A狀態轉移概率矩陣

?

其中,

?

表示在時刻t處于狀態qi的條件下在時刻t+1轉移到狀態qj的概率。

B觀測概率矩陣

?

其中,

?

表示在時刻t處于狀態qj 的條件下生成觀測vk的概率。

π初始狀態概率向量就是由空狀態轉換為有狀態的一個概率

?

其中,

?

表示時刻t=1處于狀態qi的概率。

隱馬爾可夫模型由πAB決定。πA決定狀態序列,B決定觀測序列。

隱馬爾可夫模型?λ=( A, B,π),AB、π稱為隱馬爾科夫模型的三要素

隱馬爾可夫模型的兩個基本假設:

1)齊次馬爾可夫性假設

?

2)觀測獨立性假設

?

?

二、隱馬爾可夫模型的三個基本問題

問題一:概率計算問題:觀察序列的概率

給定模型λ=( A, B,π)和觀測序列

?

?。計算在模型λ下觀測序列O出現的概率P(O|λ)。

解決此問題的方法為前向、后向算法

?

問題二:預測問題:由觀察序列求隱藏序列

比如:HMM 寫的拼音輸入法

也稱為解碼問題。已知模型λ=( A, B,π)和觀測序列

?

,求對給定觀測序列條件概率P(I|O)最大的狀態序列?。即給定觀測序列、

?

,求最有可能的對應隱藏狀態序列

?

解決此問題的方法為維特比算法

?

問題三:學習問題:HMM參數估計

已知觀測序列

?

?,估計模型λ=( A, B,π)參數,使得在該模型下觀測序列概率P(O|λ)最大。

當同時給定觀測序列和對應狀態序列時,使用極大似然估計方法估計參數。

當只給定觀測序列,沒有對應狀態序列時,基于EM算法進行參數估計。(Baum-Welch算法

?

三、隱馬爾可夫模型的實例

模型實例

  假設 S 是天氣狀況的集合,分別是“晴天”、"多云"、“下雨”,?

  其初始概率分布為,

晴天

多云

下雨

0.63

0.17

0.20

  其狀態轉移概率矩陣為:

-

0.500

0.375

0.125

0.250

0.125

0.625

0.250

0.375

0.325

  假設有一位盲人住在海邊,他不能通過直接觀察天氣的狀態來預報天氣。但他有一些水藻,因此可以利用水藻的干濕來預報天氣。水藻的干濕與天氣狀況之間的關系如下表:

-

干燥

稍干

潮濕

濕透

0.60

0.20

0.15

0.05

0.25

0.25

0.25

0.25

0.05

0.10

0.35

0.50

問題1:求解觀察序列的概率

  針對上述模型,我們求p(干燥,潮濕,濕透)。思路很簡單:

  • 確定隱狀態的初始概率分布,這是已知的,參見下圖第一列。
  • 根據隱狀態到觀測結果“干燥”的發射概率(參見下圖第一列到第二列的箭頭標注),計算得到“干燥”這個觀測結果時,三個隱狀態的概率,參見下圖第二列。
  • 根據隱狀態之間的轉移概率,重新確定在觀測到“干燥”結果后的第二天,隱狀態的概率分布,參見下圖第三列。圖中,我只標注了“晴”的計算過程,其他兩天氣則省略沒畫,建議自己親自計算一下,驗證一下。
  • ?

    ?

      這個時候再往下計算,方法就和第一步一樣了,不再羅嗦了。

    ?

    問題2:由觀察序列確定隱狀態序列

    例如用HMM 算法來寫中文輸入法

      我們觀察到了“干燥、潮濕、濕透”,那么實際天氣變化的序列應該是什么呢?會是憑直覺猜測的“晴、陰、雨”這個序列嗎??

      解決這個問題的關鍵是,如何計算p(晴陰雨|干燥 潮濕 濕透)?我畫了一張圖,只要把黑色路徑上標注的初始概率、轉移概率、發射概率連乘起來,就得到這條路經的概率。?

    ?

      ok,現在問題變成了如何從開始到結束找到一條概率最大的路徑。問題轉化成了路徑最優化問題,可以用動態規劃方法解決,我不想再啰嗦了,剩下的任務大家自行解決吧。

    ?

    問題3:HMM參數估計

      假設隱馬爾可夫模型的觀測序列是“干燥,潮濕,濕透,…”,那么,隱馬爾可夫模型的參數A,B,π 如何設置,才能使這個觀測序列出現的概率最大?這就是所謂的隱馬爾可夫模型參數估計問題。?

      參照上圖,從起點到終點共計27條路徑,把這些路徑的概率全部加起來,就是“干燥,潮濕,濕透”發生的概率。如果圖中箭頭隨對應的概率全部為未知,可以想想,最終的結果就可以用這些參數表示。因此問題可描述為,這些參數取何值時,所求概率最大。?

      

    上圖中的實例, 計算觀察序列的概率應該不需要遍歷27條路徑,這樣復雜度太高了。這個問題大家自行考慮吧。

      轉移概率矩陣和發射概率矩陣在多個環節重復出現,讓我聯想起卷積神經網絡的卷積層設計,扯得有點遠。但是,這個概率網絡求解整體過程的確與神經網絡類似。?

      一個不好的消息是,沒辦法用公式求解此最優化問題。一個稍好一點的消息是,可以用梯度下降法,求局部極小解,這簡直是廢話。還有一個稍好點的消息,Baum-Welch算法可以解決此問題,思路類似EM算法,思路也很簡單,

    Baum-Welch算法

      比如,先假設狀態序列為已知,參見下表。和EM算法套路一樣,可以看看《簡析EM算法(最大期望算法)》

    t

    觀察值

    晴朗

    多云

    下雨

    1

    干燥

    1

    0

    0

    2

    潮濕

    0

    1

    0

    3

    濕透

    1

    0

    0

    4

    潮濕

    0

    0

    1

    5

    干燥

    0

    1

    0

    6

    潮濕

    1

    0

    0

    7

    濕透

    0

    0

    1

      ?

      狀態的出現次數為0或1,和EM算法是完全一樣的套路。如果出現100次"晴朗"?

    ,其中對應70次“干燥”,則可以估計“晴朗”向“干燥”發射概率為70/100=0.7,如此類推,可以求出模型中的所有概率值。?

      現在的問題是,狀態出現的次數是不知道的。依據EM算法思路,可以隨機給模型參數賦值(當然要保證數據的合理性)。比如,根據“晴朗”、“陰天”、“下雨”向“干燥”的發射概率,把狀態出現次數1按比例分配給三個狀態。這樣就可以按照上面的方法重新計算模型的參數了。如此類推,直到模型參數收斂為止。?

      狀態轉移概率,也可以統計出來。比如從上表1、2兩行可以得到“晴天”到“多云”轉移累計計數1次。在EM算法中,這個計數可能變成了用小數表示的模糊計數,不過沒關系,一樣可以得到這個累計計數。?

      初始概率計算也是同樣道理,用模糊計數方法可以幫助估計概率分布。

    ?

    ?參考博客和書籍:

    https://blog.csdn.net/quicmous/article/details/52208302

    https://blog.csdn.net/lrs1353281004/article/details/79417225

    《統計學習方法》李航

    ?

    轉載于:https://www.cnblogs.com/lovychen/p/9760137.html

    總結

    以上是生活随笔為你收集整理的隐马尔可夫模型:HMM的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。