You are on page 1of 17

UNIVERSITATEA TEHNIC! GH. ASACHI IA"I FACULTATEA DE AUTOMATIC!

"I CALCULATOARE

Arbori de decizie
Inteligen!" artificial"
- referat -

Simona Iulia Cantea, Daniel Costin, Alina Coroi

- 2004/2005 -

Inteligenta Artificiala - Arbori de decizie

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

Prima data cand s-a vorbit de Inteligenta Artificiala (AI Artificial Intelligence) in 1956, totul parea o utopie, un vis prea frumos pentru a fi realizat, un stadiu al dezvoltarii considerat a fi greu de atins. In ultimii aproape 50 de ani, termenul a prins contur, devenind realitate, fiind in prezent folosit in aproape toate stiintele care doresc sa se afirme. Initiatorul sau, prof. John McCarthy a prezentat noul concept in vara anului 1956 la intrunirea Darthmouth Summer Research Project on Artificial Intelligence. Odata cu dezvoltarea tehnicii de calcul si a pachetelor software, Inteligenta Artificiala a devenit o ramura suplimentara a stiintelor. Totusi, varful de lance este stiinta computerelor, cea care a introdus termenul si a facut cel mai mult pentru afirmarea noului concept. Termenul de Inteligenta Artificiala este intalnit azi in numeroase publicatii tehnice, medicale, militare, stiintifice, de obicei, cand vine vorba de aplicatii ce realizeaza performante de care numai omul era socotit capabil: recunoasterea si analiza vocii si a imaginilor, traduceri dintr-o limba in alta, diferite jocuri de inteligenta (sah, bridge), luarea unor decizii complexe fara interventia unui operator uman etc. Initial, obiectivele Inteligentei Artificiale au fost foarte ambitioase: masina trebuia sa rezolve diferite probleme, sa invete din propria experienta si din evenimentele exterioare sistemului sau, sa efectueze rationamente, sa conceapa noi obiecte cu proprietati prestabilite. Spre a intelege inteligenta umana, trebuie sa intelegem modul in care se formeaza cele mai simple ganduri. Incercarea de a trece peste aceste etape primare si a cerceta direct actiunile complexe ale creierului uman este aproape imposibila. O metoda de a intelege lucrurile este de a le modela pe un computer si apoi a le produce artificial. Primul pas pe care stiinta computerelor trebuie sa il faca in cercetarea Inteligentei Artificiale este sa incerce a modela modul de functionare a creierului. Pana in prezent s-au dezvoltat doua metode diferite de abordare a Inteligentei Artificiale. Prima metoda este cunoscuta sub numele top-down approach sau symbolic approach to AI. Spre exemplu, vederea artificiala a unei masini (controlata de un computer) a fost abordata prin construirea unor algoritmi si aplicarea lor pe o serie de date de intrare. Fiecare pas al procesului de vedere trebuie evaluat, un algoritm urmand sa transforme datele de intrare intr-o forma mai usor de utilizat. Aceasta metoda are dezavantajul ca este prea dependenta de masina si poate fi utilizata doar in probleme foarte restranse. De asemenea, abordarea se bazeaza in mare masura pe cunostintele programatorului, absolut nimic nu poate fi adaugat automat. A doua metoda consta in construirea unei retele neuronale care sa asigure convertirea unei imagini in informatie. In anii 60 preocuparile au fost concentrate pentru constituirea unei astfel de retele, denumita perceptron. Acesta, o combinatie reusita de retea neuronala si informatii preprocesate, a permis pentru prima data recunoasterea imaginilor de catre un computer. Perceptronul s-a bazat pe ceea ce a reprezentat atunci primul stadiu al vederii artificiale, fiind folosit ulterior in constructia masinilor autoghidate.In viitor, computerele vor fi, probabil, un hibrid intre reteaua neuronala si tehnologia conventionala, utilizata in prezent. Tehnologia actuala are avantajul de a fi logica si rapida in probleme matematice. Retelele neuronale nu sunt foarte potrivite pentru ecuatii complicate, asa cum creierul uman se descurca mai greu in calcule matematice, dar exceleaza in deosebirea culorilor, a sunetelor, a formelor. Azi, in ciuda realizarilor extraordinare in domeniu, retelele neuronale se afla in stadiul de inteligenta al unei insecte, fiind inca un concept foarte nou si care trebuie inteles cu maxima precizie. Totusi, in urma cercetarilor din ultimii ani, calculatorul este capabil sa realizeze rationamente si sa descopere legaturi logice intre fapte descrise corect prin propozitii. De asemenea, calculatorul este capabil sa invete din propriile greseli si sa interactioneze cu un utilizator. Folosindu-se de aceste performante, omul a creat computere si programe specifice care sa lucreze pentru el, sa-i rezolve ecuatii complicate, sa proceseze baze de date cu sute de mii de inregistrari, sa-l ajute in proiectarea

