• 沒有找到結果。

第三章 背景知識與方法

3.1 智慧型基因演算法(IGA)

不同於一般的基因演算法,智慧型基因演算法在其中交配(crossover)之步驟 加入了直交表(orthogonal arrays,OA)的機制,使可以有效率的來挑選出好的參 數,所以能夠克服參數量大的問題。適應性函數(fitness function)是用來評斷每 組基因組合之實驗的好壞,而適應性值越高的基因組合,則可被當作子代保留遺 傳至下一個世代。下文中會先介紹一般的基因演算法再比較智慧型基因演算法與 一般基因演算法的不同處。

3.1.1 基因演算法

基因演算法(genetic algorithm , GA)是目前廣為應用的最佳化方法之一,其原 理為仿效自然界的生物中之物競天擇的方式,從族群中經過交配(crossover)與突 變(mutation)等過程,挑選出較好的母代遺傳至下一個世代,反覆經過多個世代 後,較好的基因就可被保留至最後。GA 是屬於平行運算,能同時考慮空間中的 多個點,而不會使答案陷入局部最佳解。

GA 的演化流程如圖 3 所示,起初先隨機產生 N 個初始族群,然後評估每個 每個個體的適應函數值,再經由適應函數值每次來挑選兩個親代進行交配,也就 是互相交換彼此的基因,可分為單點交配、多點交配、隨機均勻交配等多種方法。

交配後產生與親代相同數目的子代再依據突變機率來決定是否做進一步的突變,

去單一的改變個別基因,然後這些個體再進入下一個世代,再回到評估是應函數 值步驟,去評估每個個體的適應函數值,直到滿足終止條件為止,就會停止並達 到最佳化。

圖 3 基因演算法流程圖

說明:最開始產生初始族群,經過評估適應函數值決定是否到達終止條件,如果

7

沒有到達終止條件,就會進行挑選、交配、突變等步驟,產生下一代群體,重複 此些過程直到達到終止條件。

3.1.2 直交交配法

相較於全因子參數實驗(complete factorial experiment)會去對每個參數排列 組合後產生的所有可能性做評估,使得實驗過為龐大,耗費大量時間,IGA 利用 直交表來作部分因子參數實驗(fractional factorial experiment),設計有效率的實 驗參數組合,使得在最少的實驗次數中可得到最佳的結果。

直交表中的每一行(row)代表每一個參數,也就是染色體中的每個基因,而 每一列(column)代表一條染色體,也就是等於一次實驗組合。每個參數的主效果 (main effect)為不考慮其他參數影響的情況下,單一參數對結果的影響,所以因 此可以依照主效果來對所有的參數做影響力的排序。

兩水準直交表的設計為一個 L M (2 M-1 )的表格,包含了 M 列和 M-1 行,也 就是 M 次實驗與 M-1 個因子所組成,如表 1 的範例為一個 L 8 (2 7 )的直交表,

每組實驗都會得到一個適應性指標值(fitness),每一個因子都會可計算出 Sj1與 Sj2, 其分別代表每一個因子在水準 1 與水準 2 的情況下之適應性指標值總和,而主效 果分析(MED)則是將 Sj1與 Sj2的值相減後取絕對值,而從 MED 我們可以得知哪 些因子對得到較好的適應值有較大的貢獻,在表 1 中就可由 MED 得知影響力最 大的為第六個因子,因為它的 MED 是七個因子裡面最高的。

表 1 L 8 (2 7 )直交表與主效果範例

資料來源:擷取自[14]並加以修飾。

說明:以 L 8 (2 7 )直交表來當作範例,解釋直交表的應用與主效果分析。

8

3.2 繼承式雙目標基因演算法

繼承式雙目標基因演算法(Inheritable bi-objective genetic algorithm,

IBCGA)[15]為一種尋找最佳化參數的工具,可以在大量的參數中挑選最少的參數 並得到最大的適應性(fitness)。IBCGA 主要由 IGA 智慧型基因演算法(Intelligent genetic algorithm, IGA) [16]與繼承機制構成。

適應性函數(fitness function)是用來評斷 IBCGA 的結果好壞的指標,在本實 驗中,此適應性指標是每個染色體經過SVM 分類後的準確率,所以下面會先介 紹SVM 之原理。IBCGA 可以同時尋找出最少量且有影響力的特徵與 SVM 中的 C 和 γ 參數之組合。

3.2.1 支援向量機 SVM

SVM (support vector machine) 是一種目前非常被廣泛應用的機器學習分類器,

SVM利用將欲分類之資料投射至高維度的空間中,再以一個超平面(hyperplane) 將不同類別的資料切開,而從超平面延伸至兩個不同類別的最近資料之平面為 support hyperplanes,兩support hyperplanes間的距離稱之為margin,在SVM中我 們希望能找出最佳的超平面其擁有最大的margin,圖示說明如下。

圖 4 SVM 示意圖

說明: 以二維空間為例子,利用資料在 feature 空間的分布,在其中找到一個使 margin 最大的超平面,使兩類資料可以分開至最大距離。

假設training dataset共有n個資料點,分別為{xi , yi},i =1, 2,...,n, xi ∈ Rd, 資料點類別yi ∈ {1, -1},而我們希望找到一條直線 f(x)=wTx-b 對於兩組資料點 的距離為最大,此時與兩組資料點接觸的兩個support hyperplanes分別為wTx=b

