浅尝马尔科夫模型
馬爾科夫模型(Markov Model)又是一個我之前經(jīng)常聽到但從未弄明白的模型。下面我們試著來增進對它的理解。
本文將討論在離散情況下使用馬爾科夫模型的統(tǒng)計決策方法。
貝葉斯決策的基本思想是根據(jù)一定的概率模型得到樣本屬于某類的后驗概率,然后根據(jù)后驗概率的大小進行決策。
問題描述:基因組上CpG相對富集的區(qū)域被稱作CpG島,接下來我們要從給定的一定DNA序列,判斷它是否來自CpG島,這屬于一個兩分類問題。
DNA序列每個位置上的核苷酸都可以被當(dāng)作一個有四種可能取值的離散隨機變量x={A,T,G,C}x=\{A, T, G, C\}x={A,T,G,C}。
在上述問題中我們要考慮連續(xù)位置上出現(xiàn)的CpG雙核苷酸,可以用馬爾科夫模型來表示這種相鄰位置之間的依賴關(guān)系。如果第iii時刻上的取值依賴于且僅依賴于第i?1i-1i?1時刻的取值,即P(xi∣xi?1,xi?2,...,x1)=P(xi∣xi?1)P(x_i|x_{i-1},x_{i-2},...,x_1)=P(x_i|x_{i-1})P(xi?∣xi?1?,xi?2?,...,x1?)=P(xi?∣xi?1?),則把這個串稱作一個一階馬爾科夫鏈(模型)。
馬爾可夫鏈可以用條件概率模型來描述。我們把在前一時刻某取值下當(dāng)前時刻取值的條件概率稱作轉(zhuǎn)移概率(Transition Probability),記為ast=P(xi=t∣xi?1=s)a_{st}=P(x_i=t|x_{i-1}=s)ast?=P(xi?=t∣xi?1?=s)。
對一個長度為LLL的序列,我們觀察到這個序列的概率是:P(x)=P(x1,x2,...,xL)=P(x1)∏i=1naxi?1xiP(x)=P(x_1,x_2,...,x_L)=P(x_1)\prod_{i=1}^na_{x_{i-1}x_i}P(x)=P(x1?,x2?,...,xL?)=P(x1?)i=1∏n?axi?1?xi??
對于DNA序列來說,每一位置的取值有四種,我們把它們稱作四種狀態(tài),轉(zhuǎn)移概率就是一個4?44*44?4的矩陣,稱作轉(zhuǎn)移概率矩陣或狀態(tài)轉(zhuǎn)移矩陣,如下圖。
如果知道兩類(CpG島與非CpG島)的狀態(tài)轉(zhuǎn)移矩陣,那么對于一個序列樣本,我們就可以用上述公式分別計算每一類模型下觀察到該特定序列的可能性或似然度P(x∣wi)P(x|w_i)P(x∣wi?),用同樣的類別似然比(或?qū)?shù)似然比)來進行類別判斷。
那么怎樣去確定馬爾科夫狀態(tài)轉(zhuǎn)移矩陣(離散概率模型)呢?
首先收集充分的、有代表性的一些CpG島序列的片段和一些非CpG島序列的片段,用它們構(gòu)成兩類訓(xùn)練樣本。在每一類樣本中,統(tǒng)計在所有位置上出現(xiàn)A、T、C、G的次數(shù),再統(tǒng)計在每個A、T、C、G后面出現(xiàn)A、T、C、G次數(shù),然后用ast+=cst+∑t‘cst‘+a_{st}^+=\frac{c_{st}^+}{\sum_{t^`}c_{st^`}^+}ast+?=∑t‘?cst‘+?cst+??和ast?=cst?∑t‘cst‘?a_{st}^-=\frac{c_{st}^-}{\sum_{t^`}c_{st^`}^-}ast??=∑t‘?cst‘??cst???來分別估計兩類的狀態(tài)轉(zhuǎn)移概率。以下給出了在某個數(shù)據(jù)集上估計的CpG島與非CpG島狀態(tài)轉(zhuǎn)移矩陣的一個例子。
對于任意一段待判別的DNA序列,可以根據(jù)狀態(tài)轉(zhuǎn)移矩陣計算它屬于CpG島的似然比,再通過與一定的閾值比較進行判別。
在實際應(yīng)用中,人們經(jīng)常通過統(tǒng)計所有訓(xùn)練樣本的似然比取值的分布來確定閾值。選用不同的閾值來做決策就好導(dǎo)致不同的錯誤情況,人們可以從直方圖上確定滿意的閾值,或者通過變動不同閾值畫出ROC曲線來決定閾值選擇。
咦,馬爾科夫模型的應(yīng)用就是這么簡單?
隱馬爾可夫模型
隱馬爾可夫模型(hidden Markov model, HMM)是另一種常用的概率模型。在該模型中,觀測是依據(jù)一定的概率由某些不可見的內(nèi)部狀態(tài)(隱狀態(tài))決定,而這些狀態(tài)之間服從某種馬爾科夫模型。以下為一個典型的HMM示意圖:
其中yiy_iyi?是觀測到的數(shù)據(jù),它的取值根據(jù)條件概率fi(yi∣zi)f_i(y_i|z_i)fi?(yi?∣zi?)由隱狀態(tài)ziz_izi?決定,這一概率稱作發(fā)射概率(emission probability)。同時,隱狀態(tài)ziz_izi?滿足馬爾科夫轉(zhuǎn)移概率ast=P(zi+1=t∣zi=s)a_{st}=P(z_{i+1}=t|z_i=s)ast?=P(zi+1?=t∣zi?=s)
應(yīng)用隱馬爾可夫模型
當(dāng)訓(xùn)練樣本中的觀測數(shù)據(jù)和相應(yīng)的隱狀態(tài)都已知時,可以根據(jù)上文給出的一般馬爾科夫模型下狀態(tài)轉(zhuǎn)移矩陣的估計方法來估計發(fā)射概率fi(yi∣zi)f_i(y_i|z_i)fi?(yi?∣zi?)和轉(zhuǎn)移概率asta_{st}ast?。然而,與一般馬爾科夫模型的決策過程不同,在未知數(shù)據(jù)上應(yīng)用隱馬爾可夫模型進行統(tǒng)計決策時,需要對各個觀測數(shù)據(jù)點所對應(yīng)的隱狀態(tài)進行判斷。
通過已經(jīng)標(biāo)注的訓(xùn)練樣本,可以估計發(fā)射概率fi(yi∣zi)f_i(y_i|z_i)fi?(yi?∣zi?)和轉(zhuǎn)移概率asta_{st}ast?。對于待分析的序列{y1,...,yn}\{y_1,...,y_n\}{y1?,...,yn?},希望通過最大化概率(即似然度)P(y_1,…,y_n|z_1,…,z_n)來求得各個位置的隱狀態(tài){z^1,...,z^n}\{\hat{z}_1,...,\hat{z}_n\}{z^1?,...,z^n?},相應(yīng)的解稱為“最大似然路徑”。
怎樣求解呢?白話文版:從第一個位置開始,計算各類隱狀態(tài)的最大概率,接下來依次計算在當(dāng)前基礎(chǔ)下接下來的每個位置的最大概率。
注:如無特殊說明,以上大部分內(nèi)容為摘選自張學(xué)工所著《模式識別》。
總結(jié)
- 上一篇: VS2015 自动代码补全
- 下一篇: Abbirb120型工业机器人_ABB