Inteligenta Artificiala - Arbori de decizie si producerea unor echipamente tehnice avansate etc. Inteligenta si informatia nu pot fi separate una de alta. Oamenii sunt capabili sa furnizeze o informatie utila, dau dovada de inteligenta, de competenta, dar sunt limitati in cunoastere. Sistemele informatice cladite in jurul unor baze de date inglobeaza acest tip de competenta, dar nu au rationamentul nativ al omului. Deosebirea consta in proprietatile echipamentului electronic ce permite multiplicarea competentei respective de mii de ori, oferind, implicit, o inteligenta multiplicata corespunzator. Aceasta inteligenta, astfel creata, este mult mai ieftina si precisa decat cea umana, putand fi reprodusa mecanic la nesfarsit. Tinand cont de explozia performantelor componentelor electronice si a calculatoarelor in general, este evident ca termenul de Inteligenta Artificiala va capata noi valente in anii urmatori. Iata o scurta enumerare a doar cateva din domeniile in care este si va fi folosita Inteligenta Artificiala: -Sisteme expert. Un sistem expert este format dintr-un grup de programe si o colectie de informatii specifice, cu ajutorul carora se poate purta un dialog om-computer, in vederea rezolvarii problemelor. Informatiile primite de la calculator sunt asemanatoare cu cele date de un expert uman in domeniul respectiv. Sistemele expert multiplica inteligenta formalizata a unor specialisti punando la dispozitia acelor persoane al caror acces la respectivii specialisti este imposibila; -Retele neuronale - sunt sisteme care simuleaza inteligenta prin reproducerea tipurilor de conexiuni fizice care se gasesc in creierul biologic. Din cauza limitarilor tehnologice, numarul acestor conexiuni este foarte mic, comparativ cu cele cateva zeci de miliarde de conexiuni din creierul uman; -Intelegerea limbajului natural - reprezinta programarea computerelor astfel incat acestea sa inteleaga si sa interactioneze cu utilizatorii in limbajul natural al acestora. La baza intelegerii limbajului natural se afla recunoasterea vocala care transforma un dialog in text, folosind un dispozitiv special; -Agentii - sunt entitati computerizate care actioneaza in locul operatorilor umani, adunand stiri de pe Internet, trimitand mesaje de e-mail sau filtrandu-le pe cele primite. Desi lucreaza pe baza unor "cuvinte cheie" si se afla inca in cercetare, agentii vor deveni foarte utili, ajutandu-si utilizatorul sa gaseasca, spre exemplu, numai stirile sau articolele care il intereseaza, scutindu-l de ore intregi de navigare inutila pe Internet; -Roboti. Noile modele de roboti au in componenta computere programate sa "auda", sa "vada" si sa reactioneze la diferiti stimuli externi. Exista deja roboti care pasesc asemenea unei fiinte vii, disting o voce din mai multe, raspunzand numai la comanda acesteia, se orienteaza in spatiu, recunoscand obiectele inconjuratoare, aleg drumul cel mai scurt intre doua puncte si ocolesc obstacolele. -Jocurile pe computer. Dezvoltarea jocurilor si a domeniului multimedia, in general, este in plina expansiune, o afacere de sute de milioane de dolari. La ora actuala, nu se mai poate concepe un joc fara a avea in structura elemente de Inteligenta Artificiala. Implementata corect, aceasta garanteaza un produs bine vandut, deci profit si satisfactie oferita jucatorilor. Este deja cunoscut ca programele de sah pe computer pot invinge un oponent uman, cel mai elocvent exemplu fiind cel de acum cativa ani in care campionul Gary Kasparov a fost intrecut de un super-computer, Deep Blue, creat de firma IBM. Arbori de decizie- definitie

