50
Paradigme fundamentale ale inteligenţei artificiale 9 CAPITOLUL 1 PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE 1.1 Conceptul de inteligenţă artificială Inteligenţa artificială (Artificial Intelligence, AI) este una dintre cele mai noi direcţii de cercetare ştiinţifică asignate domeniului informaticii şi care are ca obiectiv major dezvoltarea unor sisteme (artificiale) înzestrate cu anumite proprietăţi care în mod tradiţional sunt asignate inteligenţei umane (creierului uman), şi anume: înţelegerea limbajului, capacitatea de învăţare, raţionamentul, capacitatea de generalizare, capacitatea de a rezolva anumite sarcini etc. Conform literaturii de specialitate [1], paleta defini ţ iilor AI este una extrem de diversificat ă, cele mai uzuale defini ţ ii în acest sens fiind indicate în Tabelul 1.1. În general, aceste defini ţ ii variază în funcţ ie de două dimensiuni principale: o primă dimensiune se refer ă la procesul gândirii şi raţ iunii (procese cognitive), în timp ce a doua dimensiune se refer ă la comportament. De asemenea, defini ţ iile din prima categorie măsoar ă succesul în termeni de performanţă umană, în timp ce, cele din a doua categorie măsoar ă un concept ideal de inteligenţă, denumit generic raţ iune. Tabelul 1.1 Definiţiile uzuale ale conceptului de AI „Noul efort emoţionant de a face computerele să gândească ... maşini cu minte/creier, în adevăratul sens al cuvântului” (Haugeland, 1985) „Studiul capacit ăţ ilor mentale prin intermediul modelelor computerizate” (Charniak and McDermott, 1985) „Automatizarea unor activităţ i pe care le asociem gândirii umane, activităţi ca luarea deciziilor, rezolvarea problemelor, învăţarea...” (Bellman, 1987) „Studiul computerizărilor ce fac posibile perceperea, raţiunea şi acţiunea” (Winston, 1992) „Arta de a crea maşini ce îndeplinesc funcţii ce necesit ă inteligenţă atunci când sunt îndeplinite de oameni” (Kurzweil, 1990) „Un domeniu de studiu care încearcă să explice comportamentul inteligent în termeni de procese computaţ ionale” (Schalkoff, 1990)

PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Embed Size (px)

DESCRIPTION

Inteligenţa artificială (Artificial Intelligence, AI) este una dintre cele mainoi direcţii de cercetare ştiinţifică asignate domeniului informaticii şi care are caobiectiv major dezvoltarea unor sisteme (artificiale) înzestrate cu anumiteproprietăţi care în mod tradiţional sunt asignateinteligenţei umane (creierului uman), şi anume:înţelegerea limbajului, capacitatea de învăţare,raţionamentul, capacitatea de generalizare, capacitateade a rezolva anumite sarcini etc.

Citation preview

Page 1: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Paradigme fundamentale ale inteligenţei artificiale

9

CCAAPPIITTOOLLUULL 11

PPAARRAADDIIGGMMEE FFUUNNDDAAMMEENNTTAALLEE AALLEE IINNTTEELLIIGGEENNŢŢEEII AARRTTIIFFIICCIIAALLEE

11..11 CCoonncceeppttuull ddee iinntteelliiggeennţţăă aarrttiiffiicciiaallăă Inteligenţa artificială (Artificial Intelligence, AI) este una dintre cele mai

noi direcţii de cercetare ştiinţifică asignate domeniului informaticii şi care are ca obiectiv major dezvoltarea unor sisteme (artificiale) înzestrate cu anumite proprietăţi care în mod tradiţional sunt asignate inteligenţei umane (creierului uman), şi anume: înţelegerea limbajului, capacitatea de învăţare, raţionamentul, capacitatea de generalizare, capacitatea de a rezolva anumite sarcini etc.

Conform literaturii de specialitate [1], paleta definiţiilor AI este una extrem de diversificată, cele mai uzuale definiţii în acest sens fiind indicate în Tabelul 1.1. În general, aceste definiţii variază în funcţie de două dimensiuni principale: o primă dimensiune se referă la procesul gândirii şi raţiunii (procese cognitive), în timp ce a doua dimensiune se referă la comportament. De asemenea, definiţiile din prima categorie măsoară succesul în termeni de performanţă umană, în timp ce, cele din a doua categorie măsoară un concept ideal de inteligenţă, denumit generic raţiune.

Tabelul 1.1

Definiţiile uzuale ale conceptului de AI „Noul efort emoţionant de a face computerele să gândească ... maşini cu minte/creier, în adevăratul sens al cuvântului”

(Haugeland, 1985)

„Studiul capacităţilor mentale prin intermediul modelelor computerizate”

(Charniak and McDermott, 1985)

„Automatizarea unor activităţi pe care le asociem gândirii umane, activităţi ca luarea deciziilor, rezolvarea problemelor, învăţarea...”

(Bellman, 1987)

„Studiul computerizărilor ce fac posibile perceperea, raţiunea şi acţiunea”

(Winston, 1992) „Arta de a crea maşini ce îndeplinesc funcţii ce necesită inteligenţă atunci când sunt îndeplinite de oameni”

(Kurzweil, 1990)

„Un domeniu de studiu care încearcă să explice comportamentul inteligent în termeni de procese computaţionale”

(Schalkoff, 1990)

Page 2: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Iulian-Constantin Vizitiu

10

Conceptul de AI este în strânsă dependenţă de aşa-numitul test Turing (1950). Practic, dacă o maşină este capabilă să treacă testul Turing, atunci se consideră că aceasta încorporează facilităţi de tip AI. În principiu, testul Turing reprezintă o definiţie operaţională a conceptului de inteligenţă artificială. Turing a înlocuit întrebarea „pot maşinile să gândească?” cu întrebarea dacă maşinile se pot comporta similar cu oamenii într-un context bine definit. O formă simplificată a acestui test se referă la rezolvarea următoarei probleme concrete: „dacă o persoană comunică cu altă persoană fără a avea contact vizual şi dacă această ultimă persoană poate fi înlocuită cu o maşină fără ca prima persoană să sesizeze acest aspect, atunci se consideră că maşina respectivă a trecut cu succes testul Turing”. O maşină care este capabilă să treacă testul Turing trebuie să încorporeze următoarele abilităţi fundamentale:

• prelucrarea limbajului natural; • reprezentarea cunoaşterii pentru a putea memora informaţia de bază

furnizată înaintea dialogului, cât şi informaţia obţinută în timpul acestuia; • raţionamentul automat care să-i permită utilizarea informaţiei

memorate pentru a putea răspunde la întrebări, pentru a putea trage concluzii şi, respectiv, pentru a putea formula propriile întrebări;

• capacităţi de învăţare care să-i permită să se adapteze la noile circumstanţe, să detecteze şi să extrapoleze diferite structuri etc. În conformitate cu referinţa bibliografică [2], principalele direcţii de cercetare (paradigme) în cadrul AI sunt următoarele:

• sistemele expert; • sistemele fuzzy (logica nuanţată); • calculul evolutiv (programare evolutivă, algoritmi evolutivi şi, respectiv,

algoritmii genetici); • reţelele neuronale artificiale (paradigma conexionistă a AI); • agenţii inteligenţi; • sistemele inteligente hibride (arhitecturi neuro-fuzzy-genetice, sisteme

neuro-expert etc.); • recunoaşterea formelor (pattern recognition, PR); • vocea electronică. O clasificare generală şi unanim acceptată a domeniului AI presupune

existenţa următoarei ierarhizări, [3]: • calculul inteligent sau inteligenţa computaţională reprezintă cea mai

nouă şi mai interesantă direcţie de explorare în cadrul tehnicilor AI. Aceasta încorporează următoarele paradigme (modele): calculul evolutiv, calculul conexionist (neuronal), recunoaşterea formelor şi sistemele fuzzy. Generalizând, se poate considera calculul inteligent ca fiind un domeniu al AI caracterizat de

Page 3: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Paradigme fundamentale ale inteligenţei artificiale

11

următoarele proprietăţi specifice: reprezentarea numerică a cunoaşterii; adaptabilitate; robusteţea sau toleranţă la erori; procesare paralelă la viteze comparabile cu cea a creierului uman; rată de eroare optimă etc.

• sistemele expert reprezintă direcţia de explorare tradiţională în cadrul tehnicilor AI. În general, un sistem expert este un program de AI bazat pe cunoaştere şi care soluţionează probleme care în mod normal necesită experienţa unui specialist (expert). Suplimentar, un sistem expert, asemeni expertului uman, este capabil să pună întrebări relevante şi să explice raţionamentul său, principalele sale caracteristici putând fi sintetizate astfel: raţionamentul euristic; capacitatea de funcţionare cu date eronate şi cu reguli de raţionament imprecise; capacitatea de operare cu descrieri simbolice ale cunoştinţelor; luarea în calcul simultan a unor ipoteze conflictuale; argumentarea concluziilor etc. Conform opiniei marii majorităţi a specialiştilor în domeniul inteligenţei artificiale, cele două direcţii de cercetare se consideră a fi complementare şi nu neapărat concurente în rezolvarea anumitor probleme specifice AI, [1]. Pentru detalii suplimentare privind principiile şi conceptele directoare ale AI, pot fi consultate referinţele bibliografice [1], [2] şi [3]. În continuare, interesează o prezentare sintetică a celor mai importante aspecte teoretice şi experimentale referitoare la paradigmele AI cu cea mai consistentă şi mai dinamică arie de aplicabilitate în domeniul ştiinţelor inginereşti, şi nu numai. 11..22 FFuunnddaammeennttee aallee ccaallccuulluulluuii nneeuurroonnaall 11..22..11 GGeenneerraalliittăăţţii

Tehnicile de calcul neuronal sau reţelele neuronale (artificiale) sunt modele computaţionale paralele cu grade de complexitate variate, constituite din unităţi de procesare elementare adaptive − neuroni, interconectate masiv (dens), conform unei organizări ierarhice (fig. 1.1) şi care imită modelele biologice acceptate în prezent în neurologie.

În altă ordine de idei, se poate afirma, fără a greşi, că stadiul actual al cunoaşterii în acest domeniu se află încă într-o continuă expansiune, modelele conexioniste respective reprezentând încă o aproximare destul de grosieră a fenomenelor reale, ceea ce determină ca în multe cazuri concrete rezultatele să fie parţial satisfăcătoare, [4]. Suplimentar, dezvoltarea reţelelor neuronale nu depinde exclusiv de progresele înregistrate în cunoaşterea creierului uman (adică, de modelele neurobiologice), ci este un domeniu de cercetare ştiinţifică de sine stătător, foarte dinamic şi aflat într-o puternică ascensiune. De fapt, majoritatea modelelor de reţele neuronale indicate în literatura de specialitate sunt dependente într-o mare măsură de modelele matematice şi/sau statistice (ca

Page 4: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Iulian-Constantin Vizitiu

12

algoritmi de optimizare, clasificare neparametrică a formelor, algoritmi de clasificare nesupervizată etc.) adoptate, [4], [5]. Principalele atuuri ale paradigmei conexioniste a AI în raport cu sistemele tradiţionale de calcul pot fi sintetizate astfel:

• natura lor adaptivă, unde învăţarea din exemple elimină programarea clasică pentru rezolvarea problemelor, cu utilitate deosebită în aplicaţiile în care există o descriere redusă sau incompletă a problemei, dar sunt disponibile date de instruire;

• paralelismul intrinsec al reţelelor neuronale care permite obţinerea mult mai rapidă a soluţiilor căutate;

Fig. 1.1 Arhitectura generală a unei reţele neuronale multistrat

• capacitatea de învăţare, prin ajustarea ponderilor reţelelor neuronale; • robusteţea la zgomot manifestată prin capacitatea reţelelor neuronale de

a funcţiona chiar şi în cazul utilizării în procesul de instruire a unor forme de intrare perturbate sau când o anumită parte a sa este degradată;

• capacitatea de generalizare a reţelelor neuronale atunci când acestea sunt capabile să proceseze noi forme de intrare, similare celor învăţate;

• caracterul neliniar pronunţat al reţelelor neuronale etc. Studiul reţelelor neuronale implică, în esenţă, abordarea următoarelor

două aspecte fundamentale: • instruirea reţelei neuronale; • reprezentarea cunoaşterii în structura intimă a reţelei neuronale. Reţelele neuronale achiziţionează cunoaşterea (învaţă) prin instruire. O

reţea neuronală se consideră instruită dacă aplicarea unei mulţimi de vectori de intrare va produce vectorii de ieşire doriţi (sau cel puţin o mulţime consistentă de vectori de ieşire). Cunoaşterea pe care reţeaua neuronală o dobândeşte este memorată de sinapsele neuronale (în ponderile conexiunilor dintre neuroni).

Page 5: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Paradigme fundamentale ale inteligenţei artificiale

13

Vectorii de instruire se prezintă reţelei în mod secvenţial (şi ciclic), iar ponderile sunt ajustate pentru a capta cunoaşterea pe care aceşti vectori o înglobează. Rafinarea ponderilor se face în conformitate cu legea de învăţare (algoritmul de instruire) adoptată. Algoritmul de instruire trebuie să determine convergenţa ponderilor spre valori care să asigure ca fiecare vector de intrare să producă ieşirea dorită (dacă aceasta este cunoscută), [5].

Conform literaturii de specialitate, există trei tipuri fundamentale de instruire a unei reţele neuronale:

• instruirea supervizată; • instruirea nesupervizată sau tehnicile de clustering; • instruirea semisupervizată.

În cazul instruirii supervizate (supervised learning) aparţinând paradigmei clasificatorului, se prezintă reţelei neuronale o mulţime de exemple de instruire, un exemplu de instruire constând într-o pereche de vectori (listă de asociere) − vectorul de intrare şi, respectiv, ieşirea dorită. În continuare, se aplică acesteia un vector de intrare şi se determină ieşirea (reală a) reţelei, aceasta ulterior comparându-se cu vectorul de ieşire dorit, rezultând astfel eroarea (parţială) de instruire, ponderile fiind modificate în conformitate cu un algoritm care tinde să minimizeze această eroare. Vectorii din mulţimea de instruire sunt aplicaţi secvenţial şi ciclic (pentru a elimina capturarea punctelor de minim local), modificându-se în mod corespunzător ponderile până când eroarea totală asociată mulţimii de instruire atinge o valoare acceptabilă. Prin urmare, instruirea supervizată este un exemplu de instruire prin corectarea erorilor.

Instruirea nesupervizată (unsupervised learning) a reţelelor neuronale este dependentă, în cadrul teoriei generale a clasificării şi recunoaşterii formelor, de tehnicile de grupare sau de clustering. Algoritmii de clustering determină interacţiuni între forme de instruire neetichetate, prezentate clasificatorului, forme pe care ulterior le grupează în clase/nori, astfel încât acestea să fie:

• omogene (entităţi cu caracteristici similare să aparţină aceleiaşi clase); • bine separate (categorii nesimilare să aparţină unor clase diferite).

Prin urmare, construcţia unui criteriu de clasificare nesupervizată revine la definirea unei măsuri a similarităţii/disimilarităţii. În general, un asemenea criteriu este o funcţie, definită pe mulţimea partiţiilor posibile ale unei mulţimi de eşantioane date, care asociază oricărei partiţii o anumită valoare numerică şi optimizarea clasificării revine la aflarea extremului funcţiei-criteriu, odată cu construcţia unui algoritm de clasificare nesupervizată.

