Sunteți pe pagina 1din 15

PROIECT Disciplina: Inteligen artificial

Anul IV

Capitolul 1

SISTEME NEURO-FUZZY ADAPTIVE


Sistemele Neuro-Fuzzy Adaptive (limba englez: Adaptive Neuro-Fuzzy Inference System - ANFIS) sunt reele neuronale adaptive echivalente funcional cu sisteme fuzzy de tip Sugeno sau Tsukamoto. Spre deosebire de sistemele fuzzy, sistemele neuro-fuzzy au capacitatea de a se adapta pe parcursul unui proces de nvare. n felul acesta, aplicnd o metod de optimizare, pot fi adaptate att funciile de apartenen ale mulimilor fuzzy ce apar n partea de premiz a regulilor, ct i parametrii prilor de consecin ale regulilor fuzzy. Funcia criteriu de minimizat poate fi de tipul erorii medii ptratice dintre ieirea actual a sistemului neuro-fuzzy i ieirea dorit a acestuia. 1.1. Arhitectura sistemelor neuro-fuzzy adaptive Se consider un sistem fuzzy Sugeno de ordin nti ce are dou mrimi de intrare, x i y, i o mrime de ieire, z. Baza de reguli a sistemului fuzzy se consider a fi format din dou reguli de forma: Regula 1: dac x este A1 i y este B1 atunci z este z1 = p1 x + q1 y + r1 , Regula 2: dac x este A2 i y este B2 atunci z este z2 = p2 x + q2 y + r2 . n figura 1.1. (a) este ilustrat, intuitiv, modul n care se realizeaz raionamentul n cadrul sistemului fuzzy considerat. Figura 1.1. (b) prezint structura sistemului neuro-fuzzy adaptiv (ANFIS) corespunztor sistemului fuzzy considerat. Sistemul neuro-fuzzy adaptiv este format din cinci straturi, prezentate n continuare [Chao and Teng, 1995; Jang and Sun, 1995; Jang, et al., 1997]. Se noteaz prin Ol,i ieirea nodului i din stratul l al ANFIS.

Figura 1.1. Sistem Fuzzy Sugeno de ordin nti (a) i ANFIS asociat (b) Stratul 1. Fiecare nod i al acestui strat are funcia de activare:

unde x este mrimea de intrare n nodurile 1 i 2, iar y este mrimea de intrare n nodurile 3 i 4. Altfel spus, funcia ataat fiecrui nod al primului strat este funcia de apartenen a uneia din mulimile fuzzy A1, A2, B1 sau B2 (care apar n partea de premiz a regulilor). Funcia de apartenen poate fi, de exemplu, funcia "clopot generalizat":

unde {ai, bi, ci} reprezint setul de parametri ai respectivei funcii de apartenen. Parametrii acestui strat vor fi numii, n cele ce urmeaz, parametrii premizei. Stratul 2. Fiecare nod al acestui strat este un nod fix, a crui ieire este dat de produsul semnalelor sale de intrare: Fiecare nod reprezint puterea de activare a unei reguli. n general, se poate folosi pentru acest strat, orice operator de tip norma-T ca fiind funcia de activare a unui nod. Stratul 3. Fiecare nod al acestui strat este un nod fix la nivelul cruia se calculeaz raportul dintre puterea de activare a regulii i i suma puterilor de activare ale tuturor regulilor:

Stratul 4. Fiecare nod al acestui strat este adaptiv, avnd funcia de activare:

unde wi este puterea de activare normalizat a regulii i, iar {pi , qi , ri} este mulimea parametrilor acestui nod, numii n cele ce urmeaz parametrii consecinei. Stratul 5. Acest strat este format dintr-un singur nod fix notat cu , care calculeaz ieirea ANFIS ca fiind suma tuturor semnalelor sale de intrare:

n acest fel se poate construi o reea neuronal echivalent cu un sistem fuzzy Sugeno de ordin nti. Structura rezultat a ANFIS nu este unic, putndu-se combina, de exemplu, straturile 3 i 4 n unul singur rezultnd o reea cu 4 straturi. Un ANFIS proiectat pentru un sistem fuzzy Sugeno poate fi extins imediat la sisteme fuzzy Tsukamoto. n acest caz, consecina fiecrei reguli este dat de puterea de activare a regulii i de funcia de apartene a prii de concluzie a regulii. 1.2. Algoritm de antrenare a sistemelor neuro-fuzzy adaptive Conform arhitecturii ANFIS prezentat n figura 1.1. (b) se observ c atunci cnd parametrii premizei sunt fixai, ieirea ANFIS poate fi exprimat ca o combinaie liniar a parametrilor consecinei, {p1, q1, r1, p2 , q2 , r2} :

