• 沒有找到結果。

第 二 章 文獻探討

2.2 演化式迴歸技術

2.2.1 基因程式規劃

基因演算法 (genetic algorithm, GA)[51] 是一種隨機性搜尋最佳化方法。它仿照了 自然界的生物遺傳與演化機制,模擬不同的生物個體擁有自己的基因序列及遺

Initialize Population

Fitness Evaluation

Mutation

Crossover

Selection

Solution Termination

Conditions No Yes

圖 2.1: GA 流程圖

傳特性,在某一特定環境下進行演化並達到適者生存不適者淘汰的效果,最後 找出最適應這個環境的個體。使用者因應不同的問題,對個體基因設計不同的 編碼方法來表示問題的可行解 (candidate solutions),這些個體基因序列在此稱為 染色體 (chromosome);同時也針對問題來設計適性值函數 (fitness function),以 評估這些可行解對於此問題的適合程度。使用者運用各種演化手段,包括遺傳 (inheritance)、突變 (mutation)、自然選擇 (selection) 以及交配 (crossover) 等,使得 染色體經由每個世代的演化與適應性函數的評估,逐漸適應環境 (適性值函數),

並找到最佳解,流程如圖2.1所示。基因演算法廣泛應用於電腦科學、工程學、經 濟學、物理學、化學、數學、工業及其他領域之中。演化式計算模擬生物演化方 式並套用於問題求解上,使得問題解答可以模仿生物演化時之策略進行改變,進 而找出問題之較佳解。對於某些無法找出最佳解之問題或解答過於複雜之問題,

演化式計算能有效的找出問題之較佳解 (或近似正確的解)。一般適用在對問題解 答不易定義或解答空間太大的情形下。

基因程式規劃 (genetic programming, GP)[52] 是於 1992 年由 Koza 所提出的一

+ /

*

7 2 Q

3 5

* 8

if

&& =

x 5

(a) (b)

> <

a 3 b 4

圖 2.2: GP 的樹狀結構

種演化式計算方法。GP 仿造大自然生物演化的模式,以電腦進行高效率最佳解搜 尋,可利用此特性,經過適當地訓練得以自動化產生所需要的公式或數學模型。

GP 以樹狀結構來表示一個程式或公式,如圖 2.2。以達爾文的自然法則適者生存 概念為核心的演化式方法,模仿生物演化時交配,突變,基因複製,基因刪除等 迭代進化,直到達成預先設定的某個中止條件為止。

2.2.2 基因表達程式規劃

基因表達程式規劃 (gene expression programming, GEP)[53] 是在 2001 年由 Ferreira 所提出的一種新式演化式計算技術,GEP 結合基因演算法及基因程式規劃之概 念,以染色體 (陣列) 代替了樹狀結構來表示方程式的數學式子,此方式使原本在 基因程式規劃做交配及突變時,節點搜尋使用鏈結串列結構的時間複雜度 O(n) 降低為使用陣列的 O(1),對於演算法中大量交配及突變之運算,對效能提昇有非 常大的幫助。GEP 之染色體表示方式是使用陣列型態來儲存樹狀結構,其儲存方 式為先存放樹根再依序存放左節點與右節點,依廣度優先方式將整顆樹走訪完畢 為止,如圖 2.3。

GEP 之染色體分為頭 (Head) 與尾巴 (Tail) 兩部分,在演化中,葉節點若由運 算子改變為運算元時,染色體長度不足以存放額外的運算子,故尾巴的存放內容 均存放運算子,使其可構成完滿二元樹;頭的長度決定尾巴的長度,而其長度關

+ /

*

7 2 Q

3 5

* 8

* + / * 8 Q 2 3 5 7 11

Head Tail

9 2 4 1

圖 2.3: GEP 染色體儲存樹狀結構方式

係如公式 (2.1)。

t = h(nmax− 1) + 1 (2.1)

