Sugeno型(TS型)模糊推理系統及自適應神經網路的模糊推理系統(anfis)應用

簡捷之道發表於2019-11-25

Sugeno(TS)型模糊推理系統線性形式

TS系統特點:輸出量是輸入量的線性函式,與Mamdani控制器的最大不同是沒有清晰化模組,因為它的推理結果就是清晰值。同時,用清晰地輸出函式uj=pje+qjec+kj代替了Mamdani控制器中的模糊蘊含關係。設系統的兩個輸入分別是清晰變數x1和x2,將近似推理過程指定為“If x1 is A1 and x2 is A2, then u=f(x1, x2)”,其中A1和A2是兩個F集合,輸出量u為一個數值函式f(x1,x2),且型別為線性函式。

1.輸出函式f(x1,x2,…)的兩種形式

舉例:設某個雙輸入-單輸出系統,其兩個清晰輸入變數為e和ec,一個清晰輸出量為u,已知A1和A2為F子集。
在0階T-S型模糊模型中:
If e is A1 and A2 then u=k(k為常數)
在1階T-S型模糊模型中:
If e is A1 and A2 then u=pe+qec+k
其中p、q和k是與F集合A1、A2有關的常數。

2.計算系統輸出U的兩種方法

假設系統可用n條模糊規則描述,第i條模糊規則的輸出為ui。當某個輸入啟用了m條規則(n≥m),系統總輸出為U,將根據這m個輸出ui通過下屬兩種方法計算得出:

  1. 加權求和法(wtsum)
    設第i條規則輸出的結果為ui,它的權重為ωi,則總輸出為:
    在這裡插入圖片描述
    式中ωi表示第i條規則在總輸出中所佔分量輕重的比例(權重)。
  2. 加權平均法(wtaver)
    在這裡插入圖片描述

自適應神經網路的模糊推理系統(anfis)

1.模型特點

  1. 單輸出Sugeno型模糊推理系統(Matlab中);
  2. 訓練完成的模型不具備可解釋性。
    在Matlab中訓練anifs有兩種方式:命令列和圖形介面。在此介紹圖形介面的訓練方式。

2.使用MATLAB訓練過程

  1. Matlab介面中->APP->搜尋fuzzy->開啟Neuro-Fuzzy Designer; 在這裡插入圖片描述
  2. Load Data
    a) 首先準備資料,我們需要準備Training Data和Checking Data,資料載入有兩種載入方式:從檔案和從工作區。
    b) 我們在Matlab工作區中準備好需要的資料;
    在這裡插入圖片描述
    分別是train_beta和check_beta,由於設計的是9輸入1輸出系統,可以看出兩者均為749*10矩陣。前9列為輸入資料,第10列為輸出資料。
    c) 我們在Load data視窗Type選擇Training,From選擇worksp.,之後輸入變數名稱,即可載入Training Data,同理完成Checking資料的載入;
  3. 載入或生成FIS模型
    a) 如果載入已有模型,已有模型需要滿足的條件為單輸出Sugeno型模型,且規則數等於輸出情況數目;
    在這裡插入圖片描述
    b) 如果需要生成模型,可以選擇兩種方式:Grid partition(網格分割法)和Sub. Clustering(相減聚類法)
    在這裡插入圖片描述
  4. 訓練模型
    a) 在訓練時可以選擇的方式有:hybrid(混合法)和Backpropa(反向傳播法),推薦使用反向傳播法;
    b) 設定Error Tolerance(誤差精度)和Epochs(最大訓練次數);
    c) 開始訓練
  5. 模型測試
    a) 使用Checking Data對訓練完成的模型進行檢查。

參考文獻

  1. MATLAB-Train Adaptive Neuro-Fuzzy Inference Systems.
  2. 石辛民, 郝整清. 模糊控制及其MATLAB模擬[M]. 清華大學出版社, 2008.

相關文章