În literatura de specialitate sunt indicate mai multe asemenea criterii de clasificare nesupervizată, şi anume: cele clasice, criteriile parametrice la care similaritatea claselor este evaluată pe baza matricelor de dispersie, clasificarea ierarhică etc. În altă ordine de idei, instruirea nesupervizată a reţelelor neuronale poate fi realizată în mai multe moduri, maniera cea mai naturală fiind cea în care reţeaua realizează ea însăşi structurarea datelor, detectând categoriile

Page 6: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Iulian-Constantin Vizitiu

14

semnificative existente în mulţimea datelor de intrare. Ulterior, aceste categorii sunt învăţate de reţea, folosind un algoritm de instruire adecvat, [5].

În ultimii ani, au fost dezvoltaţi în literatura de specialitate aşa-numiţii algoritmi de instruire semisupervizată (algoritmi de învăţare cu reinforcement learning sau învăţarea cu premiere/penalizare sau automate cu învăţare). Metoda cu reinforcement learning utilizează ca parametru/indice de performanţă orice măsură ce poate fi prelucrată de algoritmul de învăţare. Principiul clasic de a forţa anumite ieşiri ale reţelei neuronale pe baza vectorilor de ieşire ţintă, este înlocuit cu cerinţa de a determina acele ieşiri dorite ale acesteia care pot conduce la creşterea performanţelor sistemului neuronal. În final, este util a fi amintiţi şi algoritmii de învăţare/instruire hibrizi ai reţelelor neuronale. O structură neuronală hibridă mixează prin structura algoritmului său de instruire aspectele definitorii ale algoritmilor de învăţare supervizată şi, respectiv, nesupervizată. Se pot aminti în acest sens, reţelele neuronale standard RBF şi LVQ. Spre exemplu, în cazul reţelei RBF, antrenarea şi localizarea centrelor câmpurilor receptoare în spaţiul de intrare se realizează prin tehnici de clustering specifice, iar învăţarea supervizată este utilizată pentru rafinarea şi antrenarea ponderilor dintre stratul ascuns şi cel de ieşire etc.

11..22..22 RReepprreezzeennttaarreeaa ccuunnooaaşştteerriiii O problemă importantă în studiul maşinilor instruibile (în speţă, a

reţelelor neuronale) este stabilirea unei metode de reprezentare a cunoştinţelor ce au fost învăţate. În modelele conexioniste există o dependenţă puternică între sistemul de reprezentare şi cel de învăţare. În aceste sisteme reprezentarea cunoaşterii constă dintr-o reţea, ponderile conexiunilor şi interpretările semantice ataşate neuronilor şi stărilor (activărilor). De asemenea, se poate considera că modelele conexioniste sunt modele cu deschidere largă, aceasta deoarece neuronii îşi calculează propriile activări în funcţie şi de activările altor neuroni (uneori, activările tuturor neuronilor reţelei). Astfel, reţelele neuronale se situează pe o poziţie contrastantă în raport cu modelele ultrasimplificate, [4]. 11..22..33 MMooddeellee aallee iinnssttrruuiirriiii rreeţţeelleelloorr nneeuurroonnaallee

Conform literaturii de specialitate, cele mai reprezentative cinci modele ale instruirii reţelelor neuronale sunt următoarele, [6]:

• autoasociatorul, unde formele de intrare şi de ieşire sunt elemente ale aceluiaşi spaţiu vectorial, iar formele de intrare sunt memorate prin prezentarea lor succesivă reţelei. Astfel, pentru o formă de intrare arbitrară, reţeaua este capabilă să descopere forma memorată cea mai asemănătoare cu aceasta;

• asociatorul de forme care constituie o generalizare a primului model în sensul că formele de intrare/ieşire aparţin unor spaţii vectoriale distincte;

Page 7: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Paradigme fundamentale ale inteligenţei artificiale

15

• clasificatorul unde formele de intrare sunt prezentate reţelei neuronale care trebuie să le clasifice într-o mulţime prestabilită de clase. În general, pentru modelul respectiv instruirea este una supervizată;

• detectorul de regularităţi unde se presupune cunoscută distribuţia de probabilitate a formelor de intrare, iar reţeaua neuronală este capabilă să descopere cele mai semnificative aspecte ale distribuţiei, astfel că aceasta învaţă singură. Natural, instruirea este una nesupervizată;

• învăţarea prin întărire presupune existenţa unui semnal suplimentar de întărire, astfel că reţeaua neuronală se adaptează în sensul maximizării numărului de recompense şi minimizării numărului de penalizări. În final, este utilă prezentarea următoarelor două observaţii de fond cu privire la performanţele (de clasificare) oferite de o reţea neuronală, şi anume: a) Rezultatul lui Ruck ş.a. privind echivalenţa asimptotică a reţelelor neuronale şi a clasificatorilor bayesieni

Fie { }1,..., pX x x= mulţimea formelor de instruire, rE eroarea medie

asociată unui perceptron multistrat, ( )rD x eticheta clasei vectorului x după ce reţeaua a fost instruită, bE eroarea regulii de decizie, iar ( )bD x eticheta clasei vectorului x prin regula Bayes. Atunci:

( ) ( )

lim ,.

lim 0

r bp

r bp

E E

D x D x→∞

→∞

=

− =

(1.1)

Prin urmare, teorema anterioară demonstrează echivalenţa asimptotică dintre următoarele patru tipuri de clasificatori: reţelele neuronale aparţinând paradigmei clasificatorului, perceptronul multistrat, clasificatorii bayesieni optimali şi, respectiv, clasificatorii k-nn. Cu alte cuvinte, multe dintre arhitecturile neuronale sunt doar variante diferite ale perceptronului multistrat, iar la limită, toate acestea generează aceeaşi funcţie etc. b) Interferenţa modelelor neuronale cu diferite teorii matematice

În încercarea de a elimina unele contraperformanţe ale reţelelor neuronale standard, în ultima perioadă de timp au fost dezvoltate teoretic o serie de modele neuronale avansate care depăşesc prin comportamentul lor graniţele tradiţionale ale paradigmei conexioniste. Spre exemplu, este şi cazul reţelelor neuro-fuzzy apărute prin încorporarea în cadrul modelelor conexioniste a elementelor de logică fuzzy, reţelele neuro-expert apărute prin simbioza celor două direcţii fundamentale ale AI, reţelele neuro-evolutive apărute prin absorbţia principiilor calcului evolutiv în cadrul modelelor neuronale standard, dar şi a reţelelor expert neuro-fuzzy, iar şirul exemplelor în acest sens ar putea continua.

Referitor la noile reţele neuronale se constată că pe lângă o îmbunătăţire semnificativă a performanţelor, acestea reuşesc să integreze în structura lor o

Page 8: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Iulian-Constantin Vizitiu

16

serie de mecanisme definitorii ale percepţiei umane, concomitent cu gradul lor superior de specializare în rezolvarea unor aplicaţii personalizate.

11..22..44 EElleemmeennttee ddee nneeuurrooddiinnaammiiccăă În general, o reţea neuronală constă dintr-o mulţime de elemente de prelucrare denumite simplu, neuroni, perceptroni, unităţi cognitive, noduri etc., având un grad înalt de interconectare. Fie o reţea neuronală cu p neuroni. Aceştia sunt conectaţi prin intermediul unei mulţimi de ponderi neuronale sau ponderi sinaptice. Fiecare neuron i al structurii care are in intrări şi, respectiv, o ieşire iy . Intrările reprezintă semnalele (stimulii) venite de la alţi neuroni din reţea sau din mediul de intrare. Componentele vectorului de intrare ix al neuronului i sunt reprezentate prin numerele reale 1, ,i i

nix xK . De asemenea, fiecare neuron i are asignate in ponderi neuronale respectiv, 1, ,i i

niw wK . Practic, aceste ponderi sunt numere reale care ponderează semnalele de intrare corespunzătoare. Dacă 0i

jw > , atunci vorbim

despre o pondere neuronală excitatoare, iar dacă 0ijw < avem de-a face cu o

pondere neuronală inhibatoare. În continuare, fiecare neuron i din reţeaua neuronală calculează starea sa internă sau activarea totală, neti , ca o operaţie aritmetică (OA) de semnalele ponderate de intrare:

( )1

net , 1,in

i i ij jj

OA w x i p=

= = . (1.2)

Ieşirea iy a neuronului i se poate scrie:

( )net , 1,iiy f i p= = , (1.3)

unde f reprezintă funcţia neuronală, funcţia de ieşire sau funcţia de activare a neuronului i.

În altă ordine de idei, neuronii pot fi combinaţi în diferite moduri pentru a forma o reţea neuronală. Un model consacrat de topologie consideră neuronii dispuşi în mai multe straturi (topologia multistrat, fig. 1.1). În consecinţă, pentru a specifica o reţea neuronală sunt necesare următoarele elemente: numărul de neuroni sau numărul de neuroni/strat; modul lor de interconectare; modul cum sunt combinate excitaţiile la intrarea neuronului; tipul OA; tipul f; ecuaţiile dinamice ale sistemului neuronal şi, respectiv, algoritmul de instruire.

Din punct de vedere structural, un model neuronal se consideră ierarhizat pe următoarele trei nivele:

• microstructural, corespunzător neuronului simplu; • mezostructural, corespunzător modului de interconectare a neuronilor simpli;

Page 9: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Paradigme fundamentale ale inteligenţei artificiale

17

• macrostructural, corespunzător structurilor compuse de reţele neurale. Conform literaturii de specialitate [6], cele mai importante arhitecturi de

reţele neuronale ca şi arie de aplicabilitate sunt următoarele: BAM (Bidirectional Associative Memory); MLP (MultiLayer Perceptron); RBF (Radial Basis Function network); SART (Supervised ART); CCN (Cascade Correlation Network); LVQ (Learning Vector Quantization network); ART (Adaptive Resonance Theory network); SOFM (Self-Organizing Feature Maps) etc. 11..22..44..11 CCllaassee ddee ffuunnccţţiiii ddee aaccttiivvaarree

Conform referinţei bibliografice [5], cele mai des utilizate clase de funcţii de activare ( )f ⋅ sunt următoarele:

• de tip sigmoidal

( ) 1 , 0.1 ei kxf x k−= >

+ (1.4)

Fig. 1.2 Funcţie de activare de tip sigmoidal ( )0,2; 0,5; 0,9k =

• de tip RBF-Cauchy

( )( )

2

2 2, 0.i

i

rf x rx r

= ≥− θ +

(1.5)

Page 10: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Iulian-Constantin Vizitiu

18

Fig. 1.3 Funcţie de activare de tip RBF-Cauchy ( )0,2; 1; 0r i= θ =

• de tip saturaţie

( )( )

( )

1, 1

, 1

1, 1

i

i i i

i

x

f x x x

x

− θ ≥

= − θ − θ <− − θ ≤

. (1.6)

Fig. 1.4 Funcţie de activare de tip saturaţie ( )1iθ =

Page 11: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Paradigme fundamentale ale inteligenţei artificiale

19

Pentru a avea un grad sporit de aplicabilitate, o funcţie de activare trebuie să îndeplinească următoarele cerinţe: să fie continuă; derivabilă şi, respectiv, monoton crescătoare, [6]. 11..22..44..22 EEccuuaaţţiiaa ddee eevvoolluuţţiiee aa uunneeii rreeţţeellee nneeuurroonnaallee

Fie o reţea neuronală formată din n neuroni. Se notează cu ix , 1,i n= semnalul de ieşire al neuronului i, iar pragul său cu iθ .

O reţea neuronală poate fi interpretată global ca fiind un sistem dinamic. Interesează în continuare obţinerea ecuaţiei de evoluţie a acestui sistem. Presupunem că semnalele de intrare ale fiecărui neuron sunt date de semnalele de ieşire ale tuturor neuronilor din reţea. De asemenea, pragul fiecărui neuron poate fi absorbit în expresia activării neuronului respectiv.

Se notează cu X vectorul de stare al reţelei neuronale şi ale cărui componente sunt stările neuronilor din reţea, de forma:

1

21

1

, 1... n

n

xx

X x

x

+

+

= =

(1.7)

Admiţând un model de activare aditiv, activarea neuronală totală pentru neuronul i din reţea este dată de relaţia:

1

, 11

net , 1, şin

i ij j i n ij

w x i n w+

+=

= = = θ∑ . (1.8)

Se notează cu iv vectorul ale cărui componente sunt reprezentate de ponderile conexiunilor spre neuronul i, de forma:

,1

, 1

... , 1,i

i

i n

wv i n

w +

= =

. (1.9)

Vectorul iv este practic, vectorul pondere asociat neuronului i. Se notează cu W matricea ( )1n n× + , având pe linia i componentele lui

iv , de forma:

1

...n

v

v

=

W . (1.10)

Matricea W se numeşte matricea de conexiune a reţelei neuronale. Se notează cu NET vectorul de activare a reţelei neuronale (sau vectorul de activare total), de forma:

Page 12: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Iulian-Constantin Vizitiu

20

1net

NET ... .netn

=

(1.11)

În consecinţă, activarea reţelei se poate rescrie astfel: NET X= W . (1.12)

Pentru studiul dinamicii reţelei neuronale este necesar ca stările

neuronilor din reţea să fie indexate prin parametrul timp. Se notează cu ( )txi starea neuronului i la momentul , 0t t ≥ . Modelul de evoluţie a reţelei se consideră unul discret, momentele de timp fiind: 0,1,2, , , 1,t t +K K . Starea neuronului i la momentul ( )1t + se poate scrie astfel:

( ) 11 ( ) , 1,1

nt tx f w x i ni i ij jj

++ = =∑ =

(1.13)

Dacă se notează cu ( )tX vectorul de stare al reţelei neuronale la momentul t, atunci activarea neuronului i la acelaşi moment este de forma: ( )net .tiTv Xi = (1.14) Se notează cu F funcţia vectorială având drept componente valorile funcţiilor neuronale , 1,if i n= de forma:

( )

( )

net1 1(NET) ...

net

f

F

fn n

=

. (1.15)

În consecinţă, dinamica unei reţele neuronale este descrisă de următoarea ecuaţie de evoluţie:

( ) ( )( )1t tX F WX+ = . (1.16)

Relaţia (1.16) se mai numeşte şi ecuaţia de mişcare a stării reţelei. 11..22..55 AAssppeeccttee pprraaccttiiccee pprriivviinndd iimmpplleemmeennttaarreeaa rreeţţeelleelloorr nneeuurroonnaallee Corelaţia dintre alegerea tipului de arhitectură neuronală şi problema de instruire efectiv de rezolvat, reprezintă una dintre cheile succesului implementării practice a reţelelor neuronale. Deşi obţinerea performanţelor este dictată în cea mai mare măsură de abilitatea şi experienţa factorului uman, totuşi în literatura de specialitate sunt indicate o serie de criterii euristice care

Page 13: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Paradigme fundamentale ale inteligenţei artificiale

21

pot conduce la optimizarea structurilor neuronale utilizate (număr de straturi, număr de neuroni/strat, funcţii de activare etc.), aceasta şi în eventualitatea unei implementări hardware ulterioare.

Deoarece în marea majoritate a aplicaţiilor curente cea mai utilizată reţea neuronală este reprezentată de MLP (în general, arhitecturile neuronale de tip feedforward), consideraţiile următoare sunt specifice, preponderent, acestui tip de structură neuronală. Prin urmare, dacă ne referim la:

