# 利用基因演算法產生模糊分類系統

(1)

(2)

## 致謝

李政聰 于 西灣 2006/2/19

(3)

## 摘要

（genetic-based machine learning）演算法來設計一個 FRBCS（fuzzy rule-based classification system）。

(4)

## Abstract

In this thesis, we propose an improved fuzzy GBML（genetic-based machine learning）algorithm to construct a FRBCS（fuzzy rule-based classification system）for pattern classification problem.

Existing hybrid fuzzy GBML algorithm is consuming more computational time since it used the SS fuzzy model and combined with the Michigan-style algorithm for increasing the convergent rate of the Pittsburgh-style algorithm. By contrast, our improved fuzzy GBML algorithm is consuming less computational time since it used the MW fuzzy model and instead of the role of the Michigan-style algorithm by a heuristic procedure. Experimental results show that improved fuzzy GBML algorithm possesses the shorter computational time, the faster convergent rate, and the slightly better classification rate.

Keywords: pattern classification, FRBCS, fuzzy GBML, fuzzy model, genetic algorithm.

(5)

## 目錄

...i

...ii

### 第一章 簡介

...1

1.1 樣本分類問題...1

1.2 學習能力與推廣能力...1

1.3 編排方式...3

### 第二章 Fuzzy GBML 演算法

...4

2.1 Fuzzy Rule-Based System...4

2.2 Fuzzy GBML 演算法...7

2.3 匹茲堡方法與密西根方法...8

### 第三章 Hybrid Fuzzy GBML 演算法

...12

3.1 模糊分割的方式與 Fuzzy Rule 的形式...13

3.2 Fuzzy Rules 的前提部份與結論部份...15

3.3 Single Winner Rule 的模糊推論方法...18

3.4 Heuristic Procedures...20

3.4.1 利用訓練樣本產生初始的 Fuzzy Rules...20

3.4.2 利用被錯誤的分類或是拒絕分類的訓練樣本產生新的 Fuzzy Rules...22

3.5 基因運算方式...23

3.6 Hybrid Fuzzy GBML 演算法...25

(6)

### 第四章 我們的方法

...27

4.1 動機...27

4.2 Fuzzy Rule 的形式及產生結論部份的方式...28

4.3 Weighted Voting 的模糊推論方法...30

4.4 過程及計算時間的比較...31

4.4.1 Fuzzy Rule 產生結論部份的過程...31

4.4.2 模糊推論過程...32

4.4.3 計算時間的比較...34

4.5 改變模糊模型...34

4.5.I 信用指派的問題...35

4.5.II 密西根式演算法存在的必要性...36

4.6 改良式 Fuzzy GBML 演算法...38

### 第五章 實驗結果與分析

...42

5.1 產生結論部份及模糊推論的時間比較...44

5.2 改變模糊模型之後的因應方法...45

5.3 分類正確率與計算時間的比較...47

5.4 收斂速度的比較...48

...53

...54

(7)

(8)

(9)

(10)

(11)

(12)

## 第二章 Fuzzy GBML 演算法

### 2.1 Fuzzy Rule-Based System

（fuzzy logic）為工具，推論出這個輸入值所對應的輸出值。而 FRBSs 最大的好處在於，每條 fuzzy rule 的前提部份（antecedent part）及結 論部份（consequent part），都以語文變數（linguistic variable）的形式 來表示，如“小＂或“大＂，而每個語文變數則使用一個 fuzzy set 來代表它，最後再以一個歸屬函數（membership function）定義了這 個 fuzzy set 在論域（universe of discourse）上的分佈（distribution）

(13)

“禿頭＂），雖然我們不知道代表這兩個語文變數的 fuzzy set 如何定 義其歸屬函數於論域上的分佈情形（即，頭髮要少到什麼程度才算是 稀疏，以及頭髮要稀疏到什麼程度才算是禿頭），但透過語文變數字 面上的意義，我們卻可以很輕易的了解這條 fuzzy rule 所代表的涵 義。一個典型的例子如圖 2.1 所示。

M（Medium）、ML（Medium Large）及 L（Large），每個語文變數均 以一個 fuzzy set 來代表它，最後再用 5 個三角形的歸屬函數來定義這 5 個 fuzzy sets 在論域上的分佈情形。

(14)

