Sunteți pe pagina 1din 19

Precizări

Link-ul formularului cu testarea cunostintelor din curs este urmatorul

https://docs.google.com/forms/d/1FKF81qQ-
vgxtV4tMnWvbDV0jx0WFiiFgYiRFpiKU0eY/edit

 Termen limită de trimitere a raspunsurilor : Vineri 16.04 2020, ora 12


 Se acorda pentru fiecare raspuns corect 2 puncte

ARBORI DE DECIZIE
12.1 ALGORITMUL TDIDT - CAZUL ATRIBUTELOR
CATEGORICALE
Algoritmul TDIDT (Top-Down Induction of Decision Trees) este un algoritm
de tip Greedy care stă la baza unei clase de algoritmi inventaţi în anii 1960
(ID3, C4.5 etc.). Dezvoltarea lor spectaculoasă a contribuit decisiv la
automatizarea producerii regulilor de decizie, devenind în scurt timp
alternativa de succes a sistemelor expert în rezolvarea acestei probleme.
Pentru prezentarea lor considerăm, ca şi până acum, că datele de
antrenament sunt organizate într-un tabel (vezi tabelul 2.1 a) care conţine
pe linii instanţele, pe primele coloane atributele (variabilele), iar pe
ultima coloană clasele aferente instanţelor. De asemenea, într-o primă
etapă presupunem că atributele sunt categoricale, şi că este satisfăcută
condiţia de adecvare a datelor. Ultima condiţie se referă la faptul că nu
există conflicte în date, adică nu există exemple de instanţe identice, dar
clasificate diferit. Ideea care stă la baza algoritmului TDIDT este de a
construi un arbore de decizie în care nodul rădăcină este tabelul iniţial al
datelor de antrenament, iar celelalte noduri sunt subtabele obţinute
recursiv prin divizare în raport cu valorile atributelor. Nodurile terminale
ale arborelui obţinut sunt subtabele care conţin instanţe din aceeaşi clasă.
Algoritmul TDIDT este următorul (Bramer, 2013):
Dacă toate instanţele sunt în aceeaşi clasă atunci
 Returneză ca rezultat acea clasă.
Altfel
 Selectează un atribut care n-a mai fost selectat pentru divizare;
 Pentru fiecare valoare a atributului generează câte o subtabelă
care să conţină toate instanţele pentru care atributul are acea
valoare;
 Returnează un arbore cu o ramură pentru fiecare subtabelă
nevidă, fiecare ramură având ca descendent valoarea unei clase
sau un subarbore produs prin aplicarea recursivă a algoritmului.
Observaţii
 În forma prezentată mai sus, algoritmul TDIDT funcţionează doar
pentru date categoricale, însă poate fi adaptat şi pentru date
continue;
 Algoritmul nu este specificat, în sensul că nu precizează ce atribut se
selectează la fiecare pas ;
 La fiecare pas se poate alege orice atribut, singura restricţie fiind ca
un atribut să fie selectat o singură dată pe aceeaşi ramură;
 Restricţia precizată la punctul precedent asigură terminarea
algoritmului, deoarece fiecare ramură poate fi formată din
maximum muchii, fiind numărul de atribute (variabile).
În condiţiile precizate arborele de decizie funizat de algoritmul TDIDT are
proprietăţile:
 Este o reprezentare mai compactă şi echivalentă a datelor de
antrenament din tabel, în sensul că pentru orice instanţă din tabel,
valoarea clasei prezise de arborele de decizie coincide cu valoarea
clasei corespunzătoare din tabel;
 Poate fi utilizat pentru pentru a clasifica o instanţă nouă, adică o
instanţă diferită de cele care aparţin datelor de antrenament.
În cele ce urmează vom considera spre exemplificare setul de date din
tabelul 12.1 prelucrat după datele utilizate în (Quinlan, 1986, pg. 81-106)
Tabelul 12. 1 Setul de date aferent problemei jucătorilor de golf
Nr.
Aspect_vreme Temperatură Umididate Vânt Clasa
crt.

1 însorit fierbinte mare nu nu

2 însorit fierbinte mare da nu

3 înnorat fierbinte mare nu da

4 ploios moderat mare nu da

