Download presentation
Presentation is loading. Please wait.
1
Invatare automata Universitatea Politehnica Bucuresti Anul universitar 2008-2009 Adina Magda Florea http://turing.cs.pub.ro/inva_09 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 2
3
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 D A = 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 A 1,.. A n [C 1,..C n ], cu C i ={o C | A = A i } "divide-and-conquer" Impartirea/expandarea AD se opreste cand toate C i apartin unei aceleiasi clase Se termina intotdeauna (in cazul cel mai nefavorabil, cate un obiect in fiecare clasa) 6
7
ID3 – Exemplul 1 7 No.AtributeClasa VremeTemperaturaUmiditateVant 1soarecaldmarefals N 2soarecaldmareadev N 3noricaldmarefals P 4ploaieplacutmarefals P 5ploaieracoarenormalfals P 6ploaieracoarenormaladev N 7noriracoarenormaladev P 8soareplacutmarefals N 9soareracoarenormalfals P 10ploaieplacutnormalfals P 11soareplacutnormaladev P 12noriplacutmareadev P 13noricaldnormalfals P 14ploaieplacutmareadev N
8
ID3 – Exemplul 1 8 Vreme UmiditateVant NPNP ploaie soare adevmarenormal fals P nori C soare = {1N,2N,8N,9P,11P} C ploaie = {4P,5P,6N,10P,14N} C ploaie = {3P,7P,12P,13P}
9
ID3 – Exemplul 2 (mai multe clase) 9 Income No.Risk (Classification)Credit HistoryDebtCollateralIncome 1HighBadHighNone$0 to $15k 2HighUnknownHighNone$15 to $35k 3ModerateUnknownLowNone$15 to $35k 4HighUnknownLowNone$0k to $15k 5LowUnknownLowNoneOver $35k 6LowUnknownLowAdequateOver $35k 7HighBadLowNone$0 to $15k 8ModerateBadLowAdequateOver $35k 9LowGoodLowNoneOver $35k 10LowGoodHighAdequateOver $35k 11HighGoodHighNone$0 to $15k 12ModerateGoodHighNone$15 to $35k 13LowGoodHighNoneOver $35k 14HighBadHighNone$15 to $35k
10
ID3 – Exemplu mai multe clase 10
11
ID3 – Arbore minim 11 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?
12
ID3 – Cum selectez A? 12 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
13
Teoria informatiei ofera criteriul 13 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
14
Teoria informatiei ofera criteriul Pentru un univers de mesaje M = {m 1, m 2,..., m n } si o probabilitate p(m i ) de aparitie a fiecarui mesaj, continutul informational I(M) al mesajelor din M se defineste astfel: 14
15
Selectia testului (atributului) 15 C cu p P si n N Continutul de informatie I(AD p,n ) este Selecteaza A in radacina; A {A 1,…,A v } Fie C i cu p i P si n i N, i=1,v Continutul de informatie pentru C i este I(AD pi,ni ), i=1,v
16
Selectia testului (atributului) 16 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 C i ; v este numarul de valori ale lui A
17
Selectia testului (atributului) 17 Castigul informational al unui atribut A obtinut prin selectia acestuia ca radacina a arborelui de decizie este: G(A) = I(AD p,n ) – E(A) Se selecteaza A cu castig informational maxim Recursiv pentru a forma AD corespunzatori C 1 … C m
18
Calcul G(A) pt Ex 1 18 14 exemple, 9 P, 5 N I(AD p,n ) = ???? = 0.940 bits vreme soare - 2 P, 3 N I(AD p1,n1 ) = 0.971 nori - 4 P, 0 N I(AD p2,n2 ) = ? ploaie - 3 P, 2 N I(AD p3,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.48 bits 0 0.971
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 functie ind-arbore (set-invatare, atribute, default) 1. daca set-invatare = vid atunci intoarce frunza etichetata cu default sau "Failure" 2. daca toate exemplele din set-invatare sunt in aceeasi clasa atunci intoarce o frunza etichetata cu acea clasa 3. daca atribute este vida atunci intoarce 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 –> atribute’ 6. m = cea mai frecventa clasa (set-invatare) 7. pentru fiecare valoare V a lui A repeta - fie partitie V multimea exemplelor din set-invatare, cu valorea V pentru A - creaza nod V = ind-arbore (partitie V, atribute’, m) - creaza legatura nod A – nod V etichetata cu V sfarsit 20 caz 1 – ex inv lipsa caz 2 – atr inadecvate Bine = recunoaste
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 p i si n i pentru fiecare valoare A i 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=A j 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 (1) AD cu complexitate mai mare decat este necesar (2) 24
25
Cazuri speciale: Zgomot Modificari necesare ID3 pt a trata zgomotul (1) Trebuie sa poata lucra cu atribute inadecvate (2) trebuie sa decida daca testarea unor atribute suplimentare va creste sau nu acuratetea predictiva a AD Cum se realizeaza (2) 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 C i 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 nerevante elimina si atribute relevante pt cazul fara zgomot Solutia 2 Testul pt independenta stohastica C i cu p i P si n i N Daca valoarea A i a lui A este irelevanta pt clasa unui obiect din C, valoarea estimata p i ' a lui p i este: 26
27
Cazuri speciale: Zgomot clase Daca p i ' si n i ' 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 (1) Trebuie produsa o eticheta pt C i dar obiectele nu sunt in aceeasi clasa Solutia 1 Se utilizeaza notiunea de apartenenta la o clasa cu o anumita probabilitate, de ex. p i /(p i +n i ) Solutia 2 Eticheteaza cu clasa cea mai numeroasa: P daca p i >n i, N daca p i <n i, oricare (P sau N) daca p i =n i 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 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 A – clasa de invatat cu valori P sau N 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={A 1, A 2 } CA 1 p 1 =2 n 1 =2 A 2 p 2 =2 n 2 =2 E(A)=1 A' identic cu A cu exceptia un obiect care are val A 1 necunoscuta A' = {A 1 ', A 2 ', A 3 '="nec"} p 1 ' = 1 p 2 '=2 p 3 '=1 n 1 '=2 n 2 '=2 n 3 '=0E(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 p i ar fi data de: p i +p i * R i n i +n i * R i 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 A 1,…, A v si se transmite pe fiecare ramura un jeton A i R i 33
34
Cazuri speciale: Extinderi C4.5 Caz 4. Atribute cu multe valori A 1.. A n - 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 (A i +A i+1 )/2, fiecare interval o valoare Solutia 2 (valori numerice) Pt fiecare A i, i=1,m imparte obiectele in (- , A i ] si (A i, + ) partitie P i Pentru fiecare P i 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 P A,C distributia 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 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.48 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 vaori in grupuri (clustere), clase care sa devina valori discrete (sau sa produca mai putine avlori) pentru atribut Retele neurale 37
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.