data）自動產生 fuzzy rules 的方法[3]，或者使用自我學習法來調整 fuzzy rules 中 fuzzy set(s)的歸屬函數[4]，希望藉由這些方法來減少模 糊控制工程對人類專家的依賴。使用這些方法設計 FRBSs 時，若我 們希望最後產生的每條 fuzzy rule 都可以很直觀的被人類所理解，那 麼在一開始的時候，使用均勻的模糊分割（fuzzy partition）來作為 fuzzy sets 的歸屬函數是較為適當的。如圖 2.2 所示。

（Medium）及 L（Large），我們將每個維度均勻的分割成 3 個 fuzzy sets，用來表示這 3 個語文變數的意義。當然，若擁有人類專家對語 文變數的經驗知識時，我們不會一定要將每個維度作均勻的分割。

(15)

（fuzzy rule-based classification system），本論文所提出的 FRBCS 設 計方法屬於 Fuzzy Rule-Based Method 的一種，即為基於 fuzzy relations 的方法。

### 2.2 Fuzzy GBML 演算法

例如，藉由基因演算法來產生 FRBS 的 fuzzy rules 且調整出最適

(16)

### 2.3 匹茲堡方法與密西根方法

(17)

GBML 演算法簡稱為匹茲堡式（Pittsburgh-style）演算法，而使用密 西根方法的 fuzzy GBML 演算法則簡稱為密西根式（Michigan-style）

(18)

IF

1

1

2

1 IF

1

1

2

2 IF

1

2

2

### A THEN Y is C ,

1

若在密西根式演算法中，我們則將一條 fuzzy rule 編碼成族群中的一 條染色體，再以整個族群來表示這個 rule set（如圖 2.6 所示）。

(19)

(20)

## 第三章 Hybrid Fuzzy GBML 演算法

p1,K,

pn)，

，這

(21)

練樣本分成 M 類。

### MS

5），那 麼在 FRBCSs 的學習過程中，考慮這個維度的屬性值將造成計算上不

(22)

。而

### 15

n 條可能的 fuzzy rules，

Ishibuchi 希望他們所提出的 hybrid fuzzy GBML 演算法能夠快速的在

### 15

n條 fuzzy rules 中，選出少數幾條具代表性的 fuzzy rules 來構成一 個具高分類正確率的 FRBCS。

rule 1

1

q q

qn n

q q

1,K,

n)則是一個

qi代表 fuzzy rule

q前提部份的第

(23)

q代表 fuzzy rule

### R

q的結論類別（consequent class），

q代表 fuzzy rule

### R

q的 certainty factor，即 fuzzy rule

q的可信程度，

rule代表一

### N

rule條 fuzzy rules 所組成。

### 3.2 Fuzzy Rule 的前提部份與結論部份

（0~9,a,b,c,d,e）來代表

，[17]便以

### N

rule條 fuzzy rules 時，[17]便將這個 rule set 編碼為一條長度為

rule 的字串

（string），其中每條長度為

(24)

1 is

2 and

2 is

and

3 is

and

4 is

and

5 is

5 and

6 is

＂，因為

2

3

4

### x

6所對應的 fuzzy set 均為

（即，0），表示不論

2

3

4

### x

6這四個維度的屬 性值為何，對這條 fuzzy rule 的結論部份均沒有任何影響，所以在表 示這條 fuzzy rule 的前提部份時可將其省略，而簡化的表示為“If

1 is

2 and

5 is

### ML

5＂。最後，[17]將一個 rule set 編碼成一條連鎖 的字串。如圖 3.3 即代表了一個由 5 條 fuzzy rules 的前提部份所組成 的 rule set。

q

q）。

q

q1

qn

來代表一條

q的 前提部份，而

q跟某一個訓練樣本

p的相容度（

） 為

### (

p q1 p1 q2 p2 qn pn

q

(25)

qi

qi的歸屬函數。而當

q的前提部份為Aq 時，

q的結論類別為類別

）的信心程度（

） 為

. ) (

) ( )

Class (

1 Class

=

=

m

p

p q h

p q q

p

x A

x A

A x

q的前提部份

### A

q決定了之後，我們便計 算

. , , 2 , 1 ), Class

(

Aq ⇒ = K

ω，作為

q的結論類別

q，即

}.

, , 2 , 1

