Sunteți pe pagina 1din 22

Capitolul 9

INVATAREA AUTOMATA
9.1 Principii de baza
In dezvoltarea programelor de invatare automata se pot distinge trei etape:
(1) etapa optimista in care se considera posibila realizarea sistemelor cu autoreglare
care s-ar putea modifica si adapta mediului (1960-1965) dar care a fost abandonata
datorita limitarilor teoretice si a capacitatii de calcul limitate, pina de curind cind
cercetarile legate de retelele neuronal au reluat aceaasta directie
(!) etapa desc"isa de teza lui #$ %inston (19&0) in care invatarea este vazuta ca un
proces comple' si dificil aceasta perspectiva a dus la studiul unor forme de invatare
mai simple si, pe de alta parte, la ideea ca un sistem de invatare automata trebuie sa
contina o cantitate semnificativa de cunostinte apriorice pentru a aa(unge la
performante
()) etapa a treia determinata de necesitatea de ac"izitie a cunostintelor in sisteme
e'pert$ *pre deosebire de etapele (1) si (!) care s-au concentrat numai pe invatarea
prin memorare si invatarea din e'emple, etapa ()) se ocupa si de invatarea prin
instruire directa si invatarea prin analogie$
*e pot identifica patru perspective asupra invatarii:
Invatarea este procesul prin care un sistem isi imbunatateste performantele (+erbert
*imon)$
Invatarea este ac"izitia cunostintelor e'plicite aceasta perspectiva porneste de la
necesitatea e'primarii e'plicite a cunostintelor invatate pentru a facilita verificarea,
modificarea si e'plicarea lor in sistem$
Invatarea este ac"izitiaa deprinderilor de rezolvare a problemelor (desi oamenii inteleg ce
trebuie sa faca cind li se e'plica cum trebuie sa faca ceva, nu a(ung imediat la operatii
eficiente)$
Invatarea este formare teoriilor, formarea ipotezelor si inferenta inductiva deci procesul
de invatare este privit din punct de vedere al stiintei$
9.2 Un odel al in!atarii
#lecind de la definitia lui *imon, se pote construi un model simplificat al procesului de
invaatare care permite si clasificareaa diverselor tipuri de invatare automata$ ,ediul ofera stimuli
sau informatie elementului de invatare (-I), elementul de invatare foloseste aceasta informatie
pentru a imbunatati cunostintele (e'plicite) din baza de cunostinte si elementul de prelucrare (-#)
foloseste baza de cunostinte pentru a rezolva problema$ In final, infomatia obtinuta in incercarea
de a rezolva problema poate servi caa .feedbac/. pentru elementul de invatare$ ,ediul, baza de
cunostinte si elementul de prelucrare determina natura problemei particulare de invatare si deci
functiile particulare pe care elementul de invatare trebuie sa le realizeze$
,ediu
(profesor)
-lement de
invatare
*timuli
(informatie)
0aza de
cunostinte
-lementul de
prelucrare
(actiune)
-valuator al
prelucrarilor
1eedbac/
informatie
prelucrare
"i#ura 9.1 Un odel $ipli%icat al proce$ului de in!atare
9.2.1 Mediul
,ediul influenteaza procesul de invatare prin nivelul si calitatea informatiei oferite$ Nivelul
informtiei se refera la gradul de generalitate al acesteia (abstractdetaliat)$ -lementul de invatare
are rolul de a reduce diferenta dintre nivelul la care informatia este transmisa de mediu si nivelul
la care elementul de prelucrare o poate utiliza pentru a rezolva problema$ 2aca elementul de
invatare primeste sfaturi generale (abstracte) trebuie sa completeze detaliile astfel incit elementul
de prelucrare sa poata interpreta informatia intr-o situatie data, iar daca elementul de invatare
primeste informatii specifice despre o situatie particulara, elementul de invatare trebuie sa
generalizeze aceasta informatie (prin ignorarea detaliilor nesemnificative) pentru a g"ida
elementul de prelucrare intr-o clasa mai larga de situatii$
-lementul de invatare trebuie sa faca presupuneri (deoarece cunostintele lui sint imperfecte),
adica sa formeze ipoteze despre cum sa reduca diferenta$ 2upa aceasta, sistemul trebuie sa
primeasca un .feedbac/. pe baza caruia sa evalueze ipotezele formate$ In acest fel, un sistem de
invatare invata prin incercare si eroare$
*e pot identifica patru tipuri de invatare:
!
(1) Invatare prin memorare$ ,ediul ofera informatii e'act la nivelul elementul de
prelucrare (al problemei de rezolvat), deci nu trebuie sa se formeze ipoteze$
(!) Invatare prin instruire$ Informatia din mediu este abstracta sau generala si
elementul de instruire trebuie sa presupuna (sa genereze ipoteze pentru) detaliile
care lipsesc$
()) Invatarea din exemple$ Informatia din mediu este specifica si detaliata, iar
elementul de invatare trebuie sa formeze ipoteze despre reguli generale$
(3) Invatarea prin analogie$ Informatia din mediu este relevanta numai pentru probleme
similare si elmentul de invatare trebuie sa descopere analogia si sa formeze ipoteze
despre reguli similare pentru problema curenta$
2in punct de vedere al calitatii informatiei oferite de mediu, aceasta poate fi aleatorie sau
nu, cu zgomot sau nu, selectata cu gri(a de profesor sau nu$
9.2.2 &aza de cuno$tinte
#rocesul de invatare este influentat de forma si continutul cunostintelor din baza de cunostinte$
2in punct de vedere al formei conteaza metoda de reprezentare a cunostintelor si capacitatea de
e'tensibilitate a reprezentarii$ #entru ca programul de invatare sa poata utiliza e'plicit
cunostintele dobindite, trebuie sa e'iste o meta-descriere care sa arate cum sint structurate
cunostintele$ 4neori meta-cunostintele sint introduse e'plicit ca parte a baza de cunostinte, alteori
sint codificate implicit$ *copul acestora este de a permite elementului de prelucrare sa-si modifice
propriile reprezentari prin adaugarea de noi termeni in vocabular si noi structuri de reprezentare$
5ontinutul bazei de cunostinte trebuie sa specifice initial cunostinte despre problema, care sa
a(ute la formarea, testsrea si rafinarea ipotezelor$
9.2.' Eleentul de prelucrare
-lementul de prelucrare depinde de comple'itatea tipului de problema de rezolvat: clasificare sau
predictie pe baza unui singur concept, sinteza conceptelor multiple, probleme de planificare, deci
sinteza unor secvecte de e'ecutie a actiunilor$ 6 componenta importanta care influenteaza
elementul de prelucrare este evaluatorul actiunilor deoarece elementul de prelucrare trebuie sa
aiba o posibilitate de a-si valida sau corecta ipotezele facute$ 7numite sisteme de invatare au
cunostinte separate pentru evaluare (de e'emplu sistemul 7, are reguli euristice care determina
interesul descoperirii de noi concepte)$ 7lte sisteme asteapta de la mediu sau profesor un standard
de evaluare pentru a compara ipoteza curenta (de e'emplu in sistemele de invatare din e'emple
standardul de evaluare e'tern este clasificarea corecta a fiecarui e'emplu)$
9.2.( E)eple de tipuri de in!atare
Invatarea prin memorare$ *istemul de invatare nu prelucreaza informatia pentru a o intelege
deoarece aceasta este data c"iar sub forma in care poate fi utilizata de -#$ -I doar memoreaza
informatia pentru o utilizare ulterioara$$ 4n e'emplu este sistemul de invatare a lui *amuel ce isi
imbunatateste performantele in (ocul de sa" prin memorarea fiecarei pozitii de pe tabla de sa" ce
)
a fost evaluata pozitiile anterior memorate sint utilizate pentru cresterea vitezei si pentru
cresterea numarului de mutari investigate in avans$
Invatarea prin instruire directa$ Informatia primita din mediu este abstracta sau generala$
-lementul de invatare trebuie sa o transforme intr-o forma utilizabila de elementul de prelucrare$
7ceasta transformare se numeste operationalizare$ *istemul trebuie sa inteleaga si sa interpreteze
cunostintele de nivel ridicat, apoi sa le coreleze cu ceea ce stie de(a (8-9-*I7*, 166)$ *istemul
166 ce invata reguli de (ucat carti, trebuie sa operationalizeze indicatii strategice de tipul .-vita
sa iei puncte. in strategii specifice de tipul .#une o carte mai mica decit orice carte (ucata pina in
acest moment.$
Invatarea din exemple$ *istemul trebuie sa generalizeze e'emplele in reguli de nivel mai ridicat
ce pot fi aplicate in g"idarea elementului de prelucrare$ 4n program care invata conceptul de
perec"e intr-un (oc de carti, trebuie sa sintetizeze din doua e'emple de tipul:
3 pica 3 trefla 5 caro & cupa
& pica 6 trefla 6 caro 9 cupa
conceptul de descriere a unei perec"i: doua carti de acelasi rang, indiferent de culoare si de
valoarea celorlalte carti$
Invatarea prin analogie$ 7cest tip de invatare, putin studiat pina in prezent, ridica probleme ca:
ce este analogia, cum sint recunoscute analogiile, cum se transfera cunostintele relevante$ 4n
sistem cu o baza de cunostinte continind cunostinte despre diagnosticarea bolilor umane poate
invata prin analogi diagnosticarea defectelor din calculatoare, prin corelarea simptomelor
pacientilor cu disfunctiuni ale calculatorului, a tratamentului unei boli cu o metoda de depanare,
etc$
9.' In!atarea prin eorare
Invatarea prin memorare consta in salvarea cunostintelor noi a$i$ in momentul in care acestea sint
din nou necesare singuara problema sa fie regasirea lor si nu calculul sau inferarea acestora$
-lementul de prelucrare rezolva problema iar elementul de invatare tine minte problema si solutia
acesteia$ -lementul de prelucrare poate fi vazut ca o functie f care considera un element de intrare
(: ,$$$, : )
1 n
si calculeaza un sablon de iesire
(; ,$$$,; )
1 p
iar invatarea consta in memorarea
perec"ii asociate
<(: ,$$$, : )(; ,$$$, ; )=
1 n 1 p
$ In timpul unor calcule ulterioare care necesita
f (: ,$$$, : )
1 n
elementul de prelucrare poate regasi
(; ,$$$,; )
1 p
din memorie in loc sa-l calculeze$
(: ,$$$, : ) (; ,$$$, ; ) <(: ,$$$, : )(; ,$$$,; )=
*ablon de
intrare
1unctii de
prelucrare
*abloane de
iesire
#erec"e asociata
1 n
f
1 p
depune
1 n 1 p

7sa cum calculele pot fi reduse la tabele de corespondente de valori, tot asa acest tip de invatare
poate fi privit ca reducerea deductiilor la asocieri de valori$ #roblemele care apar in acest tip de
invatare sint:
3
(1) 6rganizarea memoriei in asa fel incit regasirea sa fie mai rapida decit calculul sau
deductia$
(!) *tabilitatea mediului (informatia memorata sa fie valabila si ulterior) realizata fie
prin monitorizarea sc"imbarilor mediului si actualizarea cunostintelor memorate, fie
prin verificarea valabilitatii cunostintelor la fiecare regasire$
()) -valuarea informatiei inaintea fiecarei memorari sau memorarea tuturor
informatiilor si eliminarea ulterioara a acelora ce se dovesesc a nu mai fi utile$
*e prezinta in continuare ca e'emplu programul de (ucat sa" a lui *amuel$ #rogramul
contine regulile de (ucat sa" corect si trebuie sa invete sa (oace sa" bine prin memorarea si
regasirea pozitiilor pe tabla de sa" intilnite in (ocuri anterioare$ *trategia de rezolvare a problemei
este cautarea intr-un arbore de (oc minma' in care se inspecteaza toate urmatoarele trei miscari
posibile si se foloseste o functie de evaluare statica pentru a estima miscrea cea mai buna de
e'ecutat$ #rogramul memoreaza fiecare miscare selectata impreuna cu valoarea functiei de
evaluare$
7 0
5 2
>a reluarea (ocului, in momentul intilnirii unei aceleiasi pozitii (7), aceasta nu se mai
evalueaza ci se utilizeaza valoarea de(a memorata$ 7vanta(ul principal al acestei abordari consta
insa in faptul ca valoarea memorata pentru pozitia 7 este o mai buna estimare a sanselor de cistig
prin alegerea acestei mutari decit daca s-ar aplica din nou functia de evaluare pentru 7 daca
valoarea memorata pentru 7 intervine in calculul estimarii unei mutari :, estimarea lui : se va
face pe baza inspectarii a 6, 9, $$$ mutari in avans$ 7ceasta abordare imbunatateste adincimea
efectiva de cautare pentru mutarea :$
7 -
2
5
#rogramul a memorat un numar de apro'imativ 5)$000 de pozitii in urma mai multor partide
succesive iar performantele lui au a(uns la nivelul unui (ucator mediu de sa"$ *-a estimat ca
programul ar trebui sa a(unga sa memoreze un numar de apro'imativ 1 milion de pozitii pentru a
atinge nivelul de competenta a unui campion de sa"$
9.( In!atarea prin in$truire directa
5ercetarile in domeniul invatarii prin instruire s-au ocupat de dezvoltarea unor sisteme ce accepta
sfaturi la nivel abstract si le transforma in reguli ce pot g"ida efectiv elementul de prelucrare,
incercind astfel automatizarea completa a procesului de instruire (3$1)$ #e de alta parte, tot in
acest tip de invatare pot fi incluse si cercetarile in domeniul dezvoltarii de instrumente de
ingineria cunostintelor cum ar fi editoare de baze de cunostinte, depanatoare simbolice ale
procesului de deductie, verificatoare ale consistentei bazei de cunostinte, etc$ (3$!)$ In aceste
abordari e'pertul este o parte integranta a sistemului de instruire succesul comercial al actualelor
medii de dezvoltare a sistemelor e'pert a dovedit viabilitatea acestor directii de cercetare$
9.(.1 Autoatizarea in$truirii directe
-tapele necesare in automatizarea instruirii directe sint:
(1) 5erere de sfaturi de la e'pert$
(!) Interpretarea sfaturilor si transformarea lor in reprezentare interna$
()) 6perationalizare, i$e$ transformarea sfaturilor intr-o forma direct utilizabila de
elementulde prelucrare$
(3) Integrarea cunostintelor in baza de cunostinte$
(5) -valuarea actiunilor efectuate de elementul de prelucrare$
*i$teul "OO
*istmul 166 (?$ ,osto@) invata reguli din domeniul (ocurilor de carti pe baza sfaturilor date de
un e'pert$ 7ctivitatea sistemului poate fi vazuta ca o activitate de planificare in care un sfat de
tipul .-vita sa iei puncte. este interpretat ca un scop iar programul trebuie sa dezvolte un plan
e'ecutabil pentru a realiza acest scop$ 2ificultatea consta in faptul ca scopul poate fi prost definit
sau imposibil de realizat deci programul trebuie sa dezvolte strategii apro'imative$ *istemul 166
nu realizeaza pasul (!) care ar consta in traducerea sfaturilor din limba( natural in forma interna,
ci este necesar ca utilizatorul sa prezinte sfaturile direct in forma de reprezentare folosita de
sistem$ 2esi contine o baza de cunostinte cu reguli de transformare a sfaturilor generale in reguli
specifice si un interpretor de aplicare a acestor reguli, utilizatorul trebuie sa indice ce reguli sa se
aplice si ce parte a e'presiei (sfatului) sa se transforme practic strategia de control a sistemului
este indicata de utilizator$ 5u toate aceste limitari drastice, programul a permis o analiza detaliata
a te"nicilor necesare operationalizarii$
6
0aza de cunostinte a sistemului contine: concepte ale domeniului cum ar fi carte, culoare,
rang, levata, (ucator, preia sfaturi sub forma de restrictii cum ar fi fiecare (ucator pune o carte la
culoare, (ucatorul cu cartea de rang cel mai mare cistiga levata sfaturi sub forma de euristici cum
ar fi preia toate punctele dintr-un (oc, daca nu se pot prelua toate punctele dintr-un (oc atunci
preia cit mai putine puncte$
4n e'emplu de operationalizare a sfatului .-vita sa iei puncte. este:
(a) pentru a evita sa iei puncte in general, trebuie sa eviti sa iei puncte in levata curenta
(b) daca o levata contine puncte, trebuie sa incerc sa nu o preiau
(c) pot sa fac (b) prin evitarea cartii cistigatoare
(d) pot sa realizez (c) (ucind o carte mai mica decit cele (ucate pina in prezent$
*e aplica deci o strategie de reducere a problemelor pina cind sfatul se poate aplica direct
la situatia data$ #rin operationalizare sfatul initial
(evita (iaApuncte eu) (levata))
se transforma in
(scop (not (or <inAtimpul (fiecare ( ((ucatori) ((oacaAcarte ()) (iaApuncte eu)=
<inAtimpul (iaAlevata (cistigatorAlevata)) (iaApuncte eu)=)))
iar prin alte operationalizari succesive, forma finala este
(scop (implicatie (and (carteAmareAculoare (carte eu)) <posibil (levataAareApuncte)=)
<carteAmica (carte eu)=))
9.+ In!atarea prin inductie ,din e)eple-
9.+.1 Principii de baza
#rocesul inductiv poaate fi descris simbolic prin urmatorul model$ 1ie # si B doua predicate daca
se constata ca
#(a ), #(a ),$$$, #(a )
1 ! /
se poate generaliza prin inductie ( ') #(') $ ,ai general,
daca se observa implicatiile
#(a ) B(b ), #(a ) B(b ),$$$, #(a ) B(b )
1 1 ! ! / /

se poate
generaliza prin inductie ( ', C) #(') B(C) $ >a formarea unei ipoteze generalizate despre o
clasa completa (posibil infinita) prin observarea numai a unei parti a membrilor ei, se deduce o
concluzie incerta, aceasta fiind forma esentiala a invatarii inductive$
1iind date:
(1) observatii (e'emple)
(!) cunostintele de baza ale domeniului
()) scopuri sau criterii de evaluare
&
elementul de invatare trebuie sa gaseasca o asertiune inductiva sau un concept care implica toate
e'emplele observate si este consistent atit cu (!) cit si cu ())$
*e definesc o serie de notiuni cu care se opereaza frecvent in invatarea inductiva$
Obiect - 6 entitate ce poate fi descrisa printr-o serie de atribute si relatiile intre acestea$
Clasa - 1iind dat un univers de obiecte 4, o clasa este un subset al lui 4$
Concept - 6 descriere a unei clase sau o regula care partitioneaza universul de obiecte 4
in doua multimi, una care satisface descrierea sau regula si alta ce nu satisface$
Ipoteza - o asertiune despre anumite obiecte din universul 4 este un concept tentativ care
imparte universul de obiecte$
Concept tinta - 4n concept care clasifica corect toate obiectele din univers$
Exemple (instabte) pozitive - e'emple de obiecte care apartin conceptului tinta$
Exemple (instante) negative - e'emple de obiecte care nu apartin conceptului tinta$
Regula de clasificare consistenta - o regula care este adevarata pentru toate e'emplele
pozitive si falsa pentru toate e'emplele negative$
Inductie - procesul de formare a claselor$
>ocalizarea unui singur concept intr-un univers care contine n obiecte este o problema de
cautare e'ponentiala deoarece universul tuturor multimilor di"otomice (5 si 4-5) continind n
obiecte poate fi reprezentat ca o structura de latice cu n noduri, deci !
n
posibilitati$ 5autarea
regulilor de descriere a unui concept este g"idata de multimea e'emplelor$ *e pot deci identifica
doua spatii de cautare intr-o problema de invatare inductiva: spatiul instantelor (al exemplelor) si
spatiul conceptelor (al regulilor)$ 4n sistem de invatare din e'emple poate fi vazut ca un sistem
de cautare simultana si cooperativa in aceste doua spatii$ 2oua aspecte principale sint legate de
spatiul conceptelor: modalitate de reprezentare a acestuia si strategia de cautare$ ,etoda de
reprezentare a spatiului conceptelor este importanta deoarece aceasta trebuie sa permita realizarea
usoara a diferitelor prelucrari din sistem$
In timpul procesului de invatare pot apare doua procese e'ecutate alternativ: generalizare si
specializare$ Deneralizarea reprezinta formarea descrierii sau regulii pentru o clasa mai larga
decit aceea care este consistenta cu e'emplele, iar specializarea reprezinta formarea unei descrieri
sau reguli mai restrictive dar consistenta cu e'emplele$ *pecializarea poate fi necesara daca
elementul de invatare supra-generalizeaza o ipoteza supra-generalizata este inconsistenta
deoarece include si e'emple negative pe linga cele pozitive$
-'emple de metode de specializare:
sc"imbarea variabilelor (dintr-un concept) in constante
adaugarea unei con(unctii
eliminarea unei dis(unctii
E
-'emple de metode de generalizare:
sc"imbarea constantelor in varibile
eliminarea conditiilor din descriere (eliminarea con(unctiilor)
adaugarea unei alternative (adaugarea dis(unctiilor)
parcurgerea in sus a arborelui de concepte, in cazul in care universul de obiecte este
structurat ta'onomic
inc"iderea intervalului daca doua sau mai multe e'emple au valori numerice
(d , d )
i (
se
ordoneaza aceste valori si se considera ca valoare in concept intervalul
<min(d , d ), ma'(d , d )=
i ( i (
generalizarea constructiva o serie de predicate
-ste#e(f , f ) -ste#e(f , f ) -ste#e(f , f )
! 1 ) ! 3 )

se poate generaliza la
-ste#rimul(f ) -ste4ltimul(f )
3 1

,etodele de cautare in spatiul conceptelor pot fi clasificate in functie de modul in care


rafineaza multimea I de ipoteze curente: metode conduse de date, in care e'emplele de invatare
g"ideaza cautarea, si metode conduse de modele, in care un model apriori g"ideaza cautarea$ In
continuare se vor prezenta citiva algoritmi de invatare care folosesc metoda de cautare condusa de
date$
9.+.2 *i$teul de in!atare .
7cest sistem invata un singur concept din e'emple pozitive si negative, notate cu e'F si respectiv
e'-, utilizind o reprezentare unica a acestuia$ In general invatarea conceptelor simple are ca scop
rezolvarea problemelor de clasificare si predictie$ 6data sintetizat conceptul, acesta poate fi
utilizat pentru a clasifica (sau a prezice iesirea asociata pentru) noi instante ca e'emple pozitive
sau negative$
,ultimea I de ipoteze curente este initializata astfel incit sa contina toate ipotezele
consistente cu primul e'emplu pozitiv (ipotezele se refera la un singur concept tentativ)$
-'emplele pozitive si cele negative urmatoare sint e'aminate pe rind si identificate cu multimea
de ipoteze pentru a determina generalizarile si specializarile necesare$ 7lgoritmul folosit face
parte din categoria algoritmilor cu .decizii intirziate., deoarece setul de ipoteze I nu se modifica
decit in cazul in care sistemul este fortat sa faca aceasta modificare pe baza unui e'emplu
particular$ -'emplele pozitive forteaza algoritmul sa generalizeze, iar e'emplele negative forteaza
algoritmul sa specializeze$ *patiul conceptelor se restringe gradual in acest mod pina cind include
un singur concept$ 7lgoritmul %, creat de #$ %inston, foloseste metoda de cautare condusa de
date, strategia de control fiind cautarea in adincime$
*copul sistemului este de a invata concepte din lumea blocurilor$ 1orma unui obiect din
lumea blocurilor este prezentata initial sub forma de desen, care este apoi interpretat intr-o
9
descriere a obiectului sub forma de retea semantica$ %inston foloseste retelele semantice pentru
a reprezenta atit e'emplele, cit si conceptele si o parte a cunostintelor initiale despre problema$
5onceptele initiale (predefinite) sint organizate intr-o ierar"ie ta'onomica$
*e considera in continuare functionarea sistemului pentru invatarea conceptului de Arc din
lumea blocurilor$ 7lgoritmul incepe intotdeauna cu un e'emplu pozitiv tipic$
a
b c
7rc
a
acoperis
b
c
parte stinga
parte dreapta
sustine
sustine
la dreapta
la stinga
1ie apoi urmatorul e'emplu un e'emplu negativ limita, adica un e'emplu care nu face parte
din clasa datorita unor diferente minime$
a
b c
-'- 1
a
acoperis
b
c
parte stinga
parte dreapta
la dreapta
la stinga
2in compararea celor doua structuri se deduce ca relatia sustine este esentiala pentru
concept deci se modifica in model in trebuie sa sustina (euristica legaturii obligatorii)$ 4rmatorul
e'emplu este tot un e'emplu negativ limita$
10
a
b c
a
acoperis
b
c
parte stinga
parte dreapta
trebuie sa sustina
la dreapta
la stinga
-'- !
trebuie sa sustina
alaturi
2in comparare cu modelul se deduce ca relatia alaturi intre parte singa si parte dreapta este
interzisa, deci relatia devine nu alaturi (euristica legaturii interzise)$ 2in arborele ta'onomic de
concepte stie ca a IA paralelipiped$ 4rmatorul e'emplu este un e'emplu pozitiv care
generalizeaza$
a
b c
a
acoperis
b
c
parte stinga
parte dreapta
trebuie sa sustina
la dreapta
la stinga
-'F )
trebuie sa sustina
nu alaturi
piramida
I*7
2eoarece e'ista relatiile paralelipiped IA bloc si piramida IA bloc, se poate aplica
euristica parcurgerii in sus a arborelui de concepte si se a(unge la concluzia ca a A!O bloc$ 2aca
paralelipiped si piramida ar fi singurele clase de obiecte e'istente, fara ca acestea sa fie
organizate ierar"ic, s-ar putea aplica euristica largirii domeniului prin introducerea unei noi clase
care sa le insumeze pe acestea doua$
,odelul final este urmatorul:
11
a
acoperis
b
c
parte stinga
parte dreapta
trebuie sa sustina
la dreapta
la stinga
7rc
trebuie sa sustina
nu alaturi
7G6
bloc
paralelipiped
paralelipiped
I*7
I*7
Al#orit: 7lgoritmul de invatare %
*pecializare
1$ daca e'ista o singura diferenta importanta intre concept si e'emplu
atunci
1$1$ daca conceptul are o legatura care nu este in e'-
atunci foloseste euristica legaturii obligatorii
1$!$ daca e'- are o legatura ce nu este in concept
atunci foloseste euristica legaturii interzise
!$ alt%el ignora e'emplul
$%ir$it$
Deneralizare
1$ daca diferenta este legatura indica o clasa 51 in concept clasa 5! din e'F
atunci
1$1$ daca 51 si 5! sint clase intr-un arbore ta'onomic
atunci foloseste euristica parcurgerii in sus a arborelui de concepte
1$!$ alt%el
1$!$1$ daca 51 si 5! formeaza o multime e'"austiva
atunci foloseste euristica eliminarii legaturii
1$!$!$ alt%el foloseste euristica largirii domeniului de valori
!$ daca diferenta este legatura lipseste fie in concept fie in e'F
atunci foloseste euristica eliminarii legaturii
)$ daca diferenta este valori numerice diferite $au o valoare numerica si un interval
atunci foloseste euristica inc"iderii intervalului
3$ daca alta diferenta
atunci ignora e'emplul
$%ir$it$
1!
Invatare
1$ Initializeaza descrierea conceptului curent I cu reteaua semantica corespunzatoare
primului e'emplu
!$ repeta
!$1$ 5onsidera urmatorul e'emplu si converteste-l intr-o retea semantica
!$! Identifica e'emplul cu I pentru a obtine subgraful ma'imal comun
HI foloseste pentru aceasta un algoritm
de identificare a doua grafuri IH
!$)$ 1oloseste subgraful comun pentru a stabili cum se modifica I
!$3$ daca e'emplul este pozitiv
atunci
!$3$1$ Deneralizare
!$3$!$ daca e'ista mai multe posibilitati de generalizare
atunci alege una si depune restul intr-o lista de bac/trac/
!$5$ daca e'emplul este negativ
atunci *pecializare
pina nu mai sint e'emple
$%ir$it$
5aracteristicile algoritmului %:
6data ce a invatat ceva, nu mai uita
2aca e'ista incertitudini asupra a ceea ce trebuie sa invete, nu se mai invata nimic
7lgoritmul nu poate invata concepte dis(unctive (
#(') B(C)
) datorita strategiei
deciziilor intirziate pe baza careia algoritmul generalizeaza numai in cazul in care este
fortat de un e'emplu pozitiv un e'emplu dis(unctiv ofera posibilitatea evitarii
generalizarii, astfel incit algoritmul nu este fortat niciodata sa generalizeze$
9.+.' *i$te de in!atare a conceptelor di$/uncti!e
4nele concepte nu pot fi descrise decit dis(unctiv, de e'emplu: unc"iul este fie fratele mamei fie
fratele tatalui unui copil$ 7lgoritmul descris in continuare, implementat la ,I8, invata descrieri
de concepte in forma normal dis(unctiva$ ,etoda de reprezentare a cunostintelor este aceea a
cadrelor, cu urmatoarea structura:
nue0concept: ( descriere in limba( natural )
parte0poziti!a:
clu$ter: de$criere:
e)eple:
clu$ter: de$criere:
e)eple:
1)
$$$
parte0ne#ati!a:
e)eple:
Jumele conceptului tinta este dat, iar descrierea este construita pe baza unor e'emple
pozitive si negative$ 8oate e'emplele sint memorate in structura, deoarece vor fi refolosite pe
parcursul algoritmului$
*e prezinta in continuare functionarea algoritmului pe un caz concret$ 1ie setul de e'emple:
1$ (galben piramida lucios mare F)
!$ (bleu sfera lucios mic F)
)$ (galben piramida mat mic F)
3$ (verde sfera mat mare F)
5$ (galben cub lucios mare F)
6$ (bleu cub lucios mic -)
&$ (bleu piramida lucios mare -)
2upa primul e'emplu pozitiv se creaza ipoteza
nue0concept: (galben sau sfera)
parte0poziti!a:
clu$ter: de$criere: (galben, piramida, lucios, mare)
e)eple: 1
parte0ne#ati!a:
e)eple:
*e considera al doilea e'emplu$ 7cesta fiind un e'emplu pozitiv, se realizeaza o descriere
care combina cele doua e'emple pozitive:
nue0concept: (galben sau sfera)
parte0poziti!a:
clu$ter: de$criere: (lucios)
e)eple: 1, !
parte0ne#ati!a:
e)eple:
2upa considerarea e'emplului ), descrierea devine
nue0concept: (galben sau sfera)
parte0poziti!a:
clu$ter: de$criere: ( )
e)eple: 1, !, )
parte0ne#ati!a:
e)eple:
13
4rmatoarele doua e'emple pozitive nu mai adauga nimic la descriere (se observa o
suprageneralizare a algoritmului de invatare) ci doar se completeaza slotul e'emple al primului
cluster cu e'emplele pozitive 3 si 5$ -'emplul 6 este un e'emplu negativ si este inconsistent cu
ipoteza curenta, ipoteza care include orice descriere$ In consecinta, elementul de invatare trebuie
sa-si revizuiasca ipoteza pentru a e'clude acest e'emplu negativ din descrierea partii pozitive$
7ceasta se realizeaza prin impartirea primului cluster in doua noi clustere care sint fiecare in
parte compatibile cu e'emplul negativ 6$ 1iecare nou cluster corespunde unui termen dis(unctiv
din descriere$ #entru a construi noi clustere, algoritmul utilizeaza e'emplele memorate (prelucrate
pina in acest moment) in primul cluster$ 7ceste e'emple sint impartite si combinate in asa fel
incit cele doua noi clustere obtinute sa fie compatibile cu e'emplul negativ$ >a reconstruirea
clusterelor se incepe prelucrarea e'emplelor in ordine inversa a prezentarii lor$ 2upa prelucrarea
e'emplelor 5 si 3 se obtine:
nue0concept: (galben sau sfera)
parte0poziti!a:
clu$ter: de$criere: (mare)
e)eple: 5, 3
parte0ne#ati!a:
e)eple:
5ind se incearca cuprinderea e'emplului pozitiv ), apare o inconsistenta cu e'emplul
negativ, deci acesta trebuie pus intr-un nou cluster$ 7celasi lucru se intimpla daca se incearca
adaugarea e'emplului pozitiv ! la primul cluster (descrierea devine ( ) deci inconsistenta cu
e'emplul negativ), iar daca se adauga e'emplul pozitiv ! la al doilea cluster, descrierea devine
(mic), deci inconsistenta cu e'emplul negativ$ 7ceasta forteaza crearea unui nou cluster in final
se considera si e'emplul pozitiv 1 si acesta se poate adauga consistent la primul cluster si la al
doilea cluster$ 2upa reorganizarea clusterelor, structura este:
nue0concept: (galben sau sfera)
parte0poziti!a:
clu$ter: de$criere: (mare)
e)eple: 5, 3, 1
clu$ter: de$criere: (galben, piramida)
e)eple: ), 1
clu$ter: de$criere: (bleu, sfera, lucios, mic)
e)eple: !
parte0ne#ati!a:
e)eple: 6
>a prelucrarea e'emplului negativ & se observa ca primul cluster este inconsistent cu acesta,
deci primul cluster trebuie la rindul lui impartit$ *tructura rezultata este:
nue0concept: (galben sau sfera)
parte0poziti!a:
15
clu$ter: de$criere: (galben, lucios, mare)
e)eple: 5, 1
clu$ter: de$criere: (verde, sfera, mat, mare)
e)eple: 3
clu$ter: de$criere: (galben, piramida)
e)eple: ), 1
clu$ter: de$criere: (bleu, sfera, lucios, mic)
e)eple: !
parte0ne#ati!a:
e)eple: 6, &
8oate noile clustere sint acum consistente cu cele doua e'emple negative$ 2ar clusterele nu
sint ma'imale deoarece e'ista posibilitatea reunirii unor clustere fara a crea inconsistente cu
e'emplele negative$ 7ceasta ma'imalitate se obtine prin retinerea primului cluster si reunirea sau
copierea clusterelor succesive$ 9eunirea se face numai in cazul in care nu apar inconsistente cu
e'emplele negative$ *tructura finala a conceptului este
nue0concept: (galben sau sfera)
parte0poziti!a:
clu$ter: de$criere: (galben)
e)eple: 5, ), 1
clu$ter: de$criere: (sfera)
e)eple: 3, !
parte0ne#ati!a:
e)eple: 6, &
*e pot crea clustere si pentru partea negativa$ acestea ar permite invatarea unor concepte de
tipul .nici galben nici sferic. folosind pentru partea negativa aceeasi structura de clustere si
aceeasi metoda ca si pentru partea pozitiva$
9.+.( In!atarea conceptelor %olo$ind arbori de decizie. *i$teul I1'.
*istemul I2) a fost dezvoltat de 9$ Buinlan pentru a invata clasificarea obiectelor din e'emple
pozitive si negative$ *istemul I2) s-a bazat pe versiunea initiala a acestui algoritm de invatare,
algoritmul 5>* a lui -$ +unt$
7lgoritmul porneste de la o multime de obiecte
6 K Lo ,$$, o M
1 n
dintr-un univers 4 in care
fiecare obiect este descris de un set de m atribute cu valorile lor$ 4n atribut 7
(
are un numar finit
de valori posibile
a ,$$$, a
(1 (/
$ *e selecteaza un atribut 7
(
si se creaza un nod intr-un arbore pentru
a-l reprezenta nodul are /
(
succesori, fiecare succesor corespunzind uneia din valorile a
(i
$ *etul
de obiecte 6 este apoi partitionat in cel mult /
(
subseturi pe baza valorilor de atribute$ 7ceeasi
procedura este apoi repetata recursiv pentru fiecare din aceste subseturi, folosind celelalte m-1
atribute pentru a forma alte noduri in arbore$ #rocesul se opreste in momentul in care toate
obiectele au fost partitionate in clase omogene, i$e$ fiecare clasa contine numai e'emple pozitive
16
sau numai e'emple negative ale aceluiasi concept, care etic"eteaza si ultimele noduri (frunze)
generate in arbore$
7rborele de decizie rezultat poate fi apoi utilizat pentru a clasifica noi obiecte necunoscute
pe baza unei descrieri a acestora cu valorile celor m atribute$ 7lgoritmul de invatare poate fi
utilizat si pentru invatarea conceptelor dis(unctive, fiecare cale in arbore putind reprezenta o
dis(unctie$ In algoritmul prezentat in continuare se considera cazul general al e'istentei mai
multor clase in care se incadreaza e'emplele de invatare, 51,$$$, 5n$ 7lgoritmul intoarce arborele
de decizie construit pe baza multimii de e'emple de invatare -'emple, fiecare e'emplu fiind
caracterizat de valori ale multimii de atribute 7tribute$
Al#orit2 Invatare folosind arbori de decizie
5onstructie(-'emple,7tribute)
1$ daca toate e'emplele din -'emple sint in aceeasi clasa 5i
atunci intoarce un nod frunza etic"etat cu clasa 5i
!$ daca 7tributeK
atunci intoarce un nod frunza etc"etat cu dis(unctia dintre clasele carora apartin e'emplele
(5i1 5i! $$$)
)$ *electeaza un atribut 7 din 7tribute si stabileste 7 ca radacina a arborelui curent
3$ 7tribute 7tribute - 7
5$ pentru fiecare valoare N( a atributului 7 e)ecuta
5$1 5reaza o ramura succesoare a radacinii etic"etata cu N(
5$! 1ie -:( e'emplele din -'emple care au valoarea N( pentru atributul 7
5$) 7taseaza rezultatul intors de 5onstructie(-:(, 7tribute) ramurii curente
6$ Intoare arborele curent astfel obtinut
$%ir$it$
7cest algoritm de baza a fost modificat de Buinlan in urmatorul fel:
un numar relativ mic de e'emple este selectat din multimea de e'emple
se construieste un arbore de decizie preliminar
arborele este testat cu toate e'emplele pentru a vedea daca e'ista e'ceptii
(neconcordante cu arborele format)
se formeaza un nou set de e'emple care contine setul de e'emple selectat initial si o
parte din e'emplele ce sint e'ceptii (inconsistente)
pe baza acestui nou set se reconstruieste arborele de decizie
procesul se repeta pina cind nu mai e'ista inconsistente
7lta diferenta importanata in I2) fata de 5>* consta in modul in care atributele sint
ordonate in procesul de clasificare$ *e selecteaza intii atributul care realizeaza o discriminare
1&
optima$ *e calculeaza o estimare a cistigului de informatie a unui atribut, pe baza tuturor
atributelor disponibile, apoi se selecteaza atributul cu merit maxim$ 7cest atribut este considerat
radacina a arborelui de decizie$ In continuare atributele se selecteaza in ordine descrescatoare a
meritului$
7cest algoritm poate fi vazut drept o cautare a conceptului tinta in spatiul de cautare al
tuturor conceptelor posibile$ ,ultimea tuturor arborilor de decizie poate defini acest spatiu de
cautare$ 6 operatie de avans in cautare in acest spetiu corespunde adaugarii unui test (ramura)
arborelui de decizie$ I2) implementeaza o forma de ."ill-climbing. in spatiul tuturor arborilor
posibili: adauga un subarbore arborelui curent si continua cautarea$ Ju face cautare cu reveniri$
7cest lucru face ca algoritmul sa fie e'trem de eficient il face de asemenea puternic dependent
de criteriul utilizat in selectarea atributelor in vederea testului$ 7rborele optim (de inaltime
minima) se obtine daca atributele sunt selectate in ordine descrescatoare a acastigului
informational$
5alculul cistigului informational al unui atribut se face in urmatorul mod$ 1ie
n este numarul de obiecte din 4 (numarul de e'emple)
" reprezinta numarul de obiecte din e'emple care apartin lui 5 " este o estimare a
probabilitatii ca un obiect din 4 sa apartina lui 5
c
(/
este numarul de obiecte care apartin lui 5 si au valoarea a
(/
pentru atributul 7
(
d
(/
este numarul de obiecte care nu apartin lui 5 si au valoarea a
(/
pentru atributul 7
(
*;,06> 1E) Of .*Cmbol. Os 1! O"
p K (c Fd ) H n
(/ (/ (/
reprezinta probabilitatea ca un obiect sa
aiba valoarea a
(/
pentru atributul 7
(
(se presupune ca obiectele au valori pentru toate
atributele, deci
p K1
(/
(

f K c H (c Fd )
(/ (/ (/ (/
reprezinta probabilitatea ca obiectele din 5 sa aiba valoarea a
(/
pentru atributul 7
(

g K1 f
(/ (/

reprezinta probabilitatea ca obiectele din 5 sa nu aiba valoarea a


(/
pentru
atributul 7
(
*e defineste:
continutul informational al clasei 5
+ (") K " log " (1 ") log (1 ")
c ! !

+ (0) K 0
c
continutul informational al valorii de atribut a
i(
+ K f log f g log g
(/ (/ ! (/ (/ ! (/

continutul informational al atributului 7
(
-(+ ) K + K p +
(/ ( med (/ (/
/

1E
cistigul informational dat de atributul 7
(
D K + +
( c ( med

1iecare D
(
este calculat si atributele sint ordonate in functie de aceste valori$ 7rborele
rezultat prin selectia atributelor in aceasta ordine va fi minimal din punct de vedere al numarului
de noduri$ 5antitatea calculata ca
+ K p log p
i ! i
i

cu
p K1
i
i

reprezinta entropia informationala, unde p


i
este probabilitatea de aparitie a unui eveniment i$ +
ofera o masura a dispersiei de aparitie a unui numar de evenimente$
E)eplu$ 1ie urmatorul set de e'emple
Jr$
1 mic cerc rosu
! mare cerc rosu
) mic triung"i galben
3 mic cerc galben
5 mare triung"i rosu
6 mare cerc galben
1ien$iune "ora Culoare Cla$i%icare
+
+

Cazul (a)$ *electarea atributelor se face in ordinea 1orma, 5uloare, 2imensiune$ *e aplica
algoritmul pe multimea initiala -

1orma
cerc triung"i
51K(1F,!F,3-,6-) 5!K()-,5-)
*e aplica algoritmul pentru atributele 5uloare, 2imensiune pe submultimea 51$
1orma
cerc triung"i
51!K(3-,6-)
5!K()-,5-)
rosu
galben
511K(1F,!F)
*e aplica algoritmul pentru 511 cum toate e'emplele din 511 sint e'emplele pozitive,
nodul se etic"eteaza cu F (sau 27)$ *e aplica algoritmul pentru 51! cum toate e'emplele din
51! sint e'emplele negative, nodul se etic"eteaza cu - (sau J4) la fel pentru 5!$ 7rborele
rezultat va avea 5 noduri si va fi:
19
1orma
cerc triung"i
rosu galben
5uloare
27 J4
J4
Cazul (b)$ *e selecteaza atributele in ordinea 2imensiune, 1orma, 5uloare$ 5onstructia arborelui
va parcurge urmatoarele etape:
2imensiune
mare mic
51K(!F,5-,6-) 5!K(1F,)-,3-)
(!)
2imensiune
mare mic
51!K(5-)
5!K(1F,)-,3-)
cerc triung"i
511K(!F,6-)
())
2imensiune
mare mic
51!K(5-)
5!K(1F,)-,3-)
cerc triung"i
5111K(!F)
rosu
galben
511!K(6-)
(3)
!0
2imensiune
mare mic
51!K(5-) 5!1K(1F,3-)
cerc triung"i
5111K(!F)
rosu
galben
511!K(6-)
cerc triung"i
5!!K()-)
(5)
2imensiune
mare mic
51!K(5-)
5!11K(1F)
cerc triung"i
5111K(!F)
rosu
galben
511!K(6-)
cerc triung"i
5!!K()-)
rosu
galben
5!1!K(3-)
7rborele rezultat pentru aceasta ordine de alegere a atributelor are 11 noduri$
2imensiune
mare mic
cerc
triung"i
rosu galben
triung"i
rosu galben
1orma 1orma
5uloare
5uloare
cerc
27 27 J4
J4
J4
J4
Calculul cistigului informational
n K 6 " K !
+ K ! log ! 3 log 3
c ! !

7tributul 7
1
cu valorile a K mic
11
si a K mare
1!
c K1
11
d K !
11
p K )H 6
11
f K1H (1F!)
11
g K1 f
11 11

+ (mic) K 0$))) log 0$))) 0$666 log 0$666


11 ! !

!1
7tribut H
valoare
/ c d p f g log f + + D
7 (2imensiune)
/ K1 (mic)
/ K ! (mare)
1
1
!
!
)H 6
)H 6
0$)))
0$)))
0$66&
0$66&
7 (1orma)
/ K1 (cerc)
/ K ! (triung"i)
7 (5uloare)
/ K1 (rosu)
/ K ! (galben)
!
0
(/ (/ (/ (/ (/ ! (/ (/ ( (
1
!
)
!
0
!
!
3 6
! 6
0 5
0
0 5
1
1
)
) 6
) 6
0 66&
0
0 )))
1
H
H
$ $
H
H
$ $
!!

S-ar putea să vă placă și