第三章 基於頻繁樣式成長法的共生式人工免疫系統
3.2 基於頻率項目成長的共生式人工免疫系統
3.2.1 抗體基元分類規則確立
本論文與共生式人工免疫演算法最大的差別,就在於加入了資料探勘的技巧,
使選取抗體基元時在相互之間有關聯性時可以被分在同一群再進行演化,以達到 增進演算法效率的目的。在資料探勘的部分,以頻繁樣式成長法做為抗體基元找 尋關聯性的工具,在使用上首先設定數筆測試資料,再以測試資料的表現為依據 定立規則,可分為四個步驟,隨機分組、資料測試、資料選取以及規則確立,說 明如下:
1. 隨機分組:當面對高維度抗體族群的分類方式,這也是使用上的第一個步驟,
但可惜的是,大多數問題並無法察覺該如何將維度做區分,也無法知道分成 幾個族群是最佳的方式,也就是說,如果一開始便決定每一筆測試資料的抗 體基元個數以及族群內維度個數都是相同的,當面對抗體基元間有關聯性時,
這樣的設定並不妥當。如圖 3.2 所示,此為一符合實際情況的分類方式,假 設問題具有三十個維度,若此時處於最好的分類情況,會發現每個族群內的 維度個數並不會相同,例如 swarm_1 包含維度編號{1, 9, 11, 13}共四個維度,
swarm_2 只有維度編號{10}一個維度,而 swarm_4 卻含有維度編號{6, 17, 18, 20, 25, 29, 30}共 7 個維度,除此之外,使用者也無法得知族群個數應如何設 定才是最佳解,因此本文在族群個數以及各族群內所包含的維度數目和編號 皆以隨機產生,且當一筆測試資料完成後,重新設定族群個數以及各族群內 維度數目和編號,增加彼此間配對組合的多樣性。
族群_1
族群_2
族群_3
族群_4
族群編號 維度編號
1,9,11,13
3,7,19,23
10
6,17,18,20,25,29, 30
. . . 族
群 個 數
維度總數:30
圖 3.2 實際分類情況。
本文中隨機分組程序將會得到如同圖 3.3 的結果,圖中僅列出三筆測試資料,
最適當的測試資料數目需視維度的大小而定,數目取太少,造成配對組合方 式不足,這樣的結果意義並不大;反之數目取太多,雖然可更精確得到維度 之間彼此的關聯性,但卻會造成資料量龐大,演算時間過長的窘境。此種方 式得到的各種配對組合,比較圖 3.2 可發現,是較符合實際情況的分類。
2. 資料測試:將隨機分組後所得到的資料,做為初步族群分組的依據,以這幾 種分組情況進行測試,每一筆測試資料經過運算會對應到一筆適切值(fitness value),這些適切值將構成初步資料庫。
族群_13
4. 規則確立:得到優良資料庫後,將以這個資料庫裡的各筆資料產生一組或多 組規則,以頻繁樣式成長法做為尋找規則的方法,首先將優良資料庫裡的資 料建立頻率項樹,由頻繁項樹可找到維度間的關聯性,其中關聯法則兩個重 要的指標支持度和信任度,在本文中所設定最小支持度為整體資料個數的 50%,最小信任度亦為 50%,當完成頻繁項樹後,透過關聯法則可以知道哪些 維度分於同一族群裡,可滿足最小支持度及最小信任度,這些組合方式,將 成為後續運算上的分群組規則,意即共生式人工免疫系統群族分類規則因此 確立。
圖 3.4 為族群分類規則確立的詳細流程圖,族群分類規則訂立後,有可能會 產生失敗的情況,若訂立規則後演算過程中,所得到的適切值不滿足優良資料庫 的優良標準,則視為規則失敗,將重新訂立族群分類規則,造成規則失敗的原因 有兩個:
1. 測試資料錯誤:測試資料在進行演化時,可能陷入局部最佳解,以至於這樣 的資料庫並不正確,影響族群分類情況。
2. 測試資料數目過少:測試資料數目太少導致資料庫裡的各筆資料並不完整,
此種情況下容易造成族群分類情況產生不客觀的效果。
而如何判斷規則數多少為適當,則是利用模糊系統中模糊集合歸屬函數重疊性 (overlapping)是否過高來判斷,若重疊性過高則代表重複的規則數(redundancy)太 多。
多維度方程式
以隨機方式進行族群分類
以隨機分組的結果進行運 算
得到數筆適切值,建立初始 資料庫
將測試資料進行分類,判別 分類好壞
刪除資料 壞 好
建立優良資料庫
分類規則確立
否 是
1.隨機分組
2.資料測試
3.資料選取
4.規則確立
調整最小支持度及最小信 任度
以頻率項目成長確立分類 規則
利用模糊集合歸屬函數是 否重疊性過高來判斷分類
規則數是否適當
圖 3.4 族群分類詳細流程。
圖 3.5 和圖 3.6 為抗體基元分組簡例,其中包含維度_1 到維度_17 共 17 個維 度,在優良資料庫中存放五筆交易資料,圖 3.5 為這五筆交易資料,經過最小支 持度刪除頻率低項目後,再依照頻率的高低由高至低做排序所得的結果,此處最 小支持度為 50%,因為資料個數為五筆,所以各項目必須出現至少 3 次才會被選 取,其餘出現少於 3 次的項目將被刪除。
編號 維度項目
1 {維度_1,維度_3,維度_4,維度_6,維度_7, 維度_9,維度_13,維度_16}
2 {維度_1,維度_2,維度_3,維度_6,維度_9, 維度_15}
3 {維度_2,維度_6,維度_8,維度_10,維度_15}
4 {維度_2,維度_3,維度_11,維度_16,維度_17}
5 {維度_1,維度_3,維度_5,維度_6,維度_12, 維度_13,維度_14,維度_16}
編號 維度項目
1 {維度_6,維度_3,維度_1,維度_13,維度_16}
2
3 {維度_6,維度_2}
4 {維度_3,維度_2,維度_16}
5
{維度_6,維度_3,維度_1,維度_2}
{維度_6,維度_3,維度_1,維度_13,維度_16}
最小支持度:50%
優良資料庫
圖 3.5 族群分類簡例。
圖 3.6 為依據選取後的交易資料所作的頻率項樹,經過最小支持度的篩選後,
維度_3:3 維度_2:1
維度_1:3
3. 維度_2 相關項目:{維度_6, 維度_3, 維度_1}出現次數 1,{維度_6}出現次數 1 次,{維度_3}出現次數 1,並無出現次數超過 3 次的項目,規則產生失敗,
此處無規則產生。
此範例得到一組規則,規則一為{維度_3, 維度_16},最後確立的規則含有 兩個維度,除了這兩個維度外,其餘維度皆視為獨立的個體,不與其他維度具有 關聯性,這些獨立的維度,將各自劃分到不同的族群裡,每個族群中只包含本身 一個項目,因此最後可得到的族群分類規則為:族群一{維度_3, 維度_16}、族 群二~族群十五分別為{維度_1}、{維度_2}、{維度_4}、{維度_5}、{維度_6}、{維 度_7}、{維度_8}、{維度_9}、{維度_10}、{維度_11}、{維度_12}、{維度_13}、
{維度_14}及{維度_15},亦即此處經由關聯性的探勘後,16 個維度將分為 15 個 族群,以這 15 個族群做為共生式人工免疫演算法抗體族群分類規則,依照此族 群分類規則完成後續最佳化的演算。
3.2.2 族群分類規則確立後最佳化演算法
本文所改良最佳化演算法的重心落於抗體基元的分群上,訂立出一套合理的 分類規則,規則確立後,再以共生式人工免疫系統完成整體最佳化過程,原始人 工免疫系統與共生式人工免疫系統在抗體基元分類規則上相比較為單純,原始人 工免疫系統將所有維度項目分於同一族群裡,每一次的演算若得到較好的最佳解,
會一次更新所有維度項目的值。共生式人工免疫系統在族群分類上剛好與原始人 工免疫系統相反,將所有維度全部獨立,每一個維度會放到一個族群裡,一次只 會演化一個維度,其餘的維度皆以記憶細胞所得的上一代最佳解代替。
假設一個維度 6 的例子,各維度以 A~F 表示,族群個數為三,若分類規則 為:族群一{A, C, F}、族群二{E}、族群三{B, D }。如圖 3.7 所示,A(n)代表 A 維度裡第 n 個抗體基元,基於頻繁樣式成長的共生式人工免疫系統會先最佳化第
一個族群,其中包含三個維度項目{A, C, F},一次的演算法將一起更新這三個維
3.3.1 架構模糊類神經網路
, for i=1, 2; j=1, 2, , 5. (3.3)
1( )
W i W i2( ) W i3( ) W i4( ) W i5( )
x1 x2
第一層 (輸入層)
第二層 (歸屬函數層)
第三層 (規則層)
第四層 (推論層)
第五層 (輸出層)
y
圖 3.8 本論文所使用 TSK 模糊類神經網路架構。
4. 第四層:推論層,此層中會將第三層的輸出,乘上一組線性組合式,以W ij( ) 表示,推論層用於推論規則層所得到的資訊,如公式 3.4 所示,其中 N 為輸 入個數,每一組W ij( )會產生三個可調變數,例如W i1( )=w01+(w x11 1+w x21 2), 其中w 、01 w 以及11 w 為使用者須調整參數,因此在此層中,總共會有 15 個21 參數須做最佳化的處理。
(4) (3)
j j j( )
u =u W i (3.4)
∏
=
i ij
j u
u (3) (2)
其中 0
無法學習到所要的目標,但規則數越多並不代表系統會表現越好,過多的規則數 容易造成演算過程中計算量的沉重負擔,例如若設定 7 個規則數,2 個輸入數,
則最佳化過程將會面對將近 50 個維度的問題,這樣的維度大小,計算量相當龐 大,將會造成演算上太過於沉重的負擔。
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
本論文中提供三組函數進行函數圖型模擬,如以下方程式 4.1、方程式 4.2 及方程式 4.3,此處與函數最佳化不同,執行函數最佳化時,頻率項目成長用於 尋找函數間各變數的關聯性,分類規則的訂立為方程式中x 之間是否具有關連性,i