• 沒有找到結果。

第三章 解析編碼之演化式分類演算法

3.3 演化式分類演算法運算元機制

3.3.5 重生(Restart)機制

演化式分類演算法在演化的過程中,經常會有演化上的瓶頸而陷入區域最佳 解。因此加入計算適應度標準差之機制,藉以判斷適應度提升的速度是否過於緩 慢,若過於緩慢,則會啟動 Restart 機制。Restart 機制中有四種不同的 Restart 方 式。

1. 是將染色體內容全部以亂數取代現有的類別值,使染色體內容重新訓練 2. 是找出問題中,同一類別出現次數最多的類別值。

3. 分段式基因演算法(Segmented Genetic Algorithm, SGA)是為了用來提升染 色體適應度的機制,該機制將染色體分割成數段染色體,如圖 3-8,每一段

染色體會各自執行基因演算法的機制。此機制下,演化的染色體較短,因此 可以有效縮短演化時間。

Selection Selection Selection Selection Cross-Over Cross-Over Cross-Over Cross-Over

Mutation Mutation Mutation Mutation

圖 3-8 分段式基因演算法示意圖

4. 最鄰近演算法(K-Nearest Neighbor, KNN)的特性為搜尋特定範圍中,所有的 類別值,藉以修正中心點的類別值。本文將會利用參數(K)設定 KNN 的 搜尋範圍大小,根據 K 的數值搜尋中心點附近 K 個基因值。如圖 3-9,K 值 為設定為 1,圖中為一個二維的資料空間,中心點基因編號為 12,所找出的 基因編號為(6,7,8,11,13,16,17,18),根據找出的基因編號的類別值,重新決 定中心點基因的類別值。

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

圖 3-9 Restart-KNN (1-NN) 3.6 演算法流程圖及步驟說明

GAREC 演算法流程,可分成三大階段,第一個階段為建立初始資料及讀入 參數設定;第二階段為主工作部份,將讀入的訓練資料進行基因演算,並將演化 後適應度不佳的基因挑出,存入子工作佇列中;第三階段為子工作部份,將主工 作所產生的子工作進行基因演算法的處理,若適應度不佳,會再建立出子工作,

直到所有的工作的適應度達到設定目標停止。實際流程如圖 3-11。

1. 初始化工作

„ 讀入演算法基本參數及訓練資料。

„ 定義工作:找出訓練資料中的最大值及最小值。

„ 建立工作:根據最大值及最小值,定義出第一個工作的內容。

2. 主工作處理

„ 建立訓練染色體:從主工作的訓練資料中,找出訓練染色體。

„ 定義染色體方格範圍:依據工作中資料的最大值及最小值做解析,解析 數由解析度決定。

„ 建立染色體:以亂數產生染色體。

„ 分類演算法:亂數產生的染色體,會透過基因演算法之基本運算子進行 演化,並且根據訓練染色體來監督染色體的適應度。在演化的過程中,

為了防止演化狀態進入趨緩,因此加入重生機制,打亂染色體內容,解 決演化趨緩的狀態。重生機制如 3.3.5 節所述。

„ 產生子工作:每一個工作演算結束後,會挑出染色體中適應度不佳的基 因,根據訓練資料中,符合該基因範圍的資料點,重新定義成新的子工 作,子工作會存入佇列中,若佇列無工作則結束演算工作。在的一次的 遞迴中,會處理一個佇列中的子工作,該子工作會再被解析成新的訓練 染色體,並且執行基因演算,若還是有適應度不佳的基因,將會繼續產 生子工作,如此遞迴地解決掉佇列中的全部的工作,最後完成全部的演 算動作。

3. 子工作處理

„ 建立訓練染色體:讀取佇列中的子工作,建立訓練染色體

„ 定義染色體方格範圍:依據子工作中資料的最大值及最小值做解析,解 析數由解析度決定。

„ 建立染色體:以亂數產生染色體。