5 ploios rece normal nu da

6 ploios rece normal da nu

7 înnorat rece normal da da

8 însorit moderat mare nu nu

9 însorit moderat normal nu da

10 ploios moderat normal nu da

11 însorit moderat normal da da

12 înnorat moderat mare nu da


13 înnorat fierbinte normal nu da

14 ploios moderat mare da nu

Datele din tabel se referă la activitatea zilnică a unei echipe de golf pe o


periodă de 14 zile fiind consemnate patru caracteristici ale vremii precum
şi prezenţa sau absenţa jucătorilor pe terenul de golf (în coloana Clasa).
În termeni specifici Învăţării Automate elementele de la care pornim sunt
următoarele. Datele de antrenament sunt datele din tabelul 12.1.
Coloanele 2-5 (Aspect_vreme, Temperatură, Umiditate, Vânt) se referă la
atributele nominale ale problemei, iar coloana 6 conţine valorile celor
două clase. Clasa are valoarea da, dacă s-a jucat golf în ziua respectivă şi
nu, în caz contrar. Aşadar, tabelul 12.1 conţine 14 instanţe clasificate.
Valorile pe care le ia fiecare atribut sunt după cum urmează:
Aspect_vreme: însorit, înnorat, ploios
Temperatură:rece, moderat, fierbinte
Umiditate: normal, mare
Vânt:nu,da
Clasa: nu,da
Un arbore de decizie posibil pentru datele de antrenament din tabelul
12.1 este cel din figura 12.1.

Aspect – Vreme

însorit înn ploios


ora
t
Umiditate Da Vânt

ma nor
da nu
re mal
ă
nu nu da
da
Figura 12.1 Adaptare după (Quinlan, 1986, pg. 87)

Aşa cum am precizat, nodul rădăcină este tabelul iniţial, nodurile


terminale sunt subtabele pure (care au o singură clasă), nodurile
intermediare sunt subtabele unde se iau decizii de divizare în raport cu
valorile atributelor selectate. Divizarea după valorile unui atribut produce
câte o subtabelă fiu pentru fiecare valoare a atributului, legată de nodul
tată printr-o ramură. Clasificarea unei noi instanţe se realizează după cum
urmează:
 Se începe cu nodul rădăcină, iar la fiecare nod se testează valoarea
atributului specificat şi se alege ramura pentru care testul este
adevărat;
 Se repetă testul pentru fiecare nod până când se ajunge la un nod
terminal (frunză), clasa prezisă fiind clasa specificată în nodul
terminal.
Fiecare drum de la rădăcină la un nod terminal este interpretată ca o
regulă de decizie. Astfel, arborele din figura 12.1 conţine patru reguli:
 Dacă Aspect _Vreme= însorit şi Umiditate=mare Atunci clasa=nu
 Dacă Aspect _Vreme = însorit şi Umiditate=normal Atunci clasa=da
 Dacă Aspect _Vreme = înnorat Atunci clasa=da
 Dacă Aspect_Vreme= ploios şi Vânt=da Atunci clasa=nu
 Dacă Aspect _Vreme = ploios şi Vânt=nu Atunci clasa=da
Deoarece rezultatul furnizat de algoritmul TDIDT depinde de modul în care
facem, la fiecare pas, selectarea atributului, rezultă în felul acesta un
număr mare de soluţii posibile, număr care depinde exponenţial de
numărul de atribute. Să observă că adăugarea unui nou atribut pentru
testare într-o regulă are ca rezultat o regulă mai strictă. Din acest motiv un
arbore cu ramuri lungi, înseamnă un arbore care produce reguli mai stricte
şi are în principiu o mai mică putere de generalizare (şi deci o eroare de
predicţie mai mare) decât a unui un arbore cu un ramuri „rezonabil” de
lungi. Ordinul de mărime exponenţial al numărului de soluţii posibile face
imposibil de aplicat ideea de a genera toţi arborii de decizie posibili şi de a-
l alege pe cel mai „bun”. În practică s-au impus abordări fezabile sub
aspect computaţional care produc de regulă arbori de decizie acceptabili.
Una din abordările uzuale are la bază utilizarea entropiei pentru selectarea
atributelor.

