第四章 我們的方法
4.6 改良式 Fuzzy GBML 演算法
我們所提出的改良式 fuzzy GBML 演算法,首先以 MW 模糊模 型取代了[17]中所使用的 SS 模糊模型,接著再以 3.4.2 節所述的 heuristic procedure 來取代密西根式演算法。因此,在我們的改良式 fuzzy GBML 演算法中,並沒有使用任何的密西根式演算法。以下將 說明我們所提出的改良式 fuzzy GBML 演算法。首先,假設整個族群 是由
N
pop個 rule sets 所組成,其中的每個 rule set 則由N
rule條 fuzzy rules 所組成,而在執行 Step 6 時,欲替換的 fuzzy rules 數為N
replace條。Our Improved Fuzzy GBML Algorithm
Step 1) 以 3.4.1 節所述的 heuristic procedure,產生
N
pop個由N
rule條 fuzzy rules 組成的 rule sets。Step 2) 依正確分類的訓練樣本個數,計算族群中每個 rule set 的 fitness value。
Step 3) 以匹茲堡式演算法產生一個新的族群。
Step 4) 執行 elitist strategy。
Step 5) 依正確分類的訓練樣本個數,計算族群中每個 rule set 的 fitness value。
Step 6) 對族群中的每個 rule set,任選
N
replace個被這個 rule set 錯誤的 分類或是拒絕分類的訓練樣本,接著以 3.4.2 節所述的 heuristic procedure ,利用這N
replace 個訓練樣本產生N
replace 條新的 fuzzy rules,最後隨機地替換掉 rule set 中的N
replace條 fuzzy rules。Step 7) 若已達要求的分類正確率,或者已達預設的 generation 數,則 結束演算法,否則回到 Step 2。
接下來,我們以一個簡單的例子來說明我們所提出的改良式 fuzzy GBML 演算法。首先,假設給定的訓練樣本數為 150 個,而整 個族群是由
N
pop =10個 rule sets 所組成,其中的每個 rule set 則由rule = 20
N
條 fuzzy rules 所組成,而在執行 Step 6 時,欲替換的 fuzzy rules 數為N
replace =2條。Step 1) 從 150 個訓練樣本中隨機選出 20 個,接著以 3.4.1 節所述的
heuristic procedure,產生第一個 rule set 中,初始的 20 條 fuzzy rules。剩餘的 9 個 rule sets 也以相同的方法來產生 rule set 中,初 始的 20 條 fuzzy rules。
Step 2) 依正確分類的訓練樣本個數,計算這 10 個 rule sets 的 fitness value。假設第一個 rule set 正確的分類了 120 個訓練樣本,則此 rule set 的 fitness value 便為 120。
Step 3) 以匹茲堡式演算法產生一個新的族群。
Step 4) 從這 10 個 rule sets 中任意選出一個,以 elitist 來取代它。
Step 5) 依正確分類的訓練樣本個數,計算這 10 個 rule sets 的 fitness value。
Step 6) 假設此時第一個 rule set 的 fitness value 仍為 120,則從被此 rule set 錯誤的分類或是拒絕分類的 30 個訓練樣本中,任意選出 2 個,接著以 3.4.2 節所述的 heuristic procedure,利用這 2 個訓練樣 本產生 2 條新的 fuzzy rules,最後隨機地替換掉第一個 rule set 中 的 2 條 fuzzy rules。剩餘的 9 個 rule set 亦依上述方法產生並替換 掉 rule set 中的 2 條 fuzzy rules。
Step 7) 若已達要求的分類正確率,或者已達預設的 generation 數,則 結束演算法,否則回到 Step 2 繼續下一個回合的運算。
改良式 fuzzy GBML 演算法於每個 generation 中均計算每個 rule
set 的 fitness value 兩次,因為當演算法執行了 Step 3 或 Step 6 之後,
均會產生一個和之前不同的族群,所以我們立即在此時計算每個 rule set 的 fitness value,以保持 elitist 隨時為最佳。
我們的改良式 fuzzy GBML 演算法首先以計算較為快速的 MW 模糊模型來取代原本 hybrid fuzzy GBML 演算法所使用的 SS 模糊模 型,接著再以計算步驟較精簡的 heuristic procedure 來取代原本計算 繁複的密西根式演算法。種種實驗亦證明了,我們的方法不但計算速 度更快、收斂速度更快,且還提升了些微的分類正確率。