Arborii de decizie sunt niste instrumente puternici si populare pentru clasificare si prezicere. Atractivitatea acestor arbori consta in faptul ca in contrast cu retele neuronale, arborii de decizie prezinta anumite reguli specifice. Regulile pot fi exprimate in asa fel incat oamenii sa le inteleaga si sa le poata folosi intr-un limbaj de accesare a bazelor de date cum este SQL astfel incat inregistrarile care fac parte dintr-o anumita categorie sa poata fi accesate.

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

Inteligenta Artificiala - Arbori de decizie In unele aplicatii acuratetea clasificarii sau prezicerii este singurul lucru care conteaza. Astel de situatii nu prezinta intotdeauna interes in mod deosebit. In alte situatii abilitatea de a explica motivul luarii unei decizii este cruciala. Exista o multitudine de algoritmi pentru construirea arborilor de decizie care au in comun calitatea de a fi interpretabili. Unul din cele mai cunoscute si utilizate de-a lungul timpului este C4.5 (imbunatatitul, dar comerciala versiune este cunoscuta sub numele de See 5/C 5.0). Definite: Un arbore decizional este, dupa cum ii spune si numele, o structura sub forma de arbore in care fiecare nod poate fi: - nod terminal (nod frunza) - nod decizional Arbore de decizie - arbore care contine n noduri cte un test pentru o anumit! proprietate, fiecare arc fiind etichetat cu o valoare a propriet!tii testate n nodul din care pleac! arcul respectiv, iar n fiecare frunz! o clas!. Nodurile terminale sunt etichetate cu clasificatii ( daca clasificatiile sunt simple cu yes si no atunci arborele se numeste boolean). Nodurile intermediare sunt etichetate ca atribute.Arcurile care pleaca dintr-un nod A sunt etichetate cu valorile posibile ale atributului A. Arborii de decizie sunt cea mai puternica si cea mai populara metoda de clasificare si predictie. Atractivitatea arborilor de decizie se datoreaza faptului ca, in contrast cu retelele neuronale, reprezinta reguli. In unele aplicatii acuratetea clasificarii sau predictiei este singurul lucru care conteaza. In aceste situatii nu conteaza asa mult cum si de ce modelul merge. In alte situatii abilitatea de a explica motivul unei decizii e crucial.Sunt o multime de algoritmi pentru a costrui arbori de decizie care impartesc calitatea interpretarii. Ce este un arbore de decizie? - o reprezentare vizuala a alegerilor, consecintelor, probabilitatilor si oportunitatilor. - Un mod de a simplifica situatiile complicate in scenariu usor de inteles. - Este un mod de a intelege o structura. Aplicatii ale arborilor de decizie: - medicina - gaze si zacaminte minerale - prevederea vremii - predictii ale stocurilor de marfa in comert - credite financiare - analiza greselilor - cateva sisteme de control complexe Reprezentare arborilor de decizie Fiecare nod neterminal este conectat la un test care imparte setul sau de raspunsuri posibile intr-o submultime corespunzand rezultatelor de test diferite. Fiecare ramura duce rezultatul testului la un alt nod si fiecare nod este conectat la un set de raspunsuri posibile.

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

Inteligenta Artificiala - Arbori de decizie Nod radacina Nod frunza Nod frunza

Atribut Test 1

Subset1 Atribut Test 2

Subset2 Atribut Test 2

Subset3 Atribut Test 2

Set de raspunsuri posibile

Exemplu 1: arobre de decizie pt identificare monezilor:


Intrebare1: Este aur, argint sau bronz? Concluzia: daca e aur atunci este 1E. Intrebare2: Este rorund sau cu mai multe parti? (argint) Intrebare2: Este mare sau mic? (cupru) Concluzia : Daca este mare este un 2p, daca e mic este un 1p. Intrebare3: Este mare sau mic? (argint/rotund) Concluzia: Daca e mare e 10p, daca e mic e 5p. Intrebare3: este mare sau mic? (argint/mai multe parti) Concluzia: Daca este mare 2 50p, daca e mic este 20p.

Arhitectura arata ca un arbore. Fiecare nod semnifica un test asupra unei valori atribut. 4

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