12.2 UTILIZAREA ENTROPIEI PENTRU SELECTAREA


ATRIBUTELOR
Aşa cum am văzut, obiectivul divizării recursive este de a obţine în final
noduri terminale pure (în care toate instanţele tabelului aparţin aceleiaşi
clase). În consecinţă, a alege cel mai „bun” atribut înseamnă a selecta
atributul ai cărui succesori (fii) sunt pe cât posibil omogeni din punct de
vedere al clasei. Gradul de puritate sau de ordine al unui tabel variază
între minim şi maxim cu următoarele precizări:
 este maxim, când toate instanţele aparţin aceleiaşi clase;
 este minim, când numărul instanţelor din fiecare clasă este acelaşi.
Entropia este instrumentul cu ajutorul căreia putem măsura gradul de
ordine sau de puritate al tabelului cu datele de antrenament clasificate.
Pentru definirea matematică a entropiei datelor de antrenament
presupunem că acestea sunt formate din instanţe, repartizate în
clase , iar fiecare clasă este formată din exemple, astfel
încât . Dacă aproximăm prin probabilitatea ca o

instanţă să aparţină clasei atunci definim entropia cu ajutorul formulei:

Se demonstrează că entropia este:


 maximă, când clasele sunt repartizate egal, adică atunci când

 minimă, când toate instanţele aparţin aceleiaşi clase şi în acast caz


ia valoarea (prin convenţie se consideră că ).
În figura 12.2 este prezentat graficul funcţiei entropiei pentru cazul .

0,5

Figura 12.2 Graficul funcţiei entropiei pentru cazul .

Entropia se măsoară în biţi şi poate fi interpretată ca o măsură a gradului


de dezordine din mulţimea analizată. În consecinţă o entropie mai mică
înseamnă un grad de ordine (puritate) mai mare. Deoarece obiectivul final
al algoritmului este să se ajungă la noduri (tabele) pure, este natural ca
strategia de alegere a atributului să aibă în vedere acel atribut care prin
divizare ar produce succesori (fii) care reduc cel mai mult entropia. În
practică această strategie furnizează de regulă (dar nu obligatoriu) arbori
de dimensiuni „mici”. De asemenea un arbore de dimensiune „mică” are
de regulă (dar nu obligatoriu) o acurateţe de predicţie mai mare decât un
arbore cu ramuri „lungi”. În cele ce urmează vom ilustra modul în care
este utilizată entropia pentru selectarea atributului în algoritmul TDIDT.
Presupunând că ne aflăm într-un nod oarecare al arborelui, selectarea
atributului după care facem divizarea tabelului se realizează astfel:
 Calculează entropia iniţială, a datelor aferente tabelului pe
care îl divizăm;
 Pentru fiecare atribut eligibil
 divizează după valorile sale şi calculează entropia medie
ca medie ponderată a entropiilor obţinute pentru fiecare
subtabel. Ponderea asociată entropiei fiecărui subtabel se obţine
ca raport dintre numărul de instanţe ale subtabelului şi numărul
de instanţe ale tabelului iniţial;
 calculează câştigul de informaţie (Information Gain) obţinut
prin divizarea după atributul , cu ajutorul formulei
;
 Dintre toate atributele analizate selectează ca soluţie atributul
care maximizează câştigul de informaţie, adică,
.
Pentru exemplificare arătăm mai jos modul de selectare a atributului în
cazul divizării tabelului 12.1, care conţine datele de antrenament. Aşadar,
entropia iniţială a tabelului 12.1 este:

Înainte de a trece efectiv la calculul entropiilor subtabelelor posibile, este


util să organizăm informaţiile preliminare legate de atributul analizat
într-un tabel de frecvenţe. Dacă selectăm atributul tabelul
de frecvenţe asociat este următorul:
Tabelul 12.2 Tabelul de frecvenţe asociat atributului Aspect_vreme

Clasa

da 2 4 3

nu 3 0 2

Total 5 4 5

Entropiile calculate sunt următoarele:


=

4*1.32=0.444+0.528=0.972

4*1.32+ =0.528+0.444=0.972
Entropia medie ponderată obţinută după divizarea tabelului în raport cu
atributul Aspect_vreme este :

