invatare automata universitatea politehnica bucuresti anul universitar 2008-2009 adina magda florea ...

37
Invatare automata Universitatea Politehnica Bucuresti Anul universitar 2008-2009 Adina Magda Florea http://turing.cs.pub.ro/ inva_09 si curs.cs.pub.ro

Post on 18-Dec-2015

241 views

Category:

Documents


4 download

TRANSCRIPT

Invatare automata

Universitatea Politehnica BucurestiAnul universitar 2008-2009

Adina Magda Floreahttp://turing.cs.pub.ro/inva_09 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 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

7

No. Atribute Clasa

Vreme Temperatura Umiditate Vant

1 soare cald mare fals N

2 soare cald mare adev N

3 nori cald mare fals P

4 ploaie placut mare fals P

5 ploaie racoare normal fals P

6 ploaie racoare normal adev N

7 nori racoare normal adev P

8 soare placut mare fals N

9 soare racoare normal fals P

10 ploaie placut normal fals P

11 soare placut normal adev P

12 nori placut mare adev P

13 nori cald normal fals P

14 ploaie placut mare adev N

ID3 – Exemplul 1

8

Vreme

Umiditate Vant

N P N P

ploaiesoare

adevmare normal fals

P

noriCsoare = {1N,2N,8N,9P,11P}

Cploaie = {4P,5P,6N,10P,14N}

Cploaie = {3P,7P,12P,13P}

ID3 – Exemplul 2 (mai multe clase)

9

No. Risk (Classification) Credit History Debt Collateral IncomeIncome

1 High Bad High None $0 to $15k2 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 $35k6 Low Unknown Low Adequate Over $35k7 High Bad Low None $0 to $15k8 Moderate Bad Low Adequate Over $35k9 Low Good Low None Over $35k10 Low Good High Adequate Over $35k11 High Good High None $0 to $15k12 Moderate Good High None $15 to $35k13 Low Good High None Over $35k14 High Bad High None $15 to $35k

ID3 – Exemplu mai multe clase

10

Income?

High risk Credit history?

Low risk Moderate riskDebt?

Credit history?

Low riskHigh risk Moderate risk

Moderate riskHigh risk

$0K-$15K

$15K-$35K

$Over 35K

Unknown Bad Good

High Low

UnknownBad

Good

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 pP si nNSe 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

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 = {m1, m2, ..., mn }

si o probabilitate p(mi) de aparitie a fiecarui mesaj, continutul informational I(M) al mesajelor din M se defineste astfel:

I M p mii

n( ) ( )

1

14

log2(p(mi))

Selectia testului (atributului)

15

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

np

n

np

n

np

p

np

pADI np

22, loglog)(

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

v este numarul de valori ale lui A

)()( ,1

nipi

v

i

ii ADInp

npAE

Selectia testului (atributului)

17

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

Calcul G(A) pt Ex 1

18

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.48 bits

14

5log

14

5

14

9log

14

922

)(14

5)(

14

4)(

14

53,32,21,1 npnpnp ADIADIADI

0

0.971

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)

)(log*)()( 2

1

CiClpCClpArbIv

ii

19

v

ii

i CIC

CAE

1

)(||

||)(

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 partitieV multimea exemplelor dinset-invatare, cu valorea V pentru A

- creaza nodV = ind-arbore (partitieV, atribute’, m)- creaza legatura nod A – nodV 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 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 (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 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 nerevante

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

2

np

nppp ii

i

'

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

'

2'

1'

2' )()(

i

iv

i i

i

n

nn

p

pp

2

Cazuri speciale: Zgomot atribute

Cum se realizeaza (1) 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 SISolutia 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

)(

)()|(

Pclasaprob

PclasaAAprobPclasaAAprob i

i

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={A1, A2} C A1 p1=2 n1=2 A2 p2=2 n2=2 E(A)=1 A' identic cu A cu exceptia un obiect care are val A1

necunoscuta 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

jjj

iii np

npR

)(

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

33

jjj

iii np

npR

)(

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,C distributia de probabilitate a valorilor lui A

Informatia de separare masoara continutul informational al raspunsului la intrebarea "Care este valoarea atributului A?"

35

np

np

np

npAISep ii

v

i

ii

21

log)(

)||

||,...,

||

||( 1

C

A

C

AP v

AC

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

)(

)()(

AISep

AGAGR

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