• Estimarea numărului de neuroni necesari Dacă se consideră problema estimării numărului de neuroni într-un MLP cu două straturi ascunse, Lippman (1987) a demonstrat că o asemenea structură neuronală este capabilă să formeze regiuni de decizie oricât de complexe, deci practic să aproximeze orice tip de funcţie neliniară. Fie n dimensiunea formelor/ vectorilor de intrare. Dacă regiunile de decizie (regiunile care trebuie învăţate) sunt disconexe sau au goluri, neputând fi reduse la o singură regiune convexă, atunci numărul de neuroni din cel de-al doilea strat ascuns trebuie să fie mai mare ca unu, nefiind necesar ca acesta să fie mai mare decât numărul de regiuni disconexe din spaţiul formelor de intrare. Suplimentar, numărul de neuroni din primul strat ascuns trebuie să fie de peste trei ori mai mare decât numărul neuronilor din cel de-al doilea strat ascuns pentru a permite ca acest câmp să furnizeze trei sau mai multe laturi pentru fiecare regiune convexă identificată de cel de-al doilea strat ascuns.

Dacă numărul de neuroni dintr-un strat este mai mic decât cel necesar, atunci reţeaua neuronală nu poate forma o reprezentare completă a distribuţiei vectorilor de intrare şi în consecinţă, nu poate învăţa integral informaţia conţinută în aceştia. În schimb, dacă numărul de neuroni dintr-un strat este prea mare, atunci în reţea se poate genera zgomot deoarece reţeaua nu poate construi o reprezentare compactă a relaţiilor existente între formele de intrare. Totuşi, trebuie permis un anumit grad de redundanţă a numărului de neuroni/strat pentru a spori robusteţea reţelei. De asemenea, este intuitiv faptul că, în cazul în care problema de instruire presupune partiţionarea vectorilor de intrare în p clase, atunci stratul neuronal de ieşire al MLP trebuie să conţină p ieşiri, câte o ieşire/clasă de forme.

În consecinţă, se poate concluziona că, cea mai bună arhitectură pentru o reţea neuronală se poate obţine doar prin încercări repetate.

• Complexitatea/neliniaritatea arhitecturilor neuronale Uneori, o soluţie pentru rezolvarea problemelor complexe de instruire este

şi cea a măririi numărului de straturi ascunse. Se poate demonstra că, mărirea complexităţii reţelei neuronale nu este o soluţie general valabilă şi reprezintă o cale problematică în abordarea proceselor de instruire.

Determinarea unor neliniarităţi adecvate pentru o structură neuronală (practic, pentru funcţiile de activare) conferă acestor structuri o forţă de calcul superioară, comportamentul neliniar al neuronilor fiind esenţial pentru o reţea neuronală multistrat. Dacă funcţia de activare ar fi una liniară, atunci mărirea

Page 14: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Iulian-Constantin Vizitiu

22

numărului de straturi nu ar conduce la nici un avantaj, întotdeauna putându-se determina o structură neuronală neliniară cu un singur strat ascuns, care să realizeze aceeaşi funcţie/performanţe ca şi structura liniară.

• Problema minimelor locale O dificultate comună a algoritmilor de instruire, bazaţi pe utilizarea unor metode de tip gradient, (spre exemplu, algoritmul Windrow-Hoff, regula BP etc.) o reprezintă blocarea reţelei neuronale într-un punct de minim local. Dacă reţeaua ajunge într-un asemenea punct, aceasta îşi încheie procesul de instruire, deşi este posibil ca eroarea de instruire (valoarea funcţiei-criteriu supusă minimizării) să nu fie acceptabilă. Oprirea în punctele de minim local este o consecinţă naturală a faptului că metodele de tip gradient nu permit decât mişcări descendente şi nu sunt permise şi salturile în puncte cu valori mai mari ale funcţiei-criteriu.

Pentru eliminarea problemei minimelor locale, în literatura de specialitate este indicată o gamă largă de soluţii, dintre care pot fi amintite, [7]: schimbarea constantei de instruire; schimbarea ponderilor iniţiale; modificarea numărului de unităţi ascunse etc. În altă ordine de idei, adăugarea unor valori mici (aleatorii) la vectorul pondere (aşa-numita scuturare a reţelei) poate permite reţelei neuronale să scape dintr-un punct de minim local. Dacă noua stare este suficient de îndepărtată de acest minim local, atunci instruirea reţelei poate decurge într-o nouă direcţie, fără a reveni în acelaşi minim local. În situaţia în care o reţea neuronală a atins o soluţie acceptabilă (din punct de vedere al erorii) nu se poate şti cu siguranţă dacă aceasta corespunde unei stări de minim global sau local. În general, dacă eroarea de instruire este satisfăcătoare, nu contează tipul minimului atins. Metodele mai elaborate pentru eliminarea problemei minimelor locale sunt axate în principal, pe utilizarea algoritmilor de tip Metropolis, algoritmului de călire simulată (simulated annealing) şi, respectiv, a algoritmilor genetici. Algoritmul de călire simulată reprezintă o metodă uşor de implementat şi nu presupune cerinţe de memorie deosebite. Soluţia utilizării algoritmilor genetici este mai complexă, cu rezultate excelente, dar cu cerinţe de memorie şi timp de calcul foarte restrictive. Suplimentar, aceşti algoritmi elimină şi problema destul de spinoasă a dependenţei de configuraţia iniţială a procesului de antrenare a reţelei neuronale etc.

• Ruperea simetriei şi iniţializarea ponderilor O altă problemă importantă în procesul de instruire a reţelelor neuronale multistrat este şi cea a ruperii simetriei, situaţie care apare în momentul când, iniţial, toate ponderile neuronilor din cadrul reţelei neuronale ar fi egale (reţeaua este practic, paralizată). Conform literaturii de specialitate [6], inconvenientul respectiv poate fi eliminat simplu prin iniţializarea ponderilor neuronilor cu valori aleatorii reale, mici. Spre exemplu, pentru un neuron cu n intrări, se

recomandă alegerea valorilor iniţiale ale ponderilor în intervalul 2 2,n n

− .

Pentru detalii suplimentare privind teoria calculului neuronal, pot fi consultate referinţele bibliografice [4], [5], [6] şi [7].

Page 15: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Paradigme fundamentale ale inteligenţei artificiale

23

11..33 AAssppeeccttee ddee bbaazzăă pprriivviinndd tteeoorriiaa mmuullţţiimmiilloorr nnuuaannţţaattee 11..33..11 GGeenneerraalliittăăţţii Logica clasică (logica tare) sau booleană este construită pe două valori de adevăr: „adevărat” sau „fals” (TRUE sau FALSE, 1 sau 0): un obiect este fie „alb”, fie „negru”, fie „mare”, fie „mic”etc., neexistând o situaţie intermediară. Logica fuzzy (sau nuanţată) sau teoria mulţimilor vagi (sau flu, fuzzy set) formulată de către Zadeh în anul 1965, oferă o modalitate matematică de a cuantifica incertitudinea unei exprimări vagi sau incomplete folosite pentru transmiterea unei anumite informaţii, de forma: „e cam mare”, „e aproape negru”, „e 75% adevărat” etc. De asemenea, se poate demonstra cu uşurinţă că descrierea lingvistică (specifică logicii fuzzy) asignată unui sistem este cu mult mai eficace şi mai specifică (şi în consecinţă, mai bogată din perspectiva conţinutului informaţional) decât descrierea matematică (numerică) a acestuia. Suplimentar, este necesară şi introducerea unui grad de încredere privind apartenenţa proprietăţii de interes la termenul lingvistic corespunzător. Diferenţa esenţială dintre logica clasică şi cea fuzzy constă tocmai în faptul că principiul terţului exclus (formulat pentru prima dată de către Aristotel) nu mai este aplicabil în acest ultim caz. Spre exemplu, în fig. 1.5 este ilustrat grafic acest aspect, din care se poate observa că, în cazul logicii tari există o delimitare clară între cele două valori de adevăr, în timp ce în cazul logicii fuzzy există o zonă de nedeterminare, în care valoarea de adevăr poate fi 0 şi 1 în acelaşi timp, într-o anumită măsură dată de gradul de apartenenţă, [8]. Logica fuzzy poate fi utilizată în toate situaţiile în care nu există o delimitare clară între mulţimile care reprezintă valorile unei mărimi sau proprietăţi, sau evenimentele, sau stările posibile ale unei variabile aleatoare. Suplimentar, se poate remarca faptul că acest mod de a raţiona specific teoriei mulţimilor nuanţate este unul specific fiinţelor umane care în judecăţile lor, nu utilizează simboluri discrete şi numere, ci doar reprezentări calitative asociate unor termeni lingvistici.

Fig. 1.5 Ilustrarea grafică a mulţimilor TRUE şi FALSE

în logica booleană (stânga) şi logica fuzzy (dreapta)

Page 16: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Iulian-Constantin Vizitiu

24

Conform literaturii de specialitate [9], avantajele certe obţinute în urma implementării logicii fuzzy (procesului de fuzzificare) pot fi sintetizate astfel: furnizează rezultate care pot fi interpretate simplu şi intuitiv; realizează o interfaţă eficientă între limbajul formal (specific procesării simbolice) şi caracterizările de ordin calitativ (specifice procesării numerice); oferă o colecţie de instrumente coerente de procesare a informaţiilor imprecise etc. Prin urmare, se poate remarca cu uşurinţă faptul că, noţiunea de mulţime nuanţată a apărut şi s-a dezvoltat ca o extensie naturală a noţiunii de funcţie caracteristică a unei mulţimi clasice (practic, prin trecerea {0,1}→[0,1]), punându-se astfel bazele unei descrieri matematice riguroase a proceselor de raţionament imprecis (în acest nou context, este util de studiat aspectele teoretice de bază ale principiului Modes-Ponens, ale inferenţei compoziţionale etc.). În altă ordine de idei, pentru rezolvarea unei probleme în contextul teoriei mulţimilor nuanţate în general, trebuie parcurşi următorii paşi de bază:

• formularea problemei de rezolvat şi stabilirea variabilelor (parametrilor) de tip fuzzy considerate în acest caz;

• precizarea termenilor lingvistici asignaţi fiecărei variabile fuzzy şi a formei funcţiilor de apartenenţă asociate;

• fuzzificarea (fuzzification) variabilelor de interes; • definirea setului adecvat de operaţii fuzzy necesare şi efectuarea

calculelor cu mărimile fuzzy utilizate; • defuzzificarea (defuzzification) în sensul revenirii la valorile

variabilelor ferme (crisp) iniţiale etc. 1.3.2 Noţiunea de mulţime nuanţată Fie X o mulţime nevidă. O mulţime nuanţată sau fuzzy este o pereche ( ),X A unde [ ]: 0,1A X → . X este universul mulţimii nuanţate şi A este funcţia de apartenenţă a mulţimii nuanţate. ( )A x se interpretează ca fiind gradul de apartenenţă al lui x la mulţimea nuanţată ( ),X A .

De cele mai multe ori pentru simplificare, se identifică mulţimea nuanţată cu funcţia ei de apartenenţă, deci A este o mulţime nuanţată peste universul X. De asemenea, se notează cu ( )L x familia mulţimilor nuanţate peste X. Se defineşte suportul mulţimii nuanţate A, mulţimea clasică definită de forma:

( ){ }supp , 0 .A x X A x= ∈ ≥ (1.17)

Mulţimea vidă, Φ se defineşte de forma:

( ) 0, .x x XΦ = ∀ ∈ (1.18)

Page 17: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Paradigme fundamentale ale inteligenţei artificiale

25

11..33..33 OOppeerraaţţiiii ccuu mmuullţţiimmii nnuuaannţţaattee Cu ajutorul noţiunilor introduse anterior, se definesc următoarele operaţii elementare cu mulţimi nuanţate, şi anume:

• reuniunea şi intersecţia În acest sens, Zadeh a propus următoarele definiţii, [8]:

( )( ) ( ) ( )( )max , , ,A B x A x B x x X∪ = ∀ ∈ (1.19)

şi, respectiv:

( )( ) ( ) ( )( )min , , .A B x A x B x x X∩ = ∀ ∈ (1.20)

În mod natural, relaţiile (1.19) şi (1.20) nu sunt singurele modalităţi posibile de definire a reuniunii şi intersecţiei mulţimilor nuanţate. În general, se pot considera două funcţii bidimensionale [ ] [ ] [ ], : 0,1 0,1 0,1F G × → astfel încât, reuniunea şi intersecţia mulţimilor nuanţate se definesc punctual:

( )( ) ( ) ( )( ), , ,A B x F A x B x x X∪ = ∀ ∈ (1.21)

şi, respectiv:

( )( ) ( ) ( )( ), , .A B x G A x B x x X∩ = ∀ ∈ (1.22)

Proprietăţile pe care trebuie să le îndeplinească funcţiile F şi G sunt prezentate pe larg, în referinţa bibliografică [9]. Cea mai consistentă clasă de funcţii care satisfac condiţiile impuse pentru funcţia G este clasa normelor triunghiulare sau t-normelor. O t-normă este o funcţie [ ] [ ] [ ]: 0,1 0,1 0,1T × → care satisface următoarele axiome:

( ) [ ]( ) ( )

( ) ( ) [ ]( )( )

1) ,1 , 0,1 (condiţia la limită);

2) , , , (monotonie);

3) , , , , 0,1 (comutativitate);

4) , , ,

T a a a

a u b v T a b T u v

T a b T b a a b

T T a b c T a

= ∀ ∈

≤ ≤ ⇒ ≤

= ∀ ∈

= ( )( ) [ ], , , , 0,1 (asociativitate).T b c a b c∀ ∈

(1.23)

Funcţia [ ] [ ] [ ]: 0,1 0,1 0,1S × → definită de forma:

( ) ( ), 1 1 ,1 , , [0,1],S a b T a b a b= − − − ∀ ∈ (1.24)

se numeşte t-conormă duală a lui T. Se poate arăta uşor că S satisface un set de proprietăţi analog cu cel din relaţia (1.23). Suplimentar, este uşor de remarcat şi faptul că funcţiile T şi S satisfac condiţiile impuse funcţiilor F şi G, care definesc reuniunea şi intersecţia mulţimilor nuanţate. De asemenea, în referinţa bibliografică [8] sunt prezentate

Page 18: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Iulian-Constantin Vizitiu

26

şi exemplificate cele mai uzuale alegeri pentru T şi S, şi anume: 0 1, ,T T T∞ şi, respectiv, 0 1, ,S S S∞ (membri ai familiei fundamentale Ts ). În general, pentru reuniunea şi intersecţia mulţimilor nuanţate se consideră definiţia bazată pe T∞ şi, respectiv, S∞ .

• produsul şi diferenţa Se definesc astfel:

( )( ) ( ) ( ) , ,AB x A x B x x X= ∀ ∈ (1.25)

şi, respectiv:

( )( ) ( ) ( )( )max ,0 , .A B x A x B x x X− = − ∀ ∈ (1.26)

• complementara 'A lui A este mulţimea nuanţată peste X, definită printr-o relaţie de forma:

( ) ( )' 1 , .A x A x x X= − ∀ ∈ (1.27)

• egalitatea a două mulţimi nuanţate se defineşte astfel:

( ) ( ) dacă , .A B A x B x x X= = ∀ ∈ (1.28)

11..33..44 PPaarrttiiţţiiii nnuuaannţţaattee

Mulţimile nuanţate A şi B peste X sunt mulţimi disjuncte dacă şi numai dacă este îndeplinită următoarea condiţie:

( ) ( ) 1, .A x B x x X+ ≤ ∀ ∈ (1.29)

Fie A şi B două mulţimi nuanţate peste X. Se spune că A şi B reprezintă o partiţie nuanţată a lui X dacă sunt îndeplinite următoarele condiţii:

,A B XA B

∪ = ∩ = Φ

(1.30)

sau relaţia echivalentă:

( ) ( ) 1, .A x B x x X+ = ∀ ∈ (1.31)

Generalizând, fie C o mulţime peste X. Fie { }1 2, ,..., nP A A A= o familie de mulţimi nuanţate peste X. P este o partiţie nuanţată finită a lui C dacă şi numai dacă este îndeplinită următoarea condiţie:

( ) ( ), ,1

nA x C x x Xi

i= ∀ ∈∑

= (1.32)

unde iA este un atom al partiţiei P.

Page 19: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Paradigme fundamentale ale inteligenţei artificiale

27

În altă ordine de idei, legată de noţiunea de partiţie nuanţată se defineşte şi conceptul de rafinare, care se demonstrează că este practic o relaţie de ordine peste mulţimea partiţiilor nuanţate finite ale unei mulţimi C, [9]. 11..33..55 DDiissttaannţţaa îînnttrr--oo mmuullţţiimmee nnuuaannţţaattăă Fie A o mulţime nuanţată peste X şi t un număr din intervalul [ ]0,1 .

Mulţimea clasică tA definită prin relaţia:

( ){ } ,tA x X A x t= ∈ ≥ (1.33)

se numeşte mulţime de nivel t sau t-tăietură a lui A. Fie spaţiul metric ( ),X d şi mulţimile nuanţate A şi B peste X. Distanţa dintre mulţimile nuanţate A şi B se defineşte de forma (Gerla-Volpe) :

( ) ( )1

0

d , , dt tA B D A B t= ∫ (1.34)

unde ( ),D ⋅ ⋅ este metrica (distanţa) dintre două mulţimi clasice. Pe baza definiţiei noţiunii de distanţă dintre două mulţimi nuanţate, se pot introduce în continuare noţiunile de punct fuzzy, diametrul unei mulţimi nuanţate şi distanţa locală în raport cu o mulţime nuanţată, concepte extrem de utile în fundamentarea teoretică a instruirii supervizate/nesupervizate a reţelelor neuronale cu ajutorul mulţimilor fuzzy, [8]. 11..33..66 CCllaassee nnuuaannţţaattee lliinniiaarr sseeppaarraabbiillee Fie { }1 2, ,..., , ,p j sX x x x x R= ∈ o mulţime de forme de instruire, iar A o

mulţime nuanţată peste X. Evident, { },P A A= reprezintă o partiţie nuanţată

peste X. Clasele nuanţate A şi A se consideră liniar separabile dacă există un vector 1sv R +∈ , astfel încât:

( )( )

0,5 adică 0.

0,5 adică 0

T

T

A y v y

A y v y

> ⋅ >

> ⋅ > (1.35)

Fie A o mulţime nuanţată peste Y. Se definesc în prealabil, următoarele mulţimi:

Page 20: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Iulian-Constantin Vizitiu

28

( ) ( ){ }, : 0 şi , : 0T TK k A y k y v y A y k y v y= ≤ ∀ ⋅ ≤ ≤ ∀ ⋅ ≥M (1.36)

şi, respectiv:

( ){ } ( ){ }, 0 , 0T TS A y y Y v y A y y Y v y= ∈ ⋅ ≤ ∪ ∈ ⋅ ≥M M (1.37)

Deoarece [ )0,K ⊆ ∞ şi [ )0,1S ⊆ rezultă că, inf K şi sup S există întotdeauna. Gradul de neseparabilitate a mulţimilor nuanţate A şi A de către vectorul v este un număr ( ),M A v , definit de forma:

( ), inf sup .M A v K S= = (1.38)

Gradul de separare a mulţimilor nuanţate A şi A de către vectorul v este un număr ( ),D A v , definit de forma:

( ) ( ), 1 , .D A v M A v= − (1.39)

Prin urmare, mulţimile A şi A sunt mulţimi nuanţate liniar separabile dacă şi numai dacă sunt îndeplinite următoarele condiţii, [9]:

( )( ) ( )

, 0,5.

= adică = 0T

D A v

A y A y v y

⋅ (1.40)

Pentru detalii teoretice suplimentare referitoare la noţiunea de liniar separabilitate în sens fuzzy, se poate consulta referinţa bibliografică [10]. 11..44 FFuunnddaammeennttee aallee tteeoorriieeii aallggoorriittmmiilloorr ggeenneettiiccii Algoritmii genetici (introduşi de J. Holland în 1975) sunt în esenţă tehnici moderne de căutare globală, care pot fi utilizate cu succes în rezolvarea unor probleme complexe de optimizare. Aceştia sunt fundamentaţi pe paradigma biologică a evoluţiei vieţii, mai exact pe „mecanica selecţiei naturale şi a geneticii, rezultând algoritmi în care este implicat şi flerul inovator al căutării umane” (D. Goldberg, 1989), [11]. Domeniul algoritmilor genetici s-a dezvoltat într-o manieră independentă de problematica biologiei, concentrându-se în special pe soluţionarea unor probleme aplicative, incluzând sisteme de clasificare şi programare genetică, strategii de evoluţie şi programare evolutivă, conturându-se astfel o nouă direcţie de cercetare cunoscută generic sub titulatura de calcul evolutiv.

Page 21: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Paradigme fundamentale ale inteligenţei artificiale

29

Principalele caracteristici şi diferenţe între algoritmii genetici şi metodele tradiţionale de căutare (metodele de tip gradient, metoda punctului staţionar, metoda Newton, metoda Marquardt-Levenberg etc.) pot fi rezumate astfel:

• algoritmii genetici nu acţionează în mod direct asupra spaţiului de căutare, ci asupra unei codificări a funcţiei-obiectiv;

• algoritmii genetici încep căutarea având ca punct de start o populaţie iniţială de puncte;

• algoritmii genetici utilizează informaţia dată de o funcţie de performanţă (fitness) în detrimentul unor cunoştinţe derivate sau auxiliare;

• algoritmii genetici utilizează reguli de tranziţie probabilistice în locul celor deterministe etc.

O gamă diversă de probleme ştiinţifice – de inginerie, de finanţe sau sociale, pot fi soluţionate cu ajutorul algoritmilor genetici. Aplicaţiile acestora pot fi regăsite în determinarea parametrilor unor modele matematice, probleme de cablare complexă multistrat, programe de distribuire a locurilor de muncă sau de strategie a pregătirii personalului, de utilizare a forţei de muncă şi de optimizare a fluxului de producţie, modelarea urgenţelor pe piaţă, a proceselor de inovare, evoluţia cooperării şi comunicării în sistemele multiagent, modelarea evoluţiei sistemelor gazdă-parazit, simbioza, circulaţia resurselor etc. 11..44..11 MMeettaaffoorraa eevvoolluuţţiieeii bbiioollooggiiccee

Teoria evoluţionistă (neo-darwinistă), bazată pe selecţia naturală, susţine că indivizii unei specii care se adaptează mai bine la mediu au o probabilitate de supravieţuire mai mare şi, respectiv, de a da urmaşi. De-a lungul generaţiilor, indivizii cu caracteristici mai potrivite mediului de viaţă se vor perpetua în dauna celor care nu se adaptează şi care vor dispărea. În cadrul acestui proces, fiecare specie învaţă, iar cunoaşterea pe care a acumulat-o este codificată în cromozomii speciei. Caracteristicile unei fiinţe vii sunt stabilite printr-un proces de decodificare a cromozomilor săi.

Caracteristicile esenţiale ale metaforei biologice a moştenirii genetice şi evoluţiei naturale din perspectiva formulării viitoare a principiilor teoretice de bază ale algoritmilor genetici, pot fi sintetizate sub următoarea formă:

• cromozomii sunt purtătorii informaţiei genetice; • fiecare individ al speciei posedă un număr determinat de cromozomi.

Totalitatea cromozomilor unui individ formează genotipul său; • cromozomii sunt structuri liniare alcătuite din gene. Genele poartă şi

controlează una sau mai multe caracteristici ereditare, iar pentru o anumită

Page 22: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Iulian-Constantin Vizitiu

30

caracteristică, genele ocupă locuri determinate în cadrul cromozomului numite loci. De asemenea, o genă se poate afla în mai multe stări numite alele;

• evoluţia este un proces ce se desfăşoară la nivelul cromozomilor; • selecţia naturală constituie legătura dintre cromozomi şi performanţele

indivizilor, iar procesul selecţiei naturale favorizează reproducerea acelor cromozomi care codifică structuri de succes;

• evoluţia se realizează în procesul reproducerii, prin intermediul unor procese de selecţie şi mutaţie. De asemenea, un rol important este atribuit şi proceselor de recombinare a materialului genetic care caracterizează părinţii noii populaţii.

Selecţia naturală specifică lumii biologice este una oarbă, nu priveşte înainte, nu calculează consecinţele şi nu are un scop bine precizat. Pentru a înlătura aceste neajunsuri, tehnicile de calcul evolutiv specifice inteligenţei artificiale folosesc cunoştinţele asociate problemei de rezolvat. De asemenea, este util de amintit şi faptul că, în natură procesul de evoluţie are loc pe o scară de timp foarte mare şi pentru o populaţie extrem de numeroasă, în cadrul multor generaţii, condiţii imposibil de obţinut în cadrul optimizărilor numerice. 11..44..22 EEvvoolluuţţiiaa pprriinn pprriissmmaa aallggoorriittmmiilloorr ggeenneettiiccii Procesarea informaţiei cu ajutorul algoritmilor genetici presupune utilizarea cromozomilor (posibile soluţii ale problemei de interes), care reprezintă codificarea prin şiruri de simboluri sau numere (de regulă, binare) a caracteristicilor problemei de rezolvat. În cazul uzual al mai multor parametri, şirul conţine mai multe subşiruri numite gene, câte unul pentru fiecare parametru. Cromozomii reprezintă genotipul (modul de codificare a soluţiei), în timp ce fenotipul este soluţia în sine. O singură soluţie a problemei, în speţă un cromozom, este referit ca şi membru al populaţiei de cromozomi sau individ din cadrul populaţiei respective.

Implementarea unui algoritm genetic presupune parcurgerea mai multor etape (generaţii) în procesul de reproducere, în care o populaţie este înlocuită prin apariţia unei noi populaţii de cromozomi. Iniţial, este creată aleatoriu o populaţie de indivizi, unde fiecare cromozom poate fi considerat un punct în spaţiul de căutare al soluţiilor problemei de interes. Urmează executarea unui număr de iteraţii care includ selecţia celor mai bune soluţii şi realizarea unor recombinări cu ajutorul unor operatori genetici specifici. În cadrul acestui proces, populaţia curentă de cromozomi este înlocuită succesiv (la fiecare ciclu) de o nouă populaţie, totul în vederea optimizării unei funcţii de evaluare sau de

Page 23: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Paradigme fundamentale ale inteligenţei artificiale

31

fitness E, specifică fiecărei probleme în parte. Semnificaţia funcţiei respective este irelevantă pentru algoritm, interesând doar valoarea sa.

Fig. 1.6 Evoluţia iterativă spre optim a funcţiei de evaluare

În continuare, prin selecţia celor mai buni indivizi ai populaţiei de cromozomi de-a lungul generaţiilor, funcţia de evaluare globală se îndreaptă spre optim (fig. 1.6) şi oferă soluţii din ce în ce mai bune, similar fenomenului de evoluţie naturală care produce indivizi din ce în ce mai adaptaţi la schimbările mediului înconjurător.

Tabelul 1.2

Un exemplu de populaţie şi funcţia de evaluare asociată

Cromozomi Fitness (E) 1 100001110101 9 2 101010101010 8 3 111000111000 7 4 111111000000 6 5 101100111100 6 6 111111000111 5 7 100011110101 3 8 101010101011 2 9 100011101010 2 10 110101110000 1

Page 24: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Iulian-Constantin Vizitiu

32

Prin urmare, în cadrul calculului evolutiv, membrii unei populaţii de cromozomi se nasc, se reproduc şi mor în câteva momente, astfel că schimbările majore în cadrul populaţiei se fac în acest caz foarte rapid, [12]. 11..44..33 DDiilleemmaa eexxpplloorraarree--eexxppllooaattaarree

Un algoritm genetic realizează căutarea în spaţiul soluţiilor problemei de interes prin modificarea unei populaţii de cromozomi, unde fiecare cromozom reprezintă o soluţie potenţială.

Căutarea într-un spaţiu complex implică realizarea unui compromis între două obiective majore: exploatarea celor mai bune soluţii disponibile la un moment dat şi explorarea robustă a spaţiului soluţiilor posibile. Practic, cele două aspecte corespund unei căutări locale şi, respectiv, unei căutări globale în spaţiul soluţiilor problemei. Realizarea unui echilibru între explorarea informaţiei obţinute până la momentul curent şi exploatarea spaţiului stărilor pentru a obţine noi soluţii, mai eficiente, este specifică metodelor puternice de optimizare. Dacă soluţiile obţinute sunt exploatate prea mult, atunci se atinge o convergenţă prematură, iar soluţia rezultată poate să nu fie acceptabilă. Dacă însă accentul cade prea puternic pe explorare, atunci este posibil ca informaţia deja obţinută să nu fie utilizată în mod corespunzător, iar timpul de căutare creşte foarte mult, ceea ce apropie procedurile respective de metodele aleatoare de căutare. Algoritmii genetici reprezintă o clasă de strategii de căutare generale care realizează un compromis rezonabil în cazul dilemei explorare-exploatare. În literatura de specialitate există dezvoltate o serie de studii teoretice (J.Holland) care demonstrează că algoritmii genetici realizează un compromis pseudooptim în acest sens. De asemenea, se poate arăta că explorarea şi exploatarea sunt două aspecte care pot fi controlate aproape în mod independent, ceea ce implică un grad sporit de flexibilitate în proiectarea algoritmilor genetici. 11..44..44 AAbboorrddaarreeaa ggeenneettiiccăă aa pprroobblleemmeelloorr ddee rreezzoollvvaatt

Mecanismele care conectează algoritmul genetic de problema concretă de rezolvat sunt, în esenţă, două, [12]:

• codificarea problemei de interes în termeni cromozomiali; • funcţia de evaluare, care furnizează o măsură a calităţii fiecărui

cromozom în contextul problemei respective. Codificarea cromozomială se realizează în cele mai multe cazuri prin

şiruri binare, care sunt simplu de generat şi de manipulat. Suplimentar, acest tip de codificare este robust, în sensul adaptării sale la o gamă diversă de probleme practice. Există dezvoltate în literatura de specialitate şi alte metode concrete de codificare cromozomială (reală, prin intermediul unei gramatici etc.), cu o serie de avantaje legate în special, de precizie.

Page 25: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Paradigme fundamentale ale inteligenţei artificiale

33

Un algoritm genetic este o procedură iterativă de căutare globală având drept obiectiv optimizarea funcţiei de evaluare. Algoritmul respectiv lucrează în paralel asupra unei populaţii de cromozomi distribuite peste întreg spaţiul de căutare. De asemenea, funcţia de evaluare depinde în mare măsură şi de abilitatea utilizatorului de a codifica în mod adecvat problema sa.

În literatura de specialitate sunt indicate două direcţii majore de acţiune privind modalitatea de obţinere a funcţiei de evaluare, şi anume:

• dacă se rezolvă o problemă standard de optimizare, funcţia de evaluare poate coincide cu funcţia-criteriu asociată problemei de interes sau poate fi obţinută prin transformări simple aplicate acesteia din urmă;

