FuzzyAccess 模糊推論應用軟體使用簡報 作者 : 盧坤勇 副教授...
description
Transcript of FuzzyAccess 模糊推論應用軟體使用簡報 作者 : 盧坤勇 副教授...
1
FuzzyAccess
模糊推論應用軟體使用簡報作者 : 盧坤勇 副教授
國立聯合大學電子工程系
2
0
Fuzziness
μi1=1
Input Data i
Fuzzy set j
μi3
μi2
Get the fuzziness value and identify the
index of the mapped fuzzy
set.
a. Fuzzification
b. Compose the rules filtering SQL
c. Filter the candidate rules and evaluate the fuzziness of the selected rules
d. Aggregate the rule evaluation outputs
e.DefuzzificationFuzzy output
μi1
μi3
μi2
模糊推論示意圖
3
主功能表
4
系統功能表 - 建立系統• 自定術語 (0): 定義常用述語• 變數定義 (1): 定義專案變數• 變數 MBF 定義 (2): 定義各類變數之 MBF• 推論規則定義 (3): 定義推論規則• 推論規則管理 (4): 管理推論規則• 顯示專案內容 (5): 提示專案內容
5
系統功能表 - 測試系統• 測試資料管理 (6): 建立測試資料• 專案訓練分析 (7): 使用 GA 訓練專案• 訓練資料管理 (8): 管理訓練結果• 專案修正與應用 (9): 微調專案與專案應用• 交談式分析 (10): 交談式專案應用• Fuzzy Agent(11): 系統上線
6
系統功能表 - 系統維護• 匯出系統 (12): 匯出系統參數• 系統重建 (13): 刪除原專案並重設
7
常用術語定義範例( 資料表 : TermDef)
8
各項資料定義表單功能表
切換型按鈕
新增資料時
修改資料時
將下方文字型控制項資料加入資料表 查閱資料表所有紀錄
將下方資料表指標所在紀錄填入上方控制項
9
IN: Input ( 輸入型變數 )
Out: Output ( 輸出型變數 )
Oin: Apply previous Output as Input in the next step ( 輸出 / 入型變數 )
語意變數定義 ( 資料表 : VarDefinition)
10
變數定義資料表欄位說明( 資料表 : VarDefinition)
• VarName: 變數名稱• IOType: 變數用途• Left Limit: 左界 ( 下限 )• Right Limit: 右界 ( 上限 )• Range: 組距 ( 可自動計算 )• Term No: 術語個數• TermName: 術語串列 ( 可選入預設術語 )
11
語意變數定義
12
Varname Definition Example
13
語意變數定義 (修改介面 )
14
歸屬函數定義 (新增介面 )
15
變數術語歸屬函數定義( 資料表 : MBFunction)
• Varname: 變數名稱• VarNo: 術語序號 ( 從 1 開始 )• TermName: 術語名稱• MBFtype:MBF 型態• Lvalue: 左值• Mvalue: 中值 ; 或是 B 及 U 型之 bl 值• Rvalue: 右值
16
歸屬函數定義範例
17
xl xm xrxv
Z
vl x
xrxl xmxu
S
vlx
xl xm xrxvxu
T
vlx
xl
bm
xrxvxu xm xm2
P
vlx
V
Membership Function Type
18
B (bl>1, A (bl<1)
xrxl xmxu xv
vl
x
xrxl xmxu
U (bl>1, V (bl<1)
xv
vl
x
C
xl xm xrxv
vl
x
xrxl xmxu
D
vl
x
y
Membership Function Type
19
C Typevl = a + b * xv0 = a + b * xr
a = vl * xr / (xr – xv)
b = -vl / (xr – xv)
Membership Function Type
D Type
y = a +bx
0 = a + b * xl
vl = a + b * xu
a = vl * xl / (xl – xu)
b = vl / (xu – xl)
備註 : C 及 D 型暫不開放使用
20
規則變數定義
21
規則庫資料表欄位說明( 資料表 : RBDefinition))
• RBNo: 規則序號• VarName: 變數名稱• IOType: 變數用途• Level: 前置變術所在層別 , 從 1 開始編號
22
規則變數定義範例
23
1
4
2
3
1
3
2
1. 產生 Rule_X 資料表2. 自動產生模糊規則3. 刪除模糊規則4. 模糊規則查閱及管理
模糊規則管理功能表
24
產生 Rule_X 資料表• 依據 RBDefinition 之定義自動產生對應之
Rule_X 資料表 , 例如 :
Rule_1
Rule_2
Rule_3
25
自動產生模糊規則Rule_1 部份內容
26
自動產生模糊規則Rule_2 部份內容
27
自動產生模糊規則Rule_3 部份內容
28
規則庫定義範例選入標的規則表後 , 規則明細將列示在資料提示區
29
規則庫定義管理表單說明• 重設規則序號
– 手動增刪規則後 , 此功能可將規則重新編上序號 , 從 1 開始• DoS 重設為 1
– 將全部 DoS 值重設為 1• DoS 設為隨機值
– 將全部 DoS 值重設為隨機值• 刪除全部規則
– 將全部規則刪除
30
顯示專案內容表單
31
顯示專案內容表單說明顯示系統參數
32
顯示專案內容表單說明顯示系統方塊圖圖示專案架構前請先設定物件間距
33
顯示專案內容表單說明Variable 定義
34
顯示專案內容表單說明RuleBase 定義
35
顯示專案內容表單說明MBF 定義
36
顯示專案內容表單說明MastrProject
37選定變數後再點擊 Show MBF Function
顯示專案內容表單說明 – 圖示 MBF
38
測試資料管理表單( 資料表 :TestSample)
39
測試資料表欄位說明 ( 資料表 :TestSample)系統自動產生• No: 紀錄序號• 其它欄位 : 由系統自動抓取專案變數名來產生• Actual: 實際測試最終結果
40
A
B
C
D E
F
G
專案訓練分析表單
41
GA Training 面板說明A. 模糊推論方法設定區B. GA 學習參數設定區C. 模糊專案屬性提示區D. GA 學習條件區E. GA 學習狀態F. GA 學習歷程提示區G. 學習效果進階分析
42
GA Training 範例
43
模糊推論方法設定區• Learn Item: 核取學習對像• Defuzzify: 設定解模糊化方法• Aggregate: 設定綜合評估模糊值方法• Learn Rate: 設定學習速率 ( 1 ~ 6)
44
GA 學習參數設定區• Pool No: 設定交配池染色體個數• CrossOver
– Pc: 設定交配機率值 (>0.7)– Method: SingleSplit / MultiSplit
• Mutate– Pm: 設定突變機率值 <0.01)– Method: SingleMutate / MultiM
utate• Elite: 設定選優染色體比例 )• Clone: 設定是否使用複製• Display Detailed Data: Yes/No• Save Opt. Result: Yes/No
45
模糊專案屬性提示區• Var No: 變數個數• MBF No: MBF 個數• RuleBase No: 規則庫個數• Rule No: 規則總數• View Settings: 查看各類屬性值
46
GA 學習條件• Generate Pool: 產生交配池• Reset Dos->1: DoS 重設為 1• Restore Pool: 重載交配池至記憶體• Generate Data: 產生測試資料• Terminate By( 三選一 )
– RelativeError( 相對誤差 )– Iterations( 學習世代數 )– Optimun Sol.( 設定最佳解 )
• GA One: 執行一次 GA• GA Batch: 執行批次 GA• Clear: 清除 GA 學習歷程提示區• Initial Sol: 提示起始解• Training Table: 訓練資料檔• Bar: 圖示訓練誤差
GA Batch分別以不同的 Defuzzify, Aggregate 及 Learn Rate 訓練 , 執行一次 Batch 將進行 24 次之 GA運算
47
GA 學習狀態• TrainLog No: 學習日誌檔序• Generations: 學習世代數• Pool No: 對應交配池染色體序號• CurrentMax Sol: 目前最大值• Avg Sol: 當次學習結果平均值• Rel Avg Error: 相對平均誤差• Global Opt Sol: 全域最佳解
48
Roulette wheel selectionRoulette wheel selectionThe most commonly used chromosome selectionThe most commonly used chromosome selection techniques is the techniques is the roulette wheel selectionroulette wheel selection..
100 016.5
36.743.149.5
75.2
X1: 16.5%X2: 20.2%X3: 6.4%X4: 6.4%X5: 25.3%X6: 24.8%
49
訓練效果進階分析功能表
Train Log No: 選擇訓練日誌序號Learning Performance: 依日誌圖示訓練效果Get Original Parameters:擷取專案參數在記憶體重建系統Backup Table : 備份 MBfunction, RBDefinitionSave OPT. Results: 將訓練結果最佳值置入 MBF 及
Rule_x 表
50
訓練效果進階分析功能表Input Testing Data: 建立 FindSolution 資料表 (若無時 ), 開啟測試資料輸入介面FindSolution: 開啟測試專案結果介面Average Error: 求算平均誤差Clear Test DataResult: 刪除測試結果Clear TrainLog By No: 依日誌序號刪除測試日誌Clear TrainLog : 刪除全部測試日誌
51
Backup Table : MBF & RBD
• 將 MBFunction 備份至 MBFunction_bak• 將 Rule_x 備份至 Rule_X_bak
52
Save OPT. Results and Re-built System
• 將推論方法寫入 MasterProject• 若尚未備份 MBF 及 Rule 則備份之• 將最佳訓練結果寫入 MBF 及 Rule_x
53
選定 Train Log No再按 Learning Performance
54
訓練效果統計分析 (Bar 圖 )
55
測試資料區 觸發規則區
56
訓練結果管理表單
57
Min_Log
Avg_SOL
選用標的績效
58
TrainLog 欄位說明• TrainNo: 訓練批號• PoolNo: 交配池個數• StopItNo: 終止學習世代數• StopRelError: 終止相對誤差• PC: 交配機率• PM: 突變機率• ELI: 是否搭配選優策略• LrnDoS: 是否微調 D
oS
• LrnRate: 學習速率 (1 ~ 6)
• AgrMethod:Aggregate Method
• EvaMethod:Evaluate Method
• OptSOL: 最佳解• OptItNo: 最佳世代• RunItNo: 總學習次數• TimeUse:耗用時間
59
Find Solution Panel
專案修正與應用表單
Adjust Parameter Panel
60
Version selector Adjustment panels Execution panels
Testing data
Rules triggered condition
Record selector
專案修正與應用表單
61
The mapped rulesMBF
Testing data
Rule triggered condition
Inference result Relative errorMenu panels
專案修正與應用表單
62
Version Selection Panel
Restore ParameterOrignal : 原始設定參數GaPOpt. : GA 訓練最佳結果GaLPOpt. : GA 訓練最後結果No: 第 N 次訓練結果
Project Usage: FindSol / AdjustNew Version
依目前版本修正為新版本 , 並寫入 NewMBF 及 NewDoS 表
Aggregate: CUT / COGEvaluate: MinMax / ProdORWith DoS: Yes / No
63
Parameter Adjusting Panel
VarName: 選入變數名稱TermName: 選入術語名稱各項參數將提示在下方控制項RuleNo: 選入第 n 條規則對應之 DoS 將提示在 DoSVal
ueDoS Data: 將設定值存入 New
DoS 表及提示 DoS 明細MBF Data: 提示 NewMBF 明細
Delete Old Version: 刪除選定之對應版本參數 (ModiDBF 及 ModiDoS 表 )
Save As New Version: 設定值存成新版 ( 批次 ), 以及加入 ModiLog, ModiMBF和ModiDos 資料表
Confirm Change: 將設定值寫入記憶體對應變數 , 以及NewMBF 資料表
64
Find Solution Panel
Input Testing Data : 開起測試資料區Find Solution: 依產生的測試資料求算專案平均誤差 , 並將相關參數寫入 AdjustDoS 及
AdjustMBF 表Avg Error: 提示平均誤差Deviation: 提示標準差New Data : 依設定筆數產生數筆測試資料Clear Test Data: 刪除測試資料Clear Test Result: 刪除測試結果
65
Find Solution Panel - Adjust
Input Testing Data : 開起測試資料區Find Solution
將設定值存入 ManualResult, AdjustMBF和 AdjustDoS依產生的測試資料求算專案平均誤差
Clear Adjust Record: 刪除 AdjustMBF, AdjustDoS 及 ManualResult 資料
Show Adjust: 提示 AdjustMBF, AdjustDoS 及 ManualResult 資料
66
Show Trigger Rule
Show Trigger Condition
67
交談式求解表單
68
系統重整功能表
69
刪除系統資料刪除系統資料 : MBFFunction, VarDefinition, ProjectVar, OptLoop, OptResult, OptResultDOS
刪除規則庫刪除系統資料表 : Rule_N, WkRule_N
刪除系統資料 : RBDefinition
刪除測試資料刪除系統資料表 : FindSolution, TestSample, TrainLog_N
70
匯出系統資料系統資料 : VarDefinition, MBFFunction, RBDefinition, TestSample, FindSolution
刪除系統資料 : TrainLog, TrigCond, FindTrigCond, AdjustMBF, AdjustDOS, ManualResult, ModiMBF, ModiDOS, ModiLog
71
72
AdjustDoS DoS 微調錄紀主檔AdjustMBF MBF 微調錄紀主檔BatchGA 批次 GA 訓練方法及屬性DataPool GA 交配池DataPoolDoS DosGA 交配池FindSolution 求解日誌檔FindTrigCond 求解觸發規則日誌檔Fitness 適應值試算表ManualResult 測試結果紀錄主檔MasterProject 模糊專案註冊檔MBFunction 變數 MBF 定義ModiDoS DoS 微調紀錄檔ModiLog 微調訓練方法及屬性ModiMBF MBF 微調紀錄檔NewDoS 最新 DoS 值NewMBF 最新 MBF 參數值
資料表用途
73
資料表用途OptLoop 最佳世代日誌檔OptResult 最佳結果紀陸檔OptResultDos DoS 最佳結果紀陸檔ProjectVar 專案變數檔RBDefinition 規則庫定義Rule_X 推論規則定義 ( 語意型 )
TestSample 原始測試紀錄TrainLog 訓練日誌主檔TrainLog_X 訓練日誌明細檔TrigCond 觸發規則日誌檔VarDefinition 變數定義Wkrule_X 推論規則定義 ( 數值型 )