proiect ia - anfis

Upload: necula-constantin

Post on 05-Apr-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 Proiect IA - ANFIS

    1/15

    PROIECT

    Disciplina:

    Inteligen artificial

    Anul IV

  • 8/2/2019 Proiect IA - ANFIS

    2/15

    Capitolul 1

    SISTEME NEURO-FUZZY ADAPTIVE

    Sistemele Neuro-Fuzzy Adaptive (limba englez: Adaptive Neuro-FuzzyInference System - ANFIS) sunt reele neuronale adaptive echivalente funcionalcu 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 denvare. n felul acesta, aplicnd o metod de optimizare, pot fi adaptate attfunciile de apartenen ale mulimilor fuzzy ce apar n partea de premiz aregulilor, ct i parametrii prilor de consecin ale regulilor fuzzy. Funciacriteriu 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 deintrare, x i y, i o mrime de ieire, z. Baza de reguli a sistemului fuzzy seconsider 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 realizeazraionamentul n cadrul sistemului fuzzy considerat. Figura 1.1. (b) prezintstructura sistemului neuro-fuzzy adaptiv (ANFIS) corespunztor sistemului fuzzyconsiderat. Sistemul neuro-fuzzy adaptiv este format din cinci straturi, prezentaten continuare [Chao and Teng, 1995; Jang and Sun, 1995; Jang, et al., 1997]. Senoteaz prin Ol,i ieirea nodului i din stratul l al ANFIS.

  • 8/2/2019 Proiect IA - ANFIS

    3/15

    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 nnodurile 3 i 4. Altfel spus, funcia ataat fiecrui nod al primului strat este funciade 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 "clopotgeneralizat":

    unde {ai, b i, c i} 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 deprodusul semnalelor sale de intrare:

    Fiecare nod reprezint puterea de activare a unei reguli. n general, se poatefolosi 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 secalculeaz raportul dintre puterea de activare a regulii i i suma puterilor deactivare ale tuturor regulilor:

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

  • 8/2/2019 Proiect IA - ANFIS

    4/15

    unde wi este puterea de activare normalizat a regulii i, iar {p i , qi , ri} estemulimea parametrilor acestui nod, numii n cele ce urmeaz parametrii

    consecinei.

    Stratul 5. Acest strat este format dintr-un singur nod fix notat cu , carecalculeaz 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-secombina, 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 lasisteme 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 aregulii.

    1.2. Algoritm de antrenare a sistemelor neuro-fuzzy adaptive

    Conform arhitecturii ANFIS prezentat n figura 1.1. (b) se observ c atuncicnd 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 doisubvectori 1 i 2 care conin parametrii premizei i, respectiv, parametriiconsecinei:

    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 dependentnumai de parametrii consecinei, aceast dependen fiind liniar. n cazul uneiantrenri n bloc (adaptarea parametrilor se face dup ce au fost aplicai sistemuluitoi vectorii setului de antrenare), supervizate, cnd se dorete ca ieirea ANFIS sse apropie ct mai mult de o anumit ieire dorit, zd , rescriind relaia (1) pentrutoi vectorii setului de antrenare se obine:

  • 8/2/2019 Proiect IA - ANFIS

    5/15

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

    unde + este pseudo-inversa Moore-Penrose a matricii .

    Mai departe, fixnd parametrii consecinei la valorile optimale determinateanterior, atunci ieirea ANFIS depinde neliniar numai de parametrii premizei.Pentru determinarea acestora, se poate aplica un algoritm de gradient care sconduc la minimizarea erorii medii ptratice, E, dintre ieirea actual a ANFIS iieirea dorit:

    (2)

    unde este unul din parametrii premizei, iar este un parametru responsabil devitez cu care algoritmul converge ctre punctul de minim.

    Astfel, se poate aplica un algoritm de antrenare hibrid care const din douetape [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; sedetermin parametrii consecinei (parametrii stratului 4) aplicnd metodacelor mai mici ptrate i apoi se continu propagarea nainte pn la ieireareelei, 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 parametriipremizei aplicnd o procedur de gradient.

    Figura 1.2. ilustreaz intuitiv modul n care se realizeaz antrenarea hibrid aANFIS.

    Figura 1.2. Antrenarea hibrid a ANFIS

  • 8/2/2019 Proiect IA - ANFIS

    6/15

    Parametrii consecinei astfel determinai sunt optimali n condiiile n careparametrii premizei sunt fixai. n mod corespunztor, antrenarea hibrid converge

    mai repede dect antrenarea bazat pe propagarea napoi a erorii aplicat tuturorparametrilor ANFIS. Aceasta se datoreaz faptului c spaiul parametrilor estemicorat 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 deantrenare hibrid, funcia de apartenen a prii de concluzie a regulilor esteaproximat printr-o funcie liniar pe poriuni cu doi parametri, aa cum esteilustrat n figura 1.3. n felul acesta, ieirea ANFIS se poate exprima ca ocombinaie liniar a parametrilor consecinei, putnd fi aplicat antrenarea hibrid

    prezentat anterior.

    Figura 1.3. Aproximarea prin func ii liniare pe por iuni a func iilor de apartenen monotone

  • 8/2/2019 Proiect IA - ANFIS

    7/15

    Capitolul 2

    SISTEME HIBRIDE NEURO-FUZZY (ANFIS)

    Roger Jang (1993) a propus un sistem de inferen fuzzy TS (Takagi Sugeno) implementat n cadrul re elelor adaptive (sistem fuzzy bazat pe re ea adaptiv) numit ANFIS (Adaptive-Network-based Fuzzy Inference System;Adaptive-Neuro-Fuzzy Inference System). Acesta poate combina capacitile denvare i de generalizare a reelelor neuronale cu formalizarea sub form de regulia 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 modificaperformanele ca urmare a diferitelor aciuni ale utilizatorilor asupra sa. Factorii cucea 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 relevan a 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 varianteleFIS, el suportnd numai sisteme tip Sugeno, care trebuie s fie: de ordinul 1 sau 0; cu o ieire aceasta fiind ob inut prin defuzificarea mediei ponderate

    (MF a ie irii liniar sau constant); cu ponderea 1 pentru fiecare regul.

    Dac structura FIS nu ndepline te aceste constrngeri, se d eroare. Mai mult,

    ANFIS nu accept customizri, adica nu i po i crea propriile MF i func ii de defuzzificare, ci se vor utiliza cele din dotare. Func ia 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 ostructur predeterminat a modelului.

    2.2. ANFIS Editor GUI

    Se tasteaz, pentru lansarea acestei interfe e grafice: anfisedit n linia decomand a Matlab:

  • 8/2/2019 Proiect IA - ANFIS

    8/15

    Figura 2.1. Reprezentarea schematic a interfe ei grafice ANFIS Editor GUI

    Figura 2.2. ANFIS Editor GUI

  • 8/2/2019 Proiect IA - ANFIS

    9/15

    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, apoiLoad data . Datele ncrcate sunt reprezentate grafic n zona Plot. Generarea sau ncrcarea unui model FIS ini ial selectnd butonul Generate FIS din tab-ul Generate FIS. Vizualizarea structurii unui model FIS, dup ceacesta a fost generat sau ncrcat se face cu butonul Structure; Antrenarea modelului FIS, cu butonul Train Now. Pentru ajustarea

    parametrilor MF i ndeplinirea condi iilor de performan , mai intai va fi facut selec ia n tab-ul Train FIS a op iunii dorite referitoare la:

    - metoa de optimizare parametric a modelului FIS: back propagation - BKPsau o combina ie a BKP cu resturi ptratice (metoda hibrid) ;- parametrii ce definesc performana antrenrii: numarul de epoci de antrenare-

    epochs i a toleran ei erorii de antrenare - error tolerance, se face n tab-ul Train FIS.

    Vizualizarea pentru ie irea modelului FIS n raport cu ie irea ob inut 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 ancrca o ini ializare 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 FISantrenat.

    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, cuexcep ia ultimei coloane, n care se pun datele de iesire.

  • 8/2/2019 Proiect IA - ANFIS

    10/15

    Capitolul 3

    S se scrie un program Matlab/Simulink pentru a eviden ia performan ele de predic ie pe termen mediu t+10 a unei re ele neuro-fuzzy de tip ANFIS.

    3.1. Utilizarea ANFIS n MATLAB Editor

    Se consider un sistem fuzzy aplicat unei func ii neliniare pe intervalul [0,10]constnd din suma dintre o func ie sinusoidal i una exponen ial.

    Figura 3.1. Scrierea programului n MATLAB Editor

    Figura 3.2. Reprezentarea ie irilor ANFIS

  • 8/2/2019 Proiect IA - ANFIS

    11/15

    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 / LoadData From Workspace i introduc n fereastra care se deschide trnData.

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

  • 8/2/2019 Proiect IA - ANFIS

    12/15

    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 butonulGenerate FIS. n fereastra care se deschide mi selectez la intrare 5 MFs de tipulgbellmf iar la ie ire mi aleg tipul linear.

  • 8/2/2019 Proiect IA - ANFIS

    13/15

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

  • 8/2/2019 Proiect IA - ANFIS

    14/15

    Pentru vizualizarea structurii modelului FIS generat de ANFIS Editor GUI

    selectez Structure.

    Aleg pentru antrenarea structurii ANFIS creat 20 de epoci i toleran a erorii

    sa fie t+10. Aps butonul Train Now pentru execu ia antrenrii.

  • 8/2/2019 Proiect IA - ANFIS

    15/15