Inteligenta Artificiala - Arbori de decizie Fiecare ramificatie semnifica rezultatul unui test. Arborii de decizie pot fi usor convertiti intr-un set de reguli de clasificare. Exemplu 2: clasificare Tid 0 1 2 3 4 5 6 7 Job Self Industry Univ. Self Univ. Industry Self Self Age 30 35 50 45 30 35 35 30 Salary 30K 40K 70K 60K 70K 60K 60K 70K Class C C C B B A A A

(<=50K)

Sal

(>50K )

Class C
(<=40)

Age c
(>40)

Job
(Univ., Industry) (Self )

Class C

Class B

Class A

Sample Decision Tree


Arbori de decizie oblici

Majoritatea arborilor determina ca in interiorul algoritmului sa se creeze cate un test la fiecare nod ceea ce implica in mod obisnuit un singur atribut. Aceste teste sunt echivalente cu planele paralele la una din axe, de aceea arborele rezultat se numeste axis-parallel paralel cu axele. Acesti arbori sunt convenabil de folosit pentru ca sunt usor de interpretat de un sistem expert. Arborii de decizie oblici folosesc teste cu multivariabile care nu sunt obligatoriu paralele cu axele, iar in unele domenii arborii rezultati sunt mai mici si mai precisi. Cu toate acestea arborii oblici nu sunt la fel de populari ca arborii axis-paralel pentru ca testele sunt mai greu de interpretat si gasirea hiperplanurilor oblice e mai dificila decat cea a gasirii planurilor paralele cu axele.

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

Inteligenta Artificiala - Arbori de decizie Sarcina fiecarui arbore de decizie este de a folosi informatiile continute in setul de valori a instantierelor etichetate stiute pentru a crea un model ce prevede clasa instantierelor nevazute. Consideram ca instantierele au forma (x1,x2,....,xd,cj), unde xi valoarea reala Cj valorea discreta. In cazul hiperplanurilor paralele cu axele testele din nodurile de decizie au forma xi>k. Scopul este sa gasim valoarea corecta pentru i si k. Arborii de decizie oblici au teste din noduri mult mai generale de forma:

!a
i #1

* xi " a d "1 ! 0 , ai coeficient valoare reala

Figura urmatoare arata modul in care arborii decizionali oblici si cei paraleli partitioneaza, segmenteaza acelasi exemplul:

Constructia unui arbore de decizie


Majoritatea algoritmilor care au fost creati pentru invatarea arborilor de decizie sunt variatii ale unui algoritm de baza care implica o parcurgere top-down greedy prin multimea arborilor de decizie posibili. Programele de acest tip construiesc un arbore decizional pornind de la un set de situatii, cazuri. Algoritmul ID3 construieste arbori de decizie n manier! top-down. Pentru fiecare proprietate, putem partitiona multimea de exemple de nv!tare n submultimi disjuncte, n fiecare submultime aflndu-se obiecte cu o anumit! valoare a acelei propriet!ti Algoritmul selecteaz! o proprietate pentru a o testa n nodul curent al arborelui si foloseste aceast! proprietate pentru a partitiona multimea de exemple. Algoritmul se aplic! recursiv pentru construirea subarborilor corespunz!tori fiec!rei partitii. Acest procedeu continu! pn! cnd toti membrii unei partitii sunt n aceeasi clas!. Clasa devine o frunz! n arborele de decizie Ordinea testelor este important!, punndu-se accent pe criteriul alegerii testului din r!d!cina arborelui de decizie. Vom prezenta o euristic! pentru selectia testului din r!d!cina arborelui de decizie. Mai intai, se construieste arborele de decizie Dupa aceea, se foloseste arborele de decizie pentru a clasifica exemple necunoscuteExemplele necunoscute pot fi clasificate astfel:
6

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