„ 基因演算法:同第二階段的基因演算方式進行演算

„ 產生子工作:同第二階段方式產生子工作 3.7 建立分類模型

訓練資料經過演化式分類演算法演算後,可以將原始資料透過方格的方式將 每一個類別方格切割出來,並且辨識出每一個方格的類別。如圖 3-10,在實際的 演算中,分類模型的方格大小依據問題而定。

圖 3-10 原始訓練資料與分類模型比較圖

圖 3-11 演化式分類演算法流程圖

3.8 實驗分類效果

實驗資料以 7 種不同的 UCI 資料集[18]及 7 種不同的自訂影像資料集進行實 驗,並且使用 Weka 3.6.2 軟體之演算法,與本文提出之演算法 GAREC 進行適應 度 之 比 較 , 採 用 的 演 算 法 分 別 為 SMO 、 DecisionTable 、 ConjunctiveRule 、 MultilayerPerceptron 及 LibSVM。本實驗著重於分類適應度的計算。適應度的計 算實驗會先根據訓練資料訓練分類模型,測試資料與訓練資料比例分別為 70:

30、80:20,90:10,建立完成之分類模型再以測試資料進行測試。適應度是以 測試資料於分類模型中的正確率做計算。適應度可由公式(5)得之,假設若測試 資料筆數為 100,其正確分類的資料為 66,則適應度為 100/66 = 0.66。

測試正確數 測試資料筆數

(5)

因此適應度之值位於 0~1 之間,最佳的適應度值為 1。 實驗採用的參數如 下:

表 3-1 SMO 實驗參數表

buldLogisticModels False

c 1.0 checksTurnedOff False

debug False epsilon 1.0E-12 filterType Normalize Training Data

kernel PolyKernel –C 250007 –E 1.0

numFolds -1 RandomSeed 1 toleranceParameter 0.0010

表 3-2 DecisionTable 實驗參數表

crossVal 1 debug False displayRules False evaluationMeasure Defualt

search BestFirst –D 1 –N 5

useIBk False 表 3-3 ConjunctiveRule 實驗參數表

debug False exclusive False

folds 3 minNO 2.0 numAntds -1

seed 1 表 3-4 LibSVM 實驗參數表

SVMType C-SVC (classification)

cacheSize 40.0 coef0 0.0

cost 1.0 debug False degree 3 doNotReplaceMissingValues False

eps 0.0010 gamma 0.0 kernelType radial basis function

loss 0.1 normalize False

nu 0.5 probabilityEstimates False

shrinking True weights NULL

表 3-5 MultilayerPerceptron 實驗參數表

GUI False autoBuild True

debug False decay False hiddenLayers a

learningRate 0.3 momenturn 0.2 nominalToBinaryFilter True

normalizeAttributes True normalizeNumericClass True

reset True seed 0 trainingTime 500 validationSetSize 0 validationThreshold 20

表 3-6 GAREC-1 實驗參數表

Population 12 Generation 1000 Mutation_Probability 0.1

Succeed 1.0 表 3-7 GAREC-2 實驗參數表

Population 12 Generation 300 Mutation_Probability 0.5

Succeed 1.0

表 3-8 UCI 資料集

資料集 維度 類別數 資料筆數

Yeast 8 10 1484

Pima 8 2 768

Abalone 8 3 4177

Ecoli 7 8 336

Tea 5 3 151

Iris 4 3 150

Haye-roth 4 3 132

表 3-9 Yeast 適應度比較表

FILE Classify 70% 80% 90%

yeast SMO 0.575281 0.569024 0.621622 DecisionTable 0.588764 0.589226 0.60.1351 ConjunctiveRule 0.413483 0.42.4242 0.418919 LibSVM 0.442697 0.427609 0.486486 MultilayerPerceptron 0.604494 0.639731 0.682432

GAREC-1 0.641723 0.62585 0.646259 GAREC-2 0.600907 0.676871 0.544218

