• 沒有找到結果。

第三章 相關研究

3.2 模糊理論

在平常生活中存在著許多無法確定、兩者皆可或者不明確的問題,例如「水很冰」、「風 很強」等描述,這類的問題通常無法使用傳統「0」或「1」的二元概念來進行表示,因此美 國加州大學柏克萊分校 Zadeh (1965) 教授在「Information and Control」期刊中提出了模糊理 論 (Fuzzy Sets) 的概念。Zadeh (1965) 提出的模糊理論可以說是傳統明確集合理論的推廣型 態,其認為應該把實際應用上傳統明確集合的「絕對值」擴展到模糊理論的「相對值」,這 樣的模式更能貼近人類的思考邏輯,模糊推論可以把人類語言中的模糊、不確定,變成明確 的表示值,以減少主觀判斷的缺失,增加對於事物的客觀判斷。

3.2.1 模糊理論集合

明確集合 (Crisp Set)

過去的集合皆屬於非 0 即 1 的二元邏輯,元素的歸屬是明確的,也就是可以很明確知道 元素是屬於何者。所謂的明確就是「對」與「錯」、「黑」與「白」可以明確判被判斷。用 數學式進行定義,可以用式 3-2 表示:

xx DD

x

D ( ) 

10

(3.2)

上述式子為一隸屬函數 (Membership Function, MF),當 x 在集合

D中其值屬於 D,則

D將其判定為「0」,相反的當 x 在集合

D中其值不屬於 D,則

D會將其判定為「1」。下圖 6 以溫度作為範例 以「水很冰」來說,10-15 度建立一個"很冰"的明確集合、15-20 度建立一個

"微冰"的明確集合、20-25 度建立一個"常溫"的明確集合。

圖 6 明確集合示意圖 對於事物可以如此明確定義,即為「明確集合」。

模糊集合 (Fuzzy Set)

在現實生活中並不非所有事務的能以二元邏輯的「對」與「錯」、「0」與「1」做明確 的區分判斷,因此 Zadeh (1965) 提出了模糊理論的概念,此理論可說是傳統集合的擴充版本。

在模糊理論中,兩元素間存在模糊不清的地帶,就像是 0 和 1 之間的小數值,當其模糊地帶 在其中一個集合中所佔的比例較大時,則在該集合中的隸屬度越高,以上述明確集合中的例 子來說,人們對於感受到的外界溫度各有不同,有人覺得 17 度很冰,有人認為 17 度只是微 冰,因此會產生模糊不清的地帶,模糊集合集為此而生,如下圖 7:

圖 7 模糊集合示意圖 模糊集合基礎運算

模糊集合的基本運算很多,其中以補集合、聯集、交集己較經常被使用,其實觀念與平 時用到的集合概念是一樣的,上述三個集合是基本的集合概念,其他運算都可以從這三個集 合組合表達 (Chiu, 2002)。以下為三個基礎集合的介紹:

補集合

假設現在有一宇集  ,集合 A 為宇集的子集合,當宇集  減掉子集合 A,剩下的部分則 稱為 A ,可以由 3-3 式表示:

) ( 1

)

( x

A

x

A

  

(3-3)

由下圖 8 可以看出其關係:

圖 8 補集合示意圖 聯集

當兩個集合 A 和 B 相加後的最大範圍,則稱為 A 和 B 的聯集,以 A  B 表示,下列 3-4 式以代數加法表示:

) ( ) ( )

( )

( )

( x

A

x

B

x

A

x

B

x

B

A

   

   

(3-4)

由下圖 9 可以看出其關係:

圖 9 聯集示意圖

交集

當兩個集合 A 和 B 相加後的重疊範圍,則稱為 A 和 B 的交集,以 A  B 表示,下列式 3-5 以代數乘法表示:

) ( ) ( )

