fundamente ale ic fundamente ale inteligentei … · ۩ ic elimina nevoia de programare; ۩ intr-un...

27
FUNDAMENTE ALE IC Computational Intelligence in Complex Decision Systems G. Oltean 1 / 28 Fundamente ale inteligentei computationale Definirea inteligentei Incadrarea IC Subdomenii ale IC Mituri despre IC Adaptare Autoorganizare CI ca adaptare si autoorganizare Capacitatea de generalizare

Upload: phamtruc

Post on 20-Aug-2018

242 views

Category:

Documents


1 download

TRANSCRIPT

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean 1 / 28

Fundamente ale inteligentei computationale

➢Definirea inteligentei

➢ Incadrarea IC

➢Subdomenii ale IC

➢Mituri despre IC

➢Adaptare

➢Autoorganizare

➢CI ca adaptare si autoorganizare

➢Capacitatea de generalizare

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean 2 / 28

Definire - cont.

➢Inteligenţa computaţională (Calcul inteligent)

❖ Include o varietate de metode de calcul inspirate din

natură (Bio-inspired computing).

❖ Îşi propune preluarea ideilor şi mecanismelor de

inspirație biologică pentru rezolvarea diferitelor

probleme şi situaţii precum şi implementarea acestora

(calculator, sisteme cu microcontroler, etc), în

încercarea de a obţine de la maşini performanţe

asemănătoare sistemelor din natură.

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean 3 / 28

Definire - cont.

➢Inteligenţa computaţională (Calcul inteligent)

❖Conţine conceptele practice de adaptare şi auto-organizare,

paradigme, algoritmi şi implementari care fac posibile sau

facilitează realizarea acţiunilor potrivite (comportament

inteligent) în medii complexe şi schimbatoare (variabile în

timp) [Ebe07].

❖ Implică calcule numerice furnizând unui sistem abilitatea de a

învaţa şi/sau de a rezolva situaţii noi – percepţia asupra

sistemului fiind aceea ca acesta posedă anumite atribute de

rationament [Ebe07]:

» generalizare

» descoperire

» asociere

» abstractizare

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean 4 / 28

➢ Inteligenţa computaţională contine tehnici de rezolvare a

problemelor "rău-puse" sau a celor pentru care modelele

formale conduc la algoritmi foarte costisitori.

❖ Probleme "rău-puse“ - nu pot fi descrise complet printr-un

model formal, se cunosc doar exemple de rezolvare a

problemei.

▪ căutare persoane într-o bază de date folosind drept cheie de

căutare imaginea persoanei căutate.

❖ Probleme "bine-puse“ - li se poate asocia un model formal

(de exemplu un model matematic) pe baza căruia se poate

dezvolta o metodă de rezolvare cu caracter algoritmic.

▪ căutare persoane într-o bază de date folosind drept cheie de

căutare CNP-ul.

Definire - cont.

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean 5 / 28

Definire

➢ Inteligenţa:

❖ Capacitatea de a înţelege uşor şi bine (corect), de a sesiza ceea

ce este esenţial, de a rezolva situaţii sau probleme noi pe baza

experienţei acumulate anterior [DEX].

❖ Capacitatea de adaptare la împrejurări noi, de a sesiza

relaţiile esenţiale şi de a găsi o solutie dintr-o anumită situaţie, de

a rezolva probleme noi [MDN].

❖ Capacitatea unui sistem de a-şi adapta comportarea pentru a-şi

îndeplini obiectivele într-un domeniu de medii inconjuratoare.

Aceasta este o proprietate a tuturor sistemelor decizionale

conduse de scop [David Fogel 1995].

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean 6 / 28

Incadrarea IC➢ IC – simularea pe un sistem de calcul a inteligenţei biologice

➢ IC - similară “Inteligenţei artificiale”, care este bazată penoţiunea de cunostinţa

➢ Inteligenţă: • biologică; • artificială; • computaţională

➢ IC este strâns legată (există o suprapunere semnificativă) de

domeniul numit “soft computing” [Lotfi Zadeh 1998]

❖ exploatează toleranţa la imprecizie, nesiguranţă şi adevăr parţial,

pentru a obţine flexibilitate, robusteţe şi costuri scăzute

❖ diferă fundamental de calculul convenţional (hard), caracterizat

tocmai de lipsa tratarii impreciziei şi a adevărurilor parţiale

Inteligentaartificiala(conventionala)

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean 7 / 28

Incadrarea IC - cont.

➢ Ce atribute ale sistemelor IC nu apar la IA conventionala si la hard

computing:▪ capacitatea de generalizare

▪ capacitatea de a lucra cu adevar partial si incertitudini

▪ toleranta fata de erori si zgomot, ceea ce conduce la sisteme torelante