| ) Class (

max{

)

(

Aqq = Aq ⇒ = K

q的結論類別

q之後，再將這

ω（即，結論類別

### C

q）之外的信心程度加總起來，然後以

q

(Aq

q)來代表這個值，即

(26)

. ) Class (

) (

1

=

=

M

C h h

q q

q

q

A A

q的信心程度減去

q

q

q，意即

) (

)

( q q q q

q

= A ⇒ − A

q值的計算結果為 負（＜

），

便為

### fuzzy rule R

q重新產生另一個新的前提部份A′q， 直到其

q值的計算結果大於

q值為負的

）如何決定一個樣本的類別。

rule

，當一個類別 未知的樣本

p進入

p

q

rule

q

(27)

p

q

p

q

q

ω ω

ω

p

ω

ω，而擁有最大 乘積的

ω即稱為樣本

p

，最後將樣本

p分 類為

ω的結論類別

ω

若樣本

p使得

） 分類這個樣本

p

）中，每條

，因為當一個樣本被其

### winner rule R

ω分類時，我們可 以依據分類結果的正確與否（即，此樣本被正確的分類或錯誤的分 類），輕易的增加或減少

ω

. , , 2 , 1

), ( )

( )

(

rule

q q q

= K

=

(

q)代表被

q正確分類的訓練樣本個數，而

(

q)則 代表被

q錯誤分類的訓練樣本個數。

）。

(28)

### heuristic procedures

來提升密西根式演算法 的收斂速度，

。第二個則為，利用被

。以下我 們將一一舉例說明。

rule

rule個，然後為這

### N

rule個訓練樣本各別產生一個較適合其屬性值的前提部份。產生的過 程如下，假設

p

p1

pn

### N

rule個訓練樣本中的某一個，我 們先計算維度上的

（如圖

）各自和屬性值

### x

p1的相 容度，作為各自被選出作為

p1的前提

k

### k

=1,2,K,14）被選到的機率為

. ) (

) ) (

( 14

1

=

=

j

pi j

pi k k

(29)

p1的前提

。而

p剩餘的屬性值，

p2

### , K , x

pn，亦依 上述方法產生一個較適合的前提

p其屬性值的前提部份。剩下的（

### N

rule −1）個訓練樣本亦依上述過 程產生（

### N

rule −1）個前提部份。接下來以預設的突變機率

### P

don'tcare， 將前提部份的

。最後計算這

rule

rule

便產生完畢。

rule =5條

p

p1

p2

### p

=1,2,K,20， 一開始我們先從這 20 個訓練樣本中隨機選出 5 個，假設選出的 5 個 訓練樣本為

3

5

9

15

16，且其中的

### x

3 =(0.2,0.5)，接著我 們計算維度上的 14 個 fuzzy sets 各自和

### x

31 =0.2的相容度。則第一個 fuzzy set

2 被 選 到 作 為

### x

31 =0.2 的 前 提 fuzzy set 的 機 率 為

2 . 4 0

8 . 0 4

) ) (

( 1 =

1

31 = =

，而第二個 fuzzy set

2被選到的機率為

05 . 0 ) (

2 =

### P

，依此類推，14 個 fuzzy sets 的機率均計算結束後，再 依每個 fuzzy set 各自的機率大小，從 14 個 fuzzy sets 中選出一個，作 為

### x

31 = 0.2的前提 fuzzy set。然後再依上述方法產生

### x

32 = 0.5的前提 fuzzy set 之後，便產生了一個較適合

3其屬性值的前提部份。再依上

(30)

5

9

15

### x

16的前提部份之後，便產生了 5 個較適合訓練樣本的前提部份。接下來以預設的突變機率

### P

don'tcare，將 前提部份的 fuzzy set 突變為

，假設

### P

don'tcare =0.5，則每個前 提 fuzzy set 突變為

(31)

### N

pop條染色體所組成。

（如圖 2.3），而一條染色體（即，rule set）則由許多 fuzzy rules 所組 成（如圖 3.4 所示）。

pop次之後，便挑選出

### N

pop條染色體至交配池中。而交配

(32)

（crossover）方式為，從交配池中隨機選出 2 條染色體，然後以染色 體中的 fuzzy rule 為單位，進行 rule-wise 的交配運算。突變方式則為，

若某個 fuzzy set 已確定要進行突變運算，則此 fuzzy set 突變為

### P

don'tcare，而突變為 14 個語文變數中任一個的機率 均為(1−

don' caret )/14。

### P

don'tcare = 0.5。若一 個 fuzzy set 已確定要進行突變運算，則此 fuzzy set 突變為

### don ' tcare

036 . 0 14 / ) 5 . 0 1

( − ≅ 。

Ishibuchi 於密西根式演算法中所使用的基因運算方式，大致上和匹茲

(33)

### N

pop個 rule sets 所組成，其中的每個 rule set 則由

### N

rule條 fuzzy rules 所組成。

Hybrid Fuzzy GBML Algorithm

Step 1) 以 3.4.1 節所述的 heuristic procedure，產生

pop個由

### N

rule條 fuzzy rules 組成的 rule sets。

Step 2) 依正確分類的訓練樣本個數，計算族群中每個 rule set 的