• în mod uzual, valoarea performanţei unui cromozom este independentă de performanţele celorlalţi indivizi din cadrul populaţiei, dar poate fi considerată o funcţie de evaluare implicită ale cărei valori depind şi de restul populaţiei prin intermediul unor interacţiuni între indivizi. Se poate vorbi în acest caz de o adaptare intrinsecă (Packard, 1988) care asigură coevoluţia indivizilor populaţiei (Kaufman şi Johnsen, 1991).

Dinamica procesului de căutare asignat algoritmului genetic este realizată prin intermediul tehnicilor de încrucişare (crossover) a cromozomilor. Scopul urmărit constă în determinarea unei combinaţii optime, în sensul maximizării funcţiei de evaluare. Practic, la fiecare iteraţie a algoritmului este creată o nouă generaţie de cromozomi, cu un număr prestabilit de indivizi. În general, se admite că noua generaţie constă din urmaşi mai performanţi, adică mai bine adaptaţi la mediul reprezentat de funcţia de evaluare, iar prin această succesiune a generaţiilor se va obţine o evoluţie a indivizilor spre optimul global al funcţiei de evaluare (fitness).

Obţinerea unei noi generaţii de indivizi presupune, în esenţă, parcurgerea succesivă a trei etape principale:

• Evaluarea Algoritmul genetic calculează valoarea funcţiei de fitness pentru fiecare

individ al populaţiei curente; • Selecţia Algoritmul genetic realizează selecţia indivizilor din noua generaţie în

funcţie de performanţele acestora. Cromozomii astfel selecţionaţi vor constitui părinţii noii generaţii;

• Recombinarea Algoritmul genetic recombină indivizii selecţionaţi prin utilizarea unor

operatori genetici specifici (încrucişarea, inversiunea şi mutaţia) care să asigure schimbul local al soluţiilor reprezentate de părinţi (inversiunea şi mutaţia) sau combinarea acestor soluţii (încrucişarea).

Fiecare operator genetic are asignată o anumită probabilitate de apariţie (este un parametru intrinsec al algoritmului genetic) şi se aplică cu probabilităţile respective asupra indivizilor din cadrul populaţiei intermediare. Finalitatea acestei etape constă în generarea unei noi populaţii de urmaşi, cu menţiunea că toţi cromozomii utilizaţi în cadrul algoritmului au aceeaşi lungime.

Page 26: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Iulian-Constantin Vizitiu

34

11..44..55 OOppeerraattoorrii ggeenneettiiccii

Operatorii genetici cu cea mai mare arie de aplicabilitate sunt: selecţia, încrucişarea, mutaţia şi, respectiv, inversiunea.

11..44..55..11 SSeelleeccţţiiaa

Selecţia este operatorul genetic prin care indivizii unei populaţii de

cromozomi sunt aleşi pentru reproducere. Cu cât aceşti cromozomi sunt mai potriviţi ca soluţii ale problemei de interes, cu atât ei sunt selectaţi de mai multe ori pentru reproducere. Cu alte cuvinte, selecţia este operatorul care impune o anumită desfăşurare a procesului de evoluţie, prin favorizarea indivizilor mai buni pentru a supravieţui şi a se reproduce.

În continuare, interesează prezentarea unei scurte clasificări a strategiilor de selecţie descrise în literatura de specialitate:

• unele strategii de selecţie sunt anihilatoare şi, respectiv, conservatoare O selecţie conservatoare, spre deosebire de una anihilatoare, presupune că

fiecare individ al populaţiei de cromozomi are asignată o probabilitate de selecţie nenulă. În unele strategii anihilatoare, pentru a preveni fenomenul de convergenţă prematură, se renunţă la selecţia celor mai performanţi indivizi;

• metodele de selecţie pot fi dinamice sau statice O selecţie statică, spre deosebire de o selecţie dinamică, impune ca

probabilităţile de selecţie să rămână constante de la o generaţie la alta; • unele strategii de selecţie sunt generaţionale O strategie de selecţie generaţională necesită ca mulţimea părinţilor să fie

fixată până când noua generaţie cromozomială este completă. Alte strategii permit ca descendenţii să-şi înlocuiască părinţii imediat ce noii cromozomi au fost obţinuţi.

În altă ordine de idei, în literatura de specialitate este indicată o clasă largă de tehnici de selecţie, mai importante fiind însă următoarele:

• Principiul ruletei Această metodă de selecţie, cunoscută şi sub denumirea de algoritmul de

selecţie Monte-Carlo sau selecţia proporţională, modelează mecanismul selecţiei naturale, în care cromozomii cu o valoare mai mare a funcţiei de evaluare au o şansă mai mare de a fi selectaţi.

Fig. 1.7 Selecţia utilizând principiul ruletei

Page 27: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Paradigme fundamentale ale inteligenţei artificiale

35

Pentru a realiza selectarea cromozomului ix cu probabilitatea ip (pentru o distribuţie de probabilitate uniformă) poate fi utilizată o metodă de tip Monte-Carlo. În acest sens, se construieşte o ruletă împărţită în n sectoare, unde n este numărul de indivizi din cadrul populaţiei. Dimensiunea sectorului i este proporţională cu probabilitatea de selecţie ip a cromozomului ix (fig. 1.7). Ruleta respectivă este rotită de n ori. La fiecare rotaţie a acesteia, este selectat un cromozom, iar acesta este copiat în cadrul populaţiei intermediare. Se observă că această schemă de selecţie permite ca un cromozom să fie selectat de mai multe ori şi, în consecinţă, cei mai performanţi indivizi ai populaţiei pot avea mai multe copii în cadrul populaţiei intermediare.

Spre exemplu, pentru populaţia de indivizi din Tabelul 1.2, cromozomul 1 are o probabilitate de selecţie de 18% (9/49) etc.

• Selecţia pe baza rangului O altă metodă de selecţie constă în a calcula (pentru fiecare generaţie)

valorile funcţiei de evaluare şi de a aranja indivizii populaţiei respective în ordinea descrescătoare corespunzătoare acestor valori. În consecinţă, fiecărui cromozom i îi este asignată o probabilitate de selecţie ip dependentă de rangul său în cadrul populaţiei, iar în acest sens se utilizează presiunea de selecţie.

Presiunea de selecţie este definită ca numărul mediu de descendenţi ai celui mai performant individ şi este o constantă a metodei. De regulă, presiunea de selecţie se alege în intervalul [1, 2].

Fie n numărul de indivizi din cadrul populaţiei şi ir rangul individului i. Probabilitatea de selecţie pentru acest individ se defineşte ca:

( )( )2 1 11 ,1

ii

r qp q

n n − −

= − − (1.41)

unde q este presiunea de selecţie. Această metodă de selecţie mai este cunoscută şi sub denumirea de selecţie prin ordonare. Practic, probabilităţile de selecţie depind acum doar de poziţia relativă a fiecărui individ în cadrul populaţiei, şi nu de valorile funcţiei de evaluare. Astfel, avantajul major al metodei respective constă în faptul că nu mai este necesară scalarea permanentă a funcţiei de evaluare, lucru absolut necesar în cadrul primei tehnici de selecţie pentru a preveni fenomenul de apariţie a indivizilor dominanţi şi care conduc la convergenţa algoritmului genetic spre o soluţie neoptimală. Probabilitatea de selecţie a primului individ din cadrul populaţiei ( )1ir =

este 1qpn

= , iar pentru ultimul individ ( )nr n= aceasta este ( )1 2np qn

= − . Cel

mai performant individ al populaţiei va fi selectat în medie de q ori, iar cel mai puţin performant individ va fi selectat în medie de ( )2 q− ori, adică va avea un număr mediu de ( )2 q− descendenţi etc.

Page 28: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Iulian-Constantin Vizitiu

36

• Selecţia elitistă În cadrul acestei metode euristice de selecţie este reţinut întotdeauna cel mai performant individ al populaţiei de cromozomi. Procedura respectivă garantează convergenţa asimptotică spre minimul global, rata de convergenţă fiind însă dependentă de problema de rezolvat. O altă idee interesantă în acest sens constă în înlocuirea la fiecare generaţie doar a unei părţi restrânse a populaţiei de indivizi. Definind o rată de înlocuire r, în acest caz se aleg r n⋅ indivizi ai populaţiei intermediare care îi vor înlocui pe părinţii lor în noua populaţie. O altă strategie de selecţie este ca descendenţii să înlocuiască alţi indivizi din populaţie şi anume, pe cei care sunt mai apropiaţi de aceştia (în sensul unei anumite distanţe) etc. 11..44..55..22 ÎÎnnccrruucciişşaarreeaa

Încrucişarea (crossover) este un operator genetic care realizează recombinarea indivizilor selectaţi din cadrul populaţiei pentru reproducere. Acest operator permite combinarea segmentelor (subşirurilor) de cromozomi aparţinând părinţilor. Practic, operatorul de încrucişare imită încrucişarea inter-cromozomială naturală. În altă ordine de idei, încrucişarea (recombinarea) realizează un schimb de informaţie între cromozomii-părinţi (de regulă, sunt utilizaţi operatori de încrucişare de tip (2,2), adică din doi părinţi se obţin doi descendenţi), cu rol hotărâtor în progresul căutării, asigurând astfel explorarea spaţiului stărilor. Conform literaturii de specialitate [13], cele mai utilizate variante de încrucişare sunt următoarele:

• Încrucişarea cu un punct de tăietură Fie r lungimea cromozomilor unei populaţii. Un punct de tăietură este un

număr întreg { }1,2,..., 1k r∈ − care indică poziţia din interiorul cromozomilor unde secvenţa cromozomială se rupe pentru ca segmentele astfel obţinute să se recombine.

Să considerăm în continuare doi cromozomi, de forma:

( ) ( )1 2 1 1 2 1... ... şi ... ... .k k r k k rx x x x x x y y y y y y+ += = (1.42)

În urma încrucişării se schimbă între cei doi cromozomi secvenţele aflate la dreapta punctului de tăietură k. Descendenţii rezultaţi vor fi:

( ) ( )1 2 1 1 2 1... ... şi ... ... .c ck k r k k rx x x x y y y y y y x x+ += = (1.43)

Spre exemplu, pentru cromozomii-părinţi de mai jos:

Page 29: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Paradigme fundamentale ale inteligenţei artificiale

37

în urma încrucişării cu punctul de tăietură 2k = , rezultă succesorii:

• Încrucişarea adaptivă Încrucişarea adaptivă (Shaffer şi Morishima, 1987) are ca punct de plecare ideea determinării unui mecanism prin care să se ţină seama de calitatea descendenţilor obţinuţi prin încrucişarea cu diferite puncte de tăietură. Distribuţia punctelor de tăietură se adaptează funcţie de rezultatele deja obţinute (prin memorarea poziţiilor punctelor de tăietură din cromozom). Dacă un anumit punct de tăietură generează un individ cu performanţe scăzute, atunci acest punct de tăietură nu va mai fi considerat ulterior (punctul respectiv de tăietură moare), iar dacă individul are performanţe bune, punctul de tăietură este menţinut activ. Prin urmare, punctele de tăietură vor suferi un proces de evoluţie prin care acestea se vor adapta continuu la procesele care deja au avut loc.

• Încrucişarea segmentată Încrucişarea segmentată (Eshelman, Caruna şi Shaffer, 1989) este, în

esenţă, o variantă a încrucişării cu mai multe puncte de tăietură. Se consideră o probabilitate sp ca un segment cromozomial să aibă extremitatea dreaptă în oricare din poziţiile care urmează începutului său. Rezultă că numărul mediu de segmente va fi sp r⋅ . Având ca punct de start prima poziţie ( )1i = a cromozomului, se generează un număr aleator [ ]0,1q∈ şi un număr natural i,

,i j r< ≤ unde q poate fi interpretat ca probabilitatea de acceptare a punctului de tăietură j. Prin urmare, funcţie de relaţia existentă între sp şi q, punctul de tăietură j este acceptat sau nu. În consecinţă, numărul de puncte de tăietură poate să fie variabil etc.

11..44..55..33 MMuuttaaţţiiaa Mutaţia este cel de-al doilea operator genetic, în ordinea importanţei şi

utilităţii acestuia. Efectul acestui operator constă în schimbarea valorii unei poziţii (gene) dintr-un cromozom. Prin urmare, mutaţia introduce în populaţie noi indivizi care nu ar putea fi generaţi prin alte mecanisme. De asemenea, mutaţia protejează algoritmul genetic împotriva pierderilor irevocabile şi accidentale ale informaţiei datorită unor încrucişări neadecvate.

Mutaţia este un operator genetic de tip probabilist, iar probabilitatea de aplicare a operatorului respectiv se numeşte probabilitate de mutaţie mp . Probabilitatea de mutaţie constituie un parametru important al algoritmului genetic, iar valoarea sa este foarte mică, în intervalul [ ]0,001;0,01 .

Page 30: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Iulian-Constantin Vizitiu

38

Operatorul genetic de mutaţie acţionează asupra biţilor, indiferent de poziţia acestora în cadrul cromozomului. Practic, fiecare bit al cromozomilor din cadrul populaţiei poate suferi o mutaţie, iar într-un cromozom pot exista mai mulţi biţi (poziţii) care pot suferi o mutaţie.

Fie o populaţie de n indivizi, fiecare având lungimea r. Fiecare poziţie (bit) are aceeaşi probabilitate mp de mutaţie, deci rezultă că numărul mediu de biţi care vor suferi o mutaţie este mn r p⋅ ⋅ .

Spre exemplu, pentru cromozomul-părinte de mai jos:

în urma aplicării operatorului mutaţie (cu o anumită probabilitate), poate rezulta un descendent de forma:

11..44..55..44 IInnvveerrssiiuunneeaa

Operatorul genetic de inversiune (J. Holland, 1975) acţionează asupra unui singur cromozom prin inversarea valorilor a două poziţii ale acestuia, alese în mod aleator.

S-a constatat că operatorul de inversiune este cel mai puţin folosit în aplicaţii, utilitatea sa dovedindu-se doar în cazul când se lucrează cu cromozomi cu cel puţin un ordin de mărime mai mare decât cei folosiţi în implementările curente. De altfel, inspiraţia sa pur biologică este evidentă.

Spre exemplu, pentru cromozomii-părinţi de mai jos:

şi pentru punctele de inversiune indicate, descendenţii rezultaţi în urma aplicării operatorului de inversiune sunt următorii:

Page 31: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Paradigme fundamentale ale inteligenţei artificiale

39

Pentru detalii teoretice suplimentare privind operatorii genetici de selecţie, încrucişare, mutaţie şi, respectiv, inversiune (pentru o codificare binară), pot fi consultate referinţele bibliografice [13] şi [14]. 11..44..66 AAnnaattoommiiaa uunnuuii aallggoorriittmm ggeenneettiicc Cromozomii utilizaţi au o lungime constantă, iar numărul acestora în cadrul fiecărei generaţii este fixat. Populaţia ( )1P t + la momentul ( )1t + se obţine reţinând toţi descendenţii populaţiei ( )P t la momentul t şi ulterior, ştergând complet cromozomii acestei populaţii. Un algoritm genetic (GA) fundamental are ca operatori de bază încrucişarea şi mutaţia. Structura acestui algoritm genetic (forma canonică) este următoarea:

Referitor la structura unui GA sunt esenţiale următoarele observaţii: •• condiţia de oprire C se referă, de regulă, la atingerea numărului maxim

de generaţii specificat. Dacă acest număr este maxt , atunci condiţia respectivă