la defecte;

▪ capacitatea de a functiona bine in medii complexe si variabile

➢ Ce atribute ale sistemelor hard computing nu apar la sistemele cu IC

(soft computing):▪ precizia

▪ certitudinea

✓ Nu vom utiliza IC in verificarea contului bancar si calculul impozitului

✓ Viata si sistemele reale abunda in imprecizii, incertitudini, adevaruri partiale si

neliniaritati

✓ Multe sarcini dificile – dezvoltarea sistemelor de optimizare si diagnosticare in

medii complexe si variabile – pot fi duse la bun sfarsit cu implementari de IC

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean 10 / 28

Subdomenii ale IC➢ Reţele neuronale artificiale (Artificial Neural Network)

➢ Algoritmi genetici (Genetic Algorithms) – calcul evolutiv

➢ Logică fuzzy (Fuzzy logic)

➢ Sisteme hybride

➢ …

• Subdomeniile sunt intr-o relatie de complementaritate (nu

concurentiala), fiecare contribuie cu avantajele si metodele proprii la

solutionarea problemelor.

• Retelele neuronale: capacitate de invatare, adaptare si generalizare

• Algoritmii genetici: cautare “sistematica” (exhaustiva) a solutiei,

optimizare (globala)

• Logica fuzzy: captarea cunostiintelor expertilor, utilizarea limbajului

natural

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean 11 / 28

Sursa de inspiraţie

➢Creierul, cu uimitoarele sale capacităţi de învăţare,

înmagazinare a cunoştinţelor şi prelucrare a informaţiei

este sursa de inspiraţie pentru dezvoltarea reţelelor

neuronale artificiale (RNA).

➢ Procesul natural de evoluţie al speciilor, selecţia naturală

şi alţi operatori genetici stau la baza strategiilor

evolutive, în particular a algoritmilor genetici

➢Limbajul natural, modul de acţiune, capacitatea de

raţionament chiar în situaţii de informaţii insuficiente

şi/sau imprecise, specifice oamenilor, sunt preluate în

logica fuzzy şi în sistemele cu logică fuzzy (SLF).

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean 12 / 28

Reţele neuronale artificiale

➢Retelele neuronale artificiale sunt sisteme de prelucrare a

informatiei ce modeleaza structura paralela, masiva a

creierului – inspiratie biologica.

➢ Simuleaza o structura de calcul paralela, puternic

interconectata, ce contine un numar mare de elemente de

prelucrare (neuroni) relativ simple.

➢Elementele de prelucrare sunt conectate prin conexiuni cu

ponderi

➢ Ponderile conexiunilor stocheaza informatia

(cunostintele), reteaua fiind astfel capabila de adaptare

(invatare) prin modificarea acestor ponderi.

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean 13 / 28

Calcul evolutiv➢Arii ale calculului evolutiv [Ebe07]:

❖ Algoritmi genetici (genetic algorithms)

❖ Programare evolutiva (evolutionary programming)

❖ Strategii evolutive (evolution strategies)

❖ Programare genetica (genetic programming)

❖ Optimizarea roiurilor de particule (particle swarm optimization)

✓ Modeleaza procese ale evolutiei naturale: selectie, recombinare, mutatie.

✓Metode de cautare stocastica, inspirate din mecanisme de evolutie

naturala biologica.

✓ Lucreaza cu populatii de solutii potentiale si aplica principiul

supravietuirii celui mai bun (teoria evolutionista - Darwin) pentru a furniza

aproximari din ce in ce mai bune ale solutiei.

✓ Evolutia indivizilor din populatie, astfel ca acestia devin mai adaptati

mediului dacat indivizii din care au fost creati - similar cu adaptarea

naturala - optimizare

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean 14 / 28

Logica fuzzy➢ Fuzzy: vag, neclar, imprecis, scamos, pufos, nuanţat

➢ Fuzziness: imprecizie nestatistica si caracter vag al informatiilor

si datelor.

➢ Logica fuzzy

❖ logica rationamentului aproximativ, care este o extensie a

logicii multivalente; generalizare a logicii conventionale,

utilizeaza limbaj natural, capteaza conostiintele expertilor

❖ multimile fuzzy se refera la clase de obiecte cu granite

graduale, in care apartenenta la o clasa creste treptat intre 0

(totala neapartenenta) si 1 (apartenenta completa).

➢ Lotfi Zadeh, parintele logicii fuzzy:

“Motivul pentru care am ales cuvântul fuzzy este că ceea ce am avut în

minte sunt clasele de obiecte care nu au graniţe precis delimitate”.

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean 15 / 28

Logica fuzzy - cont.

“Pe masură ce creşte complexitatea, formulările precise

