HMM 隱馬爾科夫模型
Hidden Markov Model (HMM) 隱馬爾可夫模型
離散馬爾可夫過程:一個系統,其在任意時刻會處於且只能處於N個狀態中的一個。記狀態集為$S=\{S_1, S_2, ..., S_N\}$
,系統在時刻t時的狀態為$q_t$
,意味著$q_t=S_i\in S, 1\leqslant i \leqslant N$
。這裡的時刻的內涵在於其是某種序列上的一點,該方法可對任意序列都有效,如時序、空間軌跡等。
系統在離散的時刻根據以前的狀態以既定的概率轉到下一個狀態:
p(q_{t+1}| q_t, q_{t-1}, ...)
對於一階馬爾可夫模型,系統在下一個時刻的狀態僅依賴於當前時刻的狀態,而與更早的狀態無關:
p(q_{t+1} | q_t, q_{t-1}, ...) = p(q_{t+1} | q_t)
轉移概率:系統從一個狀態轉移到另一個狀態的概率。可以簡化模型,假設狀態間的轉移概率與系統發展過程無關(即與時間無關),亦即$p(q_{t+1}|q_t)\equiv p(q_{t'+1}|q_{t'}), \forall t, t'$
。轉移概率矩陣$\bm A_{N\times N}$
,其中元素$A_{ij}$
表示從狀態i
轉移到狀態j
的概率,由於一個狀態i
到所有可能的狀態(包括相同的狀態i
)的轉移概率之和應該為1
,故$A_{ij}\ge 0 \wedge \sum_j A_{ij}=1$
在一個可觀測的馬爾可夫模型(observable Markov model)中,狀態是可被觀測的,在任意時刻t,我們都可知道其對應的狀態$q_t$
隱馬爾可夫模型:
Hidden Markov Model, HMM。在隱馬爾可夫模型中,系統的狀態是不可被觀測的,但是系統到達一個狀態時,可以記錄一個觀測,這個觀測是此時系統狀態的一個概率函式。
HMM中假設狀態轉移概率不依賴於時間t,即在任何時候,從狀態$q_i$
轉移到狀態$q_j$
的概率均相同。
模型可能的狀態的集合記S,可能的觀測結果種類的集合記V。模型狀態序列記Q,觀測序列記O。時間t時,模型狀態為$q_t$
,觀測(結果)為$O_t$
。初始時刻的狀態記$q_1$
。
對於一個既定模型,一個同樣的觀測序列可以由多個不同的狀態序列產生而來,但我們一般只關心具有最大概率產生觀測序列的那個狀態序列。
形式化HMM:
- 模型狀態集S。狀態集記為
$S=\{S_1, S_2, ..., S_N\}$
,設有N種可能狀態。 - 觀測結果種類集V。觀測結果種類集合記
$V=\{v_1, v_2, ..., v_M\}$
,設有M種可能類別,觀測序列的元素即從該集合中取樣。 - 狀態轉移概率 (transition probability matrix):
\bm A = [a_{ij}]\in\R^{N\times N}, \text{ 其中 } a_{ij}\equiv p(q_{t+1}=S_j | q_t=S_i), \forall t
其中的“恆等且對所有t”($...\equiv ... \forall t$
)即表示轉移概率與時間無關,HMM假設轉移概率與時間(系統狀態轉移歷史)無關。
4. 觀測概率 (emission probability matrix, observation likelihoods)
\bm B=[b_{jm}]\in\R^{N\times M}, \text{ 其中 } b_{jm}\equiv p(O_t=v_m | q_t=S_j), \forall t
即模型狀態為$S_j$
時,觀測結果的種類為$v_m$
的概率,HMM中假設其與時間無關。
5. 觀測序列O。$O=[o_1, o_2,\cdots, o_T]$
,一個觀測值$o_t$
從集合V中取樣,其還隱含一個不可觀測的狀態q_t(即HMM中的hidden variable)。
6. 初始時刻各狀態概率:
\bm\Pi = [\pi_i]\in\R^N, \text{ 其中 } \pi_i = p(q_1=S_i), 1\le i \le N, \sum_{i}^N \pi_i = 1
$\lambda=\left(\bm A, \bm B, \bm \Pi\right)$
被稱作HMM的引數集(其中蘊含了N,M)。
HMM關心的3類問題:
- 估計指定觀測序列的概率(Likelihood)。已知模型
$\lambda$
,希望估計出指定觀測序列$O=<O_1, O_2, ..., O_T>$
的概率,即$p(O|\lambda)$
。 - 找出狀態序列
$Q$
(Decoding)。已知模型$\lambda$
以及一個觀測序列O,希望找出狀態序列$Q=<O_1,O_2,...,O_T>$
,可能的解會有若干個,但我們只關心其中具有最大概率產生觀測序列O的那個狀態序列$Q^*$
,即
Q^* = \arg\max_Q p(O| Q,\lambda)
- 找出模型引數
$\lambda$
(Learning)。已知以觀測序列組成的訓練集$\mathcal X={O^{(k)}}$
(即其中一個樣本k是一個觀測序列$O^{(k)}=<O_1^{(k)},O_2^{(k)},...>$
),希望學習到具有最大概率產生$\mathcal X$
的模型引數$\lambda^*$
,即
\lambda^* = \arg\max_\lambda p(\lambda | \mathcal X)
Markov Random Fields 馬爾科夫隨機場
A Markov random field is a set of random variables having the Markov property described by an undirected graph.
A Markov random field is known as a Markov network or undirected graph model. (無向圖概率模型)
Differences between Markov networks and Bayesian networks: Bayesian networks are directed and acylic, and Markov networks are undirected and may be cylic.
A multivariate normal distribution forms a Markov random field $G=(V,E)$
if the pair nodes of a zero entry inside the inverse covariance matrix corresponds to the unreachability between the pair nodes. i.e.:
\bm X=[\bm X_v]_{v\in V} \sim \mathcal{N}(\bm \mu, \bm \Sigma)
such that
[\bm \Sigma^{-1}]_{uv} = 0 \iff <u,v>\not\in E
.