• 沒有找到結果。

第三章 基於頻繁樣式成長法的共生式人工免疫系統

3.1 演算法概述

現今用於最佳化處理的演算法多為基因演算法(GA),而人工免疫演算法為 近幾年所發表的最佳化演算法,在表現上並不遜色於基因演算法,使用上也逐漸 嶄露頭角,許多改良型人工免疫最佳化的演算法也陸續出現,其中值得注意的方 法為共生式人工免疫系統,共生式人工免疫系統是一套應用廣泛的方法,但此演 算法最大的缺點為當碰到抗體基元間有關聯性時,由於共生式人工免疫系統分群 的方法會使演算法性能下降,意即使用者必須嘗試多種抗體基元分群方式,然後

單純比較之間的效果,才能找出判斷哪一種分群效果是好的,這樣的使用方式,

導致在面對抗體基元有關聯性或者為中、高維度的問題時遇到困難。

本文在最佳化的處理上,同樣使用共生式人工免疫系統做為演算方法,對 於無族群分類標準的問題,透過資料探勘來解決並告知使用者哪些抗體基元維 度彼此間具有關聯性,圖 3.1 為最佳化處理時的基本流程,面對複雜函數時,

先以資料探勘尋找出各個抗體基元關聯性,決定哪些抗體基元該放在同一族群,

哪些該分開,再依照這個族群分類結果提供共生式人工免疫系統使用,以達到 最好的表現。

複雜函數

以資料探勘的結果做為SymAIS的抗體族群分類標準

最佳解

利用資料探勘尋找抗體 基元分群標準

圖 3.1 基本流程。

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

無法學習到所要的目標,但規則數越多並不代表系統會表現越好,過多的規則數

無法學習到所要的目標,但規則數越多並不代表系統會表現越好,過多的規則數

相關文件