賽爾筆記 | 隱馬爾可夫模型

2021-01-19 哈工大SCIR

作者:哈工大SCIR碩士生 樂遠


隱馬爾可夫模型(HMM)是可用於標註問題的統計學習模型,描述由隱藏的馬爾可夫鏈隨機生成觀測序列的過程,屬於生成模型。


說到隱馬爾可夫模型(HMM),我們先來了解下馬爾可夫模型(Markov模型),Markov模型是一種統計模型,廣泛地應用在語音識別,詞性自動標註,音字轉換,概率文法等各個自然語言處理的應用領域。


一. 馬爾可夫模型(Markov模型)

設是隨機變量序列,其中每個隨機變量的取值在有限集,稱為狀態空間。Markov特徵是

如果 具有這些特徵,那麼這個隨機變量序列稱為一個馬爾可夫過程(鏈)。


Markov的形式化表示:一個馬爾可夫模型是一個三元組 ,其中 是狀態的集合,是初始狀態的概率,是狀態間的轉移概率。具體例子用圖形表示如下,


相應的分別是,

隱馬爾可夫模型與馬爾可夫模型不同的是各個狀態(或者狀態轉移弧)都有一個輸出,但是狀態是不可見的。

最簡單的情形:不同的狀態只能有不同的輸出,

增加一點靈活性:不同的狀態,可以輸出相同的輸出,

再增加一點靈活性:輸出在狀態轉移中進行,

最大的靈活性:在狀態轉移中以特定的概率分布輸出,


這就得到了我們要講的隱馬爾可夫模型。

二. 隱馬爾可夫模型(HMM)

1.HMM的形式化定義

HMM是一個五元組,其中是狀態的集合,是輸出字符的集合,是初始狀態的概率,是狀態轉移的概率,  是狀態轉移時輸出字符的概率。


一個HMM的例子用圖形表示如下,


2. 隱馬爾可夫模型的三個基本問題


3. 評估問題的解法

已知,計算

我們先來化簡一下

窮舉所有可能的的情況,求和得到,但是時間複雜度太高,為


使用動態規劃使得算法更高效,定義一個前向變量表示到時刻部分觀測序列為且狀態為的概率為向前概率,記為,即

則可以遞推得到,

前向過程算法如下,

一個簡單的前向過程例子如下,

同樣的道理,我們定義在時刻狀態為的條件下,從的部分觀測序列為的概率為後向概率,記作,即

直接採用遞推即可得到後向算法。

後向算法過程如下,

4. 解碼問題的解法

給定一個輸出字符序列,和一個模型,如何確定產生這一序列概率最大的狀態序列?

我們定義表示為在時刻到達狀態,輸出字符時,輸出前面個字符的最可能路徑的概率,

則有

這樣我們就得到了維特比算法(Viterbi Algorithm),算法過程如下:

一個簡單的viterbi算法舉例如下,

5.  學習問題解法

給定一個輸出字符的序列,如何調整模型的參數使得產生這一序列的概率最大?

隱馬爾可夫模型的學習,根據訓練數據是包括觀測數據和對應的狀態序列還是只有觀測序列,可以分為有監督學習和無監督學習,其中無監督的學習即是利用EM算法思想的Baum-Welch算法。


假設訓練數據包含個長度相同的觀測序列和對應的狀態序列,那麼可以利用極大似然估計法來估計隱馬爾可夫模型的參數,具體估計方法如下:

1. 轉移概率的估計

設樣本中時刻處於狀態時刻處於狀態的頻數為,那麼狀態轉移概率的估計是

2. 觀測概率的估計

設樣本中狀態為並觀測為的頻數是,那麼狀態為觀測為的概率的估計是

由於監督學習的方法需要使用訓練數據,而人工標註的代價往往很高,有時會採用非監督學習的方法。


假設給定的訓練數據只包含個長度為的觀測序列而沒有對應的狀態序列,目標是學習隱馬爾可夫模型的參數。我們將觀測序列數據看做觀測數據,狀態序列數據看做不可觀測數據,那麼隱馬爾可夫模型事實上是一個包含隱變量的概率模型

它的參數學習可以由EM算法實現。

(算法推導過程)

(1) 確定完全數據的對數似然函數所有觀測數據寫成,所有的隱數據寫成,完全數據是。完全數據的對數似然函數是


(2) EM算法的E步:求函數的

其中是隱馬爾可夫模型參數的當前估計值,是要極大化的隱馬爾可夫模型參數。因為,

所以函數可以拆分寫成

式中求和都是對所有訓練數據的序列總長度進行的。


(3) EM算法的M步:極大化函數,求模型參數

由於要極大化的參數在函數式子中單獨的出現在三個項中,所以只需要對各項分別極大化。第一項可以寫成,

注意到滿足,利用拉格朗日乘子法,寫出拉格朗日函數

對其求導數並令結果為0,

得到

求和得到,