Câştigul de informaţie este -


=
Procedând analog şi pentru atributele Temperatură, Umiditate şi Vânt,
obţinem:
- =0.029
- =0.152
- =0.048
Observaţii
 Deoarece câştigul de informaţie cel mai mare se obţine atunci când
se divizează după valorile atributului acestea este
atributul selectat la acest pas;
 Faptul că entropia =0 arată că nodul
obţinut este pur şi va fi etichetat cu valoarea clasei, adică cu
valoarea da, în timp ce pentru a obţine nodurile corespunzătoare
ramurilor şi
trebuie continuată selectarea atributului şi divizarea.
12.3. ALGORITMUL TDIDT - CAZUL ATRIBUTELOR CONTINUE
În secţiunea anterioară am arătat cum funcţionează algoritmului TDIDT
când atributele înstanţelor sunt categoricale. În continuare vom arăta cum
se poate folosi algoritmul TDIDT atunci când valorile atributelor sunt
continue.
O abordare simplistă este aceea de a încerca să tratăm valorile atributelor
continue ca fiind de tip discret (categorical). Deoarece sunt însă şanse
mari ca mjoritatea valorilor să fie diferite, atunci divizarea după un astfel
de atribut va conduce la crearea unui arbore cu putere mică de predicţie.
O altă abordare se referă la aşa numita discretizare a valorilor de tip
continuu, ca în următoarele exemple:
 Atributul Varsta (referitor la persoane) poate fi discretizat sub
forma:

 Pentru atributul Inaltime (referitor la persoane) procedând ca mai


sus am putea obţine următoarele valori: mic, mediu, înalt, foarte
înalt şi exemplele pot continua.
Într-o astfel de abordare trebuie însă să precizăm aşa numitele puncte de
tăiere (divizare) ale variabilei continue. În mod ideal ele trebuie să aibă o
justificare dată de natura datelor pe care le utilizăm sau să fie evidenţiate
de prezenţa unor „pauze" semnificative între valorile consecutive ale
valorilor variabilei continue, însă este evident că nu găsim întotdeuna
raţiuni pentru selectarea punctelor de tăiere. Din acest motiv, o abordare
frecvent întâlnită este de a împărţi intervalul de valori în părţi egale, însă şi
aici se pot pune întrebări de genul: cum se alege numărul de părţi, care
este raţiunea pentru care valori foarte apropiate ale unui atribut care au
între ele un punct de tăiere sunt tratate diferit etc.
Discretizarea poate fi făcută global sau local. Abordarea globală presupune
că atributele continue să fie transformate în forma discretă echivalentă
încă de la început şi să fie tratate ca atare pe parcursul execuţiei
algoritmului, cu dificutltăţile de ordin practic deja semnalate mai sus.
Abordarea locală constă în faptul că atributele continue sunt transformate
în atribute discrete echivalente la fiecare nod al arborelui de decizie.
Pentru simplitate să presupunem că un atribut continuu ia valori
distincte sortate crescător. Atunci, considerănd că fiecare
valoare este un punct de divizare se pot crea
atribute categoricale echivalente , care pot lua doar două valori:
(T) atunci când şi (F) în caz contrar. Atributele
create în acest fel se numesc pseudo-atribute şi sunt tratate de către
algoritmul TDIDT la fel ca şi atributele categoricale iniţiale. Spre ilustrare,
presupunem că atributul Umiditate este continuu şi are valorile (ordonate
crescător) şi clasele aferente din tabelul 12.3.
Tabelul 12.3. Valorile atributului Umiditate sortate crescător
Umiditate
58 60 66 72 75 77 78 80 89 90 91 92 94 95
(%)

Clasa da nu da da da da da da nu nu nu nu da da
Presupunând că punctul de tăiere este , atunci pesudo-atributul creat
are valorile categoricale din tabelul 12. 4, linia 2, iar tabelul 12.5
conţine frecvenţele aferente acestui atribut.
Tabelul 12.4 Valorile pseudo-atributului
Umiditate
58 60 66 72 75 77 78 80 89 90 91 92 94 95
(%)

T T T T T F F F F F F F F F

