機器學習:隱馬爾可夫模型(HMM)

隱馬爾可夫模型是一種應用於標註問題的學習模型。馬爾可夫過程描述了一個隨機序列,通過初始狀態和狀態轉移概率來描述,隱馬爾可夫過程則是指狀態轉移的過程是未知的,只能觀察到結果。

舉個例子:假設一共有4個盒子(編號1,2,3,4)(可能的狀態集合),每個盒子裝紅、白兩色的球(可能的觀測結果集合),開始等概率的從4個盒子裡選1個隨機抽取一球記錄顏色後放回,然後從當前盒子隨機轉移到下一個盒子,盒子之間的轉移概率是已知的(比如當前盒子是2或者3以概率0.4和0.6的概率跳向左邊或者右邊的盒子,這就是狀態轉移矩陣),已知每個盒子中抽出紅、白球的概率(觀測矩陣),然後在這個盒子中取出一球記錄顏色後繼續遊戲,問:5次(長度為5的觀測序列)以後看到的結果(紅、紅、白、白、紅)的概率是多少?上述問題就可以用隱馬爾可夫過程來進行數學建模。

遷移到標註問題上可以這樣理解:要標註的句子即為一個觀測序列,句子中的每一個單詞即為盒子(可能的狀態集合),可以標註的詞性即為可能的

觀測結果集合(動詞、名詞、副詞等),單詞之間的關聯即為狀態轉移概率矩陣(我愛即為我+愛的概率,一般從預料庫中通過統計獲得,是先驗的概率),而每個單詞可能詞性的概率((比如go:(名詞-圍棋、動詞:去),也是一種先驗概率)。

所以我們看到確定該模型包括了三個要素,以盒子模型為例:初始狀態(從哪個盒子開始)、轉移狀態矩陣(盒子之前的跳動概率)、觀測狀態矩陣(每個盒子中紅、白球的分佈)。

有了適合的模型描述,當然我們也可以知道該模型可以解決的三類問題:1、概率計算問題:給定初始條件和相關的矩陣生成指定長度的隨機序列(前向、後向算法);2、學習問題:已知觀察的結果,用極大似然估計的方法估計上述三個模型要素參數(監督學習、EM算法-非監督);3、預測問題:已知模型三要素和觀測序列,求最可能的狀態序列(維特比算法)。

機器學習:隱馬爾可夫模型(HMM)


分享到:


相關文章: