第三章 基於頻繁樣式成長法的共生式人工免疫系統
3.3 函數模擬架構
3.3.2 最佳化過程
上述 TSK 架構所得到需最佳化參數為 35 個,本文以基於頻繁樣式成長法的 共生式人工免疫系統做為調整參數的最佳化工具,此處族群分類的依據,透過章 節 3.2 來確立規則,整體流程如圖 3.9。
模擬函數
確立規則
TSK模糊類神經系統
函數模擬結果 SymbAIS調整參數
圖 3.9 函數模擬流程圖。
第四章 實驗結果與討論
本章節將運用於函數模擬,以改良後的共生式人工免疫系統結合 TSK 模糊 類神經網路,將模糊類神經網路中的數個參數做最佳化的處理,使模擬後的函數 圖形可接近於實際函數圖型。本研究實驗用設備為 AMD Phenom II X4 B55 3.6GHz 中央處理器,4GB 記憶體的桌上型電腦,使用 Matlab R2010a 做為撰寫 程式及實驗模擬軟體。各節敘述如下,4.1 節為函數模擬圖型實驗,4.2 節為實驗 模擬分析。
4.1 函數模擬
本節將以 TSK 模糊類神經網路進行函數模擬,利用第三章所提到確立後基 於頻率項目成長的共生式人工免疫系統尋找 TSK 模糊類神經網路的各參數值,
在演算過程中,藉由頻率項目成長找尋 TSK 各參數間的關聯性,以此改良後的 共生式人工免疫系統使模糊類神經網路在函數模擬上更接近實際函數的圖形表 現。
4.1.1 函數類型選取
本論文中提供三組函數進行函數圖型模擬,如以下方程式 4.1、方程式 4.2 及方程式 4.3,此處與函數最佳化不同,執行函數最佳化時,頻率項目成長用於 尋找函數間各變數的關聯性,分類規則的訂立為方程式中x 之間是否具有關連性,i 而函數模擬在訂立族群分類規則上對方程式裡的各變數並不感興趣,在此處頻率 項目成長將尋找 TSK 模糊類神經系統中各變數的關聯性質,如各平均值及標準 差,因此雖然函數模擬所提供的方程式看起來較函數最佳化方程式來的簡單且容 易,但實際上函數模擬在演化上所處理的維度數目,大部分都會比函數最佳化來 得多,執行上計算量的負擔也較重。
函數一:
本文中效能比較以均方根誤差(root mean square error, RMSE)為標準,定義如 公式 4.4 所示, 兩種方法。本論文等三種方法在 function evaluations 數目皆為 1000 次,函數一 與函數二設定如表 4.1 所示。
表 4.2 為函數一模擬結果,由表中可看出,以原始人工免疫系統為參數最佳化方 法在表現上較不理想,而共生式人工免疫系統雖然表現較原始人工免疫系統好,
但以均方根誤差來看,仍然是以本文所提出改良後方法較能最好,圖 4.1 為三種 方法模擬圖型,本論文與共生式人工免疫系統較接近實際圖,且在變化較大的部 分,本論文明顯優於其他兩種演算法。圖 4.2 為原始人工免疫系統、共生式人工 免疫系統與本論文三種方法與實際情形的誤差值。第三章演算法流程圖為利用模 糊集合中歸屬函數重疊性是否過高來判斷分類規則數是否恰當與未利用此方法 調整規則數所需運算時間比較,若原本函數分類規則數過多則函數之歸屬函數重 疊性會過高,而這邊重疊性(overlapping)亦稱為相似性(similarity),這時利用提高 最小信任度及最小支持度來減少冗餘之規則數(redundancy)來達到增進演算法速 度的目的。此處令λ為其相似性的值,當其值越大代表重疊率越高。表 4.3 為函 數模擬中函數一λ不同時之數據。表 4.4 為與未利用歸屬函數相似刪減規則數之 時間比較。
表 4.2 函數一模擬結果。
均方根誤差 以原始人工免疫系統調整 0.0189 以共生式人工免疫系統調整 0.0071 以本論文調整 TSK 參數 0.0021
(a)
(b)
(c)
圖 4.1 函數一模擬結果:(a)以原始人工免疫系統調整 TSK 參數,(b)以共生式 人工免疫系統調整 TSK 參數(c)以本論文調整 TSK 參數。
圖 4.2 三種方法誤差值。
表 4.3 函數模擬中函數一λ不同時之數據。
λ 規則數目(個) RMSE
0.55 25 0.0039
0.60 29 0.0026
0.65 30 0.0021
0.70 32 0.0022
0.75 33 0.0022
未調整 35 0.0023
表 4.4 函數一利用歸屬函數之重疊性調整規則數前後之時間比較。
方法 所需執行時間(秒)
演算法利用歸屬函數之重疊性判斷規 則數是否過多進而調整最小支持度及
最小信任度
2.948
未調整 3.039
表 4.5 為函數二模擬結果,函數二在困難度上較函數一來得高,因此效能表 現上會比模擬函數一來的差。由表 4.5 可看出,模擬結果依舊以本文所使用方法 最好,若分別觀察三種方法,原始人工免疫系統演化速度快,演化初期效果也不 錯,但當需要做較準確的微調參數時,此時效果較差,並無法得到好的模擬結果;
共生式人工免疫系統雖然速度慢,但其演化效果在各階段較為平均,也可以比較 準確調整較細微的部分,在表現上優於原始人工免疫系統;本文提出之方法在三 中方法中表現最好,在演化速度上介於兩者之間,在演化過程中,無論是在細微 處的微調,或是效能表現上皆優於其餘兩種,圖 4.3 為三種方法用於模擬函數二 圖型。表 4.6 為函數模擬中函數二λ不同時之數據。表 4.7 為與未利用歸屬函數 相似刪減規則數之時間比較。
表 4.5 函數二模擬結果。
表 4.7 函數二利用歸屬函數之重疊性調整規則數前後之時間比較。
(c) (d)
4.2 函數最佳化
本節將提供三個函數進行最佳化的模擬,函數的種類包含各維度間相關或各 維度間獨立以及不全相關及不全獨立的不同類型,透過頻率樣式成長法找出相關 聯的維度,確立抗體基元分類標準,使演算法可達到更好的效果。
4.2.1 最佳化方程式選取
本論文最佳化模擬的方程式選了以下三種:Rosenbrock function、Ackley’s function 以及 generalized Rastrigin function,分別以 f 、0 f 及1 f 表示,如以下方2 程式所示, n 為各方程式中維度個數,本實驗中 n 值皆為 30,意即皆具有 30 個 維度。
Rosenbrock function:
2
圖 4.5:Rosenbrock function 實際圖形。
Ackley’s function:
2
Ackley’s function 維度之間全獨立 4.並存在許多最佳局部解,圖 4.6 為 Ackley’s
-1 -0.5 0 0.5 1 1.5 2 2.5 3
function 之實際圖形。
圖 4.6 Ackley’s function 之實際圖形。
generalized Rastrigin function:
/ 2
Generalized Rastrigin function 方程式維度間全獨立並存在許多局部最佳解。圖 4.7 為 generalized Rastrigin function 之實際圖形。
圖 4.7 generalized Rastrigin function 實際圖形。
f 各維度間完全相關每個維度之間都具有關聯性,意即關聯的情況並不只是0
如果能把所有維度分在同一類,在演化上的效果會較好;f 各維度間為完全獨立,1 每個維度並不受其它維度的影響,此種情況在抗體基元分類上,若能將所有維度 各自分到不同的族群,意即類似於共生式人工免疫系統的分類準則在表現上會得 到較好的效果; f 維度部分部分相關且部分獨立,可用於判斷本論文演算法是2 否具備提升效能的能力。本文中所提出基於頻繁樣式成長法的共生是人工免疫系 統,便是為了達到這樣的結果,對於維度相關方程式或是維度非相關方程式甚至 於維度間部分相關且部分獨立方程式,皆能做出最適當的處理。
4.2.2 函數最佳化實驗結果
本論文在函數最佳化部分比較的三種方法在演算上每個族群維度大小並不 相同,因此若以程式執行速度來比較並不公平,另外這三種演算法的演算方式有 所差異,每一個演化代中所做的份量亦不相同,因此也不可以演化代數做為相同 的限制,因此本論文在停止條件的設定上,以 function evaluations(FEs)的數量做 為準則,每運算一次適切值則 FEs 值增加 1。表 4.11 為各方程式初始設定參數。
表 4.11 實驗參數初始設定。
函數編號 函數維度 初始範圍 演化門檻值
(threshold)
f 0 30 2.048 100
f 1 30 30 5.00
f 2 30 30 5
本論文所使用的方法以及比較的兩種演算法在 function evaluations 的數目上 皆設定為2 10× 5,所有實驗的數據皆測試 50 次,最後所得函數值為 50 次實驗的 平均值。在抗體基元數的取法上,為使模擬可以得到較客觀的結果,本論文先做
抗體基元數目測試,表 4.12~表 4.14 為 f ~0 f 粒子數由 1~50 的實驗結果。 2
表 4.13 f 抗體基元數目測試結果。 1
f 1
抗體 基元 個數
函數值
抗體 基元 個數
函數值
抗體 基元 個數
函數值
1 0.074218 18 0.000177 35 0.000169 2 0.028183 19 0.000173 36 0.000179 3 0.007915 20 0.000169 37 0.000159 4 0.001627 21 0.000169 38 0.000166 5 0.001061 22 0.000170 39 0.000162 6 0.000734 23 0.000167 40 0.000172 7 0.000601 24 0.000163 41 0.000179 8 0.000355 25 0.000172 42 0.000171 9 0.000241 26 0.000160 43 0.000173 10 0.000197 27 0.000173 44 0.000172 11 0.000183 28 0.000183 45 0.000162 12 0.000186 29 0.000169 46 0.000181 13 0.000174 30 0.000168 47 0.000153 14 0.000176 31 0.000165 48 0.000178 15 0.000173 32 0.000166 49 0.000162 16 0.000179 33 0.000167 50 0.000168 17 0.000177 34 0.000170
表 4.14 f 粒子數測試結果。 2
況進行模擬。
演算法模擬 f 的實驗結果比較如表 4.15~表 4.17 所示,此方程式為一個0 維度完全相關的例子,每個維度間彼此都具有關聯性,因此透過本論文的族 群分類機制,會將所有的維度皆放於同一族群裡,如此的分類結果與 AIS 的族群分類方式是相同的,所以在演化上會與 AIS 所得到的結果相近,由 表 4.15 可以看出,此一維度完全相關的函數,若以 AIS 進行演化會比 SymbAIS 來得有效,雖然 SymbAIS 可避免 AIS 演算法的缺點,但 CPSO-S 將關聯維度劃分開來所造成的缺陷遠大於自身演算法所提供的優點,因此結 果如同第二章所述,維度關聯函數仍以 AIS 可得到較好結果。表 4.18 為方 程式 f 當0 λ不同時之數據。表 4.19 為利用歸屬函數之重疊性調整規則數前 後之時間比較。
表 4.15 f 使用本論文方法實驗結果。 0
函數 演算法 各維度粒子數 函數值
f 0
11 0.15088 12 0.09845 13 0.01427 14 0.00846 15 0.00703
本論文
16 0.00701 17 0.00697 18 0.00694 19 0.00693 20 0.00699 21 0.00690 22 0.00687 23 0.00688 24 0.00691 25 0.00692
表 4.16 f 使用 AIS 方法實驗結果。 0
SymbAIS
16 0.66421
表 4.18 方程式 f 當0 λ不同時之數據。
λ 規則數目(個) RMSE
0.60 15 0.0124
0.65 21 0.00693
0.70 25 0.00687
0.75 28 0.00688
0.80 29 0.00701
未調整 30 0.00716
表 4.19 f 利用歸屬函數之重疊性調整規則數前後之時間比較。 0
方法 所需執行時間(秒)
演算法利用歸屬函數之重疊性判斷規 則數是否過多進而調整最小支持度及
最小信任度
12.819
未調整 15.224
表 4.20~表 4.22 為方程式 f 於各種實驗方法所得到的結果,1 f 的各維度間1 彼此獨立,所有維度皆不相關,因此本論文在此實驗中,族群分類後的結果為 所有維度皆放於不同的族群裡,總共產生族群個數為 30。此種分法與 SymbAIS 相同,意即本論文的方法在實驗數據將會於 SymbAIS 相近。由實驗數據可明 顯看出,當函數的類型為維度間具有相關性,且維度數目較大時,SymbAIS 的表現會明顯優於 AIS,本論文藉由 FP-growth 尋找關聯項目,應用於此類型 方程式也可達到與 SymbAIS 相近的結果。表 4.23 為方程式 f 當1 λ不同時之數 據。表 4.24 為 f 利用歸屬函數之重疊性調整規則數前後之時間比較。 1