9

+δ與wTx=b-δ,再將其做scaling則可簡化為wTx=b+1與wTx=b-1。兩個 support hyperplanes間的距離為2/||w||,所以希望得到最大的margin就可以衍生

在SVM中最常被使用的核心方程式為放射基底方程式(radial basis function),

在本研究中也是使用此核心方程式,其公式為:

k(xi, xj)= exp(−γ∥xi−xj∥),γ> 0 (2)

γ 為核心參數,將資料點映射到高維度的特徵空間。在 SVM 當中,使用者 則藉由調整 C 與 γ 參數來找到一個最佳的超平面。而在多類別的分類問題中,

SVM 為兩類分類器,所以可分為一對多(One-against-all,OAA)與一對一

(One-against-one, OAO)兩種方式,一對多是將某個類別當做一類,而非此類 別的其他資料則當做是另一類,此方式分類的時間較短;一對一則是需要訓練 N(N-1)/2 個二分類分類器,使每一個類別一一做比較,所已花費的時間也較長。

本實驗是應用Chih-Jen Lin 實驗室所研發出之 LIBSVM[17],其所包含了完整的 套件如最佳 C 與 γ 參數的尋找工具。

10

1. 初始化(Initiation):隨機產生一組起始的群組(population),其中包含了 N 條 染色體(individuals)。在染色體中的 n 個基因中包含了在參數設定時有幾個 1 的基因。

2. 評估(Evaluation):利用 SVM 分類的準確率來評估每條染色體的適應性函數 值。

3. 選擇(Selection):利用傳統的比較方法,隨機比較兩條染色體,並將有較好 結果的染色體放到交配池(mating pool)中。

4. 交配(Crossover):將直交實驗運用到交配過程中,不以隨機的方式做交配,

而是經由直交表來選出較優良的基因遺傳至子代中。

5. 突變(Mutation):隨機選擇 p m ×N 個子代染色體來進行交換式突變(swap mutation)以產生新的子代染色體,為 p m 突變發生率。在突變的過程中,

為了避免最好的結果被消滅掉,因此 IBCGA 會先把最好的子代染色體挑出 來,使其不參與突變步驟。

6. 結束測詴(Termination test):如果參數解滿足停止條件,則輸出一組最好的 染色體參數解,如沒有達到停止條件時,則回到步驟 2。

3.3 相關研究介紹

利用胺基酸序列預測蛋白質溶解度的模型最早是由 Wilkinson 和 Harrison 在 1991 年時建立的[18],當時他們只使用了 81 個蛋白質與六個特徵,且在此 81 個 蛋白質中有很多蛋白質包含了融合標幟(fusion tag)或其它外加的蛋白質序列,最 後得到的準確率值為 88%。

11

而後再 1999 時,Davis 等人修改了 Wilkinson 和 Harrison 的辨別分析模式 (discriminant model),並發現 Wilkinson 和 Harrison 所使用的六種特性中,轉折形 成胺基酸(turn forming residues)其包括 Asn,Gly,Pro 和 Ser 與平均電荷(average charge)兩種特性是決定性的影響因子[19]。

2005 年 Idicula-Thomas 和 Balaji 也利用了辨別分析(discriminant analysis)預測 了一組新的 170 個蛋白質資料與特性[20],並得到 62%的準確率。隔年他們又增 加了一些蛋白質資料,並改用 SVM(Support vector machine)當做分類器,準確率 也大幅提高至 72%[21]。

2007 年時 Smialowski 等人發展了一套 PROSO 系統,為一個結合 SVM 和 Naive Bayes 的兩層分類器,並使用了 14200 個來自 TargetDB 與 PDB 資料庫的 蛋白質資料,得到 71.7%的準確率[22]。並使用 Wilkinson-Harrison 的模型來測詴 此 14200 個蛋白質資料指得到 56.2%的準確率,也使用了 Idicula-Thomas 2005 的 的模型來測詴 14200 個蛋白質資料並也只得到 53.1%的準確率。

2009 年,Magnan 因為了想解決蛋白質資料太少而收集了許多資料庫與文獻,

建立了含有 17408 個蛋白質的資料庫,其來源包含 PDB、SwissProt、TargetDB 和先前文獻,並使用了兩層式 SVM(two-stage support vector machine)[23]。

隔年,Diaz 提出了之前都無人使用的邏輯迴歸(logistic regression)分析了 212 個蛋白質[24]。最近一篇相關研究是出自於台灣中研院的 Wen-Ching Chan,這篇 的特色為其蛋白質資料包含不只有目標蛋白質,因為以往的研究中都認為如果目 標蛋白質接上其他會干擾溶解度結果的蛋白質序列,就會影響預測過程,而此篇 文獻中的蛋白質資料也包含了不同載體上攜帶的融和蛋白(fusion protein)[25],與 以往研究中只預測目標蛋白質不同,考慮到了在真實生物實驗情況中,通常表現 出的不只有單一的目標蛋白質,而會依照實驗需要附加不同的融和蛋白;而此文 獻使用的是 libsvm 的方法並在兩類的分類中得到 83.5%之準確率,其中此篇作者 有嘗詴將 libsvm 做修改,但結果都沒有原始的 libsvm 來得好。

12

相關文件