(x A x B x B

A  

  (3-5)

由下圖 10 可以看出其關係:

圖 10 交集示意圖

以上是模糊邏輯基本運算的三個主要組成運算子,詳細內容可以參考(張斐章、張麗秋,

2005)。

3.2.2 模糊推論系統

以模糊推論、模糊集合理論、模糊 If-Then 規則等理論為基礎,建構出模糊推論系統。

下圖 11 的模糊推論系統架構圖包含:模糊化 (Fuzzifier)、模糊規則庫 (Fuzzy Rules Base)、

隸屬函數資料庫 (Membership Function)、推論引擎(Inference Engine) 和解模糊化 (Defuzzifier) 等五個主要結構 (Jang et al., 1997)。

圖 11 模糊推論系統架構圖

模糊化 (Fuzzifier)

在模糊推論系統中,輸入明確數值後首先遇到的即是模糊化,模糊化的主要功能是把現 實生活中的明確值映射到模糊集合上,目的是使原本明確的資料化為模糊訊息,由於模糊推 論系統的基礎是模糊理論,系統便將輸入的資料模糊並映射到隸屬函數 (Membership Function) 上。一般來說,研究人員會把隸屬函數進行正規化,將其數值壓縮在[0,1]的範圍中,

使資料較為精簡,而隸屬函數的型態各有差異,不同的隸屬函數所對應出來的結果也會不同。

模糊規則庫 (Fuzzy Rules Base)

模糊規則資料庫 (Fuzzy Rules Base) 為整個模糊推論系統的依據,其構造分為兩個部分,

分別為:模糊規則庫 (Fuzzy Rules Base) 及資料庫 (Data Base)。其中資料庫提供每一筆參數 所需要的定義,例如:輸入輸出參數的模糊切割等等,還有解模糊化 (Defuzzifier) 的運算規 則等知識,這些知識提供模糊推論系統進行模糊化、模糊推論引擎、解模糊化時所需的條件,

另外代表整個模糊推測系統邏輯規則的模糊規則庫,其運作模式是將資料以 If-Then 的方 式轉換成模糊性的演算法則。通常模糊規則 If-Then 的表現形態以式3-6的方式呈現:

B is y then A is x

if

(3-6)

3-6式中「x is A」表示模糊規則的前鑑部 (Antecedent or Premise),「y is B」為模糊規則 的後鑑部 (Consequence or Conclusion),而其模糊規則主要分為三種:分別是口語式模糊規則 (Mamdani Fuzzy Rule) ( Mamdani and Assilian, 1975)、Tsukamoto式模糊規則 (Tsukamoto Fuzzy Rule) (Tsukamoto et al., 1979) 和函數式模糊規則 (Sugeno Fuzzy Rule) (Tankagi and

模糊推論引擎 (Inference Engine)

模糊推論引擎的功能在於,將模糊化之後的輸入值進行合成運算,套用函數式模糊規則

(1) 最大-最小合成 (Max-min Operation) ( Zadeh, 1973) (2) 最大乘積合成 (Max Product Operation) (Kaufmann, 1975)

( ( ), ( , ))

(3) 最大邊界積合成 (Max Bounded Product Operation)

( ( ) ( , ))

(4) 最大激烈合成 (Max Drastic Product Operation) (Mizumoto, 1981)

( ( ) ( , ))

其預測成果較不顯著,換句話說,資料型態顯示的數據值月平均,研究者獲得的預測成果越 佳,而訓練類神經網路模組所需要的參數以及收歛的條件則需要透過經驗累積或嘗試錯誤法 (Trial and Error) 進行蒐集取得。

3.3.1 調適性類神經模糊推系統架構

本研究利用 ANFIS 探討最少資料量建模的準確度分析,並使用 MATLAB 進行程式撰寫 分析。本研究使用的模糊集合為 Sugeno 模糊規則,而其中的隸屬函數類型很多,包括:梯型、

鐘型、高斯、三角…等,本研究使用鐘型 (Gbellmf) 隸屬函數進行實驗,因鐘型函數可提供 系統較平滑的輸出及較佳的非線性近似 (鍾誠倫,2008)。下圖 12 是當訓練的函數式有 4 個 變數,隸屬函數數量皆為 2,所產生 16 條模糊規則的架構圖。

圖 12 ANFIS 訓練過程圖

第 1 層:輸入層 (Input)

在正規化層中,目標是把上一層中各節點所得到的結果進行正規化。

在 ANFIS 中,模糊規則的數量其意義與神經網路 ANN 的神經元數量類似 (Ertunc and Hosoz, 2008)。結論推論層的節點數量取決於輸入層的隸屬函數個數,結論推論層中的節點數 量決定了模糊規則的數量,而模糊規則的數量決定了 ANFIS 的靈活度,因此,隸屬函數的個 數決定了整個 ANFIS 的靈活度。

3.3.2 ANFIS 學習演算法

在 ANFIS 的推論過程中,使用了混合式學習演算法 (Hybrid Learning Algorithm),執行 過程如下圖 13:

圖 13 ANFIS 推論過程示意圖

參數輸入後,經過前鑑部、推論部到後鑑部,再將誤差以倒傳遞法的方式回傳至前鑑部,依 此方法不斷循環直到參數優化,誤差值降至可接受範圍。

混合式學習演算法

混合式學習演算法是把將最小平方估計法 (Least Squares Estimate) 和最陡坡降法 (Gradient Method) 結合運用在 ANFIS 的一種方式 (Jang, 1997),其每一個子代 (Epoch) 的訓 練過程皆由一個前饋式 (Forward) 網路與一個反饋式(Backward) 網路構成。參數從前鑑部輸 入後將參數固定,來到下一層的推論部以最小平方估計法推論出後鑑部的參數結果,與輸出 參數進行比較,計算出誤差值並調整。在後鑑部得到輸出參數的誤差後,將參數做反饋向前 以最陡坡降法倒傳遞,傳到前鑑部將輸出參數進行更新,如此不斷進行重複,直到參數達到 最佳化的條件後再將其收斂。

第四章 實驗步驟與設計

4.1 實驗步驟

本研究採用 ANFIS 作為研究的工具。以下面步驟進行研究,首先以三個方法隨機產生、

田口方法、及全因子來產生訓練的數據,再將數據分為測試與訓練,最後對於各方法建立的 模組進行分析。

4.1.1 蒐集數據

1. 隨機產生

在隨機產生方面,本研究以 MATLAB 作為程式撰寫的工具,分別產生: 400、200、150、

125、100、50、40 及 30 筆隨機數據,再將數據做切割,其中的 80%為訓練數據,20%為測 試數據,也就是 100 筆數據有 80 筆做訓練用,20 筆做測試用,以此類推。最後再隨機產生 統一的 40 筆數據做驗證。

2. 全因子

全因子的優點是可以準確估算出因子間的交互作用及各實驗的因素的效應,不過也因為 其資料量非常龐大,所以會相當耗費人力及時間,假設有製程有 5 個變數因子,分成 3 個水 準,如此即會產生3 種組合,也就是全部會有 243 筆數據,在製程現場要實際進行 243 次運5 作是相當驚人的,本研究以 MATLAB 配合程式撰寫進行模擬,研究中 f1及 f4取 3 水準作訓 練隨機產生 20 筆數據做測試、f2及 f3取 2 水準做訓練隨機產生 40 筆數據做測試,數據資料 量上在電腦可接受範圍,最後在隨機產生統一的 40 筆數據做驗證。

3. 田口方法

田口方法是工業製程中常用的收集數據方法,此方法可以用少量數據達到較佳的品質,

在本研究中 f1使用 L9(34)、f2和 f3使用 L18(21x37)、f4使用 L18(21x37) 後四行收集數據,另外再 以隨機方式產生 200 筆數據當作測試模組用,最後在隨機產生統一的 40 筆數據做驗證。

表 1 田口直交表 L18(21x34)

No.

x

1

x

2

x

3

x

4

x

5

x

6

x

7

x

8

1 1 1 1 1 1 1 1 1

2 1 1 2 2 2 2 2 2

3 1 1 3 3 3 3 3 3

4 1 2 1 1 2 2 3 3

5 1 2 2 2 3 3 1 1

6 1 2 3 3 1 1 2 2

7 1 3 1 2 1 3 2 3

8 1 3 2 3 2 1 3 1

9 1 3 3 1 3 2 1 2

10 2 1 1 3 3 2 2 1

11 2 1 2 1 1 3 3 2

12 2 1 3 2 2 1 1 3

13 2 2 1 2 3 1 3 2

14 2 2 2 3 1 2 1 3

15 2 2 3 1 2 3 2 1

16 2 3 1 3 2 3 1 2

17 2 3 2 1 3 1 2 3

18 2 3 3 2 1 2 3 1

表 2 田口直交表 L9(34)

No.

x

1

x

2

x

3

x

4

1 1 1 1 1

2 1 2 2 2

3 1 3 3 3

4 2 1 2 3

5 2 2 3 1

6 2 3 1 2

7 3 1 3 2

8 3 2 2 3

9 3 3 1 1

4.1.2 訓練與測試模組

Step 1. 輸入數據

輸入數據後先以 mapminmax 指令將其壓縮在[0,1]之間,之後由於 ANFIS 的資料讀取順 序與前面切割資料的行列相反,所以要用轉置矩陣將其反轉。

Step 2. 建立模糊推論系統 (FIS)

在此階段本研究分為兩個部分:為使用網格分群 (Grid Partition) 的 genfis1 與使用減法 分群 (Subtractive Clustering) 的 genfis2。網格分群的方式會將模糊規則數量以指數方式增加,

因此當變數大於 5 時,genfis1 會建立龐大的模糊規則,導致記憶體不足且失去準確性。減法 分群則是以資料點的密度作為依據,設定一個半徑 r,找出資料點的群集中心進而建立模糊 規則數量,以最精簡的規則數量建構模糊系統(邱俊智,2010)。本研究於 f1與 f4時使用 genfis1,

f2與 f3時使用 genfis2。其中,把 f1與 f4的四個隸屬函數個數皆設定相同,分別以[2 2 2 2]、[3

3 3 3]、[4 4 4 4]、[5 5 5 5]做實驗,f2與 f3的半徑範圍 r 分別設定為 0.2、0.3、0.4、0.5、1.0、

其中

x

為目標值也就是收集的正確答案, y 為輸出值也就是 ANFIS 預測的答案,R 值越接近 1,表示目標值與輸出值的答案越接近,兩者相關性越高。

Step 4. 測試模型

以步驟 3 訓練出的 ANFIS 模組作為基礎,隨機產生的部分將 20%的測試數據導入,田口 方法以 200 筆數據做測試,全因子以 20 及 40 筆做測試,最後再以相同的 40 筆資料做驗證,

以判斷前面的測試是否正確,過程中紀錄 R 值與 RMSE 值,並觀察不同條件下的 R 值走向,

推論出多少筆數據的模組較為準確。

圖 14 研究流程圖

相關文件