(34)

fitness value。

Step 3) 以匹茲堡式演算法產生一個新的族群。

Step 4) 依預設的機率（[17]中預設的機率為 0.5）對族群中的 rule sets 個別執行單一回合（iteration）的密西根式演算法（即，產生 及替換 fuzzy rules 的部份）。

Step 5) 執行 elitist strategy。

Step 6) 若已達要求的分類正確率（預設為 100%），或者已達預設的 generation 數，則結束演算法，否則回到 Step 2。

(35)

## 第四章 我們的方法

### 4.1 動機

都會影響一個 FRBCS 的分類結果[20],[21]。在[20]中還舉了一個簡單 的例子，我們若將一個[-2,2]× [-2,2]的平面樣本空間分割成5× 的均5 勻模糊分割，然後以單一結論類別的 fuzzy rules 與 single winner rule 的模糊推論方法來模擬方程式

### x

1+ x2 = 0.05的決策分界線，則模擬結 果將如圖 4.1 的左圖所示。

(36)

### 4.2 Fuzzy Rule 的形式及產生結論部份的方式

. , , 2 , 1

, with Class

and and

with 1 Class then

is and and

is If : Rule

rule 1

1 1

qM q

qn n q

q

K K

K

=

1,K,

n)則是一個

qi代表 fuzzy rule

q前提部份的第

qh代表 fuzzy rule

### R

q的結論類別為類別h的 certainty factor，

rule

### N

rule條 fuzzy rules 所組成。

(37)

### R

q其前提部份決定了之後，我們便能依據給定的 data set 計算出

### R

q的 結 論 部 份 ， 且 計 算 過 程 更 為 簡 單 快 速 ， 我 們 直 接 使 用 信 心 程 度

) Class

( h

c Aq⇒ 作為結論類別hCFqh值，即

. , , 2 , 1 ), Class

( h h M

c

CFqh = Aq ⇒ = K

fuzzy rule

### R

q重新產生另一個新的前提部份A′，直到存在著某個q CFqh 值大於 0 為止。

(38)

### N

rule條 fuzzy rules 所組成的 rule set，當一個類別 未知的樣本xp進入

. , , 2 , 1 , )

( )

(

rule

1

M h

CF h

SC p qh

N

q

q ⋅ = K

=

=

x μA

### ω

若樣本xp使得 2 個以上的SC(h)值同時擁有最大值，則 rule set

### N

rule = 2條擁有 3 個結論類別的 fuzzy rules 所組成的 rule set：

6 . 0

and 0.1

and 0.3 then

is If :

Rule

1

2

11 =

12 =

13 = 4 . 0

and 0.5

and 0.1 then

is If :

Rule

2

2

21 =

22 =

23 =

### S

2的相容度為 0.8，和 fuzzy set

(39)

### L

2的相容度為 0.2，當此樣本xp進入

### S

26 . 0 1 . 0 2 . 0 3 . 0 8 . 0 )

( )

1

( 1

2

1

=

⋅ +

=

=

### ∑

= q p q

q

CF SC μA x

18 . 0 5 . 0 2 . 0 1 . 0 8 . 0 ) 2

( = × + × = SC

56 . 0 4 . 0 2 . 0 6 . 0 8 . 0 ) 3

( = × + × = SC

### R

q其前提部份決定了之後，我 們需計算出

### R

q的結論類別Cq及 certainty factor CFq，其計算過程為

(40)

Step 1) 計算c(Aq⇒Classh)，h=1,2,K,M.

