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

Slides:



Advertisements
Similar presentations
Crearea unei prezentari PowerPoint
Advertisements

În general exist ă 2 forme mari de conservare : “in situ” şi “ex situ” 1. Conservarea “ in situ” Aceast ă metod ă de conservare const ă în.
Batalia sexelor O lume dominata de barbati vs o lume dominata de femei.
ICF Capitol Local Bine ati venit. Ore de Pregatire Continua Sesiunea 1.
Acum câteva zile, când mă plimbam pe Strada Vieţii am observat un magazin pe care era scris: “ Magazinul Raiului ”.
ID3 example. No.Risk (Classification)Credit HistoryDebtCollateralIncome 1HighBadHighNone$0 to $15k 2HighUnknownHighNone$15 to $35k 3ModerateUnknownLowNone$15.
POSTA ELECTRONICA Ana-Maria Tache Ioana Cristina Ciufu.
-Modelul Entitate-Legatura (ER)-
ACTIVITATEA 1 -,, PROFESOR IT LA PAPI’’
Subinterogări multiple
Subinterogari.
Oracle Academy Lead Adjunct
Funcţii Excel definite de utilizator (FDU) în VBA
Instrumente CASE Curs nr. 7.
Căutarea şi regăsirea informaţiei.
SOFTWARE Tipuri de software.
Dispozitive de stocare
IF Clause prezentare.
Inteligenta Artificiala
Inteligenta Artificiala
Căutarea şi regăsirea informaţiei.
Paxos Made Simple Autor: Puşcaş Radu George
sau ecuaţiile diferenţiale ale mişcării unui SPM
Date Semistructurate, C12. Oracle / OR (2) Date Semistructurate,
CURSUL 4 ECONOMETRIE TESTUL HI PATRAT.
Sistemul de salarizare pentru funcţionarii publici şi cele mai recente tendinţe ale reformei Germania.
Data Mining.
Reflexia luminii.
METODA BACKTRACKING Examenul de bacalaureat 2012
Cursul 3 Cautare peste siruri problema cautarea naiva
Software product management
Generarea modelelor fractale
CONVERSII INTRE SISTEME DE NUMERATIE
Recapitulare La Logica si argumentare
WebSite Social Tema 2 WebSite Social.
Problema rucsacului lacom
Tipuri structurate Tipul tablou
SUBNETAREA.
Grasu leonard ionut Trifu gabriel
Algoritmi de aproximare definitii acoperirea unei multimi
Universitatea Politehnica Bucuresti Anul universitar
Metode si sisteme de analiza si interpretare a imaginilor
Web Form BuilDer Coffee Cup.
Present Simple prezentare.
Universitatea Politehnica Bucuresti Anul universitar
Algoritm de crawling optimizat pe similaritate în documente HTML
Funcții C/C++ continuare
prof. mrd. Negrilescu Nicolae Colegiul National Vlaicu Voda
Algoritmul lui Kruskal
Algoritmica si programare
INTERNET SERVICII INTERNET.
Inteligenta Artificiala
Eclipsele de soare si de luna
Forms (Formulare).
A great way to create a channel of communication
Functia de documentare
Raspunsul la frecventa
SOAP -Simple Object Access Protocol-
Bazele Tehnologiei Informaţiei Curs 3
ARBORI BINARI DE CĂUTARE
Programarea in limbajul Java 2004 Lecturer: Gavrila Cristian
Software open source in industria software
Crearea unei aplicatii Windows Forms simple
Student:Dvornic Mihaela Grupa:342 C5
CMMI- Arii de proces: Inginerie si managementului proiectelor
Refracţia luminii.
Harti de imagini, Cadre, Stiluri
Despre lamaie.net De ce sunt lamaile acre? Realizatori: Cristina Cazan
Tabele WEB.
ALGORITMI ŞI SCHEME LOGICE
Presentation transcript:

Invatare automata Universitatea Politehnica Bucuresti Anul universitar Adina Magda Florea 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 2

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 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

ID3 (Quinlan) Structura iterativa – fereastra din SI S-au gasit AD corecti in cateva iteratii pt 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 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

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

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}

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

ID3 – Exemplu mai multe clase 10

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?

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

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

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

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

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

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

Calcul G(A) pt Ex exemple, 9  P, 5  N I(AD p,n ) = ???? = bits vreme soare - 2  P, 3  N  I(AD p1,n1 ) = nori - 4  P, 0  N  I(AD p2,n2 ) = ? ploaie - 3  P, 2  N  I(AD p3,n3 ) = ? E(vreme) = ??? = bits G(vreme) = = bits G(temperatura) = bits G(umiditate) = G(vant) = 0.48 bits

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 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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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) = bits  G(temperatura) = bits  G(umiditate) = 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 =

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