Inteligenta Artificiala - Arbori de decizie apartin unei clase (YES) nu apartin unei clase (NO) Algoritmul poate fi folosit pentru a clasifica exemplele necunoscute in diverse clase. In acest caz, frunzele arborelui de decizie sunt etichetate cu valorile atributului pentru acea clasa (in loc de a fi etichetate cu YES / NO). Algoritm pentru construirea arborelui de decizie: function ind-arbore (set-exemple, proprietati) begin dac! toate exemplele din set-exemple sunt n aceeasi clas! atunci ntoarce o frunz! etichetat! cu acea clas! altfel dac! propriet!ti este vid! atunci ntoarce o frunz! etichetat! cu disjunctia tuturor claselor din set-exemple altfel begin selecteaz! o proprietate P pentru a o testa si plaseaz-o n r!d!cina arborelui curent sterge P din propriet!ti pentru fiecare valoare V a lui P begin // algoritm pentru construirea arborelui de decizie creeaz! o ramur! a arborelui etichetat! cu V fie partitieV multimea exemplelor din set-exemple, cu valorea V pentru proprietatea P apeleaza ind-arbore (partitieV, propriet!ti) si plaseaz! rezultatul la ramura cu valoarea V end; end; end. Determinarea unui arbore de decizie dintr-o sectiune de cod:
if (i % 2 == 0) System.out.println ( "Numar par" ); else { if (i % 3 != 0) System.out.println ("Numar care nu e divizibil cu 3"); else if (i % 7 == 0) System.out.println ("Numar divizibil cu 3 si 7"); else System.out.println ("Numar divizibil cu 3 dar nu cu 7"); }

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

Inteligenta Artificiala - Arbori de decizie


! Arborele de decizie

Analiza pentru un arbore de decizie:


Fie un exemplu de date: Sa presupunem ca avem o strategie fictiva despre marketing. Sa presupunem ca cateva companii trimit diverse promotii la cateva case si inregistreaza aspecte de la fiecare casa in parte si de asemenea daca oamenii raspund sau nu.

District Suburban Suburban Rural Urban Urban Urban Rural Suburban Suburban Urban Suburban Rural Rural Urban

House Type Detached Detached Detached Semi-detached Semi-detached Semi-detached Semi-detached Terrace Semi-detached Terrace Terrace Terrace Detached Terrace

Income High High High High Low Low Low High Low Low Low High Low High

Previous Customer No Responded No No No Responded No Responded No

Outcome Nothing Nothing Responded Responded Responded Nothing Responded Nothing

Ar fi util sa stim ce factori influenteaza pe cineva sa raspunda sau nu, ce factori afecteaza cel mai mult raspunsul la promotie. Din exemplu putem vedea ca toate casele rurale au raspuns.

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la
Responded Responded No Responded Responded Responded Nothing Responded No Responded Responded

Inteligenta Artificiala - Arbori de decizie Aceasta ar putea fi util pentru a sti in viitor unde sa trimitem brosuri promotionale pentru a avea un raspuns cat mai mare. Pentru a genera un set de reguli putem construe un arbore de decizie. Acesta este facut topdown de la radacina si implica partitionarea datelor in subseturi care contin instante care au valori similare. Facand aceasta ar putea rezulta urmatorul arbore: District | Rural

Suburban Urban 3/5 4/4 3/5 | | | House type Responded Previous Customer | | | | | | No Yes Detached Semi-detached Terrace 3/3 2/2 2/2 1/2 1/1 Responded Nothing | | | Nothing Income Responded | | | High Low 1/1 1/1 | | Nothing Responded Nodurile colorate in maro corespund atributelor. La fiecare nod setul de date este impartit in subseturi bazate pe valorile atributelor din acel nod. La nodul radacina am impartit intregul set in 3 ramuri: una care contine numai instante care au valoarea Suburban pentru atributul District, una care contine numai instante unde atributul District este Urban si una in care toate instantele sunt pentru atributul Rural. Privind la caracteristica primului nod duap radacina vedem ca atunci cand District=Suburban, numai 3 din5 instante au aceeasi valoare a tintei.Aceste 5 instante sunt apoi testate dupa House-Type si sunt impartite in alte 3 subseturi. Construirea arborelui continua pana se ajunge la subseturi pure (care respecta atributul tintei). Dupa ce am construit arborele putem foarte usor extrage regulile doar citind caile in arbore:
$ $ $ $ $ $ $
(District=Suburban) AND (House Type=Detached) => (Outcome = Nothing) (District=Suburban) AND (House Type=Semi-Detached) AND (Income=High) => (Outcome = Nothing) (District=Suburban) AND (House Type=Semi-Detached) AND (Income=Low) => (Outcome = Responded) (District=Suburban) AND (House Type=Terrace) => (Outcome = Responded) (District=Urban) AND (Previous Customer=No) => (Outcome = Responded) (District=Urban) AND (Previous Customer=Yes) => (Outcome = Nothing) (District=Urban) => (Outcome = Responded)

