440 likes | 599 Views
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
E N D
Invatare automata Universitatea Politehnica BucurestiAnul 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 • Extinderea C4.5 Invatarea prin grupare (clsuterizare) 2
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
ID3 (Quinlan) • Univers de obiecte U descrise in termenii unei colectii de atribute {A} • Fiecare atribut masoara o caracteristica importanta a unui obiect oU • 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 oSI dar si oU 4
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
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 ={oC | 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
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
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
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
ID3 – Cum selectez A? • C cu pP si nN Se presupune ca: • (1) Orice AD corect va clasifica obiectele proportional cu reprezentarea lor in C Un obiect arbitrar oC 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
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
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
Selectia testului (atributului) • C cu pP si nN • Continutul de informatie I(ADp,n) este • Selecteaza A in radacina; A {A1,…,Av} • Fie Ci cu piP si niN, i=1,v • Continutul de informatie pentru Ci este I(ADpi,ni), i=1,v 15
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
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
Calcul G(A) pt Ex 1 • 14 exemple, 9P, 5N • I(ADp,n) = ???? = 0.940 bits • vreme • soare - 2P, 3N I(ADp1,n1) = 0.971 • nori - 4P, 0N I(ADp2,n2) = ? • ploaie - 3P, 2N 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
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
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
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
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
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
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
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
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 piP 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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