1 / 44

Invatare automata

Invatare automata. Universitatea Politehnica Bucuresti Anul universitar 2010-2011 Adina Magda Florea http://turing.cs.pub.ro/inva_11 si curs.cs.pub.ro. Curs nr. 2. Inductia arborilor de decizie Invatarea prin arbori de decizie Metoda ID3 Construirea arborelui minim Cazuri speciale

ginata
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 2010-2011 Adina Magda Florea http://turing.cs.pub.ro/inva_11 si curs.cs.pub.ro

  2. Curs nr. 2 Inductia arborilor de decizie • Invatarea prin arbori de decizie • Metoda ID3 • Construirea arborelui minim • Cazuri speciale • Extinderea C4.5 Invatarea prin grupare (clsuterizare) 2

  3. 1. Invatarea inductiva prin AD • Vede invatarea ca achizitia cunostintelor structurate • Reprezentarea cunostintelor = arbori de decizie (AD) • Problema de invatare = clasificare • Invatare supervizata • Aplicatii posibile • Strategie = invatare batch (ne-incrementala) • AD se construieste pornind de la radacina spre frunze = Top Down Induction of Decision Tree • Exemple • Mediu – istorie a observatiilor • Profesor – expert in domeniu 3

  4. ID3 (Quinlan) • Univers de obiecte U descrise in termenii unei colectii de atribute {A} • Fiecare atribut masoara o caracteristica importanta a unui obiect oU • Domeniul de valori atribute DA= discret, simbolic (ulterior extins) • Fiecare obiect apartine unui clase dintr-o multime de clase mutual exclusive {Cl} • Se da setul de invatare (SI) • Problema = obtinerea unor reguli de clasificare / construirea unui AD care clasifica corect nu numai oSI dar si oU 4

  5. ID3 (Quinlan) • Structura iterativa – fereastra din SI • S-au gasit AD corecti in cateva iteratii pt 30 000 obiecte cu 50 atribute • Empiric s-a aratat ca iterativ se obtin arbori mai buni decat daca s-ar construi din tot SI • Utilizare AD • Reguli de decizie 5

  6. ID3 (Quinlan) Metoda de constructie • C = multmea de obiecte / ex inv. din SI • A – atribut test cu valori / iesiri A1, .. An • [C1, ..Cn], cu Ci ={oC | A = Ai} • "divide-and-conquer" • Impartirea/expandarea AD se opreste cand toate Ci apartin unei aceleiasi clase • Se termina intotdeauna (in cazul cel mai nefavorabil, cate un obiect in fiecare clasa) 6

  7. ID3 – Exemplul 1 7

  8. ID3 – Exemplul 1 Vreme Cploaie = {4P,5P,6N,10P,14N} ploaie soare nori Csoare = {1N,2N,8N,9P,11P} P Umiditate Vant mare normal adev fals N P N P Cnori = {3P,7P,12P,13P} 8

  9. ID3 – Exemplul 2 (mai multe clase) No. Risk (Classification) Credit History Debt Collateral Income1 High Bad High None $0 to $15k 2 High Unknown High None $15 to $35k3 Moderate Unknown Low None $15 to $35k4 High Unknown Low None $0k to $15k5 Low Unknown Low None Over $35k 6 Low Unknown Low Adequate Over $35k 7 High Bad Low None $0 to $15k 8 Moderate Bad Low Adequate Over $35k 9 Low Good Low None Over $35k 10 Low Good High Adequate Over $35k 11 High Good High None $0 to $15k 12 Moderate Good High None $15 to $35k13 Low Good High None Over $35k 14 High Bad High None $15 to $35k 9

  10. ID3 – Exemplu mai multe clase 10

  11. ID3 – Arbore minim • Din acelasi SI se pot contrui diferiti AD (vezi exemplu curs 1) • Cum se poate obtine cel mai mic arbore (lama lui Occam) ? • = Cum selectez atributul din radacina unui arbore? 11

  12. ID3 – Cum selectez A? • C cu pP si nN Se presupune ca: • (1) Orice AD corect va clasifica obiectele proportional cu reprezentarea lor in C Un obiect arbitrar oC va fi clasificat: • P cu probabilitatea p/(p+n) • N cu probabilitatea n/(p+n) • (2) Cand un AD este utilizat pentru a clasifica obiecte, acesta intoarce o clasa  AD poate fi vazut ca o sursa a unui mesaj 'P' sau 'N' avand informatia necesara pentru a genera acest mesaj 12

  13. Teoria informatiei ofera criteriul • Teoria informatiei furnizeaza fundamentul matematic pentru masurarea continutului de informatie dintr-un mesaj • Un mesaj este privit ca o instanta dintr-un univers al tuturor mesajelor posibile • Transmiterea mesajului este echivalenta cu selectia unui anumit mesaj din acest univers 13

  14. Teoria informatiei ofera criteriul • Pentru un univers de mesaje M = {m1, m2, ..., mn } si o probabilitate p(mi) de aparitie a fiecarui mesaj, continutul informationalI(M) al mesajelor din M se defineste astfel: 14

  15. Selectia testului (atributului) • C cu pP si nN • Continutul de informatie I(ADp,n) este • Selecteaza A in radacina; A {A1,…,Av} • Fie Ci cu piP si niN, i=1,v • Continutul de informatie pentru Ci este I(ADpi,ni), i=1,v 15

  16. Selectia testului (atributului) • Dupa selectarea lui A in radacina, cantitatea de informatie necesara pentru a termina constructia arborelui este suma ponderata a continutului de informatie din toti subarborii • unde ponderea ramurii i este fractiunea de obiecte din C care apartin lui Ci ; • v este numarul de valori ale lui A 16

  17. Selectia testului (atributului) • Castigul informational al unui atribut A obtinut prin selectia acestuia ca radacina a arborelui de decizie este: G(A) = I(ADp,n) – E(A) • Se selecteaza A cu castig informational maxim • Recursiv pentru a forma AD corespunzatori C1 … Cm 17

  18. Calcul G(A) pt Ex 1 • 14 exemple, 9P, 5N • I(ADp,n) = ???? = 0.940 bits • vreme • soare - 2P, 3N  I(ADp1,n1) = 0.971 • nori - 4P, 0N  I(ADp2,n2) = ? • ploaie - 3P, 2N  I(ADp3,n3) = ? • E(vreme) = ??? = 0.694 bits • G(vreme) = 0.940-0.694= 0.246 bits • G(temperatura) = 0.029 bits • G(umiditate) = 0.151 • G(vant) = 0.048 bits 0 0.971 Csoare = {1N,2N,8N,9P,11P} Cnori = {3P,7P,12P,13P} Cploaie = {4P,5P,6N,10P,14N} 18

  19. Generalizare la mai multe clase • Continutul de informatie • Cantitatea de informatie necesara pentru a termina constructia arborelui • Castigul informational G(A) = I(Arb) – E(A) 19

  20. Algoritm ID3 functieind-arbore (set-invatare, atribute, default) 1. daca set-invatare = vid atunciintoarce frunza etichetata cu default sau "Failure" 2. daca toate exemplele din set-invatare sunt in aceeasi clasa atunciintoarce o frunza etichetata cu acea clasa 3. daca atribute este vida atunciintoarce o frunza etichetata cu disjunctia tuturor claselor din set-invatare 4. selecteaza un atribut A, creaza nod pt A si eticheteaza nodul cu A 5. sterge A din atribute –> atribute1 6. m = cea mai frecventa clasa (set-invatare) 7. pentru fiecare valoare V a lui A repeta - fie partitieV multimea exemplelor din set-invatare, cu valorea V pentru A - creaza nodV = ind-arbore (partitieV, atribute1, m) - creaza legatura nod A – nodV etichetata cu Vsfarsit caz 1 – ex inv lipsa Bine = recunoaste caz 2 – atr inadecvate 20

  21. Acuratetea predictiva a ID3 • Acuratetea predictiva = cat de bine clasifica un AD obiecte necunoscute Experimente • 1.4 mil pozitii joc tabla sah descrise de 49 atribute  715 obiecte (65% si 35%)  AD cu 150 noduri • SI – fereastra cu 20% din cele 715 obiecte  AD care clasifica corect 84% din restul obiectelor • 1987 obiecte  AD cu 48 noduri • SI – fereastra cu 20% din obiecte  AD clasifica corect 98% din restul obiectelor 21

  22. Complexitate • In fiecare nod cu exceptia frunzelor trebuie aflat G (castig informational) pt fiecare atribut A • G depinde de valorile pi si ni pentru fiecare valoare Ai a lui A  fiecare obiect din C trebuie investigat (clasa, valoare A)  • O(|C| * |A|) , |A| - nr atribute • Pentru fiecare iteratie, complexitatea ID3 • O(|C| * |A| * |AD|) , unde |AD| - numar de noduri interne AD 22

  23. Cazuri speciale Caz 1.Nu exista obiecte o C pentru care A=Aj • ID3 eticheteaza frunzele cu "null" sau "Failure" – deci nu clasifica in aceste noduri • Solutie • Generalizeaza si se atribuie frunzei clasa cu cea mai mare frecventa de aparitie in C (cea mai frecventa) 23

  24. Cazuri speciale: Zgomot Caz 2.Informatia din SI este afectata de zgomot • Zgomot • valori de atribute ale obiectelor din C afectate de zgomot • clasificare incorecta ale obiectelor din C • Erorile din C (zgomotele) pot duce la 2 probleme: • atribute inadecvate (a) • AD cu complexitate mai mare decat este necesar (b) 24

  25. Cazuri speciale: Zgomot Modificari necesare ID3 pt a trata zgomotul • (a) Trebuie sa poata lucra cu atribute inadecvate • (b) trebuie sa decida daca testarea unor atribute suplimentare va creste sau nu acuratetea predictiva a AD Cum se realizeaza (b) • Este un atribut relevant? • Fie A cu valori aleatoare • Alegerea lui A pt a creste arborele va aduce un castig informational mare (cu exceptia cazului in care procentul de obiecte P din fiecare Ci este exact aceasi cu procentul de obiecte P din C) – numai aparent 25

  26. Cazuri speciale: Zgomot clase Solutia 1 • G(A) > prag  absolut sau relativ •  suficient de mare pt a elimina atribute nerelevante elimina si atribute relevante pt cazul fara zgomot Solutia 2 • Testul pt independenta stohastica • Ci cu piP si ni N • Daca valoarea Ai a lui A este irelevanta pt clasa unui obiect din C, valoarea estimata pi' a lui pi este: 26

  27. Cazuri speciale: Zgomot clase • Daca pi' si ni' nu sunt foarte mici atunci se poate utiliza o expresie ce aproximeaza testul pentru a determina increderea in relevanta lui A • Se elimina atributele pentru care increderea in relevanta nu este foarte mare. 27

  28. Cazuri speciale: Zgomot atribute Cum se realizeaza (a) • Trebuie produsa o eticheta pt Ci dar obiectele nu sunt in aceeasi clasa Solutia 1 • Se utilizeaza notiunea de apartenenta la o clasa cu o anumita probabilitate, de ex. pi/(pi+ni) Solutia 2 • Eticheteaza cu clasa cea mai numeroasa: P daca pi>ni, N daca pi<ni, oricare (P sau N) daca pi=ni 28

  29. Cazuri speciale: Extinderi C4.5 Caz 3.Valori necunoscute de atribute 3.1 Valori de atribute lipsa in SI Solutia 1 • Atribuie valoarea cu cea mai mare frecventa Solutia 2 • Foloseste probabilitati pt a determia distributia de probabilitate a valorilor lui A in C in functie de apartenenta la o clasa si alege valoarea cu cea mai mare probabilitate 29

  30. Cazuri speciale: atribute lipsa SI Solutia 3 • Construieste un AD pt a invata valorile atributelor lipsa • C'C, C' cu valori pt A • In C' clasa este privita ca un atribut cu valori P sau N • Valorile lui A – clasele de invatat • Obtine AD' utilizat apoi pentru a clasifica obiectele din C-C'  determin valoarea atributului A • Solutia 3 > Solutia 2 > Solutia 1 30

  31. Cazuri speciale: atribute lipsa SI Solutia 4 • Adauga o noua valoare "nec" • Rezultate anormale • A={A1, A2} • C A1 p1=2 n1=2 A2 p2=2 n2=2 • E(A)=1 • A' identic cu A cu exceptia unui obiect care are val 'nec' pt A1 • A' = {A1', A2', A3'="nec"} • p1' = 1 p2'=2 p3'=1 • n1'=2 n2'=2 n3'=0 E(A') = 0.84 • Se selecteaza A' 31

  32. Cazuri speciale: atribute lipsa SI Solutia 5 • La evaluarea castigului informational, obiectelor cu valori necunoscute li se atribuie valori distribuite peste valorile lui A proportional cu frecventa relativa a acestor valori in C • G(A) este calculat ca si cum valoarea lui pi ar fi data de: • pi+pi * Ri • ni+ni * Ri • Valorile necunoscute nu pot decat sa scada castigul informational 32

  33. Cazuri speciale: atribute lipsa in clasificare Caz 3.Valori necunoscute de atribute 3.2 Valori de atribute lipsa in clasificare • Valoarea lui A este necunoscuta in obiect • Se exploreaza toate alternativele A1,…, Av si se transmite pe fiecare ramura un jeton AiRi • daca sunt mai multe jetoane pe o frunza, se insumeaza • Rezultatul clasificarii este clasa cu cea mai mare valoare 33

  34. Cazuri speciale: Extinderi C4.5 Caz 4.Atribute cu multe valori • A1 .. An - f multe valori simbolice sau valori numerice / continue, sau chiar valori aleatoare • Castig mare  arbore cu 1 nivel Solutia 1 (valori numerice) • Partitionez in intervale (Ai+Ai+1)/2, fiecare interval o valoare Solutia 2 (valori numerice) Pt fiecare Ai, i=1,m imparte obiectele in (-, Ai] si (Ai, + )  partitie Pi • Pentru fiecare Pi calculeaza castigul informational si selecteaza partitia cu castig informational maxim 34

  35. Cazuri speciale: A cu multe valori Solutia 3 (valori simbolice) • Utilizeaza Informatia de separare = cantitatea de informatie necesara pentru a determina valoarea unui atribut A intr-un set de invatare C • Fie PA,Cdistributia de probabilitate a valorilor lui A • Informatia de separare masoara continutul informational al raspunsului la intrebarea "Care este valoarea atributului A?" 35

  36. Cazuri speciale: A cu multe valori sa fie cat mai mare • Dar GR poate sa nu fie intotdeauna definita (ISep=0) sau sa tinda sa favorizeze ISep mici • Selecteaza dintre atributele cu G(A) mare (peste medie) acelea cu GR(A) cel mai bun • G(vreme) = 0.246 bits • G(temperatura) = 0.029 bits • G(umiditate) = 0.151 bits • G(vant) = 0.048 bits • ISep(vreme) = 1.578, ISep(umiditate) = 1 bit • GR(vreme) = 0.246/1.578=0.156 • GR(umiditate) = 0.151/1.0 = 0.151 36

  37. Cazuri speciale: A cu multe valori • Utilizeaza diverse metode de invatare pentru a forma clase din aceste valori sau a grupa aceste valori in grupuri (clustere), clase care sa devina valori discrete (sau sa produca mai putine valori) pentru atribut • Retele neurale 37

  38. 2. Invatarea conceptelor din exemple prin clusterizare • 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 -) 38

  39. Invatarea conceptelor prin clusterizare 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 -) 39

  40. Invatarea conceptelor clusterizare 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 40

  41. Invatarea conceptelor clusterizare 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 -) 41

  42. Invatarea conceptelor clusterizare 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 -) 42

  43. Invatarea conceptelor clusterizare 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 43

  44. Invatare prin clusterizare 1. Fie S setul de exemple 2. Creaza PP si PN 3. Adauga toate ex- din S la PN (*vezi coment) 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 44

More Related