其中 t 為尾巴長度,h 為頭長度,nmax 為此染色體中所有運算子的最大運算元數 量 (maximum arity)。以圖 2.3為例,最大運算元數量為 2,頭的長度為 7,尾巴的 長度為 8,長度關係可表示為 8 = 7(2− 1) + 1。

GEP 之演化方式於染色體演化之後改變其樹狀結構,其染色體演化的方式分 為三種,突變、轉換 (transposition) 與重組 (recombination),如圖2.4所示。突變方 式是在染色體之頭中,將陣列元素值以隨機產生之素質取代,完成後樹狀結構即 產生變化;轉換是針對單一染色體做演化;重組則是針對整個族群之染色體演化,

重組方式為任取族群中兩條染色體,將染色體切割重組為一條新的染色體。

GEP 中 的 適 性 值 (fitness) 為 演 化 式 計 算 中 評 估 答 案 之 指 標,通 常 使 用 均 方差指標 (mean squared error,以下簡稱 MSE) 來衡量染色體優劣;有時還會使 用 平 均 絕 對 誤 差 (mean absolute error, 以 下 簡 稱 MAE),與 平 均 絕 對 百 分 比 誤 差 (mean absolute percent error,以下簡稱 MAPE) 指標來進一步分析效果。如公

/ +

式(2.2)-(2.4),其中 yi, yi分別表示實際值與模型推估值,n 表示資料筆數。

MSE = 1 n

n i=1

(yi− yi)2 (2.2)

MAE = 1 n

n i=1

|yi− yi| (2.3)

MAPE = (1 n

n i=1

|yi− yi

yi |) × 100 (2.4)

每個世代演化完成後計算出各染色體之適性值,在從中挑選出較好的染色體繼續 演化直到某染色體之適性值達到終止條件為止。終止條件由使用者依照問題自行 定義,使用者可依照問題之誤差容許範圍設定終止條件,若將終止條件定為較嚴 謹,相對的演化次數較多,執行時間越久,故可依造問題之誤差容許範圍定義出 最適合之終止條件。GEP 的演化流程與大多數的演化式計算差不多,演化步驟如 下:

Step 1: 隨機產生族群數為 k 之條染色體,t1, . . . , tk

Step 2: 計算族群內 ti 之適性值,1≤ i ≤ k。

Step 3: 判斷適性值或演化代數是否符合終止條件,符合即結束演化,否則繼續 Step 4。

Step 4: 保留較好的染色體做突變,轉換,重組等動作後跳至 Step 2。

詳細演化流程如圖2.5。使用 GEP 的相關研究如 Zhou 等人 [54] 提出了基於基因 表達程式規劃的分類方法。學者 Gustafson[55] 在 2005 年的時候,提出了一個更 精準的基因規劃方法,他是藉由改進交配的運作來尋找更精準的迴歸公式。學者 Costa[56] 則提出了一個新的選擇方法叫做 (µ + λ− GP )。而學者 Chou[57] 將基於 基因規劃的符號式迴歸引擎應用在全球定位系統的座標軸轉換上,得到的實驗結 果顯示基因演算法的確可以解決實際的迴歸問題。為了解決複雜的複迴歸問題,

演化式計算例如基因演算法或是基因規劃便適合從大量且多維度的資料之中尋找

ಖЗచҹǻ ߃ۈϯ٠ബ೷ࢉՅᡏ

่״

ࣁΠ΋жྗഢཥޑำԄ

߄ၲࢉՅᡏ

ց

୺Չ؂΋ࢤำԄ ຑ՗፾܄ॶ

ߥ੮ന٫ำԄ ᒧ᏷ำԄ ፄᇙำԄ

ँᡂ ᙯඤ ख़ಔ

圖 2.5: 基因表達程式演化流程圖

出合適的迴歸公式,因此本論文採用演化式基因表達程式規劃的技術進行負載模 型建立。

相關文件