Criteriul de despicare a arborelui: O parte fundamentala a oricarui algoritm care construieste un arbore de decizie dintr-un set de date este metoda in care se selecteaza atributele la fiecare nod din arbore. Unele atribute impart datele mai mult pur decat altele. Aceasta inseamna ca valorile sale corespund mai consistent cu instantele care au valori particulare. Punctul central al algoritmilor privind arborii decizionali constau in selectarea atributului ce urmeaza a fi testat la fiecare nod. Pentru alegerea atributului cu cea mai neomogena clasa de distributie algoritmul utilizeaza conceptul de entropie. Criteriul de estimare la algoritmii ce utilizeaza arbori decizionali este selectia unui atribut pentru testare fiecarui nod de decizie din arbore. O ideee asupra importantei unui atribut o da

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

Inteligenta Artificiala - Arbori de decizie propritatea numita castig informational information gain, ce masoara cat de bine un atribut dat separa exemplele date dupa un criteriu de clasificare.

Entropia o masura a omogenitatii unui set de exemple


Informal, entropia unui set de date poate fi considerata cat de dezordonat este setul.A fost demonstrat ca entropia reprezinta relatarea informatiei, in sensul ca o entropie mai mare a unei date inseamna ca e nevoie de mai multa informatie pentru a descrie acea data. In construirea unui arbore ne indreptam spre a descreste entropia pana ajungem la nodurile frunza (finale), punct in care avem entropia=0. Entropia este o masura care caracterizeaza puritatea/impuritatea unei colectii arbitrare de exemple. Fiind dat un set S, continand doar exemple pozitive si negative a unui concept dorit, entropia setului S este: Entropie(S)= % p p * log 2 p p % p n * log 2 p n , unde pn - proportia exemplelor negative din S

p p - proportia exemplelor pozitive din S

Pentru exemplificare se presupunem ca S este o colectie de 25 de exemple din care 15 pozitive si 10 negative: Entropie(S) = - (15/25) log2 (15/25) - (10/25) log2 (10/25) = 0.970 Se observa ca entropia este 0 daca toti membrii lui S apartin aceleasi clase. Entropia este 1 cand exista un numar egal de exemple pozitive si negative. Daca numarul de exemple este inegal, entropia este intre 0 si 1. in figura este reprezentata functia de entropie, dupa cum proportia de exemple pozitive variaza intre 0 si 1.

Pana acum am prezentat entropia in cazul special al clasificarii binare. Daca atributul are c valori diferite, entropia are formula:

Information gain Castigul informational

Sa zicem ca vrem sa aflam un mod cantitativ de a afla efectul impartirii setului d edate folosind un atribut particular. Putem folosi o masura numita Information Gain care calculeaza reducerea entropiei care ar rezulta din impartirea datelor dupa atributul A Pentru un anumit atribut A, cstigul informational produs de selectarea acestuia ca r!d!cin! a arborelui de decizie este egal cu continutul total de infomatie din arbore minus continutul de
10

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

Inteligenta Artificiala - Arbori de decizie informatie necesar pentru a termina clasificarea (construirea arborelui), dupa selectarea atributului A ca radacina. Information gain-castigul informational reprezinta reducerea asteptata in entropie cauzata de segmentare. Mai prcis, information gain, Gain(S, A) a unui atribut A in raport cu o colectie S este definit ca:

unde Value(A) este un set de posibile valori pentru atributul A Sv este o submultime a lui S pentru care atributul A are valoarea v Sv = {s & S | A(s) = v} Primul termen din Gain este chiar entropia lui S, iar cel de-al doilea termen e valoarea asteptata pentru entropie dupa ce S este segmentat folosind atributul A, deci este suma entropiilor pentru fiecare submultime Sv, inmultita cu fractia |Sv|/|S|. Procesul continua alegand un nou atribut si repetand segmentarea cu fiecare nod neterminal. Procesul se repeta pana cand una din cele doua conditii este satisfacuta: 1. toate atributele au fost deja incluse in parcurgerea arborelui; 2. exemplele antrenate associate cu nodul frunza au toate aceeasi valoare de atribut (entropia lor e 0).