pierd din înţeles şi formulările pline de înţeles pierd din

precizie.” – Lotfi Zadeh

Precizie si semnificatie in lumea reala [FLT]

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean 16 / 28

Mituri (neadevaruri) depre IC۩ Necesitatea supercomputerelor/laureatilor Nobel/sume mari

de bani pentru a obtine rezultate utilizand IC;

۩ Implementarile IC sunt cele mai rapide, mai ieftine si mai

bune;

۩ IC elimina nevoia de programare;

۩ Intr-un sistem, partea de IC este mult mai importanta dacat

partea de pre-prelucrare a datelor;

۩ Numai expertii in biologie pot utiliza IC;

۩ Logica fuzzy este vaga, imprecisa;

۩ Logica fuzzy este un alt fel de probabilitate;

۩ IC furnizeaza intotdeauna optimizarea absoluta (optim

global).

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean 17 / 28

Instruirea (învăţarea)❖ Capacitatea unui sistem de a-si modifica parametrii (de a evolua)

cu scopul de a-si indeplini mai bine sarcinile.

❖ Proces in cursul caruia o structura este modificata progresiv

(optimizata) pentru a furniza performante mai bune in mediul său.

➢Tipuri de instruire

▪ Supervizată (supervised learning)

▪ Nesupervizată (unsupervised learning)

▪ (Cu) întărire (reinforcement learning)

➢ Suportul instruirii

▪ seturi de date numerice

▪ algoritmi matematici

➢ Instruirea poate fi

▪ on-line (dinamica)

▪ off-line (statica)

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean 18 / 28

Spatiile instruirii➢ Spaţiul intrarilor (spatiul problemei)

▪ Domeniul dinamic al variabilelor de intrare, in general cunoscut

➢ Spatiul iesirilor sistemului (spatiul funcţiei)

▪ Domeniul dinamic al variabilelor de iesire

▪ Specificat ca si constrangere hard sau soft

➢ Spatiul evaluarii (potrivirii)

▪ Spatiul in care se evalueaza “calitatea” solutiilor rezultate in

urma instruirii

▪ In general se scaleaza adecvarea (potrivirea - fitness ) solutiei

• probleme de minimizare

• probleme de maximizare

➢ Uneori spatiul evaluarii este identic cu spatiul iesirii, alteori se

fac transformari, de la spatiul iesirii la cel al evaluarii

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean 19 / 28

Legea suficientei➢Daca solutia unei probleme este:

❖ destul de buna (satisface specificatiile)

❖ destul de rapida

❖ destul de ieftina

atunci este suficient!

Dificultati ale instruirii➢Numar mare de variabile

➢ Functii de evaluare complexe, neliniare, variabile in

timp si in spatiul parametrilor de intrare

➢Mediu complex si variabil

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean

Machine learning (ML)ML is he process by which a computer learns from experience (e.g. using

programs that can learn from historical cases) [Turban, Sharda, Delen, Decision Support and

Business Intelligence, 9th edition, Pearson Education Limited, 2014]

❖ A beginner's introduction to the Top 10 Machine Learning (ML)

algorithms. [https://www.kdnuggets.com/2017/10/top-10-machine-

learning-algorithms-beginners.html]

❖ Top 10 Machine Learning Algorithms for Beginners

[https://www.kdnuggets.com/2017/10/top-10-machine-learning-

algorithms-beginners.html]

❖ Understanding Machine Learning Algorithms

[https://www.kdnuggets.com/2017/10/understanding-machine-learning-

algorithms.html]

Machine learning – a machine that is going to learn something

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean 21 / 28

Instruire supervizata ➢ Procesul de invatare (adaptare) al sistemului astfel ca el sa

produca o iesire specificata ca raspuns la o intrare

specificata

➢ Sistemul să emuleze comportamentul descris prin

exemplele intrare – ieșire (date numerice), dezvoltându-

și în același timp și capacitate de generalizare

➢ Instruirea sistemului se realizeaza pe durata mai multor

epoci (iteratii) de instruire.

➢ Supervizat – iesirea este apriori cunoscuta pentru toate

intrarile si algoritmul de instruire utilizeaza o masura a

erorii pentru a dirija antrenarea (Reed and Marks 1999).

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean 22 / 28

Instruire supervizată

➢Exista o masura directa a nivelului de potrivire

❖ o funcție eroare dintre ieșirea dorită (cunoscuta) și

ieșirea calculată (suma erorilor pătratice, media erorilor

pătratice, radicalul erorii medii pătratice, suma erorilor

absolute)

➢Algoritmul de instruire utilizează adeseori informații

despre gradienții funcției eroare, în raport cu o suprafață a

erorii mediată pentru toate exemplele intrare-ieșire într-o