Pasul 1: se pune : 0;t = Pasul 2: se iniţializează aleator populaţia ( )P t ; Pasul 3: se evaluează cromozomii populaţiei ( )P t pe baza unei funcţii de evaluare dependentă de problema de rezolvat; Pasul 4: while (C ) se execută:

– pasul 4.1: se selectează cromozomii din populaţia ( )P t care vor constitui părinţii noii generaţii. Fie 1P această populaţie intermediară; – pasul 4.2: se aplică cromozomilor din 1P operatorii genetici (uzual, încrucişarea şi mutaţia). Fie 2P populaţia generată (descendenţii populaţiei ( )P t ).

Se şterg din 1P părinţii noilor indivizi generaţi. Cromozomii rămaşi în 1P sunt atribuiţi populaţiei 2P . Se construieşte noua generaţie, astfel:

§ ( ) 21 : ;P t P+ = § se şterg toţi cromozomii din ( )P t ; § se pune : 1;t t= + § se evaluează ( )P t .

end.

Page 32: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Iulian-Constantin Vizitiu

40

devine maxt t> O altă modalitate de alegere a condiţiei de oprire poate fi cea legată de momentul atingerii unei valori acceptabile pentru funcţia de evaluare;

•• de regulă, se admite că rezultatul oferit de algoritmul genetic este codificat sub forma celui mai performant individ din ultima generaţie. Dar în realitate, nimic nu garantează faptul că un individ mai performant nu a fost obţinut într-o generaţie anterioară. Prin urmare, este firesc ca la fiecare moment t să fie reţinut cel mai bun individ care a fost generat până în acest moment. O soluţie ar putea consta în utilizarea unui mecanism de acţiune similar cu cel folosit în cazul algoritmului Pocket sau algoritmului lui Gallant pentru instruirea unui perceptron (în esenţă, cel mai performant individ din cadrul fiecărei generaţii este reţinut în buzunar şi în final, în urma unui proces de evaluare este obţinut rezultatul problemei de interes);

Fig. 1.8 Structura de principiu a unui algoritm genetic

•• este posibil să fie utilizate şi alte variante de supravieţuire: spre exemplu, pot fi reţinuţi şi incluşi automat în cadrul generaţiei următoare cei mai performanţi q indivizi din generaţia ( )P t . De asemenea, aceştia pot suferi şi operaţii de încrucişare, mutaţie etc.

Page 33: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Paradigme fundamentale ale inteligenţei artificiale

41

Fig. 1.9 Schema logică a unui algoritm genetic

11..44..77 PPrroobblleemmaa ccooddiiffiiccăărriiii îînn ccaaddrruull aallggoorriittmmiilloorr ggeenneettiiccii Un pas important în personalizarea unui algoritm genetic la problema concretă de rezolvat constă în stabilirea unei modalităţi adecvate de codificare a acesteia. În acest sens, în literatura de specialitate sunt indicate două direcţii majore de acţiune: – codificarea binară; – codificarea specifică (reală). Codificarea binară este cea mai uzuală tehnică de codificare, fiind simplu de creat şi de utilizat. Suplimentar, această tehnică de codificare permite stabilirea unor rezultate teoretice interesante, spre exemplu, teorema schemelor. De asemenea, codificarea binară conferă robusteţe algoritmilor genetici, asigurând premizele obţinerii unor performanţe bune pentru diferite clase de probleme. În plus, reprezentarea binară poate codifica aproape orice tip de problemă, iar operatorii genetici asociaţi acesteia nu includ cunoştinţe despre domeniul acesteia. Dezavantajul principal al codificării binare apare în cazul problemelor complexe, unde utilizarea acestei codificări poate presupune un efort de calcul susţinut. În anumite situaţii, este necesar să fie utilizată o codificare specifică a problemei în locul celei binare şi natural, în acest caz sunt obţinute versiuni modificate ale algoritmilor genetici. Astfel de versiuni nu se mai bazează pe o codificare binară a parametrilor de optimizat, ci lucrează direct asupra spaţiului parametrilor respectivi. Suplimentar, codificarea specifică deschide calea

Page 34: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Iulian-Constantin Vizitiu

42

cercetărilor privind încorporarea metodelor clasice (standard) în cadrul diferitelor proceduri genetice. Versiunile hibride rezultate sunt mai apropiate de nevoile şi cerinţele aplicative, fiind din acest motiv mai folosite decât algoritmii genetici standard în rezolvarea unor probleme concrete. Avantajele majore ale codificării specifice se referă, în principiu, la garantarea păstrării expertizei incluse în codificarea problemei (practic, codificarea utilizată de algoritmul neoptimal), iar algoritmul hibrid rezultat este perceput de utilizator ca fiind mai natural datorită codificării folosite şi cunoaşterii modului în care algoritmul curent funcţionează. De asemenea, codificarea specifică poate fi utilizată şi în absenţa oricărei hibridizări şi în acest caz obţinem un algoritm genetic care acţionează direct asupra spaţiului de căutare asignat problemei de interes. Folosirea codificării specifice conduce de multe ori la rezultate aplicative superioare celor obţinute prin intermediul unei codificări binare. Pentru a crea o imagine completă asupra problemei codificării în cadrul teoriei algoritmilor genetici, în continuare este naturală prezentarea unei paralele între cele două tipuri fundamentale de codificare cromozomială descrise anterior. În acest sens, având ca punct de plecare afirmaţiile indicate în referinţele bibliografice [14] şi [15], pot fi făcute următoarele remarci utile:

• rezultatele aplicative obţinute (Michalewicz, 1992) arată faptul că modalitatea de reprezentare cromozomială reală conduce la o convergenţă mai bună decât în cazul codificării binare;

• codificarea reală permite o precizie mai bună. Acest lucru este evident mai ales în situaţiile în care codificarea binară necesită vectori de dimensiuni foarte mari. Performanţele codificării reale cresc şi datorită folosirii unor operatori genetici specifici care au un grad de acurateţe sporit faţă de cei binari;

• reprezentarea cromozomială reală este mai naturală, fiind cu mult mai apropiată de spaţiul soluţiilor problemei de interes. În unele cazuri, cromozomii pot reprezenta chiar puncte din spaţiul problemei (de optimizat), caracteristică ce facilitează introducerea unor operatori genetici adaptaţi cunoştinţelor specifice domeniului problemei de interes;

• codificarea reală asigură o anumită continuitate a spaţiului de reprezentare. Astfel, doi cromozomi vecini (în spaţiul de reprezentare) vor corespunde la puncte vecine din spaţiul stărilor problemei, fapt care nu este asigurat de codificarea binară, unde de regulă distanţa dintre cromozomi este în sensul distanţei Hamming;

• codificarea reală asigură realizarea unui echilibru mai bun între căutarea globală (iniţială) şi exploatarea locală a soluţiilor determinate. Din acest motiv, acest tip de codificare poate fi utilizat cu succes pentru controlul fin al procesului de căutare;

• reprezentarea cromozomială reală asigură puntea de legătură dintre clasa algoritmilor genetici şi celelalte tehnici de calcul evolutiv (strategiile evolutive şi programarea evolutivă) etc.

Page 35: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Paradigme fundamentale ale inteligenţei artificiale

43

Pentru detalii teoretice şi aplicative referitoare la principiile şi tehnicile de bază ale algoritmilor genetici, pot fi consultate referinţele bibliografice [12], [13], [14], [15] şi [16]. 11..55 FFuunnddaammeennttee aallee tteeoorriieeii rreeccuunnooaaşştteerriiii ffoorrmmeelloorr 11..55..11 GGeenneerraalliittăăţţii

Recunoaşterea formelor (pattern recognition, PR) reprezintă un domeniu de cercetare ştiinţifică extrem de complex, aflat într-o puternică expansiune şi care este strâns legat de studiul inteligenţei naturale şi/sau artificiale, precum şi de metodele avansate de procesare a informaţiei. Într-un context mai restrâns, se poate considera că recunoaşterea formelor constituie o componentă de sine stătătoare a domeniului inteligenţei maşinilor (machine intelligence), cu aplicaţii majore în înţelegerea şi (re)structurarea modului de instruire şi de luare a deciziilor pentru maşinile artificiale.

În altă ordine de idei, există o mare varietate de forme în lumea înconjurătoare sau pe care ni le imaginăm, începând cu diverse configuraţii geometrice (curbe, suprafeţe, corpuri), continuând cu formele de undă optice sau acustice, imagini vizuale, holografice sau tomografice şi terminând cu zgomote, semnale radar. Conform referinţei bibliografice [17], recunoaşterea formelor rezidă, în esenţă, în următoarele două etape de bază:

• reprezentarea acestor forme în termeni matematici primari, fie ca şiruri finite de forme primitive, fie ca vectori (aleatori) ai caracteristicilor lor esenţiale;

• clasificarea şi/sau descrierea acestor forme în contextul unor abordări decizional-statistice sau structural-sintactice.

Fig. 1.10 Arhitectura generală a unui sistem de recunoaştere a formelor

Pentru a descrie matematic o anumită formă de interes (într-o accepţiune mai largă, forma (pattern) se consideră a fi o noţiune primară), primul pas este reprezentat de extragerea unui set de entităţi (geometrice, fizice etc.) care să caracterizeze (ideal, biunivoc) forma respectivă. De asemenea, pentru o clasă largă de forme, se poate considera că orice formă F este corect descrisă printr-un set de n caracteristici (numere), prin relaţia:

Page 36: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Iulian-Constantin Vizitiu

44

( )1 2, ,..., .TnX X x x x= =F (1.44)

Alegerea lui n este condiţionată de contextul geometric sau fizic, precum şi de precizia urmărită. În cele mai multe situaţii, caracteristicile 1,..., nx x sunt variabile aleatoare relativ la un câmp de evenimente. În contextul cel mai general, recunoaşterea propriu-zisă a formelor poate fi privită ca fiind o problemă de clasificare şi/sau descriere. Clasificarea formelor (pattern classification) sau recunoaşterea statistică/sintactică a formelor reprezintă plasarea unei forme necunoscute într-una din cele M ( )2M ≥ clase 1 2, ,..., Mω ω ω predefinite. Descrierea formelor (pattern description) sau recunoaşterea sintactică/structurală a formelor constituie reprezentarea unor forme complexe ca o juxtapunere de forme mai simple.

Particularizând spre exemplu în cazul imageriei video, recunoaşterea formelor reprezintă o etapă fundamentală în procesarea digitală a imaginilor (şi anume, prelucrarea de nivel înalt a imaginilor) şi reprezintă procesul de clasificare/interpretare a unei forme într-o anumită clasă pe baza informaţiei rezultate în urma extragerii (şi/sau selecţiei) caracteristicilor sau trăsăturilor din imaginea de interes.

Fig. 1.11 Sistem de recunoaştere a formelor video

Un sistem de recunoaştere a formelor video (fig. 1.11) presupune în

principiu, existenţa a două subsisteme complementare, şi anume: • unul pentru analiza imaginii prin care se realizează preprocesarea

(îmbunătăţire, filtrare zgomot etc.), segmentarea (extragerea elementelor constituente ale imaginii), extragerea caracteristicilor şi selecţia caracteristicilor (eliminarea informaţiei reziduale) formelor din imaginea

Page 37: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Paradigme fundamentale ale inteligenţei artificiale

45

respectivă. Acest prim pas al recunoaşterii formelor video poate fi interpretat într-un anumit sens ca fiind o problemă de codificare;

• şi unul pentru recunoaşterea propriu-zisă prin care se realizează clasificarea şi/sau interpretarea formelor din imaginea de interes (intrare).

De asemenea, este util de amintit şi faptul că, în unele lucrări de specialitate (spre exemplu, în referinţele [17] şi [18]), sistemul de recunoaştere a formelor video descris mai sus este referit ca şi sistem de vedere artificială (pe scurt, computer vision system).

Referitor la subsistemul de clasificare/interpretare, proiectarea unui clasificator presupune în principiu, parcurgerea următoarelor etape:

• a stabili clasele de obiecte din mulţimea formelor de instruire; • a stabili prototipurile claselor; • a da o regulă pentru alocarea unui obiect necunoscut (nou considerat,

care nu aparţine mulţimii de instruire) în una din clasele precizate etc. În continuare, interesează o prezentare sintetică a principalelor aspecte teoretice care stau la baza implementării arhitecturii generale de sistem de recunoaştere a formelor indicată în fig. 1.10. 11..55..22 TTeehhnniiccii ddee rreepprreezzeennttaarree aa ffoorrmmeelloorr Conform literaturii de specialitate [18], prin etapa de reprezentare a formei (feature description) se înţelege în general, clasa tehnicilor de extragere şi/sau selecţie a caracteristicilor (feature extraction and selection) acesteia. În altă ordine de idei, extragerea şi selecţia caracteristicilor unei forme (spre exemplu, specifice imageriei video) reprezintă două etape definitorii, de o importanţă deosebită asupra succesului şi nivelului de performanţă asignat procesului ulterior de recunoaştere (clasificare) a formei de interes.

Pentru a fi utile procesului de recunoaştere a formelor, regiunile obţinute în urma procesului de segmentare a imaginii de intrare trebuie reprezentate într-o formă adecvată. Reprezentarea respectivă implică conciziune, eliminarea informaţiilor redundante şi în special, reţinerea informaţiilor necesare recunoaşterii formelor/obiectelor de interes. Procesul de obţinere a unei asemenea reprezentări a regiunilor de interes este cunoscut în literatura de specialitate ca şi descriere (extragere) de caracteristici. Descrierea este în directă legătură cu structura de date aleasă pentru reprezentare, existând o puternică dependenţă de aplicaţia concretă dezvoltată. Posibilităţile de descriere a unei regiuni (forme) sunt extrem de variate. Există totuşi, patru clase de tehnici standard pentru extragerea de caracteristici (descriptori ai formei), şi anume:

• caracterizarea formei conturului regiunii (descriptori de contur); • caracterizarea regiunii pe baza interiorului acesteia (descriptori

regionali sau de tip moment);

Page 38: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Iulian-Constantin Vizitiu

46

• descrierea topologică a regiunii de interes (descriptori de textură sau texturi);

• descrierea morfologică a regiunii de interes (descriptori morfologici). Suplimentar, descriptorii formelor pot fi: locali (utilizaţi în situaţii mai dificile de tipul ocluziilor, suprapunerilor de obiecte etc.) şi, respectiv, globali (mai simpli şi mai sintetici). Alegerea unei modalităţi adecvate de descriere este esenţială pentru reuşita procesului ulterior de recunoaştere a formei. De asemenea, un principiu fundamental care supervizează construcţia descriptorilor unei forme este principiul invarianţei acestora la diferite tipuri de transformări liniare (afine) sau neliniare aplicate formei de interes (se doreşte în special, obţinerea invarianţei setului de descriptori utilizat la transformările geometrice elementare, şi anume: punctul de start, scalare, translaţie, reflexie şi, respectiv, rotaţie). Experienţa practică demonstrează că un alt aspect important în reuşita unei aplicaţii de recunoaştere a formelor este reprezentat de etapa de selecţie a caracteristicilor (trăsăturilor) formei de interes. Selecţia caracteristicilor poate fi asimilată unui proces de compresie de date şi poate fi modelată prin intermediul unei transformări liniare sau neliniare, de la spaţiul iniţial al observaţiilor, presupus n-dimensional, la un spaţiu cu mai puţine dimensiuni, m ( )m n= . O asemenea transformare conduce la conservarea în bună măsură a informaţiei şi permite elaborarea unor algoritmi de calcul în timp real, aceasta deoarece există algoritmi eficienţi (din punct de vedere al timpului de calcul şi a resurselor de memorie necesare) doar în spaţii cu dimensiuni mult mai reduse. În cazul unei singure clase de forme, selecţia caracteristicilor se consideră optimă dacă realizează o reducere a dimensionalităţii, totul cu conservarea informaţiei originale majoritare. În cazul prezenţei mai multor clase de forme, eficienţa selecţiei caracteristicilor este dată în special de posibilitatea separabilităţii claselor şi care depinde în principal, de repartiţia claselor, dar şi de clasificatorul selectat. Ca referinţă în acest sens se consideră clasificatorul Bayes, iar ca măsură a eficacităţii caracteristicilor selectate se consideră probabilitatea de eroare a acestui clasificator. Majoritatea transformărilor utilizate pentru selecţia caracteristicilor sunt liniare, însă pot fi folosite şi transformări neliniare, dar acestea din urmă sunt mai dificil de implementat. De asemenea, transformările neliniare pot oferi o eficacitate mai ridicată, exprimând mai bine dependenţa dintre formele reale observate, datele primare extrase şi caracteristicile selectate ale acelor forme. În altă ordine de idei, este util de amintit şi faptul că, în unele referinţe bibliografice din domeniu (Torma, 1996) se consideră selecţia caracteristicilor unei forme ca fiind formată din două etape distincte, şi anume:

