Sunteți pe pagina 1din 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
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 I nduction 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 oeU
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 oeSI
dar si oeU
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 A
1
, .. A
n
[C
1
, ..C
n
], cu C
i
={oeC | 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. 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
ploaie soare
adev mare normal
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
No. Risk (Classification) Credit History Debt Collateral Income

1 High Bad High None $0 to $15k
2 High Unknown High None $15 to $35k
3 Moderate Unknown Low None $15 to $35k
4 High Unknown Low None $0k to $15k
5 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 $35k
13 Low Good High None Over $35k
14 High Bad High None $15 to $35k


ID3 Exemplu mai multe clase
10
Income?
High risk Credit history?
Low risk Moderate risk Debt?
Credit history?
Low risk High risk Moderate risk
Moderate risk High risk
$0K-$15K
$15K-$35K
$Over 35K
Unknown Bad Good
High Low
Unknown
Bad
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 peP si neN
Se presupune ca:
(1) Orice AD corect va clasifica obiectele proportional cu
reprezentarea lor in C
Un obiect arbitrar oeC va fi clasificat:
eP cu probabilitatea p/(p+n)
eN 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:
I M p m
i
i
n
( ) ( ) =
=

1
14
log
2
(p(m
i
))
Selectia testului (atributului)
15
C cu peP si neN
Continutul de informatie I(AD
p,n
) este



Selecteaza A in radacina; A e{A
1
,,A
v
}
Fie C
i
cu p
i
eP si n
i
eN, i=1,v

Continutul de informatie pentru C
i
este
I(AD
pi,ni
), i=1,v

n p
n
n p
n
n p
p
n p
p
AD I
n p
+ +

+ +
=
2 2 ,
log log ) (
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

) ( ) (
,
1
ni pi
v
i
i i
AD I
n p
n p
A E

=
+
+
=
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 1
18
14 exemple, 9eP, 5eN
I(AD
p,n
) = ???? = 0.940 bits

vreme
soare - 2eP, 3eN I(AD
p1,n1
) = 0.971
nori - 4eP, 0eN I(AD
p2,n2
) = ?
ploaie - 3eP, 2eN 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


14
5
log
14
5
14
9
log
14
9
2 2

) (
14
5
) (
14
4
) (
14
5
3 , 3 2 , 2 1 , 1 n p n p n p
AD I AD I AD I + +
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
Ci Cl p C Cl p Arb I
v
i
i
= = =

=

19

=
=
v
i
i
i
C I
C
C
A E
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 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 oe 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 eP din fiecare C
i
este exact aceasi cu procentul
de obiecte eP din C) numai aparent
25
Cazuri speciale: Zgomot clase
Solutia 1

G(A) > prag o absolut sau relativ
o 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
eP si n
i
eN
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

2
n p
n p
p p
i i
i
+
+
=
'
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
'
2 '
1
'
2 '
) ( ) (
i
i
v
i
i
i
n
n n
p
p p
+

=
_

2
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
) (
) (
) | (
P clasa prob
P clasa A A prob
P clasa A A prob
i
i
=
= . =
= = =
Cazuri speciale: atribute lipsa SI
Solutia 3

Construieste un AD pt a invata valorile
atributelor lipsa
C'cC, 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
}
C A
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
'=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 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

+
+
=
j
j j
i i
i
n p
n p
R
) (
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

+
+
=
j
j j
i i
i
n p
n p
R
) (
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
n p
n p
n p
n p
A ISep
i i
v
i
i i
+
+
+
+
=

=
2
1
log ) (
)
| |
| |
,...,
| |
| |
(
1
C
A
C
A
P
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
) (
) (
) (
A ISep
A G
A GR =
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

S-ar putea să vă placă și