隱馬爾可夫模型:引言

隱馬爾可夫模型

在馬爾可夫模型中,每個狀態代表了一個可觀察的事件,因此,馬爾可夫模型又稱作可視馬爾可夫模型(visible Markov model,VMM)。隱馬爾可夫模型(HMM)中,模型所經過的狀態序列未知,只知道狀態的概率函數,即觀察到的事件是狀態的隨機函數,因此,該模型是一個雙重隨機過程。其中,模型的狀態轉換過程是不可觀察的(隱蔽的),可觀察事件的隨機過程是隱蔽狀態轉換過程的隨機函數。

在這裏插入圖片描述

在這裏插入圖片描述

HMM模型可表示爲一個五元組μ=(S,K,A,B,π)\mu = (S, K, \mathbf{A}, \mathbf{B}, \mathbf{\pi}),其中SS爲狀態的集合,KK爲輸出符號的集合,π\mathbf{\pi}A\mathbf{A}B\mathbf{B}分別表示初始狀態的概率分佈、狀態轉移概率和符號發射概率。有時也將其簡記爲三元組μ=(A,B,π)\mu = (\mathbf{A}, \mathbf{B}, \mathbf{\pi})

  1. 模型中的狀態數N=SN = |S|

  2. 每個狀態可能輸出的符號數M=KM = |K|

  3. 狀態轉移概率矩陣A={aij}\mathbf{A} = \{ a_{ij} \},其中

aij=P(qt=sjqt1=si)aij0j=1Naij=11i,jN(6-6)\begin{aligned} & a_{ij} = P(q_{t} = s_{j} | q_{t - 1} = s_{i}) \\ & a_{ij} \geq 0 \\ & \sum_{j = 1}^{N} a_{ij} = 1 \\ & 1 \leq i, j \leq N \\ \end{aligned} \tag {6-6}

  1. 從狀態sjs_{j}觀察到符號vkv_{k}的概率分佈矩陣B={bj(k)}\mathbf{B} = \{ b_{j}(k) \},其中

bj(k)=P(Ot=vkqt=sj)bj(k)0k=1Mbj(k)=11jN, 1kM(6-7)\begin{aligned} & b_{j}(k) = P(O_{t} = v_{k} | q_{t} = s_{j}) \\ & b_{j}(k) \geq 0 \\ & \sum_{k = 1}^{M} b_{j}(k) = 1 \\ & 1 \leq j \leq N, \ 1 \leq k \leq M \\ \end{aligned} \tag {6-7}

觀察符號的概率又稱符號發射概率(symbol emission probability);

  1. 初始狀態概率分佈π={πi}\mathbf{\pi} = \{ \pi_{i} \},其中,

πi=P(q1=si)πi0i=1Nπi=11iN(6-8)\begin{aligned} & \pi_{i} = P(q_{1} = s_{i}) \\ & \pi_{i} \geq 0 \\ & \sum_{i = 1}^{N} \pi_{i} = 1 \\ & 1 \leq i \leq N \\ \end{aligned} \tag {6-8}

考慮潛在事件隨機地生成表面事件,假設給定HMM模型μ=(A,B,π)\mu = (\mathbf{A}, \mathbf{B}, \mathbf{\pi}),則觀察序列O=O1O2OTO = O_{1} O_{2} \cdots O_{T}可以由以下步驟產生:

  1. 根據初始狀態的概率分佈π\mathbf{\pi},選擇一個初始狀態q1=siq_{1} = s_{i}

  2. t=1t = 1

  3. 根據狀態sis_{i}的輸出概率分佈bi(k)b_{i}(k)輸出Ot=vkO_{t} = v_{k}

  4. 根據狀態轉移概率分佈aija_{ij},將當前時刻tt的狀態轉移到新的狀態qt+1=sjq_{t + 1} = s_{j}

  5. t=t+1t = t + 1,如果t<Tt \lt T,重複執行步驟(3)、(4),否則,結束算法。

HMM的三個基本問題:

  1. 估計問題:給定觀察序列O=O1O2OTO = O_{1} O_{2} \cdots O_{T}和模型μ=(A,B,π)\mu = (\mathbf{A}, \mathbf{B}, \mathbf{\pi}),計算觀察序列OO的概率,即P(Oμ)P( O | \mu)

  2. 序列問題:給定觀察序列O=O1O2OTO = O_{1} O_{2} \cdots O_{T}和模型μ=(A,B,π)\mu = (\mathbf{A}, \mathbf{B}, \mathbf{\pi}),選擇在一定意義下“最優”的狀態序列Q=q1q2qTQ = q_{1} q_{2} \cdots q_{T},使得該狀態序列“最好地解釋”觀察序列;

  3. 訓練問題(參數估計問題):給定一個觀察序列O=O1O2OTO = O_{1} O_{2} \cdots O_{T},根據最大似然估計計算模型參數值,即計算使P(Oμ)P(O | \mu)最大時,模型μ=(A,B,π)\mu = (\mathbf{A}, \mathbf{B}, \mathbf{\pi})的參數。

三個基本問題可通過前後向算法及參數估計解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章