表 3-10 Pima 適應度比較表

FILE Classify 70% 80% 90%

pima SMO 0.752174 0.746753 0.714286 DecisionTable 0.721739 0.714286 0.649351 ConjunctiveRule 0.7 0.688312 0.649351 LibSVM 0.630435 0.623377 0.610390 MultilayerPerceptron 0.739130 0.753247 0.714286

GAREC-1 0.723684 0.754967 0.778761 GAREC-2 0.765487 0.821192 0.723684

表 3-11 Abalone 適應度比較表

FILE Classify 70% 80% 90%

abalone SMO 0.539505 0.530539 0.564593 DecisionTable 0.522745 0.530539 0.521531 ConjunctiveRule 0.530726 0.51976 0.566986 LibSVM 0.534717 0.525749 0.535885 MultilayerPerceptron 0.558659 0.567665 0.571770

GAREC-1 0.54996 0.582734 0.594724 GAREC-2 0.554756 0.591127 0.621103

表 3-12 Ecoli 適應度比較表

FILE Classify 70% 80% 90%

ecoli SMO 0.821782 0.835821 0.882353 DecisionTable 0.732673 0.76.1194 0.82.3529 ConjunctiveRule 0.574257 0.58.209 0.67.6471 LibSVM 0.653465 0.731343 0.823529 MultilayerPerceptron 0.831683 0.850746 0.882353

GAREC-1 0.818182 0.830769 0.826531 GAREC-2 0.877551 0.923077 0.939394

表 3-13 Tea 適應度比較表

FILE Classify 70% 80% 90%

tea SMO 0.511111 0.566667 0.4

DecisionTable 0.333333 0.3 0.466667 ConjunctiveRule 0.266667 0.3 0.4 LibSVM 0.533333 0.533333 0.6 MultilayerPerceptron 0.422222 0.533333 0.533333

GAREC-1 0.533333 0.62069 0.627907 GAREC-2 0.651163 0.689655 0.733333

表 3-14 Iris 適應度比較表

FILE Classify 70% 80% 90%

Iris SMO 0.955556 0.966667 0.933333 DecisionTable 0.955556 0.966667 0.933333 ConjunctiveRule 0.666667 0.70 0.666667 LibSVM 1 1 1 MultilayerPerceptron 0.909812 0.966667 0.933333

GAREC-1 0.933333 0.965517 0.953488 GAREC-2 0.953488 0.931034 0.933333

表 3-15 Haye-roth 適應度比較表

FILE Classify 70% 80% 90%

Heya-Roth SMO 0.525 0.615385 0.538462 DecisionTable 0.475 0.461538 0.615385 ConjunctiveRule 0.325 0.346154 0.384615 LibSVM 0.825 0.769231 0.846154 MultilayerPerceptron 0.775000 0.615385 0.615385

GAREC-1 0.684211 0.730769 0.846154 GAREC-2 0.710526 0.692308 0.538462 在 UCI 資料集中,GAREC 與其它分類演算法比較,可以顯示出分類效果在

面對各種不同的資料集,皆可以擁有與其它分類演算法相同或更佳的分類效果。

而 GAREC-1 與 GAREC-2 所使用的參數不同,因此執行後的分類效果有所差異。

以下我們嘗試以影像資料集進行演化式分類程式的分類效果,下表為本文所 使用之影像資料集。

表 3-16 自訂影像-MHH 資料表

表 3-17 MHH 適應度比較表

FILE Classify 70% 80% 90%

MHH SMO 0.990394 0.990559 0.992052

DecisionTable 1 1 1

ConjunctiveRule 0.75058 0.752298 0.746647 LibSVM 0.503644 0.504596 0.510681

MultilayerPerceptron 0.995694 0.995528 0.995529

GAREC-1 0.991716 0.990805 0.992545 GAREC-2 0.990722 0.989811 0.992048 在 MHH 自訂影像中,資料點多,而且維度較大,但是資料分佈狀況屬非常

複雜的分佈,在這一個實驗當中 SMO。DecisionTable 及 GAREC 演算法皆可以 達到 0.95 以上的適應度。而 LibSVM 往往無法擁有較佳的分類效果。

影像名稱 MHH

維度 6

維度說明 像素位置:x,y

三原色:R,G,B 三原色總合:s

類別數 3

資料筆數 20127

圖片說明 自定影像

表 3-18 自訂影像-twGPS 資料表

表 3-19 twGPS 適應度比較表

FILE Classify 70% 80% 90%

twGPS SMO 0.962379 0.96 0.956364 DecisionTable 0.987864 0.987273 0.989091 ConjunctiveRule 0.694175 0.676364 0.669091

LibSVM 0.759709 0.750909 0.727273 MultilayerPerceptron 0.989078 0.994545 0.989091

GAREC-1 0.978129 0.972678 0.970909 GAREC-2 0.970838 0.974499 0.963636 在 twGPS 自訂影像中,資料點不多且資料維度並不大,但是台灣 GPS 坐標

點的資料分佈中,高度的值差異最大,因此 SVM 無法達到 SMO、DecisionTable

影像名稱 twGPS

維度 3

維度說明 經度:x

緯度:y 高度:h

類別數 3

資料筆數 2748

圖片說明 台灣 GPS 坐標點配置圖

表 3-20 自訂影像- LM 資料表

影像名稱 LM

維度 6

維度說明 像素位置:x,y

三原色:R,G,B 三原色總合:s

類別數 6

資料筆數 586

圖片說明 自定影像

表 3-21 LM 適應度比較表

FILE Classify 70% 80% 90%

LM SMO 0.892045 0.905983 0.932203

DecisionTable 0.994318 1 1

ConjunctiveRule 0.704545 0.683761 0.661017 LibSVM 0.784091 0.752137 0.711864

MultilayerPerceptron 1 0.957265 1

GAREC-1 0.971264 1 1

GAREC-2 0.988506 0.982759 1 LM 自訂影像中,資料點不多且資料維度並不大,但是該資料集的第四、第

五個維度的值,差異很大大,因此 SVM 無法達到 SMO、DecisionTable 及 GAREC 演算法的分類效果。

表 3-22 自訂影像- Inland 資料表

影像名稱 Inland

維度 6

維度說明 像素位置:x,y

三原色:R,G,B 三原色總合:s

類別數 3

資料筆數 65535

圖片說明 自定影像

表 3-23 Inland 適應度比較表

FILE Classify 70% 80% 90%

Inland SMO 0.989013 0.989319 0.990844 DecisionTable 0.997304 0.997177 0.997558 ConjunctiveRule 0.911089 0.910353 0.905234

LibSVM 0.994456 0.995575 0.995422 MultilayerPerceptron 0.916022 0.915465 0.909812

GAREC-1 0.999593 0.999237 0.999695 GAREC-2 0.999695 0.999466 0.999542 在 SeaBoard 自訂影像中,資料點多,而且維度較大,但是資料分佈狀況並

不屬於非常複雜的分佈,在這一個實驗當中所有測試的分類演算法皆可以達到 0.9 以上的適應度。

表 3-24 自訂影像- Seaboard 資料表

影像名稱 Seaboard

維度 6

維度說明 像素位置:x,y

三原色:R,G,B 三原色總合:s

類別數 5

資料筆數 65535

圖片說明 自定影像

表 3-25 SeaBoard 適應度比較表

FILE Classify 70% 80% 90%

SeaBoard SMO 0.993998 0.994965 0.995269 DecisionTable 0.990946 0.991684 0.990844 ConjunctiveRule 0.823296 0.821241 0.819777 LibSVM 0.98825 0.991379 0.991759 MultilayerPerceptron 0.997152 0.997711 0.998321