• selecţia caracteristicilor în spaţiul caracteristicilor; • selecţia caracteristicilor în spaţiul transformat (cunoscută uneori şi sub

denumirea de extragere a caracteristicilor).

Page 39: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Paradigme fundamentale ale inteligenţei artificiale

47

11..55..22..11 TTeehhnniiccii ddee eexxttrraaggeerree aa ccaarraacctteerriissttiicciilloorr uunneeii ffoorrmmee

Extragerea caracteristicilor (descrierea) unei forme vizuale este o etapă esenţială în procesarea digitală a imaginilor (Digital Image Processing, DIP), aceasta deoarece rezultatele recunoaşterii ulterioare depind în foarte mare măsură de acurateţea descrierii formei respective. Descrierea unei forme (nu neapărat vizuale) implică un înalt grad de concentrare a informaţiei şi, respectiv, de eliminare a celei neesenţiale în procesul de identificare a acesteia. De asemenea, este util de amintit şi faptul că, extragerea caracteristicilor unei forme este strâns legată de structura de date aleasă pentru reprezentarea acesteia. Conform literaturii de specialitate [19], cele mai importante cerinţe legate de structurarea setului de descriptori ai formei sunt următoarele:

• necesitatea utilizării unor descriptori ai formei robuşti, care sunt invarianţi la diferite tipuri de transformări liniare sau neliniare, în funcţie de tipul concret de aplicaţie vizată;

• utilizarea unor descriptori ai formei regenerativi, în sensul caracterizării în mod biunivoc a formei respective;

• utilizarea unor descriptori cu performanţe superioare, având în vedere importanţa etapei ulterioare de recunoaştere propriu-zisă a formei de interes etc. În continuare, este utilă trecerea în revistă în funcţie de clasa de apartenenţă, a unor tehnici consacrate utilizate pentru extragerea caracteristicilor unei forme. Spre exemplu, dacă ne referim la:

• descriptorii de contur – pot fi amintite următoarele tehnici standard: codul Freeman (codul lanţ generalizat, fig. 1.12); descriptorii Fourier; aproximările poligonale; semnături; modelul AR etc.;

• descriptorii regionali – pot fi amintite următoarele tehnici standard: momentele geometrice; momentele Zernike (pseudo-Zernike); momentele Fourier-Mellon; momentele Hu; momentele Hermit; momentele Flusser; descriptorii regionali elementari (aria; perimetrul; energia de îndoire; numărul lui Euler; învelişul convex; rectangularitatea; deficienţa convexă) etc.;

• descriptorii de textură – aceştia pot fi: statistici; spectrali; structurali; morfologici etc.;

• descriptorii morfologici – mai importanţi ca şi arie de aplicabilitate sunt următorii: skeletonul morfologic; skeletonul generalizat etc.

Page 40: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Iulian-Constantin Vizitiu

48

Fig. 1.12 Reprezentarea conturului unei forme utilizând codul lanţ

Pentru detalii suplimentare privind modul de construcţie a diferitelor clase de descriptori ai formei (şi, respectiv, a invarianţilor asociaţi acestora), pot fi consultate referinţele bibliografice [17], [18] şi [19].

11..55..22..22 TTeehhnniiccii ddee sseelleeccţţiiee aa ccaarraacctteerriissttiicciilloorr uunneeii ffoorrmmee Dimensiunea spaţiului caracteristicilor influenţează într-o măsură destul de importantă eficienţa/performanţele algoritmilor de clasificare. Astfel, o serie de algoritmi de clasificare eficienţi în spaţii cu puţine dimensiuni, devin nepractici în spaţii cu mai multe dimensiuni. De aceea, se caută transformări care să ierarhizeze importanţa caracteristicilor în spaţiul transformat şi să permită astfel, micşorarea dimensiunii acestuia prin eliminarea celor mai puţin semnificative, păstrând în acelaşi timp informaţia esenţială în vederea clasificării. Pentru aceasta, vor fi selectate acele caracteristici care conţin cea mai mare cantitate de informaţie despre forma respectivă. Prin urmare, aplicarea unei astfel de transformări datelor obţinute în urma fazei de extragere a caracteristicilor şi reţinerea numai a celor semnificative, poartă numele de selecţia caracteristicilor (feature selection). În literatura de specialitate este prezentată o clasă largă de tehnici standard pentru selecţia caracteristicilor unei forme, mai importante din perspectiva nivelului de performanţă oferit fiind următoarele, [19]: analiza componentelor principale (PCA); analiza componentelor independente (ICA); transformata KL, cu varianta sa 2D, Fukunaga-Koontz; selecţia caracteristicilor prin maximizarea criteriilor de separare a claselor (analiza discriminatorie); transformările neliniare; criteriul divergenţei; proiecţiile în spaţii 2D (algoritmul lui Sammon (forma de bază), algoritmul Lee-Slayle-Blum) etc. Spre exemplu, PCA este o metodă standard de analiză a datelor care permite detectarea celor mai marcante tendinţe ale unei mulţimi de date. Fie X un nor de date din spaţiul nR . Componentele principale ale acestei mulţimi sunt

Page 41: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Paradigme fundamentale ale inteligenţei artificiale

49

direcţiile din nR de-a lungul cărora alungirea norului este cea mai semnificativă. Cunoaşterea acestor direcţii poate servi atât în scopuri de clasificare, cât şi pentru determinarea celor mai importante caracteristici ale norului de puncte. Proiectând norul pe direcţiile date de componentele sale principale, efectul imediat este o compresie a informaţiei conţinută în mulţimea respectivă. Conform referinţei bibliografice [20], determinarea componentelor principale ale norului de date X se reduce la determinarea vectorilor (valorilor) proprii ai matricei de dispersie a mulţimii de date analizată. În altă ordine de idei, caracterul liniar al metodei standard PCA (practic, se realizează o proiecţie liniară a datelor analizate pe componentele/direcţiile principale) determină o serie de neajunsuri majore în procesarea datelor de intrare reale. În consecinţă, în ultimii ani au fost dezvoltate o serie de generalizări neliniare ale variantei clasice, un exemplu în acest sens fiind şi algoritmul Kernel PCA (Tipping, 2000) etc. În final este util de amintit faptul că, prin proprietăţile pe care le oferă, reţelele neuronale pot fi utilizate cu rezultate excelente şi în extragerea şi selecţia caracteristicilor unei forme de interes. Spre exemplu, în cazul proiecţiei Sammon 2D poate fi utilizată cu succes o arhitectură standard de MLP cu două straturi ascunse (fig. 1.13) cu observaţia că, în acest caz nu se mai minimizează eroarea pătratică medie între ieşirile reale şi cele dorite (reţeaua neuronală nu este utilizată aici în cadrul paradigmei clasificatorului), ci eroarea lui Sammon, relaţie care exprimă diferenţa dintre doi vectori din spaţiul iniţial (al caracteristicilor) şi, respectiv, din spaţiul transformat, iar antrenarea se realizează pe grupe de câte doi vectori şi nu pe vectori individuali etc. Un alt exemplu consacrat de clasă de reţele neuronale cu aplicabilitate în extragerea şi selecţia automată a caracteristicilor formelor prezente la intrarea acestora este reprezentat de cazul arhitecturilor neuronale TDNN (Time Delay Neural Networks), cunoscute în literatura de specialitate şi sub denumirea de reţele neuronale cu ponderi distribuite (shared weigths artificial neural networks). În esenţă, arhitectura unei asemenea reţele neuronale este fundamentată pe conceptul de ponderi distribuite, concept care, în principiu, presupune ca setul de neuroni aparţinând unui singur strat neuronal să utilizeze aceeaşi pondere de intrare. Utilizarea ponderilor distribuite determină ca toţi aceşti neuroni să detecteze aceeaşi caracteristică, iar ulterior caracteristicile detectate sunt combinate la nivelul straturilor neuronale superioare astfel încât să conducă la obţinerea unei detecţii invariante a acestora. De asemenea, în literatura de specialitate [21], sunt descrise mai multe tipuri de arhitecturi TDNN (Le Cun, Le Net, Le Notre etc.), însă toate aceste structuri utilizează aceleaşi principii teoretice de bază.

Page 42: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Iulian-Constantin Vizitiu

50

Fig. 1.13 Reţea neuronală MLP utilizată pentru calculul proiecţiei Sammon 2D

Pentru detalii suplimentare privind posibilităţile de utilizare a reţelelor neuronale ca şi tehnici conexioniste de extragere şi selecţia a caracteristicilor unei forme, pot fi consultate referinţele bibliografice [19] şi [20]. 11..55..33 TTeehhnniiccii ddee ccllaassiiffiiccaarree aa ffoorrmmeelloorr Conform literaturii de specialitate [22], cea de-a doua etapă specifică unui sistem de recunoaştere a formelor este reprezentată de etapa de clasificare sau de recunoaştere (identificare) propriu-zisă a formelor aplicate la intrarea acestui sistem. Alături de prima etapă de reprezentare a formelor, de succesul acestei ultime etape de clasificare depinde în cea mai mare măsură obţinerea unui nivel de performanţă (rată de clasificare, timp de convergenţă etc.) acceptabil pentru sistemul de recunoaştere a formelor dezvoltat. În altă ordine de idei, o partajare cât se poate de generală a tehnicilor de clasificare a formelor prezente în spaţiul de intrare, le divizează pe acestea în tehnici de clasificare standard (spre exemplu, tehnici probabilistice de clasificare, analiza discriminantă, tehnici de clasificare bazate pe optimizarea unei funcţii criteriu, tehnici de clasificare ierarhică, tehnici de clasificare cu partiţii nuanţate, tehnici de clasificare structurală etc.) şi, respectiv, tehnici de clasificare conexioniste axate pe teoria calculului neuronal (spre exemplu, toate reţelele neuronale care acţionează în contextul paradigmei clasificatorului, arhitecturile neuro-fuzzy-genetice etc.), [17]. Având ca punct de plecare observaţia conform căreia în capitolele următoare ale acestei lucrări vor fi descrise atât din punct de vedere teoretic, dar şi aplicativ o serie de arhitecturi neuro-fuzzy-genetice consacrate cu aplicabilitate în cadrul sistemelor de recunoaştere a formelor, în continuare vor fi prezentaţi sintetic o serie de clasificatori standard cu o arie consistentă de utilizare în cadrul aplicaţiilor curente de recunoaştere a formelor.

Page 43: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Paradigme fundamentale ale inteligenţei artificiale

51

• Clasificatori Bayes În general, clasificarea unei mulţimi de obiecte implică un proces de decizie. Prin urmare, dacă se consideră că acţiunile unui clasificator sunt

1 2, ,..., na a a , unde ia reprezintă acţiunea acestuia de a decide că vectorul x aparţine clasei , 1,i i nA = , atunci deoarece clasificatorul acţionează în condiţii de

informaţie incompletă, orice acţiune a sa presupune un anumit grad de risc. Dacă clasificatorul decide că x aparţine clasei jA (adică este aleasă acţiunea ja ) deşi în realitate x este din clasa iA , atunci riscul asociat acestei acţiuni este notat cu

( )j ir a A . De asemenea, se poate interpreta ( )j ir a A ca fiind costul clasificării

eronate a lui x în clasa jA . Suplimentar, probabilitatea ca x să aparţină clasei iA

se notează în continuare cu ( )iP A x . Cum x poate să aparţină oricăreia din cele

n clase, atunci riscul mediu ( )jR a x implicat prin decizia că x aparţine clasei

jA este de forma:

( ) ( ) ( )1

.n

j j i ii

R a x r a A P A x=

= ∑ (1.45)

Mărimea ( )jR a x se mai numeşte şi risc mediu condiţionat sau pierdere

asociată acţiunii ja . Ţinând cont de formula lui Bayes:

( ) ( ) ( )( )

,i ii

P A f x AP A x

f x= (1.46)

atunci riscul mediu condiţionat se poate rescrie astfel:

( ) ( ) ( ) ( ) ( )1

1 ,n

j j i i ii

R a x r a A f x A P Af x =

= ∑ (1.47)

unde f este densitatea de probabilitate a variabilei aleatoare X (unde vectorii x s-au considerat ca fiind valorile variabilei aleatoare X), iar ( )if x A este valoarea în x a densităţii de probabilitate condiţionată de iA . De asemenea,

( )if A⋅ se poate interpreta ca fiind densitatea de probabilitate a clasei iA , iar

( )iP A este probabilitatea a priori a clasei iA şi, respectiv, ( )iP A x este probabilitatea a posteori a aceleiaşi clase. Cu notaţia: ( ),ji j ir r a A= (1.48)

Page 44: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Iulian-Constantin Vizitiu

52

atunci riscul mediu se rescrie astfel:

( ) ( ) ( ) ( ) ( )1 1

1 .n n

j ji i ji i ii i

R a x r P A x r f x A P Af x= =

= =∑ ∑ (1.49)

Dacă pentru fiecare din vectorii x se calculează cantităţile ( ) ( ) ( )1 2, ,..., nR a x R a x R a x şi se decide că:

( ) ( ) dacă min ,k k jj

x A R a x R a x∈ = (1.50)

(adică se alege acţiunea care implică riscul minim), atunci este evident că riscul total relativ la toate deciziile este de asemenea, minim. Regula dată de formula (1.50) care realizează pierderea minimă se numeşte regula de decizie Bayes, iar un clasificator care utilizează această regulă se numeşte clasificator Bayes etc. Spre exemplu, în cazul clasificării Bayes cu două clase, regula de decizie pentru care probabilitatea de eroare este minimă se poate scrie de forma:

( ) ( ) ( )( ) ( ) ( )

1 1 2 2

2 1 2 2

dacă .

dacă

A f x A f x A P Ax

A f x A f x A P A

>∈<

(1.51)

În concluzie, clasificatorul Bayes care asociază pierderea zero unei clasificări corecte şi pierderi egale tuturor clasificărilor incorecte, minimizează probabilitatea de eroare. Această proprietate de optimalitate justifică, practic, interesul acordat acestui tip de clasificator etc. Pentru detalii privind generalizarea clasificării Bayes în cazul a n clase de intrare şi, respectiv, pentru cazul unei densităţi de probabilitate normale (situaţia în care punctele de clasificat sunt strâns grupate în jurul unor prototipuri), pot fi consultate referinţele bibliografice [17] şi [23].

