modelare fuzzy - utcluj.ro

60
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

Upload: others

Post on 19-Oct-2021

22 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Modelare fuzzy - utcluj.ro

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

Page 2: Modelare fuzzy - utcluj.ro

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.

Page 3: Modelare fuzzy - utcluj.ro

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

Page 4: Modelare fuzzy - utcluj.ro

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)

Page 5: Modelare fuzzy - utcluj.ro

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)

Page 6: Modelare fuzzy - utcluj.ro

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

Page 7: Modelare fuzzy - utcluj.ro

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

Page 8: Modelare fuzzy - utcluj.ro

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”

Page 9: Modelare fuzzy - utcluj.ro

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)

Page 10: Modelare fuzzy - utcluj.ro

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)

Page 11: Modelare fuzzy - utcluj.ro

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

Page 12: Modelare fuzzy - utcluj.ro

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ă.

Page 13: Modelare fuzzy - utcluj.ro

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

Page 14: Modelare fuzzy - utcluj.ro

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

Page 15: Modelare fuzzy - utcluj.ro

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)

Page 16: Modelare fuzzy - utcluj.ro

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

Page 17: Modelare fuzzy - utcluj.ro

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);

Page 18: Modelare fuzzy - utcluj.ro

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

Page 19: Modelare fuzzy - utcluj.ro

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.

Page 20: Modelare fuzzy - utcluj.ro

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

Page 21: Modelare fuzzy - utcluj.ro

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)

Page 22: Modelare fuzzy - utcluj.ro

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)

Page 23: Modelare fuzzy - utcluj.ro

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

Page 24: Modelare fuzzy - utcluj.ro

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

Page 25: Modelare fuzzy - utcluj.ro

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');

Page 26: Modelare fuzzy - utcluj.ro

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

Page 27: Modelare fuzzy - utcluj.ro

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

Page 28: Modelare fuzzy - utcluj.ro

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

Page 29: Modelare fuzzy - utcluj.ro

G. Oltean

Modelare fuzzy

Sisteme cu logica nuantata

Din interfata grafica: anfisedit or neuroFuzzyDesigner

Sistemul fuzzy rezultat poate fi exportat: File/Export

Page 30: Modelare fuzzy - utcluj.ro

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);

Page 31: Modelare fuzzy - utcluj.ro

G. Oltean

Modelare fuzzy

Sisteme cu logica nuantata

Demo: modelare_genfis2

radii=0.3; 8 grupuri ≡ 8 reguli; 32 parametri

Page 32: Modelare fuzzy - utcluj.ro

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]

Page 33: Modelare fuzzy - utcluj.ro

G. Oltean

Modelare fuzzy

Sisteme cu logica nuantata

radii=0.6; 3 grupuri ≡ 3 reguli; 12 parametrii

Page 34: Modelare fuzzy - utcluj.ro

G. Oltean

Modelare fuzzy

Sisteme cu logica nuantata

radii=0.15; 16 grupuri ≡ 16 reguli; 64 parametrii

Page 35: Modelare fuzzy - utcluj.ro

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.

Page 36: Modelare fuzzy - utcluj.ro

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

Page 37: Modelare fuzzy - utcluj.ro

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

Page 38: Modelare fuzzy - utcluj.ro

G. Oltean

Modelare fuzzy

Sisteme cu logica nuantata

Data analysis

Page 39: Modelare fuzzy - utcluj.ro

G. Oltean

Modelare fuzzy

Sisteme cu logica nuantata 39 / 20

Data analysis

Page 40: Modelare fuzzy - utcluj.ro

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?

Page 41: Modelare fuzzy - utcluj.ro

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

Page 42: Modelare fuzzy - utcluj.ro

G. Oltean

Modelare fuzzy

Sisteme cu logica nuantata

Structure of the FLS

Page 43: Modelare fuzzy - utcluj.ro

G. Oltean

Modelare fuzzy

Sisteme cu logica nuantata

initial FLS final FLS

Page 44: Modelare fuzzy - utcluj.ro

G. Oltean

Modelare fuzzy

Sisteme cu logica nuantata

Control surface

initial FLS

final FLS

Page 45: Modelare fuzzy - utcluj.ro

G. Oltean

Modelare fuzzy

Sisteme cu logica nuantata

Results for test data - Case 1

No overfitting;

identical

results

(identical

FLSs)

Page 46: Modelare fuzzy - utcluj.ro

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

Page 47: Modelare fuzzy - utcluj.ro

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

Page 48: Modelare fuzzy - utcluj.ro

G. Oltean

Modelare fuzzy

Sisteme cu logica nuantata

Results for test data - Case 2

Page 49: Modelare fuzzy - utcluj.ro

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

Page 50: Modelare fuzzy - utcluj.ro

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

Page 51: Modelare fuzzy - utcluj.ro

G. Oltean

Modelare fuzzy

Sisteme cu logica nuantata

Results for test data - Case 3

Page 52: Modelare fuzzy - utcluj.ro

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

Page 53: Modelare fuzzy - utcluj.ro

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

Page 54: Modelare fuzzy - utcluj.ro

G. Oltean

Modelare fuzzy

Sisteme cu logica nuantata

Results for test data - Case 4

Page 55: Modelare fuzzy - utcluj.ro

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

Page 56: Modelare fuzzy - utcluj.ro

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

Page 57: Modelare fuzzy - utcluj.ro

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.

Page 58: Modelare fuzzy - utcluj.ro

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

Page 59: Modelare fuzzy - utcluj.ro

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.

Page 60: Modelare fuzzy - utcluj.ro

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?