Introducere în Data MiningCurs 4 - Clasificare: Concepte de bază, arbori de decizie, evaluarea
modelelor
Lucian Sasu, Ph.D.
Universitatea Transilvania din Braşov, Facultatea de Matematică şi Informatică
April 7, 2014
[email protected] (UNITBV) Curs 4 April 7, 2014 1 / 75
Outline
1 Preliminarii
2 Utilizarea arborilor de decizie
3 Construirea arborilor de decizie
4 Overfiting şi underfitting
5 Evaluarea performanţei unui clasificator
[email protected] (UNITBV) Curs 4 April 7, 2014 2 / 75
Clasificare
Informal: asignarea de obiecte unei anumite categorii dintr–o mulţimefixată de categorii
Exemple: detectarea spam–ului (categorii: spam/mail legitim),clasificarea celulelor (canceroase/sănătoase), clasificarea galaxiilor pebaza formelor lor (spiralate, eliptice), clasificarea tranzacţiilor de pecard (frauduloase/legale), clasificarea automată a ştirilor (domeniufinanciar/ sportiv/vreme etc.)
Figure 1: Procesul de clasificare: pentru o intrare x se determină o ieşireasociată y
[email protected] (UNITBV) Curs 4 April 7, 2014 3 / 75
Procesul de construire a unui clasificator
Figure 2: Procesul de construire a unui [email protected] (UNITBV) Curs 4 April 7, 2014 4 / 75
Set de antrenare pentru un clasificator
Setul de antrenare: perechi de forma (x, y), unde y este o etichetă(clasă, categorie) dintr-o mulţime discretă şi finităDiferenţă faţă de regresie, unde ieşirea este dintr-o mulţime continuă
Nume Temperatura Corp Naşte Creatură Creatură Picioare Hibernează Clasăsângelui acoperit cu acvatică aeriană
om cald păr da nu nu da nu mamiferpiton rece solzi nu nu nu nu da reptilă
somon rece solzi nu nu nu nu nu peştebalenă cald păr da da nu nu nu mamiferbroască rece nimic nu semi nu da da amfibiandragon rece solzi nu nu nu da nu reptilă
de Comodoporumbel cald pene nu nu da da nu pasăre
pisică cald blană da nu nu da nu mamiferleopard cald blană da nu nu da nu mamiferpinguin cald pene nu semi nu da nu pasăre
arici cald ţepi da nu nu da da mamiferţipar rece solzi nu da nu nu nu peşte
salamandră rece nimic nu semi nu da da amfibianliliac cald păr da nu da da da mamifer
[email protected] (UNITBV) Curs 4 April 7, 2014 5 / 75
Definiţie, scopuri
Definiţie (Clasificare)
Clasificarea este un proces prin care se construieşte (învaţă, induce) ofuncţie f care asociază fiecărui set de atribute x o etichetă de clase ydintr-o mulţime predefinită.
Funcţia f se mai numeşte şi clasificator sau model de clasificare.Utilitatea unui clasificator: modelare descriptivă şi modelare
predictivă
Modelare descriptivă: un clasificator poate servi ca o modalitateexplicativă sau de sumarizare, ce permite diferenţierea între clase;pentru tabelul de mai sus, mecanismul poate fi util biologilor.Modelarea predictivă: un clasificator poate fi folosit pentru aprezice clasa unui obiect:
Nume Temperatura Corp Naşte Creatură Creatură Picioare Hibernează Clasăsângelui acoperit cu acvatică aeriană
monstru gila rece solzi nu nu nu da da ?
[email protected] (UNITBV) Curs 4 April 7, 2014 6 / 75
Modalităţi de construire a clasificatorilor
Metode bazate pe arbori de decizie
Metode bazate pe reguli
Raţionare bazată pe memorie
Reţele neuronale
Reţele Bayesiene şi Naïve Bayes
Support Vector Machines
[email protected] (UNITBV) Curs 4 April 7, 2014 7 / 75
Clasificatori
Tipuri de date preferate pentru clasificare:
tehnicile de clasificare sunt adecvate pentru seturi de date binare saunominale
clasificatorii sunt mai puţin utili pentru categorii ordinale deoarece einu iau în considerare relaţiile de ordine existente între categorii (cuexcepţia reţelelor)
nu sunt utilizate în clasificare nici relaţiile de forma “este un”, e.g.“un om este un primat” (relaţii ierarhice)
Seturi de date folosite în construirea clasificatorilor:
set de antrenare: utilizat pentru construirea clasificatorului
set de testare: utilizat pentru a măsura performanţa clasificatorului
uneori şi set de validare: folosit pentru a alege un clasificator dintr-omulţime de modele candidat
[email protected] (UNITBV) Curs 4 April 7, 2014 8 / 75
Outline
1 Preliminarii
2 Utilizarea arborilor de decizie
3 Construirea arborilor de decizie
4 Overfiting şi underfitting
5 Evaluarea performanţei unui clasificator
[email protected] (UNITBV) Curs 4 April 7, 2014 9 / 75
Arbori de decizie: componenţă
Nod rădăcină — nod care nu are arce ce intră în el şi zero sau maimulte arce care iesNod intern — are exact un singur nod care intră in el şi două saumai multe arce care iesFrunză sau nod terminal — exact un singur nod intră, niciun arccare iese
În nodurile neterminale se află predicate; rezultatul aplicării predicatului pevaloarea concretă a unui atribut determină arcul pe care se merge maideparte.
Figure 3: Arbore de [email protected] (UNITBV) Curs 4 April 7, 2014 10 / 75
Arbori de decizie: exemplu
Figure 4: Exemplu de arbore de decizie
[email protected] (UNITBV) Curs 4 April 7, 2014 11 / 75
Arbori de decizie: exemplu
Figure 5: Se poate să se obţină mai mulţi arbori de decizie pornind de la unacelaşi set de date.
[email protected] (UNITBV) Curs 4 April 7, 2014 12 / 75
Arbori de decizie: utilizare
Figure 6: Etapa de [email protected] (UNITBV) Curs 4 April 7, 2014 13 / 75
Arbori de decizie: utilizare
Figure 7: Utilizare: se porneşte de la nodul rădăcină
[email protected] (UNITBV) Curs 4 April 7, 2014 14 / 75
Arbori de decizie: utilizare
Figure 8: Se foloseste valoarea efectivă a atributului “Refund” prezent înrădăcină
[email protected] (UNITBV) Curs 4 April 7, 2014 15 / 75
Arbori de decizie: utilizare
[email protected] (UNITBV) Curs 4 April 7, 2014 16 / 75
Arbori de decizie: utilizare
[email protected] (UNITBV) Curs 4 April 7, 2014 17 / 75
Arbori de decizie: utilizare
[email protected] (UNITBV) Curs 4 April 7, 2014 18 / 75
Arbori de decizie: utilizare
[email protected] (UNITBV) Curs 4 April 7, 2014 19 / 75
Outline
1 Preliminarii
2 Utilizarea arborilor de decizie
3 Construirea arborilor de decizie
4 Overfiting şi underfitting
5 Evaluarea performanţei unui clasificator
[email protected] (UNITBV) Curs 4 April 7, 2014 20 / 75
Arbori de decizie: algoritmi de construcţie
Numărul de arbori care poate fi creat pentru un set de date esteexponenţial în numărul de atribute
Determinarea arborelui optim este computaţional infezabilă
Dar: se pot determina arbori suboptimali suficienţi de buni
Algoritmi:
Algoritmul lui Hunt – unul din primii dezvoltaţiCARTID3, C4.5SLIQ, SPRINT
[email protected] (UNITBV) Curs 4 April 7, 2014 21 / 75
Structura generală a algoritmului lui Hunt
Fie Dt setul de date din mulţimea de antrenare ce corespund unui nodt; fie y = y1, y2, . . . , yc toate etichetele de clase.Procedura generală este:
1 Dacă toate înregistrările din Dt au aceeaşi clasă yt asociată, atunci teste o frunză etichetată yt
2 Dacă Dt conţine înregistrări care aparţin mai multor clase, atunci seselectează o condiţie de test pe un atribut pentru a partiţionaînregistrările în subseturi mai mici. Se creează câte un nod copil pentrufiecare rezultat al testului şi înregistrările din Dt sunt distribuite acestornoduri copil.
3 Algoritmul se aplică recursiv fiecărui nod copil obţinut la punctulanterior.
[email protected] (UNITBV) Curs 4 April 7, 2014 22 / 75
Exemplu de aplicare a algoritmului lui Hunt
Figure 9: Algoritmul lui Hunt pentru construirea arborelui de decizie
[email protected] (UNITBV) Curs 4 April 7, 2014 23 / 75
Algoritmul lui Hunt: probleme
Dacă fiecare combinaţie de valori de atribute este prezentă în setul dedate, algoritmul funcţionează
Dacă fiecare combinaţie de valori are o singură etichetă de clasăataşată, atunci algoritmul funcţionează
Pentru situaţii care nu concordă cu condiţiile de mai sus, algoritmuls-ar putea să fie în impas
În practică primele două condiţii sunt rareori îndepliniteSe adaugă următoarele strategii:
1 pentru unele noduri copil obţinute la pasul 2 se poate ca mulţimea deînregistrări să fie vidă, dacă niciuna din înregistrările din setul deantrenare nu are combinaţia de valori asociată acestui nod. În acestcaz nodul se declară frunză având eticheta egală cu eticheta majoritarădin setul de date asociat.
2 dacă toate înregistrările din Dt au aceleaşi valori de atribute (exceptândpentru eticheta de clasă), atunci nu se pot obţine noduri copil. Noduleste declarat frunză cu aceeaşi politică de etichetare ca mai sus
[email protected] (UNITBV) Curs 4 April 7, 2014 24 / 75
Algoritmul lui Hunt: aspecte ce trebuie clarificate
Cum ar trebui partiţionate seturile Dt? algoritmul trebuie să aleagă ometodă de specificare a condiţiei de test precum şi o măsură care săspună cât de bună este o partiţionare concretă
Când ar trebui să se oprească procesul de partiţionare? Se poatecontinua procesul de divizare până ce se întâlnesc condiţiile de maisus, dar pot fi folosite şi alte criterii care permit stoparea creşteriiarborelui, cu efecte pozitive asupra puterii de generalizare a modelului.
[email protected] (UNITBV) Curs 4 April 7, 2014 25 / 75
Algoritmul lui Hunt: condiţii pe nod
Specificarea testului de partiţionare este dependentă de tipulatributelor:
nominaleordinalecontinue
Se poate pune în discuţie care e numărul de partiţii rezultate:Partiţie binarăPartiţie n-ară
[email protected] (UNITBV) Curs 4 April 7, 2014 26 / 75
Algoritmul lui Hunt: atribute nominale
Multe valori asociateSe pot lua în considerare toate valorile, pe rând sau se poate facepartiţionare binară
Figure 10: Partiţia unui atribut nomial după toate valorile
Figure 11: Partiţionare binară unui atribut nominal multivaloare
[email protected] (UNITBV) Curs 4 April 7, 2014 27 / 75
Algoritmul lui Hunt: atribute ordinale
Se poate face partiţionare după fiecare valoare a atributului în parteDacă se face partiţionare binară atunci pe baza ordinii, valorileadiacente trebuie grupate împreună
Figure 12: Partiţionare de atribut ordinal, după toate valorile
Figure 13: Partiţionare binară a unui atribut ordinal multivaloare
Figure 14: Partiţionare binară greşită a unui atribut ordinal [email protected] (UNITBV) Curs 4 April 7, 2014 28 / 75
Algoritmul lui Hunt: atribute continue
Condiţia de test poate fi exprimată ca o comparaţie cu un prag –A < v sau A ≥ vSe pot încerca mai multe valori pentru v , dar soluţia e computaţionalintensivăAlternativă: interogare de forma vi ≤ A < vi+1, pentru i = 1, . . . , k:discretizareDiscretizarea poate fi statică (fixată de la început) sau dinamică(împărţire în intervale de dimensiuni egale sau percentile sau princlustering)
[email protected] (UNITBV) Curs 4 April 7, 2014 29 / 75
Selectarea unei partiţii bune
Se foloseşte o măsură care cuantifică eficienţa unei partiţionăriSe preferă partiţionări care duc la crearea de noduri cât mai omogene
(a) Par-tiţionareneo-mogenă
(b) Par-tiţionarecugrad deomogeni-tate maimare
Figure 16: Partiţionare neomogenă vs. “mai omogenă”
Strategia generală: greedy, alege cea mai bună variantă localăGreedy nu duce neapărat la optimul global
[email protected] (UNITBV) Curs 4 April 7, 2014 30 / 75
Măsurarea impurităţii nodului
Pentru un nod t notăm p(i |t) fracţia (frecvenţa relativă) deînregistrări din clasa i aferente nodului t
Funcţii care măsoară gradul de impuritate:
Entropie(t) = −c∑
i=1
p(i |t) log2 p(i |t) (1)
Gini(t) = 1 −c∑
i=1
[p(i |t)]2 (2)
Eroarea de clasificare(t) = 1 − maxi
[p(i |t)] (3)
c este numărul de clase
Pentru ec. (1) se consideră că 0 log2 0 = limxց0
x log2(x) = 0
[email protected] (UNITBV) Curs 4 April 7, 2014 31 / 75
Măsurarea impurităţii nodului
Figure 17: Compararea măsurilor de impuritate pentru problemă de clasificarebinară
Minimul este 0, pentru cazul p ∈ 0, 1
maximul se obţine pentru p = 0.5, deci pentru un nod omogenitatea(respectiv eterogenitatea) este minimă (maximă)
[email protected] (UNITBV) Curs 4 April 7, 2014 32 / 75
Câştigul de informaţie
Pentru a vedea cât de bine se comportă o funcţie de măsură aimpurităţii se calculează câştigul de informaţie C.I. (eng: informationgain)C.I.-ul este diferenţa dintre gradul de impuritate a părintelui (înaintede partiţionare) şi impuritatea copiilor (după partiţionare):
∆info = I(parinte) −k∑
j=1
N(vj)N(parinte)
I(vj) (4)
unde:I(·) este măsura de impuritate a nodului argumentk este numărul de noduri copil rezultaţi după partiţionareN(·) este numărul de înregistrări pentru nodul curent
Scopul este de a obţine o partiţionare (un test) care să maximizezecâştigul de informaţie; echivalent, să ducă la minimizarea medieiponderate de impurităţi a copiilor (suma din ec. (4))I = entropia: ∆ este câştigul de informaţie (information gain).
[email protected] (UNITBV) Curs 4 April 7, 2014 33 / 75
Exemplu: indexul Gini
Formula:
Gini(t) = 1 −c∑
j=1
[p(j |t)]2
c este numărul de clase
valoarea maximă se obţine dacă p(1|t) = · · · = p(c |t) şi este 1 − 1c
valoarea minimă se obţine dacă toate înregistrările din nod fac partedintr–o aceeaşi clasă
Clasa 1 0 P(Clasa 1) = 0/6 = 0; P(Clasa 2) = 6/6 = 1Clasa 2 6 Gini = 1 - P(Clasa 1)2 - P(Clasa 2)2 = 1 - 0 - 1 = 0
[email protected] (UNITBV) Curs 4 April 7, 2014 34 / 75
Exemplu: indexul Gini
Formula:
Gini(t) = 1 −c∑
j=1
[p(j |t)]2
c este numărul de clase
valoarea maximă se obţine dacă p(1|t) = · · · = p(c |t) şi este 1 − 1c
valoarea minimă se obţine dacă toate înregistrările din nod fac partedintr–o aceeaşi clasă
Clasa 1 0 P(Clasa 1) = 0/6 = 0; P(Clasa 2) = 6/6 = 1Clasa 2 6 Gini = 1 - P(Clasa 1)2 - P(Clasa 2)2 = 1 - 0 - 1 = 0
Clasa 1 1 P(Clasa 1) = 1/6; P(Clasa 2) = 5/6Clasa 2 5 Gini = 1 − (1/6)2 − (5/6)2 = 0.278
[email protected] (UNITBV) Curs 4 April 7, 2014 34 / 75
Exemplu: indexul Gini
Formula:
Gini(t) = 1 −c∑
j=1
[p(j |t)]2
c este numărul de clase
valoarea maximă se obţine dacă p(1|t) = · · · = p(c |t) şi este 1 − 1c
valoarea minimă se obţine dacă toate înregistrările din nod fac partedintr–o aceeaşi clasă
Clasa 1 0 P(Clasa 1) = 0/6 = 0; P(Clasa 2) = 6/6 = 1Clasa 2 6 Gini = 1 - P(Clasa 1)2 - P(Clasa 2)2 = 1 - 0 - 1 = 0
Clasa 1 1 P(Clasa 1) = 1/6; P(Clasa 2) = 5/6Clasa 2 5 Gini = 1 − (1/6)2 − (5/6)2 = 0.278
Clasa 1 2 P(Clasa 1) = 2/6; P(Clasa 2) = 4/6Clasa 2 4 Gini = 1 − (2/6)2 − (4/6)2 = 0.444
[email protected] (UNITBV) Curs 4 April 7, 2014 34 / 75
Exemplu: partiţionarea folosind indexul Gini
Folosită în algoritmii CART, SLIQ, SPRINT
Formula indexului Gini:
GINIpartitie =k∑
i=1
ni
nGini(i)
k e numărul de partiţii, n e numărul de înregistrări din nodul ce separtiţionează, ni este numărul de înregistrări din fiecare partiţie
Se ignoră Gini(parinte) din ecuaţia (4) deoarece are aceeaşi valoare,indiferent de cum este el partiţionat
Efectul termenilor din sumă: se preferă partiţii cât mai mari şi cât mai“pure”
[email protected] (UNITBV) Curs 4 April 7, 2014 35 / 75
Exemplu: partiţionarea unui atribut binar folosind Gini
Pentru atribut binar nodul va avea doi descendenţi
Exemplu: partiţionarea unui nod care are 6 înregistrări din clasa C1 şi6 din C2
Figure 18: Partiţionarea unui nod cu test pe un atribut binar
N1 N2C1 5 1C2 2 4
Gini(N1) = 1 - (5/6)2 - (2/6)2 = 0.194; Gini(N2) = 1 - (1/6)2 -(4/6)2=0.528
Gini(partitie) = 7/12 · 0.194 + 5/12 · 0.528 = 0.333
[email protected] (UNITBV) Curs 4 April 7, 2014 36 / 75
Exemplu: partiţionarea unui atribut categorial folosind Gini
Pentru fiecare valoare a atributului categorial se determină frecvenţaînregistrărilor cu acea valoareSe poate face partiţionare după fiecare valoare sau partiţionări binare
Tipul maşiniiFamilie Sport Lux
C1 1 2 1C2 4 1 1Gini 0.393
Table 1: Partiţionare dupăfiecare valoare a atributului
Tipul maşiniiSport, Lux Familie
C1 3 1C2 2 4Gini 0.400
Table 2: Partiţionare binară
Tipul maşiniiSport Lux,Familie
C1 2 2C2 1 5Gini 0.419
Table 3: Partiţionare binară
[email protected] (UNITBV) Curs 4 April 7, 2014 37 / 75
Exemplu: partiţionarea unui atribut continuu
Se poate utiliza un arbore de decizie binar, cu test pe o valoare v :venit anual ≤ v
Variantă brute force pentru determinarea lui v : se consideră toatevalorile distincte ale atributului continuu
Pentru fiecare valoare v se consideră fiecare din cei N candidaţipentru a vedea poziţionarea faţă de v
Pentru v se consideră pe rând fiecare valoare din cele N
Rezultat: complexitatea este O(N2)
Variantă mai eficientă: se sortează cele N valori, efort computaţionalO(N log N); se consideră valorile aflate la jumătate dintre douănumere adiacente;
Se iterează peste valorile sortate, actualizând de fiecare dată matriceade contorizare
Se alege valoarea lui v pentru valoarea Gini minimă
[email protected] (UNITBV) Curs 4 April 7, 2014 38 / 75
Exemplu: partiţionarea unui atribut continuu
Figure 19: Partiţionarea pentru atribut continuu
[email protected] (UNITBV) Curs 4 April 7, 2014 39 / 75
Raportul câştigului
Engleză: gain ratio
Atât entropia cât şi indexul Gini tind să favorizeze atributele care auun număr mare de valori distincte
În figura de mai jos: Car type dă un mod mai bun de partiţionaredecât Own car; ID-ul dă chiar o partiţionare cu o singură înregistrarepe nod copil, deci pare ideal
Figure 20: Posibilităţi de partiţionare
[email protected] (UNITBV) Curs 4 April 7, 2014 40 / 75
Raportul câştigului
Ce e greşit în partiţionarea după ID?
[email protected] (UNITBV) Curs 4 April 7, 2014 41 / 75
Raportul câştigului
Ce e greşit în partiţionarea după ID?
Chiar şi pentru o situaţie mai puţin extremă decât cea pentru ID,dacă se obţin partiţii cu puţine valori pe fiecare subset, numărul deînregistrări pe partiţie s–ar putea să fie prea mic pentru a permitepredicţii exacte
Soluţii
1 Se permit doar partiţionări în două submulţimi — algoritmul CARTfuncţionează astfel
2 Se modifică criteriul de partiţionare pentru a lua în considerare numărulde submulţimi care alcătuiesc partiţia
[email protected] (UNITBV) Curs 4 April 7, 2014 41 / 75
Raportul câştigului
Pentru a doua strategie — algoritmul C4.5 foloseşte “gain ratio”definit ca:
Gain ratio =∆info
Split info(5)
unde Split Info este entropia
−k∑
j=1
P(vj) log2 P(vj)
cu P(vj) numărul de înregistrări din nodul vj , iar k numărul desubmulţimi care alcătuiesc partiţia
Exemplu: dacă sunt k submulţimi ce alcătuiesc partiţia şi fiecare dinacestea are acelaşi număr de elemente, atunci P(vj) = 1
k, ∀j = 1 . . . k,
entropia este maximă iar raportul din ecuaţia (5) scade.
[email protected] (UNITBV) Curs 4 April 7, 2014 42 / 75
Oprirea construirii arborelui
Se opreşte expandarea unui nod atunci când toate înregistrările din elaparţin aceleiaşi clase – nu mai ai de ce sa faci discriminare
Sau când toate atributele au aceleaşi valori – nu se mai poate facediscriminare
Terminare mai devreme (va fi discutat)
[email protected] (UNITBV) Curs 4 April 7, 2014 43 / 75
Algoritmul pentru construirea arborelui de decizie
Figure 21: Schiţa algoritmului de construire a arborelui de decizie
[email protected] (UNITBV) Curs 4 April 7, 2014 44 / 75
Exemplu: C4.5
Creator: Ross Quinlan
Extensie a lui ID3Spre deosebire de ID3:
poate manipula atât valori discrete cât şi continuepoate să manipuleze date de antrenare cu valori lipsă; valorile lipsă nusunt considerate pentru calcularea gain si entropiepoate manipula atribute ce au ataşate diverse costuri
Foloseşte information gain
Sortează atributele continue la fiecare nod
Cere ca toate datele să fie încărcate în memoria RAM
Open source, se poate descărca de la adresa:http://www.rulequest.com/Personal/c4.5r8.tar.gz
Varianta următoare: C5, dar oferită contra cost
[email protected] (UNITBV) Curs 4 April 7, 2014 45 / 75
Exemplu: detectarea roboţilor web
Optimizarea unui site ar trebui să se facă strict pe baza acţiunilormanifestate de oameniParcurgerea site-ului de către web crawlers nu este relevantă pentrurestructurarea site–uluiIntrare: web server logs; vizitele din cadrul unei sesiuni sunt modelateca grafDatele trebuie să fie cumva etichetate înainte de construirea arboreluide decizie
Figure 22: Arbore de decizie: vizitator uman vs. robot web
Detalii: “Introduction to data mining”, cap [email protected] (UNITBV) Curs 4 April 7, 2014 46 / 75
Aspecte ale construcţiei arborilor de decizie
Construirea arborilor de decizie este o metoda neparametrică pentruconstruirea de clasificator = nu cere presupuneri apriori asupradistribuţiei datelor
Găsirea unui arbore de decizie optim este o problemă prohibitivd.p.d.v. computaţional, datorită numărului mare de variante; suntimplicate euristici pentru reducerea volumului de calcul
Algoritmii de construire sunt de regulă rapizi; clasificarea pe baza loreste şi mai rapidă
Sunt uşor de interpretat
Acurateţe comparabilă cu a altor tipuri de clasificatori
Relativ rezistenţi în faţa datelor cu zgomot
Atributele redundante (puternic corelate cu alte atribute) nuafectează acurateţea arborilor obţinuţi
[email protected] (UNITBV) Curs 4 April 7, 2014 47 / 75
Aspecte ale construcţiei arborilor de decizie (cont)
Atributele irelevante pot afecta calitatea arborilor de decizie; aceştiase pot elimina prin tehnici de selectare a trăsăturilorNumărul de înregistrări scade pe măsură ce te “scufunzi” înconstruirea arborelui = problema fragmentării datelor. La frunze s–arputea să fie prea puţine înregistrări care să poată fi folosite în luareaunor decizii statistic semnificative în ceea ce priveşte etichetareaUn subarbore s–ar putea să fie replicat de mai multe ori în arborelefinal:
Figure 23: Problema replicării subarborelui: acelaşi subarbore poate apăreala mai multe niveluri
[email protected] (UNITBV) Curs 4 April 7, 2014 48 / 75
Aspecte ale construcţiei arborilor de decizie (cont)
În cele de mai sus pentru fiecare nod se consideră câte un singuratribut la un moment dat. Ca atare, regiunile de decizie sunt drepteparalele cu axele de coordonate:
Deciziile se pot lua şi altfel: folosind mai multe atribute concomitent(e.g. x + y < 1, pentru datele din figura 24(b)) sau cu funcţiineliniare
(a) Arbore de decizie cu regiuni de de-cizie paralele cu axele
(b) Set de date care nu poate fi par-tiţionat folosind un singur atribut
Alegerea măsurii de impuritate nu are un efect deosebit asupraperformanţei arborilor obţinuţi
[email protected] (UNITBV) Curs 4 April 7, 2014 49 / 75
Outline
1 Preliminarii
2 Utilizarea arborilor de decizie
3 Construirea arborilor de decizie
4 Overfiting şi underfitting
5 Evaluarea performanţei unui clasificator
[email protected] (UNITBV) Curs 4 April 7, 2014 50 / 75
Overfitting şi underfitting
Erorile sunt grupate în două categorii: erori de antrenare şi erori de
testare
Erori de antrenare: evaluate pentru setul de antrenare, dupăconstruirea clasificatoruluiErori de testare: rezultat obţinut pe set de testareUn bun clasificator trebuie să aibă erori mici pe ambele seturi de dateDacă modelul (clasificatorul) se potriveşte pe datele de antrenare preabine, atunci s–ar putea ca pe setul de testare să dea erori mari =eroare de overfittingDacă modelul este insuficient elaborat, atunci va da erori mari atât deantrenare, cât şi de testareDacă s–ar continua antrenarea modelului la perfecţie pe setul deantrenare, atunci s–ar putea ca unele noduri să reprezinte accidentaldate cu zgomot sau outliers (date inerent existente într–un volummare);In decursul antrenării nu se foloseşte în niciun fel setul de
[email protected] (UNITBV) Curs 4 April 7, 2014 51 / 75
Overfitting şi underfitting
Figure 24: Problemă de overfitting şi underfitting: pentru underfitting, erorile deantrenare şi de testare sunt mari. Pentru overfitting, erorile de antrenare sunt (dince în ce mai) mici, dar erorile de testare sunt (tot mai) mari
[email protected] (UNITBV) Curs 4 April 7, 2014 52 / 75
Cauze pentru overfitting: date cu zgomot
Un arbore de decizie care se potriveşte prea bine setului de antrenareeste senzitiv la datele “zgomot”Astfel de erori nu pot fi evitate şi stabilesc o rată de eroare minimă pecare o poate atinge un clasificator
Figure 25: Punct “zgomot” care influenţează crearea regiunii de [email protected] (UNITBV) Curs 4 April 7, 2014 53 / 75
Cauze pentru overfitting: date nereprezentative
Dacă suprafaţa de decizie este formată pornind de la puţine date,există riscul ca datele de test situate în vecinătatea regiunii de deciziesă fie gresit clasificateLipsa de date face dificilă predicţia
Figure 26: Construirea unui clasificator plecând de la un set de datenereprezentativ pentru ceea ce se vrea a fi clasificat. Punctele albastre şi bileleroşii sunt setul de date de antrenare.
[email protected] (UNITBV) Curs 4 April 7, 2014 54 / 75
Cauze pentru overfitting: compararea multiplă
Posibilitatea de a efectua comparaţii multiple poate duce la overfitting
Exemplu: pentru problema predicţiei evoluţiei pieţei, presupunem căun analist financiar face alegeri aleatoare, dând cu banul
Probabilitatea de a ghici corect creşterea sau scăderea pieţii este 0.5
Probabilitatea de a ghici corect evoluţia pieţei de minim 8 ori din 10încercări este:
C810 + C9
10 + C1010
210= 0.0547
Să presupunem că avem un grup de 50 de investitori care procedeazăca mai sus; alegem pe acel analist care face cele mai multe predicţiicorecte în următoarele 10 zile
[email protected] (UNITBV) Curs 4 April 7, 2014 55 / 75
Cauze pentru overfitting: compararea multiplă
Probabilitatea ca să existe cel puţin un analist care face minim 8predicţii corecte este
1 − (1 − 0.0547)50 = 0.9399
Chiar dacă un analist are probabilitatea mică de predicţie corectă,fiind suficient de mulţi, şansa de nimerire “la gramadă” este mare(Principiul lui Bonferroni)Dar nu e nicio garanţie că analistul care a realizat cele mai
multe predicţii corecte va fi bun şi în continuare!
Posibilitatea de alegere creează aparenţa posibilităţii găsirii unuipredictor, dar acesta singur de fapt nu are un comportament strălucitAceeaşi problemă poate apărea şi pentru arbori de decizie: la fiecarenod se poate să existe mai multe variante de alegere a criteriului departiţionareCâştigul datorat acestei partiţionări ar trebui să ia în considerare şinumărul de variante existente, altfel posibilităţile multiple de alegerepot da aparenţa existenţei unui criteriu bun
[email protected] (UNITBV) Curs 4 April 7, 2014 56 / 75
Estimarea erorii de generalizare a unui model
Eroarea de generalizare (de operare pe seturi de date ce nu au fostfolosite la instruirea modelului) este ceea ce interesează şi se doreşte afi cât mai mică
Întrucât setul de test nu este de fapt cunoscut apriori, se poate facedoar o estimare a erorii de generalizareEroarea de resubstituire:
se presupune că setul de antrenare este reprezentativ în raport cu setulde date de testeroarea de antrenare este folosită ca estimare pentru eroarea de testarede regulă este o estimare mult prea optimistă a erorii de testare
[email protected] (UNITBV) Curs 4 April 7, 2014 57 / 75
Estimarea erorii de generalizare a unui model
În loc să se utilizeze setul de antrenare pentru estimarea erorii, sepoate folosi un set de validare
Setul de antrenare se partiţionează în două:Subset folosit pentru antrenare; de exemplu, 2/3 din datele deantrenare iniţiale pot fi folosite pentru acest subsetSubset folosit pentru estimarea erorii de generalizare = set de validare= restul datelor
Antrenarea nu se face şi pe subsetul de validare, ci doar pe primulsubset
Modelul care dă cea mai mică eroare pe setul de validare este folositmai departe pentru testarea efectivă
[email protected] (UNITBV) Curs 4 April 7, 2014 58 / 75
Includerea complexităţii modelului
Este o opinie larg acceptată faptul că modelele complexe predispun laoverfitting
Principiu: briciul lui Occam (Occam’s razor):
Definiţie (Briciul lui Occam)
Dându–se două modele cu aceeaşi eroare de generalizare, modelul maisimplu ar trebui preferat (formularea originară: Entia non suntmultiplicanda praeter necessitatem).
Cea mai simplă explicaţie a unui fenomen ar trebui preferată
Echivalent cu principiul enunţat de A. Einstein: “Totul ar trebui să fiecât mai simplu cu putinţă, dar nu mai simplu de atât”.
Mod de încorporare a complexităţii modelului: estimarea pesimistă
a erorii şi principiul descrierii de lungime minimă
[email protected] (UNITBV) Curs 4 April 7, 2014 59 / 75
Estimarea pesimistă a erorii
Fie n(t) numărul de inregistrări din setul de antrenare pentru frunza t
Notăm e(t), Ω(t) numărul de înregistrări gresit clasificate de frunza t,respectiv termenul de penalizare pentru frunza t
Estimarea pesimistă a erorii pentru arborele T este:
eg(T ) =
∑ti frunză
e(ti) + Ω(ti)
∑ti frunză
n(ti)
[email protected] (UNITBV) Curs 4 April 7, 2014 60 / 75
Estimarea pesimistă: exemplu
Figure 27: Arbore binar de decizie pentru o problemă de dihotomie. Clasificareaîn nodurile frunză se face pe principiul majorităţii.
Pentru arborele de mai sus considerăm că în setul de antrenare sunt 6înregistrări clasificate eronatDacă fixăm Ω(ti) = 0.5:
eg(T ) =6 + 4 · 0.5
24= 0.3333
Interpretarea valorii “0.5” pentru Ω: “Introduction to Data Mining”,pag 182.
[email protected] (UNITBV) Curs 4 April 7, 2014 61 / 75
Principiul descrierii de lungime minimă
Eng: Minimum description length (MDL)
Ideea de bază: orice regularitate într–un set de date poate fi utilizatăpentru a comprima datele, i.e. pentru a le descrie folosind mai puţinesimboluri decât ar fi folosite pentru reprezentarea brută a datelor.
Este o altă manifestare a briciului lui Occam
Un set de date poate fi reprezentat folosind simboluri dintr–un alfabetconvenabil ales
Costul transmiterii datelor este calculat ca:
Cost(model , date) = Cost(model) + Cost(date|model) (6)
unde ultimul termen din sumă reprezintă costul transmiteriisuplimentare a datelor greşit clasificate de către model
Principiul MDL spune că ar trebui preferate modelele pentru carecostul dat de ec. (6) este minim
[email protected] (UNITBV) Curs 4 April 7, 2014 62 / 75
Prevenirea overfitting–ului în arborii de decizie: prepruning
Retezarea apriori (prepruning, early stopping rule)
Opreşte algoritmul înainte de a construi complet arboreleCondiţiile tipice de oprire sunt:
dacă toate înregistrările din nodul curent sunt din aceeaşi clasădacă toate atributele au aceleaşi valori
Condiţii de prepruning pentru oprirea partiţionării unui nod:dacă numărul de înregistrări pe nod scade sub o anumită fracţiedacă expandarea nodului nu îmbunătăţeşte indexul Gini sau câştigulinformaţionaldacă distribuţia claselor este independentă de atributele existente
Există pericolul impunerii unor condiţii prea dure → underfitting
[email protected] (UNITBV) Curs 4 April 7, 2014 63 / 75
Prevenirea overfitting–ului în arborii de decizie:postprunning
Retezarea ramurilor din arbore se face la sfârşit
Strategie: se creează complet arborele de decizie
Se retează noduri pornind de la bază spre vârf
Daca arborele obţinut generalizează mai bine, arborele retezat seînlocuieşte cu o frunză;clasa decisă de frunză se determină prinmajoritate
Se poate utiliza MDL pentru postpruning
Postpruning tinde să dea rezultate mai bune decât prepruning,evitând terminarea prematură a procesului de creştere a arborelui
[email protected] (UNITBV) Curs 4 April 7, 2014 64 / 75
Postprunning: exemplu
Class = Yes 20Class = No 10Eroare = 10/30
Table 4: Clasificarea folosind nodulneterminal
Figure 28: Obţinerea de noduri copil pebaza valorilor atributului A
Eroare pe setul de antrenare, înainte de partiţionare: 10/30
Eroarea pesimistă, înainte de partiţionare: (10 + 0.5)/30 = 10.5/30
Eroare pe setul de antrenare, după partiţionare: 9/30
Eroare pesimistă, după partiţionare: (9 + 4×0.5)/30 = 11/30
Concluzia: se face retezare
[email protected] (UNITBV) Curs 4 April 7, 2014 65 / 75
Outline
1 Preliminarii
2 Utilizarea arborilor de decizie
3 Construirea arborilor de decizie
4 Overfiting şi underfitting
5 Evaluarea performanţei unui clasificator
[email protected] (UNITBV) Curs 4 April 7, 2014 66 / 75
Evaluarea performanţei unui clasificator: metrici
Se bazează pe numărarea înregistrărilor din setul de test care suntclasificate corect sau incorect
Numerele sunt trecute într–o matrice de confuzie:
Clasa prezisăClasa = 1 Clasa = 0
Clasa Clasa = 1 f11 f01
(true positive) (false negative)reală Clasa = 0 f10 f00
(false positive) (true negative)
fij este numărul de înregistrări din clasa i prezise ca fiind din clasa j
numărul total de predicţii corecte este f11 + f00 = true positive +true negative
numărul total de predicţii incorecte este f01 + f10
matricea de confuzie poate fi şi pentru mai mult de două clase
[email protected] (UNITBV) Curs 4 April 7, 2014 67 / 75
Evaluarea performanţei unui clasificator: metrici
Plecând de la matricea de confuzie se pot defini metrici de
performanţă:
Acurateţea:
Acuratetea =Numarul de predictii corecte
Numarul total de predictii=
f11 + f00
f11 + f10 + f01 + f00
Rata de eroare = 1 - acurateţea:
Rata de eroare =Numarul de predictii incorecte
Numarul total de predictii=
=f10 + f01
f11 + f10 + f01 + f00
[email protected] (UNITBV) Curs 4 April 7, 2014 68 / 75
Evaluarea performanţei unui clasificator: metrici
Limitări ale acurateţei:
Considerăm o problemă de clasificare binară (dihotomie): exemple dinclasa 0 = 9990, exemple din clasa 1 = 10
Dacă modelul prezice totul ca fiind de clasă 0, atunci acurateţea este9990/10000 = 99.9%
Acurateţea este în acest caz înşelătoare, deoarece modelul nu clasificănimic ca fiind de clasă 1 (nu ştie deloc clasa 1)
[email protected] (UNITBV) Curs 4 April 7, 2014 69 / 75
Evaluarea performanţei unui clasificator: metrici
Pentru matricea de confuzie se poate considera matricea de costuri,care dă costul erorii de clasificare C(i |j):
C(i |j): costul clasificării unui obiect ca fiind de clasă i când el este defapt de clasă j
Clasa prezisăClasa = 1 Clasa = 0
Clasa Clasa = 1 C(1|1) C(0|1)reală Clasa = 0 C(1|0) C(0|0)
Costul unei clasificări în care se foloseşte matrice de costuri:
Cost = f11C(1|1) + f01C(0|1) + f10C(1|0) + f00C(0|0)
Cu cât costul e mai mic, cu atât clasificarea e mai bună
[email protected] (UNITBV) Curs 4 April 7, 2014 70 / 75
Evaluarea performanţei unui clasificator: metrici
Clasa prezisăClasa = 1 Clasa = 0
Clasa Clasa = 1 -1 100reală Clasa = 0 1 0
Clasa prezisăClasa = 1 Clasa = 0
Clasa Clasa = 1 150 40reală Clasa = 0 60 250
Acurateţea = 80%Costul = 3910
Clasa prezisăClasa = 1 Clasa = 0
Clasa Clasa = 1 250 45reală Clasa = 0 5 200
Acurateţea = 90%Costul = 4255
Primul clasificator este mai bun relativ la matricea de costuri dată, chiardacă acurateţea este mai mare pentru al doilea clasificator
[email protected] (UNITBV) Curs 4 April 7, 2014 71 / 75
Evaluarea performanţei unui clasificator: metode deevaluare
Reprezintă metode folosite pentru compararea modelelor
Metoda holdout: setul dat iniţial se divide în set de antrenare şi setde testare (e.g. 2/3 + 1/3); se face antrenare doar pe setul deantrenare şi testare doar pe setul de testare
Metoda eşantionării aleatoare: se repetă metoda holdout de câteva oripe partiţionări aleatoare ale setului iniţial; se face media procentelorde clasificare corecte obţinute pe fiecare set de testare în parte
K-fold cross validation: setul iniţial se împarte în k submulţimidisjuncte de dimensiuni (cât mai) egale; pe rând, fiecare din cele ksubmulţimi este folosită drept set de test şi restul alcătuiesc setul deantrenare; evaluarea finală este media celor k evaluări
[email protected] (UNITBV) Curs 4 April 7, 2014 72 / 75
Evaluarea performanţei unui clasificator: metode deevaluare
Leave-one-out: dacă sunt date puţine, atunci se poate lua k = N înk-fold cross validationBootstrap:
se face extragerea datelor din setul iniţial, dar cu întoarcerea datelorextrase în setul iniţiale posibil ca o înregistrare să fie astfel folosită de mai multe orinumărul de extrageri efectuate este chiar Nnumărul de date distincte rezultate în urma celor N extrageri:
1 − (1 − 1/N)N N→∞
−→ 1 − e−1 ≈ 0.632modelul construit pe baza setului de bootstrap (N înregistrări,aproximativ 63.2% unice) se face antrenarea; datele ce nu sunt incluseîn eşantionul de bootstrap sunt date de test
[email protected] (UNITBV) Curs 4 April 7, 2014 73 / 75
Evaluarea performanţei unui clasificator: metode deevaluare
Bootstrap (cont):modelul rezultat pe setul de antrenare este evaluat pe setul de testare,rezultând o rată de acurateţe εt
se repetă procesul de mai sus de b oriacurateţea totală cuantificată prin metoda .632 bootstrap:
accboot =1b
b∑
i=1
(0.632 · εi + 0.368 · accs)
accs este acurateţea clasificatorului măsurată pe setul de antrenare
Metodă îmbunătăţită: .632+ bootstrap, dezvoltată în “Improvementson Cross-Validation: The .632+ Bootstrap Method”, Bradley Efron,Robert Tibshirani, Journal of the American Statistical Association,Vol. 92, No. 438. (June 1997), pp. 548-560 — metodă cuvariabilitate mică şi abatere moderată
[email protected] (UNITBV) Curs 4 April 7, 2014 74 / 75
Evaluarea performanţei unui clasificator: comparareaclasificatorilor
Se bazează pe teste statistice
Detalii: “Introduction to Data Mining”, sec. 4.6
[email protected] (UNITBV) Curs 4 April 7, 2014 75 / 75