• Clasificatori de distanţă minimă Dacă funcţia-criteriu minimizată în cadrul clasificării este spre exemplu, distanţa (euclidiană, Minkowski, Hamming etc.) de la vectorii caracteristici la prototipurile asignate claselor de intrare, atunci se obţine aşa-numita clasa a clasificatorilor (liniari) de distanţă minimă. În continuare, se consideră că în mulţimea de date mX R∈ există n clase

1 2, ,..., nA A A şi că aceste clase pot fi reprezentate prin prototipurilor (centroizii)

1 2, ,..., nL L L . În consecinţă, un vector x este asignat acelei clase iA de al cărui prototip este cel mai apropiat, adică:

( ) ( ) dacă , min , .i i jjx A d x L d x L∈ = (1.52)

Distanţele fiind întotdeauna pozitive, a minimiza d este echivalent cu a minimiza 2d . Prin urmare, în conformitate cu referinţa bibliografică [21],

Page 45: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Paradigme fundamentale ale inteligenţei artificiale

53

suprafaţa de decizie care separă clasele iA şi jA se obţine ca soluţie a unei ecuaţii de forma:

( )0 0,Tc x x− = (1.53)

unde au fost utilizate notaţiile: i jc L L= − şi 0 .2

i jL Lx

+= În consecinţă,

suprafaţa de separare este de forma unui hiperplan care trece prin punctul 0x şi este ortogonal pe vectorul c. În final, este util de precizat faptul că, acest clasificator de distanţă minimă (denumit uneori şi regula celui mai apropiat prototip) este pretabil pentru cazurile când punctele unei clase tind să se aglomereze în vecinătatea unui punct-prototip, formând astfel clustere (nori) de puncte etc. O generalizare extrem de utilă în marea majoritate a aplicaţiilor curente de recunoaştere a formelor a clasificatorului standard descris anterior este reprezentată de clasificatorul k-nn. În acest caz, se iau în considerare cei mai apropiaţi k vecini ai vectorului (formei) necunoscut x, regula de decizie utilizată fiind următoarea: vectorul x este asignat clasei din care fac parte cei mai mulţi dintre cei k vecini selectaţi anterior (fig. 1.14). Numărul k trebuie să fie suficient de mare pentru a minimiza probabilitatea unei clasificări eronate, şi suficient de mic (comparativ cu numărul total p al formelor de intrare) astfel încât cei k vecini să fie într-adevăr aproape de x pentru a asigura o estimare corectă a clasei. În altă ordine de idei, avantajele oferite de acest tip de clasificator pot fi sintetizate astfel: nu sunt necesare informaţii referitoare la probabilitatea de apartenenţă a unei forme la o anumită clasă (adică, este o metodă de clasificare

Fig. 1.14 Regula celui mai apropiat vecin:

(1) forma necunoscută este atribuită clasei 1; regula k-nn: (2) forma necunoscută este atribuită clasei 2

neparametrică); este simplu de implementat şi, respectiv, oferă o probabilitate redusă de eroare. Suplimentar, dezavantajul principal al acestui clasificator constă în faptul că de fiecare dată când se doreşte clasificarea unei forme noi, este necesar calculul a p distanţe ceea ce poate determina o creştere a efortului de calcul etc.

Page 46: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Iulian-Constantin Vizitiu

54

Şi, în sfârşit, o altă generalizare extrem de robustă ca nivel de performanţă oferit formei standard a clasificatorului de distanţă minimă este reprezentată de cazul clasificatorului q*. În acest caz, o clasă de forme prezentă în mulţimea datelor de intrare nu mai este reprezentată de un singur prototip, ci de un set de prototipuri care individualizează cu mai multă exactitate cluster-ele de date (tendinţele) prezente în interiorul clasei respective. Suplimentar, pentru fiecare clasă de forme, numărul prototipurilor asignate acestora este obţinut în urma unui proces de instruire supervizată, iar ulterior clasificarea unui vector necunoscut într-o anumită clasă este realizată utilizând regula celui mai apropiat prototip etc. Avantajele certe oferite de clasificatorul q* comparativ cu alţi clasificatori de distanţă minimă constau în principal, în: un nivel consistent al performanţelor de clasificare; reducerea substanţială a influenţei punctelor atipice (izolate) asupra performanţelor de clasificare şi nu în ultimul rând, un efort de calcul moderat etc. Pentru detalii teoretice şi aplicative suplimentare privind clasificatorii de distanţă minimă, poate fi consultată referinţa bibliografică [17].

• Clasificatori bazaţi pe analiza discriminantă În spaţiul caracteristicilor, fiecărei forme îi este asignat un punct având drept coordonate valorile celor n caracteristici, şi anume: ( )1 2, ,..., n

nx x x x R= ∈ . Natural, alegerea unei metode adecvate de extragere a caracteristicilor va determina reliefarea similarităţii dintre formele aparţinând aceleiaşi clase prin apropierea dintre punctele asociate în spaţiul caracteristicilor (intuitiv, punctele respective au tendinţa de a se grupa în cluster-e de date, fig. 1.14). Această proprietate determină posibilitatea separării claselor prezente în spaţiul de intrare printr-o curbă discriminant (sau o hipersuprafaţă discriminant în spaţiul

nR ). De asemenea, dacă există hipersuprafeţe discriminant care să separe spaţiul caracteristicilor astfel încât forme aparţinând aceleiaşi clase să se regăsească în aceeaşi regiune a spaţiului, atunci clasele respective se numesc separabile. Suplimentar, dacă hipersuprafeţele discriminant sunt hiperplane, atunci clasele respective se numesc liniar separabile. Dacă notăm cu m numărul claselor prezente în spaţiul de intrare, atunci hipersuprafeţele sunt definite de un set de m funcţii ( ) 1,i i mg x = cunoscute şi sub denumirea de funcţii discriminant (sau funcţii Fisher). Alegerea acestui set de funcţii trebuie făcută astfel încât să fie îndeplinită condiţia:

( ) ( ), 1, , ,i jg x g x j m j i> ∀ = ≠ (1.54) pentru orice formă x aparţinând clasei Ai. În consecinţă, decizia de apartenenţă a unei forme necunoscute x la o anumită clasă din spaţiul de intrare va fi de forma:

( ) ( ) dacă max .j j ii

x A g x g x∈ = (1.55)

În altă ordine de idei, regiunile de decizie sunt separate prin intermediul hipersuprafeţelor discriminant, iar hipersuprafaţa de separaţie dintre clasele Ai şi Aj este dată de următoarea ecuaţie:

Page 47: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Paradigme fundamentale ale inteligenţei artificiale

55

( ) ( ) 0,ij i jg g x g x= − = (1.56) şi conţine toate punctele (formele) x aflate la distanţă egală faţă de clasele respective. De asemenea, în cazul în care clasele sunt liniar separabile, funcţiile discriminant vor fi funcţii liniare, de forma:

( ) ( )( ) ( ) ( )

1 1 2 2 1 1 2

1 1 2 1 2

... , , , ,..., ,

, , ,..., , , ,..., .

nn n n i n

TT Tn n n

g x a x a x a x a a R x x x x R

g x ax a a a a a x x x x

+

+

= + + + + ∈ = ∈

= + = = (1.57)

Spre exemplu, pentru determinarea funcţiilor discriminant gi, pot fi utilizaţi vectorii-formă medie pentru fiecare clasă (notaţi cu im ), în conformitate cu relaţia următoare:

( ) ( ){ } 1,, ,i i i n

g x F d x m=

= (1.58)

unde d este distanţa, iar F este o funcţie descrescătoare. În consecinţă, forma x va aparţine clasei pentru care distanţa de la x la forma-medie a clasei este minimă (asemănător regulii celui mai apropiat vecin) etc. Pentru detalii teoretice suplimentare privind noţiunile de bază asignate analizei discriminante, poate fi consultată referinţa bibliografică [23].

• Clasificatori bazaţi pe criterii de (di)similaritate Fie { }1 2, ,..., , ,p i mX x x x x R= ∈ mulţimea formelor de clasificat. De

asemenea, se presupune că această mulţime este alcătuită din cluster-e de puncte relativ compacte şi bine individualizate, de formă aproximativ sferică. În aceste condiţii, un cluster de date poate fi descris prin intermediul unui punct denumit prototipul (centroidul) clasei respective. Fie m

iL R∈ prototipul asignat clasei Ai (unde 1,i n= ). Rezultatele oferite de către algoritmul n-medii depinde în mare măsură de numărul considerat de clase (n), de alegerea partiţiei iniţiale şi, respectiv, de proprietăţile geometrice ale datelor de intrare. În altă ordine de idei, determinarea numărului optim de cluster-e prezente în mulţimea datelor de intrare (aşa-numita problemă a validităţii n-medii) nu poate fi rezolvată în cadrul acestui algoritm. În general, valoarea n se determină prin încercări succesive. Un alt dezavantaj al algoritmului n-medii este reprezentat de către aşa-numitul efect pseudo-gravitaţional care se manifestă atunci când numărul de puncte asignat fiecărui cluster de date diferă substanţial de la clasă la clasă (adică, cluster-ul cu dimensiunea mai mică va atrage unele puncte situate la periferia cluster-ului cu dimensiunea mai mare etc.). O soluţie acceptabilă în acest caz este reprezentată de utilizarea unei distanţe adaptive, funcţie de dimensiunea cluster-elor luate în calcul la un moment dat etc. În conformitate cu referinţa bibliografică [17], forma standard a algoritmului n-medii este următoarea:

Page 48: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Iulian-Constantin Vizitiu

56

Conform literaturii de specialitate [4], o variantă (de natură euristică) a algoritmului n-medii care înlătură o mare parte din dezavantajele acestuia este reprezentată de către algoritmul ISODATA (Iterative Self-Organizing Data Analysis Techique). În esenţă, acest algoritm reprezintă un bun exemplu de metodă de analiză a datelor în care este necesară definirea unui număr de parametri care trebuie ajustaţi prin încercări succesive. De asemenea, în cadrul acestui algoritm este necesar să se specifice iniţial un număr de k centri de clasă

{ }1 2, ,..., km m m , număr care nu coincide neapărat cu numărul de clase dorit etc. În conformitate cu referinţa bibliografică [17], forma standard a algoritmului ISODATA este următoarea:

Pasul 1: se alege o partiţie iniţială { }01 2, ,..., nP A A A= a lui X;

Pasul 2: se calculează prototipurile acestei partiţii, de forma:

1

1

1 ,i

pj

ijj

i pi x A

ijj

A x

L xp

A

=

=

= =∑

∑∑

(1.59)

unde 1

p

i ijj

p A=

= ∑ este numărul de elemente din clasa Ai şi, respectiv,

( )ij

ij AA I x= este funcţia caracteristică a mulţimii Ai; Pasul 3: se calculează noua partiţie a lui X după regula:

dacă , ,j ii i kx A x L x L k i∈ − < − ∀ ≠ (1.60)

sau echivalent: 1, dacă , ,

0, în caz contrar.

j ii k

ijx L x L k i

A − < − ∀ ≠=

(1.61)

Pasul 4: dacă noua partiţie coincide cu cea precedentă, atunci STOP. Altfel, se merge la pasul 2.

Page 49: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Paradigme fundamentale ale inteligenţei artificiale

57

Pasul 1: se specifică valorile următorilor parametri de intrare: n este numărul dorit de clase; pθ este numărul minim de forme dintr-o clasă; sθ este parametrul de dispersie standard; cθ este distanţa maximă de fuzionare; L este numărul maxim de centri care pot fi fuzionaţi simultan; Nmax este numărul maxim de iteraţii permise; Pasul 2: se distribuie cele p puncte din X în clasele determinate de cei k centri, după regula:

( ) ( )1,

dacă , min , .i ji

j kx A d x m d x m

=∈ = (1.62)

Pasul 3: se elimină clasele care au mai puţin de pθ forme şi se repartizează punctele în clasele rămase. Se micşorează k; Pasul 4: se recalculează centrii claselor cu formula:

1 , 1, .i

i

i x Am x i k

p ∈

= =∑ (1.63)

Pasul 5: se calculează diametrul mediu al fiecărei clase, de forma:

( )1 , , 1, .i

ii

i x AD d x m i k

p ∈

= =∑ (1.64)

Pasul 6: se calculează distanţa medie D a punctelor faţă de centrii claselor, de forma:

( )1 1

1 1, .i

k ki

i ii x A i

D d x m p Dp p= ∈ =

= =∑ ∑ ∑ (1.65)

Pasul 7: 7.1 dacă aceasta este ultima iteraţie, atunci 0cθ = şi se merge la pasul 11;

7.2 dacă 2nk < , atunci se merge la pasul 8;

7.3 dacă numărul iteraţiei este par sau dacă 2k n> , atunci se merge la pasul 8; Altfel, se merge la pasul 8; Pasul 8: se calculează dispersia clasei Ai, de forma:

2 1 , 1, .i

i

i

i x AX m i k

p ∈

σ = − =∑ (1.66)

(componenta ijσ a lui iσ reprezintă dispersia datelor în direcţia j);

Page 50: PARADIGME FUNDAMENTALE ALE INTELIGENŢEI ARTIFICIALE

Iulian-Constantin Vizitiu

58

Pentru detalii teoretice privind structura altor versiuni îmbunătăţite ale algoritmilor de clasificare (partiţionare) descrişi anterior (algoritmul n-medii fuzzy, algoritmul fuzzy-ISODATA generalizat etc.), poate fi consultată referinţa bibliografică [22]. De asemenea, pentru detalii teoretice şi aplicative privind alte clase de tehnici de clasificare standard, pot fi consultate referinţele bibliografice [22], [23] şi [24].

Pasul 9: pentru fiecare clasă se determină componenta maximă a dispersiei, de forma:

0 1,max .ij iji k=

σ = σ (1.67)

Pasul 10: pentru toate clasele, dacă există o clasă Ai astfel încât

0ij sσ > θ şi

( ), 2 1 sau ,2i i pnD D p k> > θ + < atunci se despică clasa Ai în două clase şi

se calculează centrii acestora ,i im m+ − . Se şterge im şi se pune 1.k k= + Dacă la acest pas s-a despicat o clasă, atunci se merge la pasul 2; Pasul 11: se calculează distanţele între toţi centrii claselor, de forma:

( ), , 1, 1, 1, .i j i jijd d m m m m i k j i k= = − = − = + (1.68)

Pasul 12: se compară distanţele ijd cu parametrul cθ . Se ordonează crescător primele L distanţe mai mici decât cθ ; Pasul 13: pornind de la perechea de clase ( ),i jA A şi pentru cea mai mică distanţă dintre centri, se recalculează centrii după următoarea regulă: – dacă pentru cele două clase centrii nu au fost modificaţi, atunci centrii im şi jm se înlocuiesc cu noul centru:

( )* 1 .i ji j

i jm p m p m

p p= +

+ (1.68)

Se şterg centrii im şi jm şi se pune 1;k k= − – dacă una din cele două clase are centrul modificat, atunci perechea

( ),i j nu este luată în considerare şi se trece la următoarea pereche; –

Pasul 14: dacă aceasta este ultima iteraţie sau dacă poziţia şi numărul centrilor coincid cu cele de la iteraţia anterioară, atunci STOP. Altfel, se merge la pasul 1 dacă utilizatorul consideră că parametrii algoritmului trebuie modificaţi sau la pasul 2 dacă aceşti parametri rămân neschimbaţi şi pentru următoarea iteraţie.