1、隱馬爾可夫模型基本概念
隱馬爾可夫模型是關(guān)于時(shí)序的概率模型,描述由一個(gè)隱藏的馬爾科夫鏈隨機(jī)生成不可觀測(cè)的狀態(tài)隨機(jī)序列需五,再由各個(gè)狀態(tài)生成一個(gè)觀測(cè)從而產(chǎn)生觀測(cè)隨機(jī)序列的過(guò)程。
隱馬爾可夫模型的形式定義如下:
設(shè)是所有可能狀態(tài)的集合轧坎,
是所有可能觀測(cè)的集合:
其中為可能狀態(tài)數(shù)宏邮,
為可能觀測(cè)數(shù)。
是長(zhǎng)度為
的狀態(tài)序列缸血,
是對(duì)應(yīng)的觀測(cè)序列:
是狀態(tài)轉(zhuǎn)移概率矩陣:
其中:
是觀測(cè)概率矩陣:
其中:
是初始狀態(tài)概率向量:
其中:
隱馬爾可夫模型由初始狀態(tài)概率向量蜜氨、狀態(tài)轉(zhuǎn)移概率矩陣
和觀測(cè)概率矩陣
決定。因此隱馬爾可夫模型
可表示為:
具體來(lái)說(shuō)捎泻,長(zhǎng)度為的觀測(cè)序列的生成過(guò)程如下:按照初始狀態(tài)分布
產(chǎn)生狀態(tài)
记劝,按狀態(tài)
的觀測(cè)概率分布
生成
,按狀態(tài)
的狀態(tài)轉(zhuǎn)移概率分布
產(chǎn)生狀態(tài)
族扰,依次遞推厌丑。
- 由定義可知隱馬爾可夫模型的兩個(gè)基本假設(shè):
(1)齊次馬爾可夫性假設(shè)定欧,即隱藏的馬爾科夫鏈在任意時(shí)刻的狀態(tài)只依賴于其前一時(shí)刻的狀態(tài),與其他時(shí)刻狀態(tài)及觀測(cè)無(wú)關(guān)怒竿,也與時(shí)刻
無(wú)關(guān)砍鸠。
(2)觀測(cè)獨(dú)立性假設(shè),即任意時(shí)刻的觀測(cè)只依賴于該時(shí)刻的馬爾科夫鏈狀態(tài)耕驰,與其它觀測(cè)狀態(tài)無(wú)關(guān)爷辱。
- 隱馬爾可夫模型的三個(gè)基本問(wèn)題如下:
(1)概率計(jì)算問(wèn)題:給定模型和觀測(cè)序列
,計(jì)算在模型
下序列
出現(xiàn)的概率
朦肘。
(2)學(xué)習(xí)問(wèn)題:已知觀測(cè)序列饭弓,估計(jì)模型
參數(shù),使得在該模型下觀測(cè)序列
最大媒抠。
(3)預(yù)測(cè)問(wèn)題:已知模型和觀測(cè)序列
弟断,求使得
最大的狀態(tài)序列
。
接下來(lái)分別闡述這三個(gè)問(wèn)題的解決方法。
2、概率計(jì)算算法
2.1兔朦、直接計(jì)算法
狀態(tài)的概率是:
對(duì)固定的觀測(cè)序列
的概率是:
同時(shí)出現(xiàn)的聯(lián)合概率為:
從而:
可以看到奔坟,上式是對(duì)所有可能的序列求和,而長(zhǎng)度為
的
序列的數(shù)量是
數(shù)量級(jí)的,而
的計(jì)算量是
級(jí)別的,因此計(jì)算量為
,非常大叔汁,這種算法在實(shí)際中不可行。
2.2检碗、前向算法
首先定義前向概率:給定隱馬爾可夫模型据块,定義到時(shí)刻
部分觀測(cè)序列為
且狀態(tài)為
的概率為前向概率,記作:
觀測(cè)序列概率的前向算法如下:
(1)初值:
(2)遞推后裸,對(duì):
(3)終止:
前向算法高效的關(guān)鍵是局部計(jì)算前向概率,然后利用路徑結(jié)構(gòu)將前向概率遞推到全局微驶,得到浪谴。前向概率算法計(jì)算量是
級(jí)別的。
2.3因苹、后向算法
首先定義后向概率:給定隱馬爾可夫模型苟耻,定義在時(shí)刻
狀態(tài)為
的條件下,從
到
部分觀測(cè)序列為
的概率為后向概率扶檐,記作:
觀測(cè)序列概率的后向算法如下:
(1)初值:
(2)遞推凶杖,對(duì):
(3)終止:
3、學(xué)習(xí)算法
3.1款筑、監(jiān)督學(xué)習(xí)方法
若有個(gè)長(zhǎng)度相同觀測(cè)序列和對(duì)應(yīng)狀態(tài)序列
則可利用極大似然估計(jì)得到隱馬爾可夫模型參數(shù):
設(shè)樣本中時(shí)刻處于狀態(tài)
時(shí)刻
轉(zhuǎn)移到狀態(tài)
的頻數(shù)為
智蝠,那么狀態(tài)轉(zhuǎn)移概率
的估計(jì)為:
設(shè)樣本中狀態(tài)為觀測(cè)為
的頻數(shù)為
腾么,那么觀測(cè)概率
的估計(jì)為:
初始狀態(tài)的估計(jì)
為
個(gè)樣本中初始狀態(tài)為
的頻率杈湾。
3.2解虱、無(wú)監(jiān)督學(xué)習(xí)方法(Baum-Welch算法)
假設(shè)給定訓(xùn)練數(shù)據(jù)只包含個(gè)長(zhǎng)度為
的觀測(cè)序列
而沒有對(duì)應(yīng)狀態(tài)序列,我們可以把狀態(tài)數(shù)據(jù)看作不可觀測(cè)的隱數(shù)據(jù)
漆撞,則隱馬爾可夫模型事實(shí)上是一個(gè)含有隱變量的概率模型:
其參數(shù)可由EM算法實(shí)現(xiàn)殴泰。
4、預(yù)測(cè)算法
4.1浮驳、近似算法
近似算法的思想是悍汛,在每個(gè)時(shí)刻選擇在該時(shí)刻最有可能出現(xiàn)的狀態(tài)
,從而得到一個(gè)狀態(tài)序列
至会。
近似算法的優(yōu)點(diǎn)是計(jì)算簡(jiǎn)單离咐,缺點(diǎn)是不能保證預(yù)測(cè)的狀態(tài)序列整體是最有可能的狀態(tài)序列,因?yàn)轭A(yù)測(cè)的狀態(tài)序列可能有實(shí)際不發(fā)生的部分奋献,比如存在轉(zhuǎn)移概率為0的相鄰狀態(tài)健霹。盡管如此旺上,近似算法還是有用的瓶蚂。
4.2、維特比算法
維特比算法實(shí)際上是用動(dòng)態(tài)規(guī)劃解隱馬爾可夫模型預(yù)測(cè)問(wèn)題宣吱,即用動(dòng)態(tài)規(guī)劃求概率最大路徑(最優(yōu)路徑)窃这,此路徑對(duì)應(yīng)一個(gè)狀態(tài)序列。
定義在時(shí)刻狀態(tài)為
的所有單個(gè)路徑
中概率最大值為:
由定義得遞推式:
定義在時(shí)刻狀態(tài)為
的所有單個(gè)路徑
中概率最大路徑的第
個(gè)結(jié)點(diǎn)為:
維特比算法如下:
(1)初始化:
(2)遞推征候,對(duì):
(3)終止:
(4)回溯杭攻,對(duì):
最優(yōu)路徑為