再代入上式子得到,

第二項可以寫成

類似於第一項,利用具有約束條件的拉格朗日乘子法惡意求出

第三項可以寫成,

同樣利用拉格朗日乘子法,約束條件是,注意只有在的偏導數才不為0,以表示,得到,


為了簡便,我們使用一下式子簡化,給定模型和觀測,在時刻處於狀態的概率記

有如下公式:

給定模型和觀測,在時刻處於狀態的概率記 :

有如下推倒:


我們結合上文以及EM算法可以推導如下公式

Baum-Welch算法過程:

輸入:觀測數據

輸出:隱馬爾可夫模型參數

1. 初始化。對,選取得到模型

2. 遞推。對

3. 終止。得到模型參數


參考資料

[1]公式參考李航《統計學習方法》

[2]圖片選自哈爾濱工業大學關毅教授《自然語言處理》課程PPT


本期責任編輯:丁    效

本期編輯:劉元興



「哈工大SCIR」公眾號

主編:車萬翔

副主編:張偉男,丁效

責任編輯:張偉男,丁效,劉一佳,崔一鳴

編輯:李家琦,吳洋,劉元興,蔡碧波,孫卓,賴勇魁


長按下圖並點擊 「識別圖中二維碼」,即可關注哈爾濱工業大學社會計算與信息檢索研究中心微信公共號:」哈工大SCIR」 。

