1. 程式人生 > >機器學習筆記(一):關於隱含馬爾科夫模型

機器學習筆記(一):關於隱含馬爾科夫模型

這篇文章是我在看完吳軍老師的數學之美一書中關於隱馬爾科夫模型之後所寫,旨在記錄一下自己對隱馬爾科夫模型的認識,
隱馬爾科夫模型我在很早之前就有所接觸,在學習語音識別的時候,會涉及到隱馬爾科夫模型,當時是完全不懂,現在雖然還是一知半解,因為沒有再次去使用,接下來的主攻方向是機器視覺,對隱馬爾可夫模型的接觸可能會越來越少,所以趁著這個時間先記一下。
這裡主要提到隱馬爾科夫模型的幾個知識點:馬爾科夫鏈鮑姆-韋爾奇演算法維位元演算法概率圖模型
這裡面馬爾科夫鏈是模型的數學含義的基礎,鮑姆-韋爾奇演算法是模型的訓練演算法,也是這個字的來源,維位元演算法是模型執行的時候的解碼演算法,而概率圖模型

是西瓜書裡面提到的知識。

  1. 馬爾科夫鏈
    隨機過程中各個狀態的概率之與它的前一個狀態有關,和以往的任何狀態無關。
    在這裡插入圖片描述
    這句話幾乎在所有的解釋隱馬爾科夫模型裡面都能看到,理解起來也很簡單,圖中就是一個馬爾科夫鏈,狀態m4的出現的機率之和它上一個狀態有關,如果上一個狀態是m3,那m4出現的概率就是0.3,如果是m2,那m4狀態出現的機率就是0.4,如果是m5,那m4出現的機率就是0了。
  2. 鮑姆-韋爾奇演算法
    隱馬爾科夫模型就是馬爾科夫鏈的擴充套件:任一時刻t的狀態St是不可見的,隱馬爾科夫模型在每個時刻t會輸出一個符號Ot,這個Ot僅和St相關,這個稱為獨立輸出假設
    鮑姆-韋爾奇演算法是一種無監督的訓練演算法,具體就是在不斷的迭代中更新轉移概率
    (上圖中m2到m3的0.6就是轉移概率)和輸出概率(輸出符號Ot的概率),因為語音的狀態序列無法明確標註,所以這裡只能採用無監督的方法,統計輸出符號和輸出概率,和每一種符號輸出之後所有的下一個狀態出現的概率(轉移概率),將這些資料作為迭代的上一組模型引數,最後迭代出最大的輸出概率(EM過程,期望最大化)。
  3. 維位元演算法
    這個演算法主要是解碼演算法,它適用於隱馬爾可夫模型,並不是說屬於隱馬爾可夫模型,然而我並沒有深入的去學習,這裡記錄一些關於這個演算法的關鍵字:動態規劃演算法最短路徑籬笆網路
  4. 概率圖模型
    這裡是西瓜書上看到的一些小知識,數學之美中也有提到,但還沒有仔細閱讀。
    在這裡插入圖片描述

如果想要深入學習隱馬爾科夫模型,理解核心理論,還是得仔細的看幾遍專業的書,手動推導概率公式。