Step 2)

(Aq

q)=max{

(Aq ⇒Class

)|

=1,2,K,

### M

}.

Step 3) ( ) ( Class ).

1

=

=

M

C h h

q q

q

q

A A

Step 4)

q =

(Aq

q)−

(Aq

q).

### R

q其前提部份決定了之後，我們 只 需 計 算 出

### R

q 每 個 類 別 的 信 心 程 度 ， 然 後 直 接 使 用 信 心 程 度

) Class

( h

c Aq⇒ 作為結論類別hCFqh值，即

. , , 2 , 1 ), Class

( h h M

c

CFqh = Aq ⇒ = K

### N

rule條 fuzzy rules 所 組成，而現在有一個類別未知的樣本xp進入這個 rule set。

Single Winner Rule Method

Step 1) 計算

Aq(xp)⋅

q

rule

Step 2) 找出

### N

rule個乘積中的最大乘積。

(41)

Step 3) 若擁有最大乘積的 fuzzy rule 數目唯一，則分類此樣本xp並 結束演算法。

Step 4) 若擁有最大乘積的 fuzzy rules 其結論類別均相同，則分類此 樣本xp並結束演算法。

Step 5) 拒絕分類此樣本xp

Weighted Voting Method

Step 1) 計算

=

= rule

1

) ( )

(

N

q

qh p

q CF

h

SC μA x

=1,2,K,

### M

Step 2) 找出MSC(h)值中的最大值。

Step 3) 若有兩個以上的SC(h)同時擁有最大值，則拒絕分類此樣本xp 並結束演算法。

Step 4) 分類樣本xp

(42)

### N

rule）的增加而增加，通常會比 single winner rule 的 模糊推論過程來的耗時，不過值得慶幸的是，一個好的 rule set 中不 會包含太多的 fuzzy rules。

更為省時（在

rule

(43)

### I. 信用指派的問題

[17]使用 single winner rule 的模糊推論方法來分類樣本，使得我 們在 rule set 應用密西根式演算法時，可依 3.3 節所述的信用指派方 式，輕易的計算出 rule set 中每條 fuzzy rule 的 fitness value。但是當 我們使用了 weighted voting 的模糊推論方法之後，並不會產生所謂的 winner rule，為此我們提出了另一種信用指派的方式來計算密西根式 演算法的族群中，每條 fuzzy rule 的 fitness value，我們將密西根式演 算法族群中的每條染色體均視為一個由一條 fuzzy rule 所組成的 rule set，故 fitness value 的計算方式為

. , , 2 , 1

), ( )

( )

(

rule

q

= K

=

### R

q的多個結論類別中，信心程度最大的類 別，而ω 則代表除了類別ω 之外的所有類別，

(

)代表類別ω 的訓 練樣本總數，

(

### ω

)則代表類別ω 的訓練樣本總數。因為使用了多結 論類別的 fuzzy rule 與 weighted voting 的模糊推論方法，加上我們所 使用的 fitness value 計算方式較[17]所使用的方式簡單，使得此時的 演算法在計算時間上較[17]快速許多，但分類正確率卻比[17]略低（實 驗結果列於第五章中）。於是我們再提出另一個想法。

(44)

（實驗結果列於第五章中）。

Aq(xp)⋅

### CF

qh加總起來，整個推論的過程與 rule set 中的每一 條 fuzzy rule 均息息相關，並沒有所謂的單一條較好的 fuzzy rule。如 圖 4.2 所示。

(45)

(46)

### 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，產生

pop個由

### N

rule條 fuzzy rules 組成的 rule sets。

(47)

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 ，利用這

replace 個訓練樣本產生

### N

replace 條新的 fuzzy rules，最後隨機地替換掉 rule set 中的

### N

replace條 fuzzy rules。

Step 7) 若已達要求的分類正確率，或者已達預設的 generation 數，則 結束演算法，否則回到 Step 2。

### N

pop =10個 rule sets 所組成，其中的每個 rule set 則由

rule = 20

### N

replace =2條。

Step 1) 從 150 個訓練樣本中隨機選出 20 個，接著以 3.4.1 節所述的

(48)

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 繼續下一個回合的運算。

(49)

set 的 fitness value 兩次，因為當演算法執行了 Step 3 或 Step 6 之後，

Updating...

## References

Related subjects :