Calculand aceasta valoare pentru fiecare atribut care a ramas, putem vedea care din ele imparte data in modul cel mai pur.
$ $ $
Gain(S,House Type) = 0.049 bits Gain(S,Income) =0.151 bits Gain(S,Previous Customer) = 0.048 bits

11

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

Algoritmul in pseudo-cod: Input: A set date, S Output: A arbore decizie DACA toate instantele au aceeasi valoare pentru atributul tinta Atunci constr un arbore care e simplu din aceasta valoare ATLFEL - Calculeaza valorile Gain pentru toate atributele si selecteaza atributul cu cea mai mica valoare si creeaza un nod pentru acest atribut - Constr o ramificatie pentru acest nod pentru fiecare valoare a atributlui. - Asigneaza toate valorile posibile ale atributelor la ramificatii - Urmeaza fiecare ramificatie impartind setul de date pentru a fi numai instante ordonate dupa valorile ramificatiilor si apoi intoarcete la 1.

Inteligenta Artificiala - Arbori de decizie In continuare prezentam un exemplu de construire a unui arbore decizional folosindu-ne de entropie: Dependent Attributes / Atribute independente / Condition Attributes Decision Attributes Nume Par Inaltime Greutate Lotiune Resultat Sarah Blonda Medie Mica Nu Ars de soare (positive) Dana Blonda Inalta Medie Da Nu (negative) Alex Bruneta Mica Medie Da Nu Annie Blonda Mica Medie Nu Ars de soare Emily Roscata Medie Mare Nu Ars de soare Pete Bruneta Inalta Mare Nu Nu John Bruneta Medie Mare Nu Nu Katie Blonda Mica Mica Da Nu
Faza I: De la date la arbore

Calculeaza entropia medie a setului de date complet pentru fiecare din cele 4 atribute

b1 = blonda b2 = roscata b3 = bruneta

Entropie = 0.50

12

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

Inteligenta Artificiala - Arbori de decizie

b1 = mica b2 = medie b3 = inalta

Entropie = 0.69

Calcularea entropiei pentru atributul inaltime:

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

13

Inteligenta Artificiala - Arbori de decizie

Calcularea entropiei pentru atributul greutate:

b1 = nu b2 = da

b1 = mica b2 = medie b3 = mare

Entropie = 0.61

Entropie = 0.94

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

14

Inteligenta Artificiala - Arbori de decizie Calcularea entropiei pentru atributul lotiune de branzat:

Rezultate: Attribute Culoarea parului Inaltime Greutate Lotiune Average Entropy 0.50 0.69 0.94 0.61

Atributul culoarea parului are entropia cea mai mica.

2.Asemntor, acum alegem alt test pentru separarea indivizilor arsi de soarea sau nu pentru ramura blondelor
Rezultate: Attribute Inaltime Greutate Lotiune Entropie 0.50 1.00 0.00

15

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

Inteligenta Artificiala - Arbori de decizie Atributul lotiune este selectat deoarece el are entropia cea mai mica n selecia ramurei par blond.Astfel, folosind impreuna testele pentru culoarea parului si lotiune asigura indentificarea corecta a tuturor exemplelor din tabelul initial

Arborele de decizie final


Avantajele si dezavantajele folosirii arborilor decizionali Avantaje:

Dezavantaje:

sunt capabili sa genereze reguli usor de inteles; fac clasificari fara a necesita prea mult calcul pot lucra atat cu variabile continuee cat si cu variabile absolute furnizeaza explicit care campuri sunt cele mai importante pentru calsificare timp executie rapid regulile generate sunt usor interpretate de oameni arhitectura optima pentru set date mari poate trata date de dimensiuni mari

nu sunt recomandate pentru sarcinile de apreciere unde scopul este sa prezica valoarea unui atribut continuu.; nu sunt recomandati in clasificari cu multe clase si numar relativ mic de exemple; nu trateaza bine regiunile nerectangulare;majoritatea algoritmilor ce folosesc arbori de decizie examineaza doar un singur camp la un moment dat, acest lucru ar putea duce la o clasificare care s-ar putea sa nu corespunda cu distribuirea existenta a inregistrarilor in spatiul de decizie. nu poate captura corelatiile intre atribute considera taieri numai dupa axe paralele. 16

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la