epocă de instruire

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean 23 / 28

Instruirea supervizata - cont.

• “Profesorul”: seturi de

date intrare-iesire;

• Instruirea se realizeaza in

epoci (iteratii) succesive;

• Potrivirea este adeseori

invers proportionala cu

suma erorilor;

• Buna pentru aproximarea

functiilor, recunoastere de

forme; predictie

• Examplu: algoritmul cu

propagare inversa –

antrenarea retelelor

neuronale, neuro-fuzzy

(ANFIS)

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean 24 / 28

➢ Sistemul se adapteaza la regularitatile sau similitudinile

naturale existente in setul de date, pentru a se realiza

gruparea datelor

➢Nu exista un “profesor” sau “critic” extern

➢Nu exista nici o indicatie a potrivirii datelor incorporata in

algoritmul de instruie nesupervizata

➢ Interpretarea rezultatului instruirii (este bun, este

utilizabil) este realizata la finalizarea instruirii

➢Evaluarea “off-line” este in general realizata de un expert

uman sau de un sistem inteligent.

Instruirea nesupervizata

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean 25 / 28

Instruirea nesupervizata - cont.

• În general pentru probleme de grupare

(clustering), sau “invatare competitiva”

• Gruparea vectoriilor de intrare (pattern)

similari in submultimi (grupuri) – clustere

(clase)

• Elementele dintr-un grup (clasa) au un

grad ridicat de “asociere naturala” intre ei

• Grupurile (clusterele) sunt “relativ

distincte” unele fata de altele

• 3 aspecte:

• numar de grupuri

• centrele grupurilor

• repartizarea punctelor de date

(pattern) la grupuri (clustere)

• ex: gruparea substractiva fuzzy, fuzzy C-

means

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean 26 / 28

Instruirea cu întărire (reinforcement learning)

➢ Interactiune cu un critic care furnizeaza informatii euristice pentru

intarire (ajutor, sprijin, reimprospatare)

➢ Este necesar sa existe un fel de masura a potrivirii sau a scopului dar

care nu se poate obtine direct

➢ Pot exista interpretari: solutia este buna, este rea, cum este fata de o

alta solutie

➢ Este metoda de adaptare cea mai apropiata de sistemele biologice

❖ animalele (inclusiv oamenii) tind sa evite comportarile ce le provoaca

discomfort si tind sa caute sau sa repete actiunile care le aduc comfort.

Learning by interacting with the environment and observing the results of these interactions. This mimics the fundamental way

in which humans (and animals alike) learn. As humans, we have a direct sensori-motor connection to our environment,

meaning we can perform actions and witness the results of these actions on the environment. The idea is commonly known as

"cause and effect", and this undoubtedly is the key to building up knowledge of our environment throughout our lifetime.

Reinforcement learning is a sub-area of machine learning that is concerned with learning-

by-doing-and-measuring to maximize some notion of long-term reward. Reinforcement

learning differs from supervised learning in that correct input-output pairs are never

presented to the algorithm. [Turban, Sharda, Delen, Decision Support and Business Intelligence, 9th edition, Pearson

Education Limited, 2014]

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean 27 / 28

Adaptarea întărită - cont.

• adeseori sistemul primeste o

serie de date (intrare, stare)

• doar la sfarsit se evolueaza

potrivirea sistemului

• “criticul” se uita numai la

rezultatele finale, neluand in

considerare erorile datorate

fiecarei intrari

• exemplu: optimizarea

gruparilor de particule (se poate

calcula doar cat de buna este o

solutie fata de alta)

Experienţa este un profesor dur pentru că întâi îţi dă testul şi abia apoi îţi

predă lecţia” (Vernon Law)

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean 28 / 28

O vedere simplificata a IC

➢Datele prelucrate provin din afara sistemului

➢Cunostintele incorporate sunt continute in interiorul

sistemului

FUNDAMENTE ALE IC

Computational Intelligence in Complex Decision Systems G. Oltean

Capacitatea de generalizare➢ Capacitatea de a determina corect valoarea iesirii pentru vectori de

intrare la care sistemul nu a fost expus pe durata antrenarii

iesirilorspatiul,intrarilorspatiul),( YXxfy

Setul de date

de antrenare:

antrenaredeperechidenumarul

...,2,1,x,

n

niYXyxS ii

Construirea modelului Sxxfxf ** pentru

Sistem “perfect”:

Sxxfxf

Sxxfy

),()(

,*

Poate sa nu fie valabil datorita erorilor si zgomotului

prezente in setul de date de antrenare

Poate fi suparator daca S se imparte in set de

antrenare si set de test

In urma antrenarii poate apare “suprapotrivirea” sistemului cu setul de

date de antrenare – performante slabe pentru setul de test.