相關焦點

  • 隱馬爾可夫模型
    隱馬爾可夫模型(Hidden Markov Models,簡稱 HMM)的出現,是為了彌補馬爾可夫模型的不足,在某些較為複雜的隨機過程中,任一時刻 t 的狀態 St 是不可見的。所以觀察者沒法觀察到狀態序列 S1 ,S2, L , St ,但是隱馬爾可夫模型在每個時刻 t 會輸出一個觀測狀態Ot ,而且Ot 僅和 St 相關。這個被稱為獨立輸出假設。
  • 詳解隱馬爾可夫模型(HMM)
    隱馬爾可夫模型由初始的概率分布、狀態轉移概率分布以及觀測概率分布確定。具體的形式如下,這裡設Q是所有可能的狀態的集合,V是所有可能的觀測的集合,即有:隱馬爾可夫模型由初始狀態概率向量C,狀態轉移概率矩陣A和觀測概率矩陣B決定,C和A決定狀態序列,B決定觀測序列,因此隱馬爾可夫模型可以用三元符號表示為:
  • 機器學習算法之隱馬爾可夫模型
    (Hidden Markov Model),隱馬爾可夫模型最初是在20世紀60年代後半期Leonard E.隱馬爾可夫模型簡單介紹隱馬爾可夫模型是關於時序(順序)的概率模型,描述由一個隱藏的馬爾可夫鏈隨機生成不可觀測的狀態隨機序列,再由各個狀態生成一個觀測而產生觀測隨機序列的過程。
  • 隱馬爾可夫模型怎麼畫?3分鐘學會使用模型圖
    隱馬爾可夫模型既是一類非常有名的向圖模型,也可以用作有關時序的概率模型,又是一種典型的用於處理自然語言中標註問題的統計方面的機器學模型。馬爾可夫模型不斷推廣改進,截止目前已經推廣到了適用於更加複雜的數據結構與非穩定數據建模的兩兩馬爾可夫模型和三重態馬爾可夫模型。
  • 【機器學習】隱馬爾可夫模型
    值得注意的是隱馬爾可夫模型中:即由此,馬爾科夫模型定義完成。至於為何這樣定義,隱狀態的意義是什麼,就是模型的價值所在,如何理解隱狀態也是一種個人體會。有了隱馬爾科夫模型,接下來看隱馬爾科夫模型能做什麼?
  • 本座選股談量化投資—隱馬爾可夫模型
    首先這篇文章是寫給沒有什麼基礎人士看的,目的是讓更多可能數學上有些障礙,但是又想要了解量化投資的朋友,無障礙的理解隱馬爾可夫模型框架。此文不適合追求嚴密邏輯和追求簡潔符號建立模型的數學大神。如果您是,請選擇性忽略。
  • 隱馬爾可夫模型攻略
    隱馬爾可夫模型 (Hidden Markov Model,HMM) 最初由 L. E.
  • 隱馬爾可夫模型(HMM)攻略
    日期:2020年05月04日正文共:9038字13圖預計閱讀時間:9分鐘來源:光明日報隱馬爾可夫模型這就是本文重點介紹的隱馬爾可夫模型。隱馬爾可夫模型 (Hidden Markov Model) 是一種統計模型,用來描述一個含有隱含未知參數的馬爾可夫過程。其難點是從可觀察的參數中確定該過程的隱含參數,然後利用這些參數來作進一步的分析。
  • R語言中的隱馬爾可夫HMM模型實例
    p=17592 最近,我們使用隱馬爾可夫模型開發了一種解決方案,並被要求解釋這個方案。HMM用於建模數據序列,無論是從連續概率分布還是從離散概率分布得出的。它們與狀態空間和高斯混合模型相關,因為它們旨在估計引起觀測的狀態。狀態是未知或「隱藏」的,並且HMM試圖估計狀態,類似於無監督聚類過程。
  • 一站式解決:隱馬爾可夫模型(HMM)全過程推導及實現
    點擊上方「MLNLP」,選擇「星標」公眾號重磅乾貨,第一時間送達【導讀】隱馬爾可夫模型
  • 隱馬尓可夫模型怎麼畫?億圖軟體專業的圖形圖表工具
    隱馬爾可夫模型既是一類非常有名的向圖模型,也可以用作有關時序的概率模型,又是一種典型的用於處理自然語言中標註問題的統計方面的機器學模型。,此時用到的隱馬爾可夫模型往往複雜度並不在問題的抽象,而在數學處理上,用到的模型還經常混合了其他的模型。
  • 資源| Python上的圖模型與概率建模工具包:pomegranate
    新版本為概率分布、k 均值、混合模型、隱馬爾可夫模型、貝葉斯網絡、樸素貝葉斯/貝葉斯分類器等模型提供模型擬合、結構化學習和推斷過程的修正,並重點關注於處理數據缺失值。pomegranate 簡介pomegranate 是基於 Python 的圖模型和概率模型工具包,它使用 Cython 實現以加快反應速度。它源於 YAHMM,可實現快速、高效和極度靈活的概率模型,如概率分布、貝葉斯網絡、混合隱馬爾可夫模型等。概率建模最基礎的級別是簡單的概率分布。
  • 極致體驗|最懂您的賽爾102S人機互動
    賽爾無人機為了實現高精度免像控,而對產品精益求精的技術追求。賽爾102S之所以在客戶應用中擁有良好的口碑,擁有的不僅是技術上的專研,還有緊跟市場需求,不斷改良與優化,最終給予客戶最完美的人機互動體驗。賽爾102S作為工業級的產品,卻擁有消費級的人機互動體驗,這就是賽爾無人機的「工匠精神」。
  • 白白說算法:相親中的馬爾科夫模型
    這種每個狀態由之前的1個或多個狀態決定的模型,我們稱為馬爾科夫模型。馬爾科夫模型中很多關係使用概率描述的,比如女孩的媽媽很白,那么女兒也很白的概率是90%,女孩媽媽是性格好,女兒也性格好的概率為70%。下圖展示了母親和女兒性格之間的概率關係。
  • 2013年自考《資料庫系統原理》筆記:2.2ER模型的基本概念
    當前位置:首頁> 筆記串講 > 2013年自考《資料庫系統原理》筆記:2.2ER 2013年自考《資料庫系統原理》筆記:2.2ER模型的基本概念
  • 賽爾筆記|基於知識引入的情感分析
    為了彌補這一缺點,學者們嘗試引入外部情感知識為模型提供監督信號,提高模型分析性能。本文從常見的外部情感知識類型出發,簡要介紹在情感分析中使用知識的一些代表性工作。2.正文我們為什麼要不斷嘗試在情感分析中融入知識呢?
  • R相關與回歸學習筆記(三十五)——樣條函數變換、線性可加模型(一)
    R相關與回歸學習筆記(八)——回歸診斷(三)R相關與回歸學習筆記(九)——預測區間、控制、多元線性回歸模型R相關與回歸學習筆記(十)——參數估計、R的多元回歸程序(一)R相關與回歸學習筆記(十一)——模型的檢驗R相關與回歸學習筆記(十二)——線性關係檢驗、單個斜率項的顯著性檢驗R相關與回歸學習筆記(十三)——回歸自變量篩選
  • 和布克賽爾蒙古自治縣氣象臺發布寒潮藍色預警[Ⅳ級/一般]
    和布克賽爾蒙古自治縣氣象臺發布寒潮藍色預警[Ⅳ級/一般]
  • 經緯M300&賽爾102S航測全流程解析
    經緯M300&賽爾102S航測全流程解析在這裡~一、 測試前準備1.航線高級設置可按需調整 航向/旁向重疊率(賽爾相機推薦使用值航向重疊率 80%旁向重疊率 70%)、主航線角度、邊距設置(為保證五相機數據採集效果,邊距需與飛行高度保持一致)。
  • 新智彗星驚豔新疆和布克賽爾夜空
    天山網訊(文/記者 阿依夏木古麗·阿布拉 圖/視頻 巴圖 提供)7月17日凌晨,在塔城地區和布克賽爾蒙古自治縣查幹庫勒鄉·蒙古大營,當地攝影愛好者巴圖拍攝到新智彗星(英文:NEOWISE;編號C/2020 F3)拖著長尾巴的身影,在璀璨星雲的點綴下,新智彗星划過天際