第四章 提出iHMM方法論
4.2 iHMM 之設計
Baum-Welch 演算法是一個眾所都知的用來解 HMM 問題的演算法,然而,在解 空間中可能存在許多的區域最佳解。Baum-Welch 演算法不保證可以找得到全域最佳 解。Baum-Welch 演算法對於一開始給定的初始點是很重要的,因為 Baum-Welch 演算 法會與一開始參數的設定而掉入不同的區域最佳解
本論文提出一個族群搜尋式的Baum-Welch 演算法。其主要的想法是使用多點式搜 尋來取代單點搜尋。它將有更多跳脫區域最佳解的能力,這個演算法的虛擬程式碼如下:
17
Population-based Baum-Welch algorithm
1: Input: Training set, initial barrier ω, and population size k 2: Output: HMM model
3: Begin 4:
5: S={λ1, λ2, …, λk } 6:
7: for i=1 to |S|
8: randomize S(i) parameters 9: end i
10: while ( |S|>1) 11: {
12: δ← 0 13: for i=1 to |S|
14: do 15: {
16: S(i) do E-step and M-step
17: Δ ← (new likelihood of S(i)- old likelihood of S(i)) 18: }
19: while(Δ not converge to ω);
20: δ←δ + Δ;
21: end i 22: ω←δ
23: sort S by likelihood
24: remove the last halfλiof S, i= |S|/2 to |S|
25: }
26: return S(1) 27:
28: End
18
這裡我們對演算法做一個描述,S 是一組 HMMs 候選解的集合,k 是一開始要灑 的粒子數,在 7 到 9 行中,我們是用亂數隨機在解空間進行灑點,k 越大將越可以找 到全域最佳解,但也相對要花越多時間搜尋,k 值是完全依據使用者自己選定。在 10 到 25 行 while loop 的迴圈每一次的重復,我每放入柵欄 ω 來同時控制所有點的行動。所 有點的都由Baum-Welch 演算法移動,並且當 likelihood 收斂到柵欄 ω 值則停下來。在 演算法的第 16 行,E-step 和 M-step 是來自於 EM 演算法,它的補助函數 Q-step 己 經由 Baum 和它的同僚所解出,詳細算法可以參考第三章 3.5 節的訓練演算法的部份,
在演算法的第 22 行,我們每一代都會調控柵欄 ω 值,在演算法的第 24 行,為了加快 搜尋速度,我們以 likelihood 做排名,然後只保留前半部目前較好的點,拿掉後面一半 比較差的點,以減少計算時間,因為這些較差的點將來要再比最好的還要好的機率很 小。然後一直重復直到只剩下只有一個點。換句話說,每一個點必須為了生存而競爭,
這個如同達爾文的適者生存,不適者淘汰的觀念。這個演算法可以很方便改成平行處 理,我們相信這個方法是很快的,可以幫助加速收斂到全域最佳解,而且很穩定。
在圖形識別(pattern recognition)課題上,過適化(over fitting)的現象一直是最令人棘 手的問題,也是嚴重影響辨識率的主要原因之一。要挑選多少個狀態下去訓練是一個很 難的問題,因為HMM 會隨著狀態數目越多而會越有過適化現像,如下圖 4.1,我們在
訓練時只能看的見訓練資料的正確率,就是圖4.1 中實線的部份,虛線的變化是我們看
不到的部份,然而我們必須要選擇正確的模型才可以最小化錯誤預測能力。
Accuracy
State number 1 2 3 4 5 6 7 8 9
1.0 0.8 0.6 0.4 0.2
Training set Test set
圖 4.1:狀態數目與辨識率之間的關係的示意圖
過適化的現象原因出在於當我們的訓練資料抽樣不平均,或是不夠足以代表母體 樣本分佈,或著是資料量少於相對於模型的自由度,MLE的方法會讓我們很容易 fit 某 一類的訓練資料,這就是為什麼說HMM通常會特別偏愛某些條序列。原因是雖然都是 在同類 (positive) 的序列,但就是有些序列從HMM出來的機率特別的高,他們的分數 會把孤立的序列分數拉下來,會導致系統不對稱,使得訓練 出來的 HMM profile 將來 會特別偏愛某些條序列。有些論文指出用maxmin ( |λ)
λ
i
i P O 的方法可能會比傳統
19 機率(maximum a posteriori probability estimation, MAP),取代MLE的方法,作為HMM 之 評估準則,假設每個線性組合係數都是隨機且其事前機率為一個高斯分佈,我們可以推 Dirichlet 事前機率[22],並使用 Blocks9 表裡的芳香族、脂肪族,有極性,沒極性...
等九個自然界胺基酸事前機率單元,這個混入Dirichlet 事前機率的效用如同模擬了很多 與訓練資料可能的演化樣本,用來平滑化(smooth) HMM的參數,使得訓練出來的 HMM 不會遭到過適化。
廣義線性模型(generalized degrees of freedom)是傳統線性模型的延伸,使用 maximum likelihood 方法來估計參數,並假設反應變數的機率分佈屬於指數家族(exponential family),將廣義自由度的想法由常態分布推廣到更廣泛的指數族群分布,並研究廣義 線性模型(generalized linear model)的變數選取問題。不同於傳統的狀態數目選取方式,
我們不直接選取狀態數目,而是以廣義自由度方法選取具不同懲罰(penalty)參數的資訊 準則(information criterion),然後再依照所選出的準則執行 HMM 狀態數目選取。我 們用自由度的觀念修正變數選取過程對推論結果所產生的偏差。這個方法可隨資料背後 的真實模型而自動調適,因而兼顧。
基 本 上 有 兩 種 公 認 標 準 的 衡 量 方 法 叫 做 艾 凱 克 資 訊 準 則(Akaike information criterion, AIC) [23] 和貝氏資訊準則(Bayesian information criterion, BIC) [24]。而在磷酸 化預測問題中,本論文首先提出離散型的 HMM-2 加上 BIC 模型選擇方法,來取代傳
20 BIC
State number 1 2 3 4 5 6 7 8 9
圖 4.2:狀態數目與 BIC 的示意圖
BIC 主要概念是運用少量參數,來建立一個統計模型,使它更具有強健性。如上圖 4.2,我們的狀態數目選取,則是採用 BIC 最低點的位置。用 BIC 來選擇模型,除了用 在 HMM-2 上,在許多文獻上 HMM-1 用 BIC 來選擇模型也有一也不錯的例子,像是 要最佳化以微陣列基因表現的HMM 模型[25],以及最佳化預測蛋白質二級結構的 HMM 模型[26]等等。另外 1999 年 Brand 也發表了一篇論文[27],他在文章提到說,將結構的 一個參數趨近於零,可以減少模型一個自由度,並且減低模型的亂度(entropy),模型的 亂度越低,越有助於抵抗過適化的問題。同時參數使用的越少,將可以使得模型越可解 讀。模型參數量的使用,其實跟信息熵有關,就好比將一份資料壓縮,我們希望在仍足 以表達某程度資訊內容條件下,進行減少該模型的參數使用。
在語音辨識中,常會因為聲音受到背景雜音干擾而降低辨識率,於是人們常需要從 不的錄音環境,如教室,車內或是室外中,將背景雜音與目標語者的聲音分離出來,所 以要提高辨識率的一個方法就是另外再從背景聲音建一個模型。生物資料中也有相同的 情況,positive 資料就好比是目標語者的聲音,而negative 資料就好比是背景雜音。理 論上來說,隨著訓練樣本類別數的增加,辨識結果可以更加近似於實際結果。假設從 positive 建立iHMM 統計模型以符號λP來表示,而從negative 資料建立iHMM 統計模 型,以符號λN來表示,如果 negative 資料足夠亂,則 (P Oi|λN)就成為常數,我們就只 要最大化 log ( i| P)
i
P O λ
∑
即可。相反的如果negative 資料不夠亂,則訓練negative的資料 模型則會有用。兩個模型的分離成度可以用相對熵(relative entropy)來解釋,即有名的 Kullback-Leibler (KL)量度,KL是用以量測兩個機率分佈的分離成度 (divergence),它的 定義在式(18)。( | ) ( , ) ( || ) ( | ) log
( | )
i P
P N P N i P
i i N
KL H P O P O
P O
λ λ λ λ λ λ
= =
∑
λ (18)然而KL並不是真正的距離公式,因為他在數學上不滿足交換率,如式 (19),而在 Matthew A. Siegler 的[28]論文中,則是把 KL 寫成對稱形式,如式(20),即成為兩個模 型的距離。我們就可以用 KL2 來衡量positive 模型是否與negative 模型是否有存在區 別。
21
( P || N) ( N || P)
KL λ λ ≠KL λ λ (19)
2( ,P N) ( ,P N) ( N, P)
KL λ λ =KL λ λ +KL λ λ (20)
22