Clasa da nu da da da da da da nu nu nu nu da da

Tabelul de frecvenţe asociat pseudo-atributului este următrul:


Tabelul 12.5 Frecvenţele asociate pseudo-atributului
Clasa Total

da 4 5 9

nu 1 4 5

Total 5 9 14

Observaţii

 Tabelul de frecvenţă pentru următorul pseudo-atribut ( <78) se


obţine prin simpla actualizare a tabelului 12.5 (creşte numărul de
clase da cu 1 pentru pseudo-atributul şi scade cu 1 numărul
de clase da pentru pseudo-atributul ). Astfel, tabelul de
frecvenţe asociat pseudo-atributului este următorul:
Tabelul 12.6 Frecvenţele asociate pseudo-atributului
Clasa Total

da 5 4 9

nu 1 4 5
Total 6 8 14

 Pornind de la observaţia făcută la punctul anterior se constată că


generarea eficientă a tabelelor de frecvenţă pentru pseudo-
atributele aferente unui atribut continuu se poate face printr-o
singură parcurgere a tabelului care conţine valorile atributului
curent, sortate crescător. Acest procedeu permite obţinerea unei
tabel de frecvenţă prin simpla modificare a tabelului precedent,
evitându-se în felul acesta procedeul consumator de timp al
generării fiecărui tabel de frecvenţă pentru pseudo-atribute de la
„zero”. Evident, cheia acestei performanţe este sortarea prealabilă a
valorilor valorilor atributului continuu considerat, şi din acest motiv
trebuie ales un algoritm de sortare rapid.

12.4. ALGORITMUL TDIDT ÎN CAZUL NEADECVĂRII DATELOR


Aşa cum am precizat în secţiunea 12.1 sintagma date neadecvate se referă
la date de antrenament în care cel puţin două instanţe au atribute egale,
dar clasificări diferite: se mai spune că există conflicte în date. Deoarece
una din cerinţele de funcţionare a algoritmului TDIDT se referă la
îndeplinirea condiţiei de adecvare a datelor, în cele ce urmează vom
enumera strategiile utilizate în cazul în care această condiţie nu este
îndeplinită.
Îndeplinirea condiţiei de adecvare a datelor conduce la obţinerea unor
arbori de decizie în care nodurile terminale sunt omogene (pure) din punct
de vedere al clasei. Dacă această condiţie nu este îndeplinită, conflictul din
date se va reflecta în arborele obţinut prin existenţa unor noduri terminale
mixte ( în care nu toate instanţele aparţin unei singure clase). În această
situaţie sunt posibile următoarele abordări:
1. Eliminarea ramurilor care conduc la nodurile mixte. Din perspectiva
datelor de antrenament această abordare echivalează cu eliminarea
din datele iniţiale a instanţelor aferente nodurilor mixte (care sunt în
conflict);
2. Etichetarea nodului mixt cu eticheta clasei care are frecvenţa de
apariţie cea mai mare în cadrul nodului (vot majoritar);
3. Etichetarea nodului mixt cu eticheta clasei care are frecvenţa de
apariţie cea mai mare în cadrul nodului (vot majoritar) şi pentru care
această frecvenţă depăşeşte un prag fixat . Dacă condiţia nu
este îndeplinită se elimină instanţele care sunt în conflict şi ramura
corespunzătoare din arbore. Se observă că pentru se regăseşte
cazul 2 (vot majoritar), iar pentru , cazul 1.
Scopul demersului nostru este de a obţine un arbore de decizie cu o mare
putere de generalizare, care să clasifice cât mai corect instanţele noi şi nu
neapărat instanţele datelor de antrenament. În acest sens să observăm că
un arbore de decizie cu ramuri lungi reflectă exagerat de bine datele de
antrenament, dar are o putere de generalizare limitată: din cauza
numărului mare de restricţii care apar în mod firesc pe astfel de ramuri,
puterea sa de generalizare este mică. Cu alte cuvinte, în astfel de situaţii
se manifestă binecunoscutul fenomen de supraînvăţare (overfitting). Pe
de altă parte, un arbore cu ramuri prea mici nu reflectă suficient de bine
informaţia din datele de antrenament şi în consecinţă se impune în mod
firesc alegerea unei căi de mijloc . În principiu se poate merge pe una din
următoarele două variante: pre-pruning sau post-pruning (pruning=tăiere,
reducere în limba engleză).
În abordarea pre-pruning arborele de decizie este împiedicat să „crească“
prea mult. Astfel, dacă pentru un nod intern (care nu este nod terminal) s-
a luat decizia de stopare a creşterii (a divizării după valorile unui atribut)
transformarea acestui nod într-un nod terminal se poate realiza, de
exemplu, aplicând tehnicile 2 sau 3 de la secţiunea precedentă. În mod
evident, aceste tăieri au ca efect creşterea erorii de predicţie în datele de
antrenament. Acest aspect însă nu este important deoarece nu suntem
interesaţi neapărat într-o eroare mică de predicţie în datele de
antrenament ci într-o eroare mică de predicţie pentru instanţe noi, ori
tocmai acest ultim deziderat este realizat prin operaţia de pruning: se
obţin arbori de decizie mai simpli, cu o putere mai mare de generalizare,
care produc o eroare mai mică de predicţie pentru datele noi (de test). În
urma experienţei acumulate şi a simulărilor efectuate, au fost propuse
diferite reguli empirice de „tăiere“, dintre care amintim două dintre ele:
 Se îndepărtează nodurile (tabelele) pentru care numărul de instanţe
