modelare fuzzy

33
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: hoangdieu

Post on 30-Dec-2016

292 views

Category:

Documents


10 download

TRANSCRIPT

Page 1: Modelare fuzzy

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

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

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

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

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

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

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

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

G. Oltean

Modelare fuzzy

Sisteme cu logica nuantata

Sisteme fuzzy in modelareaproximatori universali

capacitate de interpolare

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 Sugeno

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

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

G. Oltean

Modelare fuzzy

Sisteme cu logica nuantata

Procedura de modelare (dezvoltare a modelului)

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

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

G. Oltean

Modelare fuzzy

Sisteme cu logica nuantata

Setul de date – cont. 2 seturi de date

de antrenare (instruire)

de control (de verificare)

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

G. Oltean

Modelare fuzzy

Sisteme cu logica nuantata

epochs

err

or

training

validation

Curbele de instruire

13 / 20

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

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

Page 15: Modelare fuzzy

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 determinate (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

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

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

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

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

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

G. Oltean

Modelare fuzzy

Sisteme cu logica nuantata

Pentru generarea unor sisteme fuzzy initiale (Takagi-Sugeno de

ordinul 1) pentru ANFIS se utilizeaza in matlab functiile

• 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 complete;

• 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

SLF generate cu genfis2 și genfis3 nu trebuie neaparat antrenate modelând deja

relațiile din seturile de date, in special genfis3 care se bazeaza pe algoritmul iterativ

(cu optimizare) fcm.

Page 22: Modelare fuzzy

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 23: Modelare fuzzy

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 24: Modelare fuzzy

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 25: Modelare fuzzy

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 26: Modelare fuzzy

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 27: Modelare fuzzy

G. Oltean

Modelare fuzzy

Sisteme cu logica nuantata

Din interfata grafica: anfisedit

Sistemul fuzzy rezultat poate fi exportat: File/Export

Page 28: Modelare fuzzy

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 29: Modelare fuzzy

G. Oltean

Modelare fuzzy

Sisteme cu logica nuantata

Demo: modelare_genfis2

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

Page 30: Modelare fuzzy

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 31: Modelare fuzzy

G. Oltean

Modelare fuzzy

Sisteme cu logica nuantata

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

Page 32: Modelare fuzzy

G. Oltean

Modelare fuzzy

Sisteme cu logica nuantata

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

Page 33: Modelare fuzzy

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.