Presentation is loading. Please wait.

Presentation is loading. Please wait.

Universitatea Politehnica Bucuresti Anul universitar

Similar presentations


Presentation on theme: "Universitatea Politehnica Bucuresti Anul universitar"— Presentation transcript:

1 Universitatea Politehnica Bucuresti Anul universitar 2008-2009
Invatare automata Universitatea Politehnica Bucuresti Anul universitar Adina Magda Florea 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. Invatarea este procesul prin care un sistem isi imbunatateste performantele (Herbert Simon). Invatarea este achizitia cunostintelor explicite; aceasta perspectiva porneste de la necesitatea exprimarii explicite a cunostintelor invatate pentru a facilita verificarea, modificarea si explicarea lor in sistem. Invatarea este achizitiaa deprinderilor de rezolvare a problemelor (desi oamenii inteleg ce trebuie sa faca cind li se explica cum trebuie sa faca ceva, nu ajung 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. 3

4 c(x) = ? x = h h(x) h  H T = {x1, x2, …, xn} – multime de invatare v1
. vm c(x) = ? 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 Invatarea este procesul prin care un sistem isi imbunatateste performantele (Herbert Simon). Invatarea este achizitia cunostintelor explicite; aceasta perspectiva porneste de la necesitatea exprimarii explicite a cunostintelor invatate pentru a facilita verificarea, modificarea si explicarea lor in sistem. Invatarea este achizitiaa deprinderilor de rezolvare a problemelor (desi oamenii inteleg ce trebuie sa faca cind li se explica cum trebuie sa faca ceva, nu ajung 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. 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 Invatarea este procesul prin care un sistem isi imbunatateste performantele (Herbert Simon). Invatarea este achizitia cunostintelor explicite; aceasta perspectiva porneste de la necesitatea exprimarii explicite a cunostintelor invatate pentru a facilita verificarea, modificarea si explicarea lor in sistem. Invatarea este achizitiaa deprinderilor de rezolvare a problemelor (desi oamenii inteleg ce trebuie sa faca cind li se explica cum trebuie sa faca ceva, nu ajung 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. 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 versiunilor VSH,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. Nr ex Cer Temperatura Umiditate Vant Apa Evolutie Zi buna? 1 soare tmedie normala puternic calda lafel DA (+) 2 mare 3 ploaie tmica schimba NU (-) 4 rece 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) 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 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)  color(X, blue)) Inlocuirea unei proprietati cu parintele din ierarhie is-a(tom, cat) is-a(tom, animal) 15

16 h1 = < soare, tmedie, normala, puternic, calda, lafel>
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, _, _> 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 ipoteze maxim 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 daca d 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 d executa - elimina s din S - adauga la S toate generalizarile minimale h ale lui s care indeplinesc conditiile: - h este consistenta cu d - exista cel putin un membru gG a.i. g  h - Elimina din S orice ipoteza care este mai generala decat alte ipoteze din S 19

20 AEC - cont 3.2 daca d 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 d executa - elimina g din G - adauga la G toate specializarile minimale h 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> 2. <soare, tmedie, mare, puternic, calda, lafel> + G0=G1=G2 <_, _, _, _, _, _> S2= <soare, tmedie, _, puternic, calda , lafel> S1= <soare, tmedie, normala, puternic, calda , lafel> 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> + G4={<soare, _, _, _, _, _>,<_,tmedie, _, _, _, _>} S4= <soare, tmedie, _, puternic, _,_> 23

24 S: <soare, tmedie, _, puternic, _,_>
Clasificare partiala <soare, _, _, puternic, _,_> <soare, tmare, _, _, _,_> <_,tmare, _, puternic, _,_> G: {<soare, _, _, _, _, _>,<_,tmedie, _, _, _, _>} I1 – pozitiv (toate ipotezele il clasifica +) 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> 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.
Nr ex Dimensiune Culoare Tip Ob? 1 mica rosie minge DA (+) 2 albastra NU (-) 3 mare 4 caramida 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 sabloanelor 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: cluster: descriere: ( _ _ lucios _) ex: 1, 2 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, ei repeta 6.1 pentru fiecare cluster Ci repeta - 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


Download ppt "Universitatea Politehnica Bucuresti Anul universitar"

Similar presentations


Ads by Google