Presentation is loading. Please wait.

Presentation is loading. Please wait.

Invatare automata Universitatea Politehnica Bucuresti Anul universitar 2008-2009 Adina Magda Florea si curs.cs.pub.ro.

Similar presentations


Presentation on theme: "Invatare automata Universitatea Politehnica Bucuresti Anul universitar 2008-2009 Adina Magda Florea si curs.cs.pub.ro."— Presentation transcript:

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


Download ppt "Invatare automata Universitatea Politehnica Bucuresti Anul universitar 2008-2009 Adina Magda Florea si curs.cs.pub.ro."

Similar presentations


Ads by Google