Documente Academic
Documente Profesional
Documente Cultură
lucian.sasu@ieee.org (UNITBV)
Curs 4
1 / 75
Outline
Preliminarii
Overfiting si underfitting
lucian.sasu@ieee.org (UNITBV)
Curs 4
2 / 75
Clasificare
Informal: asignarea de obiecte unei anumite categorii dintro multime
fixata de categorii
Exemple: detectarea spamului (categorii: spam/mail legitim),
clasificarea celulelor (canceroase/sanatoase), clasificarea galaxiilor pe
baza formelor lor (spiralate, eliptice), clasificarea tranzactiilor de pe
card (frauduloase/legale), clasificarea automata a stirilor (domeniu
financiar/ sportiv/vreme etc.) etc.
lucian.sasu@ieee.org (UNITBV)
Curs 4
3 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
4 / 75
Temperatura
sangelui
cald
rece
rece
cald
rece
rece
Corp
acoperit cu
par
solzi
solzi
par
nimic
solzi
Naste
cald
cald
cald
cald
cald
rece
rece
cald
pene
blana
blana
pene
tepi
solzi
nimic
par
lucian.sasu@ieee.org (UNITBV)
Creatura
aeriana
nu
nu
nu
nu
nu
nu
Picioare
Hiberneaza
Clasa
da
nu
nu
da
nu
nu
Creatura
acvatica
nu
nu
nu
da
semi
nu
da
nu
nu
nu
da
da
nu
da
nu
nu
da
nu
mamifer
reptila
peste
mamifer
amfibian
reptila
nu
da
da
nu
da
nu
nu
da
nu
nu
nu
semi
nu
da
semi
nu
da
nu
nu
nu
nu
nu
nu
da
da
da
da
da
da
nu
da
da
nu
nu
nu
nu
da
nu
da
da
pasare
mamifer
mamifer
pasare
mamifer
peste
amfibian
mamifer
Curs 4
5 / 75
Definitie, scopuri
Definitie (Clasificare)
Clasificarea este un proces prin care se construieste (nvata, induce) o
functie f care asociaza fiecarui set de atribute x o eticheta de clase y
dintr-o multime predefinita.
Functia f se mai numeste si clasificator sau model de clasificare.
Utilitatea unui clasificator: modelare descriptiv
a si modelare
predictiv
a
Modelare descriptiv
a: un clasificator poate servi ca o modalitate
explicativa sau de sumarizare, ce permite diferentierea ntre clase;
pentru tabelul de mai sus, mecanismul poate fi util biologilor.
Modelarea predictiv
a: un clasificator poate fi folosit pentru a
prezice clasa unui obiect:
Nume
monstru gila
Temperatura
sangelui
rece
lucian.sasu@ieee.org (UNITBV)
Corp
acoperit cu
solzi
Naste
nu
Creatura
acvatica
nu
Curs 4
Creatura
aeriana
nu
Picioare
Hiberneaza
Clasa
da
da
6 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
7 / 75
Clasificatori
Tipuri de date preferate pentru clasificare:
tehnicile de clasificare sunt adecvate pentru seturi de date binare sau
nominale
clasificatorii sunt mai putin utili pentru categorii ordinale deoarece ei
nu iau n considerare relatiile de ordine existente ntre categorii (cu
exceptia retelelor)
nu sunt utilizate n clasificare nici relatiile de forma este un, e.g.
un om este un primat (relatii ierarhice)
Seturi de date folosite n construirea clasificatorilor:
set de antrenare: utilizat pentru construirea clasificatorului
set de testare: utilizat pentru a masura performanta clasificatorului
uneori si set de validare: folosit pentru a alege un clasificator dintr-o
multime de modele candidat
lucian.sasu@ieee.org (UNITBV)
Curs 4
8 / 75
Outline
Preliminarii
Overfiting si underfitting
lucian.sasu@ieee.org (UNITBV)
Curs 4
9 / 75
Curs 4
10 / 75
Curs 4
11 / 75
Curs 4
12 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
13 / 75
Curs 4
14 / 75
Curs 4
15 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
16 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
17 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
18 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
19 / 75
Outline
Preliminarii
Overfiting si underfitting
lucian.sasu@ieee.org (UNITBV)
Curs 4
20 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
21 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
22 / 75
Curs 4
23 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
24 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
25 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
26 / 75
Curs 4
27 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
28 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
29 / 75
(a)
(b)
PartitionarePartitionare
neocu grad
mogen
a de
omogenitate mai
mare
Curs 4
30 / 75
c
X
(1)
i=1
Gini(t) = 1
c
X
[p(i|t)]2
(2)
i=1
(3)
lucian.sasu@ieee.org (UNITBV)
Curs 4
31 / 75
Curs 4
32 / 75
Castigul de informatie
Pentru a vedea cat de bine se comporta o functie de masura a
impuritatii se calculeaza castigul de informatie C.I. (eng: information
gain)
C.I.-ul este diferenta dintre gradul de impuritate a parintelui (nainte
de partitionare) si impuritatea copiilor (dupa partitionare):
info = I (parinte)
k
X
j=1
N(vj )
I (vj )
N(parinte)
(4)
unde:
I () este masura de impuritate a nodului argument
k este numarul de noduri copil rezultati dupa partitionare
N() este numarul de nregistrari pentru nodul curent
Curs 4
33 / 75
c
X
[p(j|t)]2
j=1
1
c
valoarea minima se obtine daca toate nregistrarile din nod fac parte
dintro aceeasi clasa
Clasa 1
Clasa 2
0
6
lucian.sasu@ieee.org (UNITBV)
Curs 4
34 / 75
c
X
[p(j|t)]2
j=1
1
c
valoarea minima se obtine daca toate nregistrarile din nod fac parte
dintro aceeasi clasa
Clasa 1
Clasa 2
0
6
Clasa 1
Clasa 2
1
5
lucian.sasu@ieee.org (UNITBV)
Curs 4
34 / 75
c
X
[p(j|t)]2
j=1
1
c
valoarea minima se obtine daca toate nregistrarile din nod fac parte
dintro aceeasi clasa
Clasa 1
Clasa 2
0
6
Clasa 1
Clasa 2
1
5
Clasa 1
Clasa 2
2
4
lucian.sasu@ieee.org (UNITBV)
Curs 4
34 / 75
k
X
ni
i=1
Gini(i)
lucian.sasu@ieee.org (UNITBV)
Curs 4
35 / 75
C1
C2
N1
5
2
N2
1
4
lucian.sasu@ieee.org (UNITBV)
Curs 4
36 / 75
C1
C2
Gini
Tipul masinii
Familie Sport Lux
1
2
1
4
1
1
0.393
C1
C2
Gini
C1
C2
Gini
Tipul masinii
{Sport, Lux} {Familie}
3
1
2
4
0.400
Tipul masinii
{Sport} {Lux,Familie}
2
2
1
5
0.419
Curs 4
37 / 75
Curs 4
38 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
39 / 75
Rata castigului
Engleza: gain ratio
Atat entropia cat si indexul Gini tind sa favorizeze atributele care au
un numar mare de valori distincte
In figura de mai jos: Car type da un mod mai bun de partitionare
decat Own car; ID-ul da chiar o partitionare cu o singura nregistrare
pe nod copil, deci pare ideal
lucian.sasu@ieee.org (UNITBV)
Curs 4
40 / 75
Rata castigului
lucian.sasu@ieee.org (UNITBV)
Curs 4
41 / 75
Rata castigului
lucian.sasu@ieee.org (UNITBV)
Curs 4
41 / 75
Rata castigului
Pentru a doua strategie algoritmul C4.5 foloseste gain ratio
definit ca:
info
Gain ratio =
(5)
Split info
unde Split Info este entropia
k
X
j=1
Curs 4
42 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
43 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
44 / 75
Exemplu: C4.5
Creator: Ross Quinlan
Extensie a lui ID3
Spre deosebire de ID3:
poate manipula atat valori discrete cat si continue
poate sa manipuleze date de antrenare cu valori lipsa; valorile lipsa nu
sunt considerate pentru calcularea gain si entropie
poate manipula atribute ce au atasate diverse costuri
Curs 4
45 / 75
Curs 4
46 / 75
Curs 4
47 / 75
Curs 4
48 / 75
(a) Arbore de decizie cu regiuni de de- (b) Set de date care nu poate fi
cizie paralele cu axele
partitionat folosind un singur atribut
Curs 4
49 / 75
Outline
Preliminarii
Overfiting si underfitting
lucian.sasu@ieee.org (UNITBV)
Curs 4
50 / 75
Overfitting si underfitting
Erorile sunt grupate n doua categorii: erori de antrenare si erori de
testare
Erori de antrenare: evaluate pentru setul de antrenare, dupa
construirea clasificatorului
Erori de testare: rezultat obtinut pe set de testare
Un bun clasificator trebuie sa aibe erori mici pe ambele seturi de date
Daca modelul (clasificatorul) se potriveste pe datele de antrenare prea
bine, atunci sar putea ca pe setul de testare sa dea erori mari =
eroare de overfitting
Daca modelul este insuficient elaborat, atunci va da erori mari atat de
antrenare, cat si de testare
Daca sar continua antrenarea modelului la perfectie pe setul de
antrenare, atunci sar putea ca unele noduri sa reprezinte accidental
date cu zgomot sau outliers (date inerent existente ntrun volum
mare);
In decursul antren
arii nu se foloseste n niciun fel setul de
testare!
lucian.sasu@ieee.org (UNITBV)
Curs 4
51 / 75
Overfitting si underfitting
Curs 4
52 / 75
Curs 4
53 / 75
Curs 4
54 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
55 / 75
Curs 4
56 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
57 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
58 / 75
Curs 4
59 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
60 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
61 / 75
(6)
Curs 4
62 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
63 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
64 / 75
Postprunning: exemplu
Class = Yes 20
Class = No 10
Eroare = 10/30
Table: Clasificarea folosind nodul
neterminal
Figure: Obtinerea de noduri copil pe
baza valorilor atributului A
Curs 4
65 / 75
Outline
Preliminarii
Overfiting si underfitting
lucian.sasu@ieee.org (UNITBV)
Curs 4
66 / 75
Clasa
Clasa = 1
reala
Clasa = 0
Clasa prezisa
Clasa = 1
Clasa = 0
f11
f01
(true positive) (false negative)
f10
f00
(false positive) (true negative)
fij este numarul de nregistrari din clasa i prezise ca fiind din clasa j
numarul total de predictii corecte este f11 + f00 = true positive +
true negative
numarul total de predictii incorecte este f01 + f10
matricea de confuzie poate fi si pentru mai mult de doua clase
lucian.sasu@ieee.org (UNITBV)
Curs 4
67 / 75
Acuratetea =
f11 + f00
Numarul de predictii corecte
=
Numarul total de predictii
f11 + f10 + f01 + f00
lucian.sasu@ieee.org (UNITBV)
Curs 4
68 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
69 / 75
Clasa
reala
Clasa = 1
Clasa = 0
Clasa prezisa
Clasa = 1 Clasa = 0
C (1|1)
C (0|1)
C (1|0)
C (0|0)
Curs 4
70 / 75
Clasa
reala
Clasa
real
a
Clasa prezisa
Clasa = 1 Clasa = 0
-1
100
1
0
Clasa = 1
Clasa = 0
Clasa prezis
a
Clasa = 1
Clasa = 0
Clasa = 1
150
40
Clasa = 0
60
250
Acuratetea = 80%
Costul = 3910
Clasa
real
a
Clasa prezis
a
Clasa = 1
Clasa = 0
Clasa = 1
250
45
Clasa = 0
5
200
Acuratetea = 90%
Costul = 4255
Primul clasificator este mai bun relativ la matricea de costuri data, chiar
daca acuratetea este mai mare pentru al doilea clasificator
lucian.sasu@ieee.org (UNITBV)
Curs 4
71 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
72 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
73 / 75
b
1X
(0.632 i + 0.368 accs )
=
b
i=1
Curs 4
74 / 75
lucian.sasu@ieee.org (UNITBV)
Curs 4
75 / 75