GAREC-1 0.998779 0.998932 0.999237 GAREC-2 0.999135 0.999084 0.999390 在 SeaBoard 自訂影像中,資料點多,而且維度較大,但是資料分佈狀況並

不屬於非常複雜的分佈,在這一個實驗當中 SMO、DecisionTable、LibSVM 及本 文所提出之 GAREC 演算法皆可以達到 0.99 以上的適應度。

表 3-26 自訂影像- Street 資料表

影像名稱 Street

維度 6

維度說明 像素位置:x,y

三原色:R,G,B 三原色總合:s

類別數 6

資料筆數 65535

圖片說明 自定影像

表 3-27 Street 適應度比較表

FILE Classify 70% 80% 90%

Street SMO 0.983825 0.986343 0.98947 DecisionTable 0.965768 0.965438 0.966275 ConjunctiveRule 0.463377 0.459831 0.465893 LibSVM 0.972838 0.97528 0.978178 MultilayerPerceptron 0.980112 0.962921 0.984587

GAREC-1 0.996795 0.997253 0.997253 GAREC-2 0.995574 0.997253 0.996948 在 Street 自訂影像中,資料點多,而且維度較大,但是資料分佈狀況並不屬

於非常複雜的分佈,在這一個實驗當中 SMO、DecisionTable、LibSVM 及本文所 提出之 GAREC 演算法皆可以達到 0.95 以上的適應度。

表 3-28 自訂影像- Spiral 資料表

影像名稱 Spiral

維度 6

維度說明 像素位置:x,y

三原色:R,G,B 三原色總合:s

類別數 6

資料筆數 65535

圖片說明 自定影像

表 3-29 Spiral 適應度比較表

FILE Classify 70% 80% 90%

Spiral SMO 0.614286 0.578571 0.6 DecisionTable 0.928571 0.928571 0.928571 ConjunctiveRule 0.590476 0.528571 0.557143 LibSVM 0.557143 0.55 0.442857 MultilayerPerceptron 0.614286 0.585714 0.614286

GAREC-1 1 1 1 GAREC-2 1 1 1 除 了 Spiral 資 料 集 之 外 , 自 訂 影 像 資 料 集 的 適 應 度 在 使 用 SMO 、

DecisionTable 及 GAREC 的演算法皆可達到 0.9 以上,並且在各個不同核心架構 下,根據維度及演化狀況的不同,執行效率確實有所提升。

Spiral 資料集,資料分佈是屬於螺旋型,許多演算法在面對這種型態的資料 集,皆無法達到較佳的適應度。從實驗數據顯示 SMO 演算法就受到相對大的影 響。而 GAREC 演算法在面臨螺旋型的資料集,仍然擁有相當高的適應度,因為 GAREC 的解析方式,可以將螺旋型的資料解析成圖 3- 12 的型式,達到較佳的 分類效果。

圖 3- 12 Spiral 解析圖

根據實驗所示,GAREC 演算法的分類適應度,在各種 UCI 資料集下皆可以 比 SMO、DecisionTable 或 CojunctiveRule 擁有更佳的適應度。即使如此 GAREA 仍然無法描述出完整的分類模型。其原因是因為,若資料筆數太少,而訓練資料 點位於邊界上,很可能造成誤判的狀況,如圖 3- 13,在編號 1 及編號 5 的方格 中,會因為訓練資料的關係,編號 1 被歸為紅色類別,而編號 5 會被歸為藍色類

根據實驗所示,GAREC 演算法的分類適應度,在各種 UCI 資料集下皆可以 比 SMO、DecisionTable 或 CojunctiveRule 擁有更佳的適應度。即使如此 GAREA 仍然無法描述出完整的分類模型。其原因是因為,若資料筆數太少,而訓練資料 點位於邊界上,很可能造成誤判的狀況,如圖 3- 13,在編號 1 及編號 5 的方格 中,會因為訓練資料的關係,編號 1 被歸為紅色類別,而編號 5 會被歸為藍色類

相關文件