G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Modelare fuzzy
❖ Problematica modelarii
❖ Sisteme fuzzy in modelare
❖ Procedura de modelare
❖ANFIS
❖ Generarea sistemului fuzzy initial
❖ Utilizare ANFIS
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Problematica modelarii
Modelarea – etapa importanta în orice activitate inginerească
Rezolvarea unei noi probleme poate presupune etapele:
1) Dezvoltarea unui model - modelare
2) Utilizarea de diferite tehnici pentru a gasi o solutie “optima”
utilizand modelul dezvoltat - simulare
3) Aplicarea solutiei “optime” pe un sistem real - implementare
Modelarea și simularea – folosirea de modele (emulatoare, prototipuri,
simulatoare, etc), fie statistice, fie dinamice (cu evolutie in timp), pentru a
obtine date si informatii pe baza carora se iau decizii tehnice sau de
management, sau se realizeaza invatarea)
Modelarea si simularea – contribuie la reducerea costurilor si cresterea
calitatii produselor si sistemelor.
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Problematica modelariiInteres crescând in modelare si simulare:
❖ mai ieftin si mai sigur decat realizarea experimentelor cu dispozitive
reale (simularea experimentelor nucleare, a catastrofelor naturale,
sisteme electronice complexe, etc)
❖ uneori este mai aproape de realitate decat experimente traditionale,
permitand configurarea parametrilor de mediu la valorile intalnite in
domeniul operational de aplicatie (operatiuni la mare adancime,
simularea suprafetor planetelor, etc)
❖ simularea este (adeseori) mult mai rapida decat procesul real, permitand
analiza eficienta a diferitelor situatii (cazul cel mai defavorabil)
❖ permite realizarea si studierea unui mediu coerent care integreaza mai
multe sub-sisteme, inclusiv a unui mediu de test virtual
❖ modelul se dezvolta o data si se utilizeaza de nenumarate ori
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Problematica modelariiModelarea (identificarea) liniara este un domeniu bine determinat
Modelarea (identificarea) neliniara este un domeniu de cercetare intensa
Modele neliniare
Cutie alba (neliniaritatile sunt descrise complet utilizand cunostinte
anterioare despre procesul de modelat)
Cutie gri (neliniaritatile sunt partial sugerate de intelegerea la nivel fizic, dar
sunt totusi necesare ajustari)
Cutie neagra (nu se utilizeaza cunostinte la nivel fizic; modeleaza doar
relatiile intrare - iesire
Pentru modelele cutie alba si cutie gri, cunostintele introduse in structura
modelului sunt in mod necesar cantitative
Optim (compromis) intre precizie si complexitatea de calcul
Aplicatia in cauza (pentru care s-a dezvoltat modelul) este cea care
determina punctul de optim (compromis)
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Problematica modelarii – cont.
➢ Precizie (cat mai) ridicata
➢ Efort de calcul (cat mai) redus (memorie, procesor),
implicit timp (cat mai) redus de evaluare
➢ Functi liniare
➢ Functii neliniare (polinomiale, radiale, spline)
➢ Functii liniare pe portiuni (PWL)
➢ Functii polinomiale pe portiuni (PWP)
➢ Sisteme fuzzy, neuro-fuzzy
➢ Retele neuronale
Modelare prin:
Cerinte pentru model (realizare compromis)
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Problematica modelarii
( ) ( )Kkkk xfyKkyx == cu...,,2,1,N
k Rx
• Estimarea unei funcţii necunoscute complexe (neliniară,
multivariabilă) pe baza unor eşantioane (set de date numerice):
• aproximarea funcţiei pe baza unui set finit de tupluri intrare-ieşire
• a “învăţa” o aplicaţie funcţională necunoscută între vectorii de intrare şi
ieşire folosind un set de date cunoscute pentru antrenare (instruire).
• modelul o dată generat, poate fi folosit pentru a prezice valoarea ieşirii
pentru orice nou vector de intrare (care nu a facut parte din setul de date
de antrenare)
K – dimensiunea setului de date
x – vectorul variabilelor de intrare
y – variabila de iesire
N – dimensiunea vectorului de intrare
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Exemplificare➢ Analiza si proiectarea unui circuit electronic
• La nivel fizic
• circuit fizic + aparatura de laborator
• Modelare si simulare (nivel abstract)
• model + simulator
• ecuatii analitice aproximative (creion si hartie, matlab, etc)
• SPICE: - modelare structurala (la nivel de componente)
- modelare functionala (la nivel de blocuri functionale)
• sisteme neuro-fuzzy, retele neuronale – modelare
comportamentala intrare-iesire + evaluarea sistem fuzzy (retea
neuronala) - simulare
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Modelarea fuzzy
Modelarea fuzzy se poate realiza utilizand
• Expertiza calitativa (expert uman) cand aceasta este disponibila
• Seturi de date numerice intrare-iesire – tehnica de modelare
neliniara de tip cutie neagra
❖ Un model fuzzy poate fi descris ca o cale particulara de
generare a unei transformari (functii) neliniare
❖ de la variabile de intrare - “intrari ale sistemului fuzzy”
❖ la o variabila de iesire - “iesirea sistemului fuzzy”
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Sisteme fuzzy in modelareaproximatori universali
capacitate de interpolare (dar nu de extrapolare)
operaţii matematice simple (min, max, suma, prod, impartire)
pot fi construite automat pe baza unui set de date numerice
• modelare fuzzy sau identificare fuzzy a sistemelor
• explorare sistematica pentru prima dată de Takagi şi SugenoRoger Jang (1993) a propus un sistem de inferenţă fuzzy TS implementat în
cadrul reţelelor adaptive (sistem fuzzy bazat pe reţea adaptivă):
ANFIS (Adaptive-Network-based Fuzzy Inference System;
Adaptive-Neuro-Fuzzy Inference System) – supervised learning (instruire
supervizată)
➢ serveşte la optimizarea unei baze de cunostinte fuzzy (multimi si reguli)
ce contine funcţii de apartenenţă potrivite generării seturilor de date
intrare-ieşire prescrise (actioneaza asupra multimilor fuzzy de intrare
si de iesire)
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Procedura de modelare (dezvoltare a modelului)
pe baza unui set de date numerice
Start
Stop
Modelul este
potrivit?
Determinarea
seturilor de date
Generarea sistemului
fuzzy TS iniţial
Instruirea sistemului
fuzzy TS (ANFIS)
Modelul fuzzy
DA
NU
model initial
optimizarea iterativa
a modelului
Proiectarea
experimentului (DoE)
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Setul de dateDate cunoscute
KKK yxx
yxxyxxyxx
,,....................,,,,,,
21
32313
22212
12111
intrare iesire
• consistent: sa inglobeze (toate) caracteristicile functiei de modelat
• mare (K – valoare mare) – in special pentru functii multivariabile cu
neliniaritati pronuntate
Valoare calculata
(prezisa) de catre model
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Setul de date – cont.➢ 2 seturi de date
❖ de antrenare (instruire)
❖ de control (de verificare, de validate)
consistent: sa inglobeze toate caracteristicile functiei de modelat
mare (K – valoare mare) – in special pentru functii multivariabile cu
neliniaritati pronuntate
✓ Setul de antrenare
✓ Setul de control
• reprezentativ pentru functia de modelat
• distinct de setul de instruire
Poate apare fenomenul de suprapotrivire al modelului cu datele din setul de instruire
• scade puterea de interpolare
• potrivire perfectă (suprapotrivire) cu datele din setul de instruire.
• eroarea pentru datele de control scade pe durata antrenarii până cand apare
suprapotrivirea, apoi, în mod neaşteptat eroarea începe să crească.
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
epochs
err
or
training
validation
Curbele de instruire
If the validation error increases(positive slope) while the training error
steadily decreases(negative slope) then a situation of overfitting
may have occurred. The best predictive and fitted model would be
where the validation error has its global minimum
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
ANFIS - arhitectura
Regula n: Daca X1 este Ai si X2 este Bj atunci yn = b1n X1 + b2n X2+ b0n
N=9 reguli
Sistem cu 2 intrari si 1 iesire
=
=N
k
k
nn
1
Echivalent cu sistem Takagi-Sugeno de ordinul 1
1 2 3 4 5
adaptiv fix fix adaptiv fix
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
ANFIS – cont.
Regulile sunt de tipul:
Daca X1 este Ai si X2 este Bj atunci yn = b1n X1 + b2n X2+ b0n
Multimile fuzzy de intrare pot fi de exemplu de tip Gauss:
( )
0,;)(2
2
2=
−−
ii
cx
gaussmf cex i
i
Pe durata antrenarii (instruirii, adaptarii) trebuie optimizate (ajustate) valorile
tuturor parametrilor ce definesc multimile fuzzy:
• parametri neliniari pentru mf din antecedentul regulii (2 parametri
pentru fiecare multime de intrare, pentru multimi Gauss )
• parametri liniari pentru mf din consecinta regulii (3 parametri pentru
fiecare multime de iesire, la un sistem cu 2 intrari)
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Instruirea (adaptarea) supervizată
➢ Procesul de ajustare (adaptare) al sistemului astfel ca el sa
produca o iesire specificata ca raspuns la o intrare
specificata.
➢ Supervizat – iesirea este apriori cunoscuta pentru toate
intrarile si algoritmul de antrenare al sistemului utilizeaza
eroarea pentru a dirija antrenarea (Reed and Marks 1999).
➢ Exista o masura directa a nivelului de potrivire
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Instruirea (adaptarea) supervizată
• “Profesorul” furnizeaza
seturile de date intrare-
iesire;
• Adaptarea se realizeaza in
iteratii succesive;
• Potrivirea este adeseori
invers proportionala cu
suma erorilor;
• Buna pentru aproximarea
functiilor (curve fitting);
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
ANFIS – instruire supervizata
Prezentare completă a
setului de instruire
(însoţită de adaptare)
se numeşte
epocă de instruire
Instruirea se încheie la:
• indeplinirea unui criteriu de eroare
• atingerea numarului maxim de epoci
( )=
−=K
k
kdk yy
KRMSE
1
21
Eroarea medie pătratică
RMSE (root means squared error)
K – dimensiunea
setului de date
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
➢ Algoritm hibrid prin combinarea:
❖ algoritmului de estimare a celei mai mici medii pătratice (least
mean square estimation).
❖ algoritmului de propagare inversă (backpropagation), pentru a
învăţa parametrii din antecedent
➢ Fiecare pas al procedurii iterative de învăţare are două părţi:
1. Propagare înainte: se aplică vectorii de intrare; semnalele se
propagă până în stratul 4 unde se actualizează parametrii
consecinţă utilizând procedura iterativă a estimării celor mai mici
medii pătratice. Parametrii antecedent se consideră cu valori
fixate pe durata ciclului curent.
2. Propagarea înapoi (inversă) pentru a actualiza parametrii
antecedent utilizând metoda gradientului, în timp ce parametrii
consecinţă se consideră fixaţi.
ANFIS – instruire supervizata – cont.
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Generarea sistemului fuzzy TS initial (modelul fuzzy initial)
➢ Furnizat de catre utilizator
➢ Generat automat prin:
❖ Partitionare simpla
❖ Gruparea datelor – fiecare grup fiind echivalent cu o regula fuzzy
grupare substractivă
grupare utilizand algoritmul fuzzy C-Means
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Pentru generarea sistemelor fuzzy initiale (Takagi-Sugeno de ordin 1)
pentru ANFIS se utilizeaza in matlab (versiune < 2019):
• genfis1 – utilizeaza grid partition, fara gruparea datelor, parametrii
mf de iesire au toti valoarea 0 (este obligatorie antrenare ANFIS), se
generează o baza de reguli completa;
• genfis2 – utilizeaza subclust; genereaza o baza de reguli rezultată
prin gruparea datelor; fiecare regulă reprezinta un grup (cluster)
• genfis3 – utilizeaza fcm; generează o baza de reguli (prin
clasificare); fiecare regulă reprezinta un grup (cluster); se poate
genera si SLF Mamdani – dar acesta nu se mai poate antrena cu anfis
Observații:
SLF generat cu genfis1 trebuie neapărat antrenat, având în vedere valoarea 0 la ieșirea
SLF generat (nu utilizeaza un algoritm de grupare)
SLF generate cu genfis2 și genfis3 nu trebuie neaparat antrenate modelând deja relațiile
din seturile de date, (utilizeaza algoritm de grupare a datelor)
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Pentru generarea sistemelor fuzzy initiale (Takagi-Sugeno de ordin 1)
pentru ANFIS se utilizeaza in matlab (versiune ≥ 2019):
• genfis cu una dintre optiunile
options = genfisOptions('GridPartition');
options = genfisOptions('SubtractiveClustering');
options = genfisOptions('FCMClustering');
Observații:
SLF generat cu genfis1 trebuie neapărat antrenat, având în vedere valoarea 0 la ieșirea
SLF generat (nu utilizeaza un algoritm de grupare)
SLF generate cu genfis2 și genfis3 nu trebuie neaparat antrenate modelând deja relațiile
din seturile de date, (utilizeaza algoritm de grupare a datelor)
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
The properties of fis
https://uk.mathworks.com/help/fuzzy/genfis.html?searchHighlight=genfis&s_tid=doc_srchtitle#bvmu2e9-options
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
ExemplificareModelarea unei functii neliniare de o singura variabila
y = sin(2*x)./exp(x/5);
x y
0 0
0.1000 0.1947
0.2000 0.3741
0.3000 0.5318
0.4000 0.6622
0.5000 0.7614
0.6000 0.8266
0.7000 0.8567
0.8000 0.8518
0.9000 0.8134
1.0000 0.7445
1.1000 0.6488
1.2000 0.5313
1.3000 0.3975
1.4000 0.2532
1.5000 0.1045
1.6000 -0.0424
0 1 2 3 4 5 6 7 8 9 10-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
iesire:
y
intrare: x
antrenare
verificare
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Utilizare - genfis1- anfis
De la linia de comanda (cu rulare in matlab – modelare_genfis1)
clear all, close all, clc
x = (0:0.1:10)';
y = sin(2*x)./exp(x/5);
epoch_n = 75;
in_fis = genfis1([x y],5,'gbellmf');
[out_fis, error] = anfis([x y],in_fis, epoch_n);
plot(error), xlabel('Training epochs'), ylabel('RMSE')
figure
plot(x,y,x,evalfis(x,out_fis));
legend('Training Data','ANFIS Output');
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Utilizare ANFIS – genfis1
ANFIS info:
Number of nodes: 24
Number of linear parameters: 10
Number of nonlinear parameters: 15
Total number of parameters: 25
Number of training data pairs: 101
Number of checking data pairs: 0
Number of fuzzy rules: 5
0 10 20 30 40 50 60 70 800
0.01
0.02
0.03
0.04
0.05
0.06
0.07
Training epochs
RM
SE
0 1 2 3 4 5 6 7 8 9 10-1
-0.5
0
0.5
1
x
y
reference
predicted
0 10 20 30 40 50 60 70 80 90 100-0.02
-0.01
0
0.01
0.02
index of discrete point
residuals
Goodnes of fit = 6.2205e-05
gbellmf pentru intrari - 3 parametri neliniari
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Utilizare ANFIS – genfis1
ANFIS info:
Number of nodes: 24
Number of linear parameters: 10
Number of nonlinear parameters: 10
Total number of parameters: 20
Number of training data pairs: 101
Number of checking data pairs: 0
Number of fuzzy rules: 5
Goodnes of fit = 5.1038e-06
gaussmf pentru intrari - 2 parametri neliniari
0 10 20 30 40 50 60 70 800.002
0.004
0.006
0.008
0.01
0.012
0.014
0.016
0.018
0.02
Training epochs
RM
SE
0 1 2 3 4 5 6 7 8 9 10-1
-0.5
0
0.5
1
x
y
reference
predicted
0 10 20 30 40 50 60 70 80 90 100-0.02
-0.015
-0.01
-0.005
0
0.005
0.01
0.015
0.02
index of discrete point
residuals
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Comparatie in functie de numarul parametrilor
ANFIS info:
Number of nodes: 24
Number of linear parameters: 10
Number of nonlinear parameters: 10
Total number of parameters: 20
Number of training data pairs: 101
Number of checking data pairs: 0
Number of fuzzy rules: 5
Goodnes of fit = 5.1038e-06
Demo: modelare_genfis1
gaussmf pentru intrari - 2 parametri neliniari
ANFIS info:
Number of nodes: 24
Number of linear parameters: 10
Number of nonlinear parameters: 15
Total number of parameters: 25
Number of training data pairs: 101
Number of checking data pairs: 0
Number of fuzzy rules: 5
gbellmf pentru intrari - 3 parametri neliniari
Goodnes of fit = 6.2205e-05
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Din interfata grafica: anfisedit or neuroFuzzyDesigner
Sistemul fuzzy rezultat poate fi exportat: File/Export
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Utilizare ANFIS – genfis2
De la linia de comanda (genfis2 – partitionare substractiva)………………………….…….
radii=0.3
in_fis = genfis2(x’,y’,radii);
%% antrenare 10 epoci
disp ('antrenare 10 epoci')
trn_data=[x’ y’];
epoch_n = 10;
TRNOPT=epoch_n;
DISPOPT=[];
[OutFis10, Err, step, CFis, CErr ] = anfis(trn_data, in_fis, TRNOPT, DISPOPT, c_data);
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Demo: modelare_genfis2
radii=0.3; 8 grupuri ≡ 8 reguli; 32 parametri
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Slf
initial
Slf
instruit
1000
epoci
Param in1cluster8 [1.623 1.497]
Param in1cluster8 [1.061 1.5]
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
radii=0.6; 3 grupuri ≡ 3 reguli; 12 parametrii
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
radii=0.15; 16 grupuri ≡ 16 reguli; 64 parametrii
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Capacitatea de generalizare
➢ Capacitatea de a determina corect valoarea iesirii pentru vectori de
intrare la care sistemul nu a fost expus pe durata antrenarii
iesirilorspatiul,intrarilorspatiul),( −−= YXxfy
Setul de date
de antrenare:
( ) antrenaredeperechidenumarul
...,2,1,x,
−
==
n
niYXyxS ii
Construirea modelului ( ) ( ) Sxxfxf ** pentru
Sistem “perfect”:
( )
Sxxfxf
Sxxfy
=
=
),()(
,*
Poate sa nu fie valabil datorita erorilor si zgomotului
prezente in setul de date de antrenare
Poate fi suparator daca S se imparte in set de
antrenare si set de test
In urma antrenarii poate apare “suprapotrivirea” sistemului cu setul de
date de antrenare – performante slabe pentru setul de test.
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Case study – two input one output FLSEngine behavior dataset.
This dataset can be used to build a model to estimate an
engine torque and emissions from its fuel use and speed.
Two input variables: a 2 x 1199 matrix defining two attributes
of a given engines activity under different conditions:
1. Fuel rate
2. Speed engine
Two output variables: Targets - a 2 x 1199 matrix of two
attributes to be estimated given the inputs:
1. Torque
2. Nitrous oxide emissions
Here it is illustrated the model fitting only for the second
output: Nitrous oxide emissions
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Data set
17.50 576.20 848.00
35.90 598.60 905.00
31.40 612.10 578.00
23.70 624.20 382.00
20.20 635.20 298.00
18.50 649.00 262.00
18.20 657.00 301.00
17.70 653.90 0
16.30 647.30 0
14.80 646.50 186.00
14.50 648.50 175.00
14.80 650.50 207.00
15.10 650.50 167.00
15.10 650.30 196.00
15.10 648.40 0
14.80 650.00 191.00
14.50 649.60 173.00
14.40 650.70 169.00
… … …
Fuel
rate
Speed
engine
Nitrous oxide
emissions
Data set size: 1199
2 inputs
1 output
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Data analysis
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata 39 / 20
Data analysis
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Build and train the FLS - Case 1
60 % training data; 719
25 % checking data; 300
15 % test data; 180
Rule numbers: 16; radii = 0.35
Training epochs: 2500
112 parameters
More
training
epoch?
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Training information- fuzzy subtractive clustering
- each cluster became a fuzzy rule
- first order Takagi-Sugeno FLS
- gaussmf for inputs
Parametrii liniari: nr. reguli x (nr. intrari +1) = 16 x (2 + 1) = 48
Parametrii neliniari: nr.reguli x nr. intrari x nr. param mf intrare =
= 16 x 2 x 2 = 64
Numarul total de param = 48 + 64 = 112
numar parametri < marime set date instruire; 112 < 719 OK!
ANFIS info:
Number of nodes: 101
Number of linear parameters: 48
Number of nonlinear parameters: 64
Total number of parameters: 112
Number of training data pairs: 719
Number of checking data pairs: 300
Number of fuzzy rules: 16
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Structure of the FLS
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
initial FLS final FLS
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Control surface
initial FLS
final FLS
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Results for test data - Case 1
No overfitting;
identical
results
(identical
FLSs)
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Measure Initial
FLS
Trained
FLS
Observation
MSE 4.923e+03 0.649e+03 Perfect fit: 0
NMSE 0.0241 0.0032 Perfect fit: 0
NRMSE 0.1552 0.0567 Perfect fit: 0
Goodness of fit for new data (test data)
Training time: 86.3 s
Case 1
Rule numbers: 16; radii = 0.35
Training epochs: 2500 / 2500
112 parameters
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Build and train the FLS - Case 2
60 % training data; 719
25 % checking data; 300
15 % test data; 180
Rule numbers: 2; radii = 0.9
Training epochs: 2500
14 parameters
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Results for test data - Case 2
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Measure Initial
FLS
Trained
FLS
Observation
MSE 44.31e+03 14.31e+03 Perfect fit: 0
NMSE 0.2766 0.0703 Perfect fit: 0
NRMSE 0.5259 0.2651 Perfect fit: 0
Goodness of fit for new data (test data)
Training time: 11.7 s
Case 2
Rule numbers: 2; radii = 0.9
Training epochs: 2500 / 2500 14 parameters
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Build and train the FLS - Case 3
60 % training data; 719
25 % checking data; 300
15 % test data; 180
Rule numbers: 37; radii = 0.21
Training epochs: 2500
259 training
parameters
overfitting
Best
generalization:
epoch 243
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Results for test data - Case 3
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Measure Initial
FLS
Best generalization
(before overfitting)
FLS
Trained
(end of training)
FLS
Obs
MSE 1.74e+03 1.30e+03 1.32e+03 Perfect fit: 0
NMSE 0.0075 0.0057 0.0057 Perfect fit: 0
NRMSE 0.0866 0.0752 0.0757 Perfect fit: 0
Goodness of fit for new data (test data)
Training time: 311.45 s
Case 3
Rule numbers: 37; radii = 0.21
Training epochs: 2500259 training parameters
Overfitting
Best generalization: epoch 243
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Build and train the FLS - Case 4
60 % training data; 719
25 % checking data; 300
15 % test data; 180
Rule numbers: 83; radii = 0.12
Training epochs: 2500
581 training
parameters
overfitting
Best
generalization:
epoch 112
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Results for test data - Case 4
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Measure Initial
FLS
Best generalization
(before overfitting)
FLS
Trained
(end of training)
FLS
Obs
MSE 1.64e+03 2.56e+03 6.71e+03 Perfect fit: 0
NMSE 0.0071 0.0109 0.0282 Perfect fit: 0
NRMSE 0.0842 0.1046 0.1678 Perfect fit: 0
Goodness of fit for new data (test data)
Training time: 1024.6s
Case 4
Rule numbers: 83; radii = 0.12
Training epochs: 2500581 training parameters
Overfitting
Best generalization: epoch 112
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Comparison
training checking MSE NRMSE
rules 16
radii 0.35 23.23 33.37
epochs 2500 / 2500
rules 2
radii 0.9 114.8 132.9
epochs 2500 / 2500
rules 37
radii 0.21
epochs 243 /2500
rules 83
radii 0.12
epochs 112 / 2500
Case 42.56E+03 /
6.71E+03
0.1046 /
0.1678
581 parameters
overfitting
best generalization: epoch
112
15.055 /
12.93
26.137 /
26.69
12.82 /
4.9
25.69 /
38.28
112 parameters
14 parameters
259 parameters
overfitting
best generalization: epoch
243
Test setTraining RMSEObservations
Case 1
Case 2
Case 3
6.49E+02 0.0567
1.43E+04 0.2651
1.30E+03 /
1.32E+03
0.0752 /
0.0757
60 % training data; 719
25 % checking data; 300
15 % test data; 180
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Tuning Fuzzy Inference Systemshttps://www.mathworks.com/help/fuzzy/tune-fuzzy-inference-systems.html
❖ Designing a complex fuzzy inference system (FIS) with large number of
inputs and membership functions (MFs) is a challenging problem due to
large number of MF parameters and increasing number of rules.
❖ A promising solution to this problem is to design FIS trees, which include
hierarchically connected modular FISs having small number of inputs.
❖ Designing a FIS tree with appropriate MF parameters and rules,
however, is a difficult task when adequate expert knowledge is not
available for a complex system.
❖ Hence, the data-driven approach of tuning and optimizing MF and rule
parameters offers an elegant solution to this problem.
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Tuning Fuzzy Inference Systemshttps://www.mathworks.com/help/fuzzy/tune-fuzzy-inference-systems.html
You can tune a fuzzy system using the tunefis command
(including Mamdani FLS)
The tuning process uses an optimization method on an
optimization problem created from a fuzzy system
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
Tuning Fuzzy Inference Systems
https://www.mathworks.co
m/help/fuzzy/tune-fuzzy-
inference-systems.html
➢ In each iteration, the optimization method generates multiple sets of solutions,
which are values for the selected parameters of the fuzzy system.
➢ The fuzzy system is updated with each solution and then evaluated using the input
training data.
➢ The evaluated output is compared with the output training data to generate costs of
the solutions.
➢ This process continues for multiple iterations until the stop condition is met, and then it
returns the minimum cost solution with the optimized fuzzy system parameters.
G. Oltean
Modelare fuzzy
Sisteme cu logica nuantata
ProblemaSe construieste un model al unui sistem cu 3 intrari si o iesire sub forma
unui SLF. SLF este initial generat cu genfis2 si apoi instruit cu anfis. SLF
initial generat cu genfis2 (utilizeaza clasificarea substractiva) contine 12
reguli fuzzy. Setul de date, de dimensiune1500 este impartit in trei
subseturi: de instruire (training data) 60%, de verificare (checking data)
25%, respectiv de test (testing data) 15%.
a) Care este numarul de parametri instruibili neliniari pentru instruire
anfis? Justificati raspunsul.
b) Care este numarul de parametri instruibili liniari pentru instruire anfis?
Justificati raspunsul.
c) Care este numarul total de parametri pentru instruirea anfis?
d) Care este semnificatia fiecarui subset de date?
e) Avand in vedere ca se recomanda ca numarul total de parametri
instruibili sa fie mai mic dacat dimensiunea subsetului de date de
instruire, care este limita superioara a numarului de reguli a SLF?