狠狠撸

狠狠撸Share a Scribd company logo
FML Tool介紹
About FML介紹
國立臺南大學 Lian0123製作
製作日期:2019/04/12 維護期限:2019/12/31版本編號1.4.6
CC4.0非商業使用授權
?感謝國立臺南大學提供FML Lite (OASE)-02152012-5操作工具
?以下說明皆是基於FML Lite (OASE)-02152012-5操作工具:
? 其模糊推論與基因算法的設計方式
致謝
总纲
? 名词与符号定义
? Fuzzy 數學理論
? FML 運算說明
? 基因演算法在贵惭尝上的处理
总纲
名词与符号定义
? FML:Fuzzy Markup Language
? 模糊標記語言
? MFi: MumberShip Function Of i
? 歸屬函數
? FNi : Fuzzy Number Of i
? 模糊數
? GA : Genetic Algorithm
? 基因演算法
名词与符号定义
贵耻锄锄测数学理论
?Fuzzy Number: FN(x)
Fuzzy Number
FN
歸屬值最大為:1
歸屬值最小為:0
歸屬值最大為:1
?範例一:
Fuzzy Number
FN
10 50 年齡
屬於年輕人的程度
1歲的小朋友
屬於年輕人的程度:0
?範例二:
Fuzzy Number
FN
10 50 年齡
屬於年輕人的程度
22歲的大學生
屬於年輕人的程度:1
?範例三:
Fuzzy Number
FN
10 50 年齡
屬於年輕人的程度
46歲的大叔
屬於年輕人的程度:0.3
?Fuzzy Number即表示一模糊事物的歸屬值:
Fuzzy Number
FN
10 50 年齡
屬於年輕人的程度
FN
10 50 年齡
屬於年輕人的程度
FN
10 50 年齡
屬於年輕人的程度
1歲的小朋友
屬於年輕人的程度:0
22歲的大學生
屬於年輕人的程度:1
46歲的大叔
屬於年輕人的程度:0.3
Fuzzy Number的歸屬值:就是指某事物屬於模糊集合(Fuzzy Set)的程度
?Mumbership Function
贵耻锄锄测数学理论
屬於小孩
的程度
屬於年輕人
的程度
屬於老年
的程度
0 15 65
年齡
歸屬函數
45
1
?Mumbership Function
贵耻锄锄测数学理论
FN1 FN2 FN3
min mid max x
f(x)
?Fuzzy Number: FN1(x)
贵耻锄锄测数学理论
FN1
x
f(x)
?Fuzzy Number: FN2(x)
贵耻锄锄测数学理论
FN2
x
f(x)
?Fuzzy Number: FN3(x)
贵耻锄锄测数学理论
FN3
x
f(x)
FML 推論說明
?標記標記語言:
FML
FNFuzzy Type、MF的值域、各FN的值域、
各FN函數類型、局部特徵形容、規則...
XML檔
多個MF
RuleBase設計
? min mumber function
? mid mumber function
? max mumber function
input MumberShip Function output MumberShip Function
MF1 MF2 MF3 MF4 MF5
RuleBase設計
? min mumber function
? mid mumber function
? max mumber function
input MumberShip Function output MumberShip Function
MF1 MF2 MF3 MF4 MF5
RuleBase設計
? min mumber function
? mid mumber function
? max mumber function
input MumberShip Function output MumberShip Function
MF1 MF2 MF3 MF4 MF5
RuleBase設計
? min mumber function
? mid mumber function
? max mumber function
input MumberShip Function output MumberShip Function
MF1 MF2 MF3 MF4 MF5
RuleBase設計
? min mumber function
? mid mumber function
? max mumber function
input MumberShip Function output MumberShip Function
MF1 MF2 MF3 MF4 MF5
RuleBase設計
? min mumber function
? mid mumber function
? max mumber function
input MumberShip Function output MumberShip Function
所有可能的連線
MF1 MF2 MF3 MF4 MF5
RuleBase設計
? min mumber function
? mid mumber function
? max mumber function
input MumberShip Function output MumberShip Function
實際設計的連線
MF1 MF2 MF3 MF4 MF5
RuleBase推論
? min mumber function
? mid mumber function
? max mumber function
input MumberShip Function output MumberShip Function
MF1 MF2 MF3 MF4 MF5
RuleBase推論
Input: MF1(0.5),MF2(0.3),MF3(0.4),MF4(0.7)
Input: MF1 is min ,MF2 is min,MF3 is mid,MF4 is max
Output: MF5 is mid → MF5(0.6)
等同意義
進行推論 並 轉回數值
資料輸入
輸出結果
?在數學公式上即:
贵耻锄锄测数学理论
f(x)= Max{ Min{FNi(x),FN2(x),...} }
f(x) in [0,1]
贵耻锄锄测数学理论
FN1 FN2
x
MF1
f(x)
FN1 FN2
x
MF2
f(x)
FN1 FN2
x
MF3
f(x)
MF1 is input
MF2 is input
MF3 is output
贵耻锄锄测数学理论
MF1 MF2 MF3 MF1 MF2 MF3 MF1 MF2 MF3 MF1 MF2 MF3
MF1 MF2 MF3MF1 MF2 MF3 MF1 MF2 MF3 MF1 MF2 MF3
Rule 1 Rule 2 Rule 3 Rule 4
Rule 5 Rule 6 Rule 7 Rule 8
共有8種可能
贵耻锄锄测数学理论
MF1 MF2 MF3 MF1 MF2 MF3 MF1 MF2 MF3 MF1 MF2 MF3
MF1 MF2 MF3MF1 MF2 MF3 MF1 MF2 MF3 MF1 MF2 MF3
Rule 1 Rule 2 Rule 3 Rule 4
Rule 5 Rule 6 Rule 7 Rule 8
在此為了方便說明只設置2個Rule
贵耻锄锄测数学理论(取minimum)
FN1 FN2
f(k)
x
MF1
f(x)
FN1 FN2
f(k)
x
MF2
f(x)
原始輸入函式 在此假設:
輸入為FM1(k)
輸入為FM2(k)
輸出為FM3(k)
把所有設定的Rule都取minimum
得到輸出的集合
再將此集合取maximium輸出
贵耻锄锄测数学理论(Rule1取minimum)
FN1 FN2
f(k)
x
MF1
f(x)
FN1 FN2
f(k)
x
MF2
f(x)
針對於兩MF取歸屬值
FN1
f(k)
x
MF1
f(x)
原始輸入函式
FN1(k)
FN1
f(k)
x
MF2
f(x)
FN2(k)
贵耻锄锄测数学理论(Rule1取minimum)
針對於兩MF取歸屬值
FN1(k)
FN1(k) FN1
f(k)
x
MF3
f(x)
MF1 MF2 MF3
依循Rule 1公式
計算兩者min對應輸出結果
FN1
f(k)
x
MF1
f(x)
FN1
f(k)
x
MF2
f(x)
FN3(k)
贵耻锄锄测数学理论(Rule4取minimum)
FN1 FN2
f(k)
x
MF1
f(x)
FN1 FN2
f(k)
x
MF2
f(x)
針對於兩MF取歸屬值
FN1
f(k)
x
MF1
f(x)
原始輸入函式
FN1(k)
FN2(k)
FN2
f(k)
x
MF2
f(x)
贵耻锄锄测数学理论(Rule4取minimum)
針對於兩MF取歸屬值
FN1(k)
FN2(k)
MF1 MF2 MF3
依循Rule 4公式
計算兩者取min對應輸出結果
FN1
f(k)
x
MF1
f(x)
FN3(k) FN2
f(k)
x
MF3
f(x)
FN2
f(k)
x
MF2
f(x)
對所有使用Rule的minimum取maximum
Rule4計算其對應輸出結果
FN2(k) FN2
f(k)
x
MF3
f(x)
FN1
f(k)
x
MF3
f(x)
Rule1計算其對應輸出結果
FN1(k)
取maximum輸出
FN2
x
MF3
f(x)
FN1
贵耻锄锄测数学理论
MF1 MF2 MF3 MF1 MF2 MF3 MF1 MF2 MF3 MF1 MF2 MF3
MF1 MF2 MF3MF1 MF2 MF3 MF1 MF2 MF3 MF1 MF2 MF3
Rule 1 Rule 2 Rule 3 Rule 4
Rule 5 Rule 6 Rule 7 Rule 8
在此另外說明只有一個Rule的案例
贵耻锄锄测数学理论(Rule3取minimum)
FN1 FN2
f(k)
x
MF1
f(x)
FN1 FN2
f(k)
x
MF2
f(x)
針對於兩MF取歸屬值
FN1
f(k)
x
MF1
f(x)
原始輸入函式
FN1(k)
FN2(k)
FN2
f(k)
x
MF2
f(x)
贵耻锄锄测数学理论(Rule3取minimum)
針對於兩MF取歸屬值
FN1(k)
FN2(k)
FN1
f(k)
x
MF3
f(x)
MF1 MF2 MF3
依循Rule 3公式
計算兩者取min值對應輸出結果
FN1
f(k)
x
MF1
f(x)
FN3(k)FN2
f(k)
x
MF2
f(x)
對所有使用Rule的minimum取maximum
FN1
f(k)
x
MF3
f(x)
Rule3計算其對應輸出結果
FN1(k)
直接輸出
在此無其他Rule
其maximum還是自己
基因演算法在贵惭尝上的处理
?基因算法執行流程:
? 提取:
? 由基因池,提取要進行的基因算法的父代
? 交換:
? 用輪盤法決定是否進行GA交換
? 突變:
? 用輪盤法決定是否進行GA突變
? 淘汰:
? 父代死亡,將優秀的子代活下去
基因算法
?FML結合基因算法執行流程:
? 提取:
? 由基因池中提出運算的 學習資料結果與其比較RuleBase設計是否相符
? 可能出現建立與修改規則的現象
? 交換:
? 用輪盤法決定是否進行GA交換單一FN的歸屬空間值域
? 也就是提昇其對學習資料的相近度
? 突變:
? 用輪盤法決定是否進行改變FN的上升下降段的函數描述
? 也就是設法跳出局部最佳解(Fuzzy取min of max的定義取的min值會不同)
? 淘汰:
? 在此則是讓Best Case中的收斂曲線下降的現象
? 也就是把能收斂下去的資料傳到下一代並淘汰上次收斂較差的結果
FML結合基因算法
?輪盤法:
基因算法
0.25的機率 不進行交換
0.75的機率 進行交換
交換律
轉盤
?輪盤法:
基因算法
0.25的機率 不進行交換
交換律
轉盤
0.75的機率 進行交換
?輪盤法:
交換律
轉盤
基因算法
0.25的機率 不進行交換
此次
進行GA的交換
0.75的機率 進行交換
?FML配合GA的輪盤法:
交換律
轉盤
基因算法
此次進行
GA的交換
突變律
轉盤
但不進行
GA的突變
FML中的GA
(學習) Input: MF1(0.5),MF2(0.3),MF3(0.4),MF4(0.7) → Output: MF5(0.95)
(學習) Input: MF1 is min ,MF2 is min,MF3 is mid,MF4 is max → Output: MF5 is max
(事實) Input: MF1 is min ,MF2 is min,MF3 is mid,MF4 is max→ Output: MF5 is mid
等同意義
但學習資料與RuleBase設定不符
學習資料輸入
調整值域 讓事實 MF5 is max成立
FML中的GA(讓事實 MF5 is max成立)
? min mumber function
? mid mumber function
? max mumber function
input MumberShip Function output MumberShip Function
使輸出max事實
發生
MF1 MF2 MF3 MF4 MF5
FML中的GA(讓事實 MF5 is max成立)
? min mumber function
? mid mumber function
? max mumber function
input MumberShip Function output MumberShip Function
使FN的值域改變
符合學習的資料
MF1 MF2 MF3 MF4 MF5
FML中的GA
FN1 FN2 FN3
min mid max
FN1 FN2 FN3
min mid max
FN1 FN2 FN3
min mid max
FN1 FN2 FN3
min mid max
FN1 FN2 FN3
min mid max
MF1
實際的FN輸入輸出
MF4 MF5
MF2 MF3
FML中的GA
FN1 FN2 FN3
min mid max
FN1 FN2 FN3
min mid max
FN1 FN2 FN3
min mid max
FN1 FN2 FN3
min mid max
FN1 FN2 FN3
min mid max
學習資料其中一筆
給GA輸入輸出資料
MF1
MF4 MF5
MF2 MF3
FML中的GA(交換)
FN1 FN2 FN3
min mid max
FN1 FN2 FN3
min mid max
FN1 FN2 FN3
min mid max
FN1 FN2 FN3
min mid max
FN1 FN2 FN3
min mid max
MF1
MF4 MF5
MF2 MF3
針對於MF5的
FN2與FN3進行交換
FML中的GA(交換)
FN1 FN2 FN3
min mid max
FN1 FN2 FN3
min mid max
FN1 FN2 FN3
min mid max
FN1 FN2 FN3
min mid max
FN1 FN2
min mid max
FN3
MF1
MF4 MF5
MF2 MF3
更新FN
使其接近學習資料
FML中的GA(突變)
FN1 FN2 FN3
min mid max
FN1 FN2 FN3
min mid max
FN1 FN2 FN3
min mid max
針對於MF3的FN2
進行突變
MF1
MF4
MF3
FN1 FN2 FN3
min mid max
MF5
MF2
FN1 FN2
min mid max
FN3
FML中的GA(突變)
FN1 FN2 FN3
min mid max
FN1 FN2 FN3
min mid max
FN1 FN2 FN3
min mid max
更新FN
讓函數突變
MF1
MF4
MF3
FN1 FN2 FN3
min mid max
MF5
MF2
FN1 FN2
min mid max
FN3
?不宜出現:
保持函數空間
FN1 FN2 FN3
min mid max
FNi被覆蓋
?任意梯形模糊數FN1(a0/a1/a2/a3)中:
? a0≤a1≤a2≤a3, 但 a0=a1=a2=a3 不能發生
?兩模糊數FN1(a0/a1/a2/a3)與FN2(b0/b1/b2/b3)中:
? 我們不應該將以設定事實因為某代GA學習結果而覆蓋
? 以保證該歸屬函數存在
保持函數空間
?不宜出現:
保持函數空間
FN1 FN2 FN3
min mid max
部份無歸屬值
(在此指兩FN中間的部份)
x
f(x)
?兩模糊數FN1(a0/a1/a2/a3)與FN2(b0/b1/b2/b3):
? 在兩個Fuzzy Number之間不該出現不屬於任何一方的區間:b0≤a3
? 其原因出自於輸入會定義為不屬於任何的Fuzzy Number。
? 但不屬於任何的Fuzzy Number通常代表輸入值太小或太大的情形。
? 所以兩個Fuzzy Number間不太會出現不屬於任意一方的情況。
保持函數空間
GA收斂曲線
?由於我們是對所有的輸入的學習資料去做GA,得到收斂曲線是當
代結果對所有學習資料比較而得到差值,以下為模擬:
綠線為 某一次執行最好的收斂情況
紅線為 某一次執行最差的收斂情況
第幾代
與學習資料
的誤差
GA收斂曲線
綠線為 某一代最好的收斂情況
紅線為 某一代最差的收斂情況
第幾代
與學習資料
的誤差
主要影響時間因素:基因算法的世代數 、学习资料总数
? J.S.R.Jang,C.T.Sun, and E.Mizutani,"Neuro-Fuzzy and Soft Computing — A Computational
Approach to Learning and Machine Intelligence",ISBN:9780132610667,1997
? 陳嘉文(1999)。模糊邏輯在機械設計之應用。元智大學機械工程研究所碩士論文,桃園
縣。 取自https://hdl.handle.net/11296/qen597
參考資料
本次的FML說明到此結束
~~感謝大家的聆聽~~
2019/04/13

More Related Content

FML Tool 理論說明