Se noteaz cu vectorul parametrilor ANFIS. Acesta poate fi descompus n doi subvectori 1 i 2 care conin parametrii premizei i, respectiv, parametrii consecinei:

Ieirea ANFIS este dependent neliniar de parametrii premizei i liniar de parametrii consecinei:
(1)

unde este vectorul de regresie liniar care depinde neliniar de parametrii premizei 1. Fixnd parametrii premizei, atunci ieirea ANFIS rmne dependent numai de parametrii consecinei, aceast dependen fiind liniar. n cazul unei antrenri n bloc (adaptarea parametrilor se face dup ce au fost aplicai sistemului toi vectorii setului de antrenare), supervizate, cnd se dorete ca ieirea ANFIS s se apropie ct mai mult de o anumit ieire dorit, zd , rescriind relaia (1) pentru toi vectorii setului de antrenare se obine:

care poate fi rezolvat n sensul celor mai mici ptrate obinndu-se un set de valori optimale pentru parametrii concluziei:

unde + este pseudo-inversa Moore-Penrose a matricii . Mai departe, fixnd parametrii consecinei la valorile optimale determinate anterior, atunci ieirea ANFIS depinde neliniar numai de parametrii premizei. Pentru determinarea acestora, se poate aplica un algoritm de gradient care s conduc la minimizarea erorii medii ptratice, E, dintre ieirea actual a ANFIS i ieirea dorit:
(2)

unde este unul din parametrii premizei, iar este un parametru responsabil de vitez cu care algoritmul converge ctre punctul de minim. Astfel, se poate aplica un algoritm de antrenare hibrid care const din dou etape [Garcia, et al., 1997; Jang and Sun, 1995]:

etapa propagrii nainte: intrrile sunt propagate nainte pn la stratul 4, considernd parametrii premizei (parametrii primului strat) fixai; se determin parametrii consecinei (parametrii stratului 4) aplicnd metoda celor mai mici ptrate i apoi se continu propagarea nainte pn la ieirea reelei, calculndu-se eroarea dintre ieirea obinut i ieirea dorit a ANFIS; etapa propagrii napoi a erorii n care parametrii consecinei rmn cu valorile determinate n etapa propagrii nainte; se determin parametrii premizei aplicnd o procedur de gradient.
Figura 1.2. ilustreaz intuitiv modul n care se realizeaz antrenarea hibrid a ANFIS.

Figura 1.2. Antrenarea hibrid a ANFIS

Parametrii consecinei astfel determinai sunt optimali n condiiile n care parametrii premizei sunt fixai. n mod corespunztor, antrenarea hibrid converge mai repede dect antrenarea bazat pe propagarea napoi a erorii aplicat tuturor parametrilor ANFIS. Aceasta se datoreaz faptului c spaiul parametrilor este micorat prin determinarea unora dintre acetia printr-o metod ntr-un singur pas, de tipul celor mai mici ptrate. n cazul sistemelor ANFIS de tip Tsukamoto, pentru a putea aplica acest tip de antrenare hibrid, funcia de apartenen a prii de concluzie a regulilor este aproximat printr-o funcie liniar pe poriuni cu doi parametri, aa cum este ilustrat n figura 1.3. n felul acesta, ieirea ANFIS se poate exprima ca o combinaie liniar a parametrilor consecinei, putnd fi aplicat antrenarea hibrid prezentat anterior.

Figura 1.3. Aproximarea prin funcii liniare pe poriuni a funciilor de apartenen monotone

Capitolul 2

SISTEME HIBRIDE NEURO-FUZZY (ANFIS)


Roger Jang (1993) a propus un sistem de inferen fuzzy TS (Takagi Sugeno) implementat n cadrul reelelor adaptive (sistem fuzzy bazat pe reea adaptiv) numit ANFIS (Adaptive-Network-based Fuzzy Inference System; Adaptive-Neuro-Fuzzy Inference System). Acesta poate combina capacitile de nvare i de generalizare a reelelor neuronale cu formalizarea sub form de reguli a informaiilor imprecise i incomplete provenite din raionamantele experilor, caracteristic logicii fuzzy. 2.1. No iuni teoretice ANFIS este considerat un model de tip "cutie neagr" ce i poate modifica performanele ca urmare a diferitelor aciuni ale utilizatorilor asupra sa. Factorii cu cea mai mare influen asupra mrimii erorii sunt:

arhitectura reelei ANFIS (numrul funciilor de apartenen, tipul acestora,


numrul de reguli fuzzy folosite etc.); datele folosite ca i intrri i relevana acestora n raport cu procesul analizat; datele folosite pentru antrenare de ctre algoritmul de nvare; tipul algoritmului de nvare. ANFIS este mai complex dect FIS, dar nu este valabil pentru toate variantele FIS, el suportnd numai sisteme tip Sugeno, care trebuie s fie: de ordinul 1 sau 0; cu o ieire aceasta fiind obinut prin defuzificarea mediei ponderate (MF a ieirii liniar sau constant); cu ponderea 1 pentru fiecare regul. Dac structura FIS nu ndeplinete aceste constrngeri, se d eroare. Mai mult, ANFIS nu accept customizri, adica nu i poi crea propriile MF i funcii de defuzzificare, ci se vor utiliza cele din dotare. Funcia anfis i ANFIS Editor GUI din Fuzzy Logic Toolbox (F- L- T) aplic tehnicile de inferen fuzzy pentru modelarea datelor, parametrii MFs alegndu-se automat, fr a fi necesar o structur predeterminat a modelului. 2.2. ANFIS Editor GUI Se tasteaz, pentru lansarea acestei interfee grafice: anfisedit n linia de comand a Matlab:

Figura 2.1. Reprezentarea schematic a interfeei grafice ANFIS Editor GUI

Figura 2.2. ANFIS Editor GUI

Cu ANFIS Editor GUI se poate realiza:

ncrcarea datelor (pentru antrenare - Training; testare - Testing; sau verificare


- Checking) selectnd din tab-ul Load data butonul radio corespunztor, apoi Load data . Datele ncrcate sunt reprezentate grafic n zona Plot. Generarea sau ncrcarea unui model FIS iniial selectnd butonul Generate FIS din tab-ul Generate FIS. Vizualizarea structurii unui model FIS, dup ce acesta a fost generat sau ncrcat se face cu butonul Structure; Antrenarea modelului FIS, cu butonul Train Now. Pentru ajustarea parametrilor MF i ndeplinirea condiiilor de performan, mai intai va fi facut selecia n tab-ul Train FIS a opiunii dorite referitoare la: - metoa de optimizare parametric a modelului FIS: back propagation - BKP sau o combinaie a BKP cu resturi ptratice (metoda hibrid); - parametrii ce definesc performana antrenrii: numarul de epoci de antrenareepochs i a toleranei erorii de antrenare - error tolerance, se face n tab-ul Train FIS. Vizualizarea pentru ieirea modelului FIS n raport cu ieirea obinut pentru datele de antrenare - Training Data, sau verificare - Cheking Data, sau testare Testing Data, se face n tab-ul Test FIS apsnd butonul Test Now. De asemenea se poate utiliza bara meniu a lui ANFIS Editor GUI pentru a ncrca o iniializare a antrenrii FIS, a salva FIS-ul anternat, a deschide un nou sistem Sugeno sau pentru a deschide orice alt GUIs pentru a interpreta modelul FIS antrenat.

Figura 2.3. Meniul File

OBSERVATIE! Orice set de date ce se ncarc n ANFIS Editor GUI (sau n linia de comand anfis) trebuie s fie o matrice cu datele de intrare aranjate ca vectori, cu excepia ultimei coloane, n care se pun datele de iesire.

Capitolul 3 S se scrie un program Matlab/Simulink pentru a evidenia performanele de predicie pe termen mediu t+10 a unei reele neuro-fuzzy de tip ANFIS. 3.1. Utilizarea ANFIS n MATLAB Editor Se consider un sistem fuzzy aplicat unei funcii neliniare pe intervalul [0,10] constnd din suma dintre o funcie sinusoidal i una exponenial.

Figura 3.1. Scrierea programului n MATLAB Editor

Figura 3.2. Reprezentarea ieirilor ANFIS

3.2. Antrenarea si testarea datelor folosind ANFIS Editor GUI Se introduce n linia de comanda anfisedit.

Figura 3.3. ANFIS Editor Gui Pentru reprezentarea grafic a datelor de antrenare selectez Training / Load Data From Workspace i introduc n fereastra care se deschide trnData.

Pentru reprezentarea grafic a datelor de testare selectez Checking / Load Data From Workspace i introduc n fereastra care se deschide chkdata.

Figura 3.4. Reprezentarea grafic a datelor de antrenare

Figura 3.5. Reprezentarea grafic a datelor de testare Generez o structur FIS cu ajutorul lui Grid partition apoi aps pe butonul Generate FIS. n fereastra care se deschide mi selectez la intrare 5 MFs de tipul gbellmf iar la ieire mi aleg tipul linear.

Pentru viziualizarea FIS generat cu ajutorul ANFIS Editor GUI intru n Edit i aleg Membership Functions.

Pentru vizualizarea structurii modelului FIS generat de ANFIS Editor GUI selectez Structure.

Aleg pentru antrenarea structurii ANFIS creat 20 de epoci i tolerana erorii sa fie t+10. Aps butonul Train Now pentru execuia antrenrii.