1 / 36

Invatare automata

Invatare automata. Universitatea Politehnica Bucuresti Anul universitar 2009-2010 Adina Magda Florea http://turing.cs.pub.ro/inva_10 si curs.cs.pub.ro. Curs nr. 3. Continut curs Invatarea inductiva ca problema de cautare Reprezentarea ipotezelor Reprezentarea spatiului versiunilor

adila
Download Presentation

Invatare automata

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Invatare automata Universitatea Politehnica BucurestiAnul universitar 2009-2010 Adina Magda Florea http://turing.cs.pub.ro/inva_10 si curs.cs.pub.ro

  2. Curs nr. 3 Continut curs • Invatarea inductiva ca problema de cautare • Reprezentarea ipotezelor • Reprezentarea spatiului versiunilor • Algoritmul de eliminare a candidatilor • Invatarea conceptelor disjunctive 2

  3. 1. Problema de invatare • Invatarea descrierilor de concepte pe baza exemplelor pozitive (ex+) si negative (ex-) de invatare. • Invatarea supervizata a descrierii unui concept pe baza exemplelor prin sintetizarea unei functii booleene care clasifica cu +1 (true) instantele care apartin conceptului si cu -1 (false) instantele care nu apartin conceptului. 3

  4. v1 v2 . . vm c(x) = ? T = {x1, x2, …, xn} – multime de invatare x = h h(x) h  H • Se cunosc c(x1), … c(xi),..., c(xn) (exemple pozitive sau ex+ daca c este ne-negata sau exemple negative sau ex- daca c este negata) • Trebuie sa gasim ipoteza hH (H este multimea tuturor ipotezelor) a.i. h(xi) = c(xi), i=1,n  h(xi) = c(xi), i 4

  5. 2. Spatiul versiunilor • Invatarea in spatiul versiunilor a fost propusa pentru prima oara de Mitchell (1982) • Invatarea inductiva - o cautare in spatiul conceptelor (ipoteza h de invatat este de fapt descrierea conceptului care se invata). • Algoritmul de invatare in spatiul versiunilor sau algoritmul de eliminare a candidatilor. • Caracteistici: • Invatare incrementala – prelucreaza cate un exemplu pe rand, modificand ipoteza sau multimea de ipoteze curente • Strategia decizilor amanate (least commitment) – ia o decizie de modificare numai cand este fortat sa o faca 5

  6. 3. Reprezentarea ipotezelor • Reprezentarea uzuala pentru aceasta metoda este bazata pe logica cu predicate • Obiectele din universul problemei sunt caracterizate de o serie de atribute (la fel ca in ID3) • Ipoteza h de invatat este reprezentata ca o multime de expresii logice. • Descrierea exemplelor si clasificarea acestora sunt de asemenea expresii logice. 6

  7. Reprezentarea ipotezelor • O ipoteza h este consistenta cu exemplele de invatare daca ipoteza recunoaste corect instantele pozitive ca apartinand clasei iar pe cele negative ca nefacand parte din clasa. Consistent(h,T) = (<xi, c(xi)>  T) h(xi) = c(xi) • O ipoteza poate sa nu fie consistenta cu exemplele: • un exemplu poate fi exemplu fals negativ pentru h (h clasifica exemplul ca negativ dar exemplul este pozitiv) • un exemplu poate fi exemplu fals pozitiv pentru h (h clasifica exemplu ca pozitiv dar exemplul este de fapt negativ). 7

  8. Reprezentarea ipotezelor • Spatiul versiunilorVSH,T corespunzator multimii de ipoteze H si multimii de exemple T este submultimea de ipoteze din H care sunt consistente cu toate exemplele de invatare din T. • VSH,T = { hH | Consistent(h,T)} 8

  9. Exemplu: Invatarea conceptului "Ce zi este buna pentru sport?" din exemple. Reprezentarea unei ipoteze posibile h1(x) = Cer(x,soare)  Temp(x,tmedie)  Umid(x,normala)  Vant(x, puternic)  Apa(x, calda)  Evolutie (x, lafel) 9

  10. Reprezentarea ipotezelor • Reprezentarea unei ipoteze posibile h1(x) = Cer(x,soare)  Temp(x, tmedie)  Umid(x,normala)  Vant(x, puternic)  Apa(x, calda)  Evolutie (x, lafel) • Reprezentare simplificata h1 = <soare, tmedie, normala, puternic, calda, lafel> • O ipoteza mai generala h2 = <soare, tmedie, _, _, _, lafel> spune de fapt h2(x) = Cer(x,soare)  Temp(x, tmedie)  Umid(x,y) Vant(x, z)  Apa(x, u)  Evolutie (x, lafel) 10

  11. 4. Spatiul ipotezelor • Cate ipoteze se pot forma? • Daca sunt n atribute, fiecare avand m valori atunci |H| = mn • Presupunem ca una din aceste ipoteze va fi c(x), descrierea conceptului 11

  12. Ipoteza de invatare inductiva • Ipoteza de invatare inductiva = orice ipoteza care aproximeaza functia c(x) pentru un numar suficient de mare de exemple din T va aproxima functia c suficient de bine si pentru instante necunoscute. • Invatarea conceptelor poate fi vazuta ca o cautare in spatiul H • In H se poate defini o relatie de ordine partiala "general-specific" 12

  13. 5. Generalizare si specializare • O ipoteza h2(x) este o generalizarea a unei ipoteze h1(x) daca xT h1(x)h2(x) • Se spune ca h2 este "mai generala" (are un grad de generalitate mai mare) decat h1 sau ca h2 acopera h1 • Se noteaza h2  h1 Exemplu h1(x) = Cer(x,soare)  Temp(x, tmedie)  Umid(x,normala)  Vant(x, puternic)  Apa(x, calda)  Evolutie (x, lafel) h2(x) = Cer(x,soare)  Temp(x, tmedie)  Umid(x,y)  Vant(x, z)  Apa(x, u)  Evolutie (x, lafel) • xT h1(x)  h2(x) 13

  14. Generalizare si specializare • O ipoteza h2(x) este o specializare a unei ipoteze h1(x) daca xT h2(x)h1(x) • Se spune ca h2 este "mai specifica" (are un grad de specializare mai mare) decat h1 sau ca h1 acopera h2 • Se noteaza h2  h1 14

  15. x1 = <soare, tmedie, normala, puternic, calda, lafel> + • x2 = <soare, tmedie, mare, puternic, calda, lafel> + • x3 = <ploaie, tmica, mare, puternic, calda, schimba> - • x4 = <soare, tmedie, mare, puternic, rece, schimba> + • h0 = <, , , , , > • h1 = < soare, tmedie, normala, puternic, calda, lafel> • h2 = < soare, tmedie, _, puternic, calda, lafel> • h3 = < soare, tmedie, _, puternic, calda, lafel> • h4 = < soare, tmedie, _, puternic, _, _> 15

  16. Operatori de generalizare si specializare • Inlocuirea const cu var color(ball, red) color(X, red) • Eliminarea unor literali din conjunctii shape(X, round)  size(X, small)  color(X, red) shape(X, round)  color(X, red) • Adaugarea unei disjunctii shape(X, round)  size(X, small)  color(X, red) shape(X, round)  size(X, small)  (color(X, red)  color(X, blue)) • Inlocuirea unei proprietati cu parintele din ierarhie is-a(tom, cat) is-a(tom, animal) 16

  17. Reprezentarea spatiului versiunilor • Algoritmul de invatare trebuie sa construiasca si sa mentina VSH,T - multimea de ipoteze care sunt toate consistente cu exemplele de invatare • Cum se poate reprezenta aceasta multime care poate fi foarte mare sau chiar infinita? • Multimea H este partial ordonata prin relatiile general – specific • Reprezentarea lui H se face prin mentinerea a 2 multimi frontiera = set de ipoteze care reprezinta limitele lui H: G si S 17

  18. Reprezentarea spatiului versiunilor • G VSH,T – multimea de ipotezemaxim generale • G – ipotezele care acopera toate exemplele pozitive dar nu includ nici un exemplu negativ (daca s-ar generaliza mai mult ar include cel putin un ex-) • S VSH,T - multimea de ipoteze maxim specifice • S - ipotezele care acopera toate exemplele pozitive si nu exclud nici un exemplu pozitiv (daca s-ar specializa mai mult ar exclude cel putin un ex+) • Fiecare element din spatiul versiunilor se afla intre aceste doua limite • VSH,T = { h  H | (sS) (gG) (g  h  s)} 18

  19. Algoritmul de eliminare a candidatilor 1. G ipotezele maxim generale din H 2. S  ipotezele maxim specifice din H 3. pentru fiecare exemplu de invatare dT repeta 3.1 dacad este ex+ atunci 3.1.1 elimina din G toate ipotezele inconsistente cu d 3.1.2 pentru fiecare ipoteza sS care nu este consistenta cu dexecuta - elimina s din S - adauga la S toate generalizarile minimaleh ale lui s care indeplinesc conditiile: - h este consistenta cu d - exista cel putin un membru gGa.i. gh - Elimina din S orice ipoteza care este mai generala decat alte ipoteze din S 19

  20. AEC - cont 3.2 dacad este ex- atunci 3.2.1 elimina din S toate ipotezele inconsistente cu d 3.2.2 pentru fiecare ipoteza gG care nu este consistenta cu dexecuta - elimina g din G - adauga la G toate specializarile minimaleh ale lui g care indeplinesc conditiile: - h este consistenta cu d - exista cel putin un membru din sS a.i. hs - Elimina din G orice ipoteza care este mai putin generala decat alte ipoteze din G sfarsit 20

  21. Ce se intampla la sfarsit? • S si G contin un unic element - o aceeasi ipoteza – clasificare corecta • S sau G sunt vide – nu se poate clasifica • S si/sau G contin mai multe elemente (ipoteze) – clasificare partiala 21

  22. Exemplu G0= <_, _, _, _, _, _> S0= <, , , , , > 1. <soare, tmedie, normala, puternic, calda, lafel> + G0=G1= <_, _, _, _, _, _> S1= <soare, tmedie, normala, puternic, calda, lafel> S0= <, , , , , > 2. <soare, tmedie, mare, puternic, calda, lafel> + G0=G1=G2<_, _, _, _, _, _> S2= <soare, tmedie, _, puternic, calda , lafel> S1= <soare, tmedie, normala, puternic, calda , lafel> S0= <, , , , , > 22

  23. 3. <ploaie, tmica, mare, puternic, calda, schimba> - G0=G1=G2<_, _, _, _, _, _> G3={<soare, _, _, _, _, _>,<_,tmedie, _, _, _, _> <_, _, _, _,_,lafel>} S2=S3= <soare, tmedie, _, puternic, calda, lafel> S1= <soare, tmedie, normala, puternic, calda, lafel> S0= <, , , , , > 4. <soare, tmedie, mare, puternic, rece, schimba> + G0=G1=G2<_, _, _, _, _, _> G3={<soare, _, _, _, _, _>,<_,tmedie, _, _, _, _> <_, _, _, _,_,lafel>} G4={<soare, _, _, _, _, _>,<_,tmedie, _, _, _, _>} S4= <soare, tmedie, _, puternic, _,_> S2=S3= <soare, tmedie, _, puternic, calda, lafel> S1= <soare, tmedie, normala, puternic, calda, lafel> S0= <, , , , , > 23

  24. S: <soare, tmedie, _, puternic, _,_> I1 <soare, tmedie, normala, puternic, rece, shimba> I2 <ploaie, tmica, normala, slab, calda, lafel> I3 <soare, tmedie, normala, slab, calda, lafel> I4 <soare, tmica, normala, puternic, calda, lafel> <soare, _, _, puternic, _,_> <soare, tmedie, _, _, _,_> <_,tmare, _, puternic, _,_> G: {<soare, _, _, _, _, _>,<_,tmedie, _, _, _, _>} I1 – pozitiv (toate ipotezele il clasifica +) I2 - negativ I3 – nu se stie (jumatate +, jumatate -) I4 – 4 ipoteze -, 2 ipoteze +, deci negativ 24

  25. Exemplu: Invatarea conceptului "obiectul din imagine" din exemple. Ce concept se invata? S=? G=? 25

  26. 6. Limitari ale metodei • Zgomot in clasificare sau in atribute – esueaza (S=  sau G= ) • Pt anumite ipoteze numarul de elemente din S sau G poate creste exponential cu numarul de atribute 26

  27. 7. Aplicatii • Meta-dendral • Lex • Aplicatii mai noi: combine SV cu alte abordari 27

  28. Aplicatii • Gasirea fragmentelor de molecule • Fragmentele de molecule sunt secvente de atomi conectati liniar • Sunt utilizate in determinarea SAR (Structure-Activity Relationships) – modele statistice care leaga structura chimica de activitatea biologica • Fragmentele de molecule = sabloane 28

  29. Aplicatii • Fiind data o baza de date r, un limbaj de descriere a sabaonelor L si o restrictie q, sa se gaseasca o teorie bazata pe r si L a.i. Th(L,r,q) = {L | q(r, ) = true} • Algoritm de generare a saboanelor care satisfac diferite restrictii peste sabloane: • relatii intre sabloane • frecventa maxima de aparitie a sabloanelor in datele de test • Sabloane de interes cu grad de specificitate mai mare sau mai mic decat cel al unui sablon dat 29

  30. 8. Invatarea conceptelor disjunctive • Generalizare si specializare Exemple de invatare 1. (galben piram lucios mare +) 2. (bleu sfera lucios mic +) 3. (galben piram mat mic +) 4. (verde sfera mat mare +) 5. (galben cub lucios mare +) 6. (bleu cub lucios mic -) 7. (bleu piram lucios mare -) 30

  31. Invatarea conceptelor disjunctive nume concept: NUME parte pozitiva cluster: descriere: (galben piram lucios mare) ex: 1 parte negativa ex: nume concept: NUME parte pozitiva cluster: descriere: ( _ _ lucios _) ex: 1, 2 parte negativa ex: 1. (galben piram lucios mare +) 2. (bleu sfera lucios mic +) 3. (galben piram mat mic +) 4. (verde sfera mat mare +) 5. (galben cub lucios mare +) 6. (bleu cub lucios mic -) 7. (bleu piram lucios mare -) 31

  32. Invatarea conceptelor disjunctive nume concept: NUME parte pozitiva cluster: descriere: ( _ _ _ _) ex: 1, 2, 3, 4, 5 parte negativa ex: 6, 7 1. (galben piram lucios mare +) 2. (bleu sfera lucios mic +) 3. (galben piram mat mic +) 4. (verde sfera mat mare +) 5. (galben cub lucios mare +) 6. (bleu cub lucios mic -) 7. (bleu piram lucios mare -) suprageneralizare 32

  33. Invatarea conceptelor disjunctive nume concept: NUME parte pozitiva cluster: descriere: (galben piram lucios mare) ex: 1 cluster: descriere: ( bleu sfera lucios mic) ex: 2 parte negativa ex: 6, 7 1. (galben piram lucios mare +) 2. (bleu sfera lucios mic +) 3. (galben piram mat mic +) 4. (verde sfera mat mare +) 5. (galben cub lucios mare +) 6. (bleu cub lucios mic -) 7. (bleu piram lucios mare -) 33

  34. Invatarea conceptelor disjunctive nume concept: NUME parte pozitiva cluster: descriere: ( galben piram _ _) ex: 1, 3 cluster: descriere: ( _ sfera _ _) ex: 2, 4 parte negativa ex: 6, 7 1. (galben piram lucios mare +) 2. (bleu sfera lucios mic +) 3. (galben piram mat mic +) 4. (verde sfera mat mare +) 5. (galben cub lucios mare +) 6. (bleu cub lucios mic -) 7. (bleu piram lucios mare -) 34

  35. Invatarea conceptelor disjunctive nume concept: NUME parte pozitiva cluster: descriere: ( galben _ _ _) ex: 1, 3, 5 cluster: descriere: ( _ sfera _ _) ex: 2, 4 parte negativa ex: 6, 7 1. (galben piram lucios mare +) 2. (bleu sfera lucios mic +) 3. (galben piram mat mic +) 4. (verde sfera mat mare +) 5. (galben cub lucios mare +) 6. (bleu cub lucios mic -) 7. (bleu piram lucios mare -) A daca galben sau sfera 35

  36. Invatare conceptelor disjunctive prin grupare (clusterizare) 1. Fie S setul de exemple 2. Creaza PP si PN 3. Adauga toate ex- din S la PN (*comentariu) si elimina ex- din S 4. Creaza un cluster in PP si adauga primul ex+ 5. S = S – ex+ 6. pentru fiecare ex+ din S, eirepeta 6.1 pentru fiecare cluster Cirepeta - Creaza descriere ei + Ci - daca descriere nu acopera nici un ex- atunci adauga ei la Ci 6.2 daca ei nu a fost adaugat la nici un cluster atunci creaza un nou cluster cu ei sfarsit 36

More Related