este mai mic decât un număr prestabilit (de exemplu 5 sau 10);
 Se îndepărtează nodurile (tabelele) atunci când lungimea ramurii
atinge o valoare prestabilită (de exemplu 3 sau 4).
Totuşi, în ciuda acestor încercări problema stabilirii „corecte“ a punctelor de
tăiere în metoda pre-pruning nu este rezolvată. Din acest motiv, în practică
este mai frecvent utilizată metoda post-pruning.
În abordarea post-pruning arborele de decizie este lăsat să se dezvolte
„natural“, fără a realiza tăieri în timpul dezvoltării sale. Operaţia de
pruning se realizează după dezvoltarea sa completă de unde şi numele ei,
post-pruning. Sunt vizaţi pentru această operaţie subarborii în care
nodurile lor rădăcină au drept fii numai noduri terminale ale arborelui de
decizie generat.
De exemplu, pentru arborele de decizie din figura 12.3 subarborii vizaţi
sunt cei care au rădăcinile în A şi D. Ne vom concentra atenţia asupra
cazului subarborelui A, cazul subarborelui D şi în general al oricărui
subarbore de acest fel (care au ca fii numai noduri terminale) putând fi
tratate similar. Notăm prin , , numărul de instanţe din nodurile
A, B şi C, respectiv, având evident = . În plus, presupunem că
dispunem de o soluţie pentru estimarea erorii de predicţie în
nodurile vizate (de exemplu, această estimare se poate realiza cu
ajutorul unui set de date special rezervat pentru pruning). Pentru
cazul analizat vom nota aceste estimaţii prin , şi respectiv .

A D

B C E F

Figura 12.3 Subarborii încadrați în cercuri sunt vizați pentru operaţia


de post-pruning

Eroarea medie obţinută prin divizarea nodului A în nodurile B şi C se

obţine ca medie ponderată , cu ponderile şi cu ajutorul formulei:

*
Distingem două cazuri:
1. Dacă înseamnă că divizarea nodului A în nodurile B şi
C a avut un efect nedorit, (a determinat creşterea erorii de
predicţie a arborelului de decizie) şi deci nodurle B şi C trebuie
eliminate. În această situaţie, A devine nod terminal, mixt şi clasa
indicată de acest nod poate fi stabilită prin aplicarea tehnicilor
prezentate la metoda pre-pruning;
2. Dacă rezultă că divizarea nodului A a avut ca rezultat
diminuarea erorii de predicţie şi deci nodurile B şi C nu se
elimină.
În concluzie, dacă se înlătură nodurile B şi C, (se face pruning)
deoarece operaţia de divizare în nodul A a avut drept consecinţă creştera
erorii de predicţie, iar în caz contrar nodurile B şi C nu se înlătură (nu se
face pruning).

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