Sunteți pe pagina 1din 15

Utlizarea tehnologiilor de tip Data Mining in Inteligenta Computationala

Invatarea supervizata
nvarea supervizat este un tip de nvare inductiv ce pleac de la un set de exemple de
instane ale problemei i formeaz o funcie de evaluare (ablon) care s permit clasificarea
(rezolvarea) unor instane noi.
nvarea este supervizat n sensul c setul de exemple este dat mpreun cu clasificarea lor
corect. Aceste instane rezolvate se numesc instane de antrenament. Formal, setul de
instane de antrenament este o mulime de perechi atribut-valoare (x,f(x)), unde x este instana
iar f(x) clasa creia i aparine instana respectiv.
Scopul nvrii este construirea unei funcii-ablon care s clasifice corect instanele
exemplu, iar pentru un x pentru care nu se cunoate f(x) s propun o aproximare ct mai
corect a valorii f(x).
Abordari si algoritmi:
-retele neuronale artificiale
-statistica Bayesiana
-arbori de decizie
-support vector machines
-expectation maximization
Aplicatii:
-bioinformatica
-recunoasterea scrisului de mana
-recunoasterea obiectului in computer vision
-detectarea spamurilor
-recunoasterea tiparelor ( Pattern Recognition)
-recunoasterea vorbirii

1.1 Ce este nvtarea supervizat?


nvtarea supervizat este una dintre categoriile principale de probleme ale nvtrii
automate, iar scopul ei este acela de a deduce o functie din datele de antrenament pe care le
primeste. Aceste date de antrenament sunt o multime de perechi, fiecare pereche fiind
compus dintr-un obiect de intrare (de obicei un vector) si valoarea de iesire dorit. Un
algoritm de nvtare supervizat analizeaz asadar datele de antrenament pe care le primeste si
construieste pe baza lor functia ce va fi folosit ulterior pentru a clasifica noi exemple.
Scenariul optim al rezolvrii unei probleme de acest tip va permite algoritmului dezvoltat s
generalizeze de la datele de antrenament pn la situatii cu care nu s-a mai confruntat cu
rezultate satisfctoare.
Exemple de probleme reale n care se poate aplica nvtarea supervizat:
O camer de urgente dintr-un spital msoar 17 caracteristici ale pacientilor care ajung
acolo (presiunea sngelui, temperatura, vrsta etc.). Este necesar o decizie pentru a
se stabili care sunt pacientii care au nevoie de ngrijire urgent, Asadar, problema

const n identificarea pacientilor cu riscuri mari si diferentierea lor de cei cu riscuri


mai sczute.
O companie care acord credite primeste mii de aplicatii pentru credite noi. Fiecare
aplicatie contine urmtoarele informatii despre persoana care face cererea: vrsta,
starea civil, salariul anual, alte venituri. Problema o constituie clasificarea aplicatiilor
primite n dou categorii: aprobate si neaprobate.

1.2 Pasii rezolvrii unei probleme de nvtare supervizat


Pentru a rezolva o problem de nvtare supervizat, trebuie efectuati urmtorii pasi:
Determinarea tipului datelor de antrenament. Mai nainte de orice altceva, utilizatorul
trebuie s decid ce tip de date i este necesar pentru a fi folosit ca set de antrenament.
De exemplu, dac avem de a face cu o problem pentru recunoasterea scrisului de
mn, o dat de antrenament poate fi constituit de un singur caracter scris de mn,
un cuvnt sau o propozitie ntreag.
Colectarea setului de antrenament. Setul de date de antrenament trebuie s fie relevant
n aflarea functiei pentru aplicabilitatea acesteia n lumea real. Asadar, este necesar
adunarea de obiecte de intrare cu valorile de iesire corespunztoare fie de la expertii
umani, fie din msurtori efectuate.
Determinarea reprezentrii caracteristicilor obiectului de intrare. De cele mai multe ori
intrarea este transformat ntr-un vector de caracteristici, care contine nsusiri ce
descriu obiectul. Trebuie avut n vedere faptul c acest numr de trsturi nu trebuie
s fie foarte mare, dar trebuie s fie suficient pentru a putea prezice rezultatul cu
acuratete.
Determinarea structurii functiei de nvtare si alegerea algoritmului corespunztor de
nvtare (exemple de algoritmi de nvtare: arbori de decizie, masini cu suport
vectorial, retele neuronale artificiale s.a.).
Rularea algoritmului de nvtare pe setul de antrenament colectat. Unii algoritmi
necesit introducerea anumitor parametri de control, care pot fi ajustati prin
optimizarea peformantei pe un subset (numit set de validare) al setului de antrenament
sau prin cross-validare.
Evaluarea acuratetei functiei rezultate pentru un set de test independent de cel pe care
s-a fcut antrenarea.
2

1.3 Probleme majore n nvtarea supervizat


O prim problem o constituie compromisul dintre prejudiciu si variabile. Presupunem
c avem disponibile mai multe seturi de date de antrenament la fel de bune. Un algoritm de
nvtare are un prejudiciu pentru o intrare particular

dac atunci cnd este antrenat pe

fiecare din aceste seturi de date este sistematic incorect n prezicerea iesirii corespunzatoare
pentru

. Un algoritm de nvtare are o variatie ridicat pentru o intrare particular

dac

prezice diferite valori de iesire cnd este antrenat pe diferite seturi de date. Eroarea de
predictie a unui clasificator este legat de suma dintre prejudiciul si variatia algoritmului de
nvtare. n general exist un compromis ntre prejudiciu si variatie. Un algoritm de nvtare
cu un prejudiciu sczut trebuie trebuie s fie flexibil pentru a putea potrivi datele bine, dar
dac va fi prea flexibil va potrivi fiecare set de date diferit si de aici va avea o variatie mare.
Unul dintre aspectele cheie ale multor tehnici de nvtare supervizat este faptul c sunt
capabile s ajusteze acest compromis fie automat, fie prin intermediul unui parametru pe care
utilizatorul l poate modifica.
O alt problem este reprezentat de cantitatea de date de antrenament disponibil
raportat la complexitatea functiei ce trebuie determinat. Dac functia ce trebuie nvtat este
simpl, atunci un algoritm de nvtare inflexibil cu prejudiciu mare si variatie sczut va fi
capabil s nvete dintr-o cantitate mic de date, dar dac functia este complex (de exemplu
pentru c implic interactiuni complexe ntre multe caracteristici diferite de intrare sau se
comport diferit n prti distincte ale spatiului datelor de intrare), atunci functia va putea fi
folosit doar cu ajutorul unei cantitti mari de date si cu un algoritm flexibil. Prin urmare,
algoritmii de nvtare cu rezultate satisfctoare regleaz valoarea compromisului n functie
de cantitatea de date existent si complexitatea functiei ce urmeaz a fi nvtat.
A treia problem este dat de dimensiunea spatiului intrrilor. Dac vectorul de
caracteristici are o dimensiune foarte mare, problema de nvtare poate fi dificil chiar dac
functia depinde doar de un numr mic de caracteristici. Acest comportament al algoritmului
are loc datorit faptului c dimensiunile extra i pot crea confuzii si pot cauza astfel o
variatie ridicat. Prin urmare, un spatiu de intrare cu multe dimensiuni oblig algoritmul s
aib un prejudiciu ridicat si o variatie sczut. n practic, dac programatorul reuseste s
elimine caracteristicile irelevante din setul de date de intrare, functia nvtat va avea o
acuratete mai mare. n plus, exist multi algoritmi pentru selectia caracteristicilor meniti s le
identifice pe cele semnificative si s le ignore pe cele care nu sunt de folos n procesul de

nvtare. Acesta este un exemplu al unei strategii generale de reducere a dimensiunii spatiului
de intrare, care are scopul de a fixa datele de intrare ntr-un spatiu de dimensiune mai redus
nainte de a executa algoritmul de nvtare supervizat.
O alt problem o reprezint gradul de zgomot din valorile de iesire dorite. Dac
valorile de iesire sunt adesea incorecte (datorit erorilor umane sau altor erori), atunci
algoritmul de nvtare nu ar trebui s ncerce s gseasc o functie care potriveste exact
exemplele de antrenament. ncercarea de a potrivi datele cu prea mult atentie conduce la
nvtarea pe de rost (overfitting). Acest fenomen face ca algoritmul s aib o performant
foarte bun pe datele de antrenament, dar foarte slab pe datele de test. nvtarea pe de rost
poate s apar chiar si atunci cnd nu exist erori n efectuarea msurtorilor dac functia pe
care algoritmul ncearc s o nvete este prea complex pentru modelul de nvtare. ntr-o
asemenea situatie acea parte din functie care nu poate fi modelat, altereaz setul de date de
antrenament. n practic se folosesc diferite abordri n vederea atenurii fenomenului de
zgomot din valorile de iesire. Exemple de astfel de abordri le constituie oprirea timpurie a
algoritmului pentru a preveni nvtarea pe de rost sau detectarea acelor exemple de
antrenament care sunt suspecte de producere de zgomot si eliminarea acestora naintea
antrenrii algoritmului de nvtare supervizat.

1.4 Alti factori care trebuiesc luati n considerare n nvtarea


supervizat
Eterogenitatea datelor este de asemenea important n procesul de nvtare. Dac
vectorul de caracteristici contine trsturi de multe tipuri diferite (discrete, discrete ordonate,
numerice, valori continue), unii algoritmi sunt mai usor de aplicat dect altii din diferite
considerente. De exemplu, algoritmi precum masinile cu suport vectorial, regresia liniar,
regresia logistic, retelele neuronale artificiale si metodele care folosesc cel mai apropriat
vecin necesit ca datele de intrare pe care se doreste s se fac antrenarea s fie valori
numerice scalate similar (n intervalul [-1.1]). Metodele care folosesc o functie de distant (cel
mai apropiat vecin sau masinile cu suport vectorial cu nucleu Gaussian) sunt n particular
sensibile la aceast problem. Pe de alt parte, arborii de decizie au avantajul de a putea
manevra cu usurint datele eterogene.
Datele redundante pot crea dificultti algoritmului de nvtare. n cazul n care
caracteristicile de intrare contin informatie redundant, algorimi precum regresia liniar sau

cea logistic vor avea o performant sczut datorit numeroaselor instabilitti numerice.
Aceste inconveniente pot fi rezolvate impunnd diferite forme de regularizare a datelor.
Un alt factor care trebuie avut n vedere este prezenta interactiunilor si a
neliniarittilor. Dac fiecare din caracteristici au o contributie independent la rezultat atunci
algorimii bazati pe functii liniare (regresia liniar, regresia logistic, masinile cu suport
vectorial, sistemele Bayes) si cei bazati pe functii de distant (cel mai apropiat vecin, masini
cu suport vectorial cu nucleu Gaussian) au n cele mai multe cazuri o performant ridicat. Pe
de alt parte, dac exist interactiuni complexe ntre trsturi, atunci rezultate mai bune sunt
obtinute de arborii de decizie sau retelele neuronale artificiale, ntruct acesti algorimi sunt n
special conceputi pentru a descoperi aceste interactiuni. Metodele liniare pot fi la rndul lor
aplicate n aceast situatie, dar programatorul trebuie s specifice manual interactiunile n
momentul n care le foloseste.
Alegerea algoritmului de nvtare supervizat cel mai potrivit pentru o problem
specific este un proces experimental care solicit deseori un timp ndelungat. Avnd anumite
resurse fixate, de multe ori este mai recomandat s se petreac mai mult timp cu colectarea
mai multor date si a mai multor caracteristici, dect s se foloseasc si mai mult timp pentru
ajustarea algoritmului de nvtare corespunztor. Cei mai rspnditi algoritmi de nvtare
supervizat sunt: masinile cu suport vectorial, regresia liniar, regresia logistic, clasificatorul
bayesian, arborii de decizie, algoritmul al k-lea cel mai apropiat vecin si retelele neuronale
artificiale.

DM cuWEKA (Waikato Environment for Knowledge Analysis)


WEKA este o colectie de algoritmi de invatare pentru IC. Algoritmii pot fi implementati fie
direct pentru un set de date sau folositi chiar din codul Java. WEKA contine instrumente
pentru preprocesarea datelor, clasificare, regresie, reguli de asociere. WEKA este utilizat in
cercetare, educatie si in cadrul aplicatiilor. Aplicatia insumeaza un set vast de instrumente de
preprocesare a datelor, algoritmi de invatare si metode de evaluare, interfete grafice utilizator
(incluzand vizualizarea datelor) si un mediu pentru compararea algoritmilor de invatare.
Weka este un software open source, sub licenta generala publica GNU.
"WEKA" provine de la Mediul Waikato pentru Analiza Cunostiintelor (Waikato Environment
for Knowledge Analysis), si a fost dezvoltat la Universitatea Waikato din Noua Zeelanda.
WEKA este extensibil si a devenit o colectie de algoritmi pentru invatare in scopul rezolvarii
problemelor de data mining din lumea reala. A fost implementat in limbajul Java si ruleaza
aproape pe orice platforma.
WEKA este usor de folosit si usor de aplicat pe mai multe nivele diferite. Libraria WEKA
poate fi accesata de propriul program Java, si poate implementa noi algoritmi pentru invatare.
Free download WEKA 3.6.11:
http://www.cs.waikato.ac.nz/ml/weka

Validarea incrucisata (=Cross-validation) este o tehnica de validare a unui model pentru a


evalua cum rezultatele unei analize statistice se generalizeaza la un set de date independent.
Este in principal folosita in predictii cand se doreste a se estima cat de exact un model poate fi
supus unor predictii.
Intr-o problema de predictie, un model este de obicei dat printr-un set de date cunoscut
asupra caruia se aplica o antrenare (training dataset) si un set de date necunoscut pe care
modelul este testat (testing dataset). Scopul validarii incrucisate este de a defini un set de date
pentru a testa modelul in etapa de antrenament (=validation dataset), pentru a limita anumite
inconveniente precum suprapunerea (overfitting).
Validarea este importanta cand esantioanele sunt costisitoare, hazardate sau imposibil de
obtinut.
k-fold cross-validation
Esantionul original este partitionat aleator in k subesantioane. Din cele k subesantioane, unul
singur este retinut pentru a testa modelul (=date de validare) si cele k-1 subesantioane ramase
sunt folosite ca date de antrenare. Procesul este repetat de k ori , cu fiecare din cele k
subesantioane folosite o singura data ca date de validare. Cele k rezultate pot fi combinate ca
o medie sau in alt mod pentru a produce o unica estimare. In general k=10.

Arbori de decizie
Arborii de decizie constituie o tehnic aplicabil att pentru clasificare ct i pentru
predicie. Aa cum indic i numele, rezultatul ia forma unei arborescene care prezint o
ierarhie de reguli logice stabilite automat prin explorarea unei baze de exemple. Exemplele au
forma unor nregistrri compuse din mai multe atribute. Regulile se obin ca efect al
subdivizrii din ce n ce mai detaliate a ansamblului exemplelor, n funcie de coninutul
atributelor.
Construcia arborelui ncepe de la rdcin. Aceasta reprezint totalitatea exemplelor
disponibile. Ansamblul iniial este divizat n submulimi, ce devin noduri intermediare.
Fiecare nod este evaluat n continuare i poate fi decupat, la rndul su, n mai multe
submulimi. Procesul continu n aceast manier pn cnd se ajunge la noduri terminale
nedecompozabile. Exist cte un drum unic de la rdcin la fiecare nod terminal. Fiecare
nregistrare care intr n arbore este dirijat, n funcie de coninutul su, spre o ramur sau
alta, pn cnd se ajunge la un nod terminal. Cu alte cuvinte, nregistrarea este inclus n clasa
pe care o reprezint nodul terminal n care a ajuns; drumul pe care l-a parcurs pn la acesta
este expresia unei reguli de clasificare.
n tratarea efectiv a datelor, atributele sunt grupate n dou categorii: dependente i
independente. Mai precis, exist un singur atribut dependent, numit i atribut int, pentru
care se caut influenele exercitate de celelalte atribute, independente. Dintre toate, se
selecteaz cel care are impactul cel mai puternic asupra cmpului int, care permite, prin
urmare, divizarea ansamblului de nregistrri n submulimile cele mai relevante. Pentru
fiecare submulime, analiza se reia, avnd, evident, acelai cmp int dar lund n considerare
doar atributele rmase, cutnd noi i noi subdivizri.
Dup construcia arborelui, datele noi pot fi ncadrate, cu un anumit grad de certitudine,
n unul dintre nodurile terminale n funcie de valorile luate de atributele lor, clasndu-le sau
putnd face astfel predicii asupra lor.

Un arbore de decizie este una din cele mai utilizate structuri de reprezentare utilizate n
nvarea automat. Pentru o instan specificat de un set de proprieti, arborele verific
anumite proprieti pentru a naviga prin arbore i ajunge la o frunz care va fi eticheta
acelei instane. Fiecare nod intern al arborelui reprezint un test fcut asupra uneia sau mai
multor proprieti ale instanei, iar ramurile descendente din acel nod sunt identificate de
posibilele rezultate ale acelui test.
Un arbore de decizie construiete pentru o instan o conjuncie logic ce se verific pentru
proprietile instanei i formeaz un fel de demonstraie a clasificrii fcute pe baza acelor
proprieti.
Ca exemplu, fie arborele binar de decizie din Figura 1.

Acest arbore identific tipurile de patrulatere innd cont de anumite proprieti de baz. O
instan de intrare pentru acest arbore este o figur geometric definit de proprietile sale.
Arborele face anumite teste i ajunge la un nod terminal care identific tipul figurii
geometrice, dac este un patrulater, sau rspunde Altceva dac nu este un patrulater.
Drumul luat pentru a ajunge la rspuns poate fi reconstituit i formeaz o demonstraie a
rspunsului.
De exemplu, pentru instana:

Drumul parcurs va forma demonstraia:


Figura este romb, deoarece este patrulater i nu are unghiuri drepte i are laturile egale.
Avantajul principal al arborilor de decizie este acela c minimizeaz numrul de teste la cele
suficiente pentru a formula un rspuns. Avantajul este evident chiar n exemplul dat: arborele

identific orice figur geometric, indiferent de proprietile sale. De exemplu, pentru


instana:

arborele nu va verifica proprietile nerelevante pentru problem, ci va face testul


Patrulater?, i va rspunde imediat nu.

Algoritmi de construcie ai arborilor de decizie


Aa cum a rezultat din exemplul precedent, gsirea celei mai semnificative variabile st
la baza dezvoltrii arborilor de decizie. Produsele program existente folosesc mai muli
algoritmi pentru rezolvarea acestei probleme.
Una dintre cele mai folosite metode de dezvoltare a arborilor de decizie este CART
(Classification and Regression Trees), propus n anul 1984. Acesta demareaz cutnd
variabila independent ale cror valori permit cea mai bun divizare. n acest scop, se recurge
la calcularea unui indice de diversitate al ansamblului nregistrrilor din perspectiva unui
atribut. O valoarea ridicat a indicelui de diversitate semnaleaz existena unei distribuii
relativ uniforme de clase n timp ce o valoare redus indic predominana unei clase n raport
cu celelalte. Ceea ce se caut este, prin urmare, o divizare care s conduc la o diminuare ct
mai mare a valorii acestui indice.
Algoritmul prevede parcurgerea atributelor independente unul cte unul i calcularea
reducerii diversitii pe care ar putea s o aduc divizarea fcut pe baza sa. Variabila reinut
drept criteriu de separare este cea care produce cel mai bun rezultat. Ceea ce se caut este un
arbore binar. Atributele cu valori multiple ridic, n aceste condiii, o problem suplimentar:
regruparea valorilor astfel nct decupajul final s conduc la numai dou subdiviziuni.
Principiul de evaluare opereaz i aici, n urmtoarea form: se ordoneaz valorile n funcie
de reducerea de diversitate pe care o aduc i se alege cea mai bun dintre ele, celelalte fiind
grupate mpreun pe cea de a doua ramur.
Pentru fiecare dintre cele dou noduri astfel obinute, se caut o nou divizare, procednd
n aceeai manier. Atunci cnd nu mai este posibil reducerea semnificativ a diversitii
prin nici unul dintre atribute, se consider c nodul respectiv este terminal.
n ansamblul su, divizarea se ncheie atunci cnd toate nodurile la care s-a ajuns sunt
terminale.
Procednd n aceast manier, exist riscul de a ajunge la un numr excesiv de noduri,
crora le corespund un numr redus de nregistrri din setul de date tratat (care, cum bine a
observat cititorul, servesc drept date de nvare). Producerea de reguli pe asemenea baze
poate fi uneori foarte duntoare. Din aceast cauz, soluia iniial este revzut, n intenia
eliminrii acelor ramuri care sunt mai puin semnificative. n acest scop, se calculeaz o rat
ajustat de eroare pentru fiecare ramur. Subarborii care nu o pot compensa printr-o reducere
suficient a ratei de eroare a arborelui din care fac parte, sunt eliminai.
Rata de eroare msoar cte din nregistrrile de intrare sunt incorect plasate n ramura
respectiv n raport cu datele de nvare. Pentru o anumit arborescen, aceasta este suma
ponderat a ratelor de eroare a ramurilor componente.
Dup parcurgerea acestui proces, selecia final se face pe baza unui set de date de test,
aparinnd aceleiai populaii ca i datele de nvare dar compus din nregistrri diferite.
Pentru a elimina i mai bine riscurile de ncadrare eronat, se recurge la o verificare
suplimentar folosind un set de date de evaluare, evident diferit de primele dou. Rata de
eroare calculat n cursul evalurii este cea folosit pentru aprecierea rezultatelor prelucrrii
datelor noi.

Un algoritm de dat mai recent este C4.5, propus de profesorul australian J.R. Quinlan.
Spre deosebire de CART, care genereaz numai arbori binari, un nod poate avea aici un
numr variabil de ramuri. O alt diferen vine din modul de tratare a variabilelor nominale,
care vor avea acum cte o ramur pentru fiecare valoare posibil. n felul acesta se poate
ajunge rapid la un numr important de ramuri.
Precursorul acestui algoritm, numit ID3, dezvoltat de acelai autor, s-a bucurat de o larg
popularitate i a fost utilizat n diverse produse informatice. Acesta folosete drept criteriu de
evaluare a divizrilor ctigul informaional adus de acestea, respectiv gradul de incertitudine
nlturat, concept derivat din teorema informaiei a lui Shannon. Cum prin utilizarea sa sunt
favorizate arborescenele numeroase, crora le vor corespunde un numr redus de nregistrri
din setul de exemple, C4.5 folosete n aceast calitate raportul dintre ctigul informaional
total obinut prin diviziunea respectiv i ctigul informaional datorat exclusiv numrului
de subansambluri create prin aceasta. Elagajul arborelui se face de asemenea ntr-o manier
diferit de cea practicat n CART; mai mult dect att, analiza se bazeaz tot pe datele de
nvare, fr a mai recurge la date distincte de test sau de evaluare.
n varianta informatic, C4.5 are de asemenea capacitatea de a genera automat reguli, de
genul celei exemplificate anterior. Pornind de la setul complet, generat direct pe baza
arborelui, programul nlnuie un demers de generalizare, destinat reducerii numrului de
reguli. n acest scop, se elimin, pentru fiecare regul, anumite condiii i se verific msura
n care acest lucru crete rata de eroare. O serie de alte transformri mai pot fi operate n acest
scop, astfel nct, n final, numrul de reguli poate deveni mai mic (sau mult mai mic) dect
numrul de noduri terminale.
Cel mai vechi algoritm folosit pentru construirea de arbori de decizie este CHAID (Chisquared Automatic Interaction Detection), publicat pentru prima oar n 1975. Scopul su
principal este acela de a detecta relaiile statistice existente ntre variabile i, n aceast
calitate, face parte din produsele program de statistic, aa cum sunt SPSS sau SAS. CHAID
nu accept dect variabile nominative; celelalte trebuie supuse unui proces prealabil de
divizare n intervale cu care s fie nlocuite n timpul prelucrrii.
Printre perfecionrile propuse n domeniul generrii arborilor de decizie, ncorporate
deja n unele produse program comerciale, se poate meniona ideea utilizrii de combinaii de
atribute n stabilirea punctelor de ramificaie. n felul acesta, atributele nu mai sunt tratate
izolat unul de altul ci n anumite corelaii, ceea ce are ca efect simplificarea arborelui i
obinerea unor reguli de clasificare mult mai eficiente.
nvarea unui arbore de decizie plecnd de la un set S de exemple
etichetate i mulimea P de proprieti se face dup algoritmul:
begin
1. if (toate elementele din S au aceeai etichet) then
ntoarce un nod terminal cu eticheta respectiv
else {
2. caut proprietatea p din P cu cel mai mare ctig de
informaie
3. creeaz un arbore de decizie cu rdcina coninnd testul
acelei proprieti
4. for (fiecare rezultat posibil al testului acelei
proprieti) {
5. repet de la pasul 1 pentru setul de exemple cu
valoarea corespunztoare a proprietii testate

6. leag subarborele rezultat la ramura curent


}
}
7. ntoarce arborele
end
Elementul esenial este, evident, identificarea proprietii ce aduce cel mai mare ctig de
informaie prin testarea ei n arborele de decizie.

Probleme n utilizarea arborilor de decizie


O problem semnificativ este aceea a lurii unei decizii privind adugarea de noduri n
arbore. Este posibil ca adugarea unui nou test n arbore s nu mbunteasc precizia sa de
clasificare, sau chiar s o scad.
O soluie la aceasta problema este folosirea unei metode de a direciona cutarea n mulimea
de proprieti pentru a asigura identificarea celei mai directe ci spre soluia corect. n acest
scop, unei proprieti i asociem i o valoare de relevan statistic pe baza creia determinm
ansa ca relevana proprietii respective s fie independent de setul de instane pe care
antrenm arborele. Astfel eliminm testarea oricrei proprieti cu probabilitate mare de a fi
irelevant pentru scopul nvrii.
Alt soluie este validarea ncruciat, o metod ce testeaz submulimi de instane pentru a
vedea ct de bine ar fi clasificate folosind testul curent. Se realizeaz o medie a rezultatelor
pentru testele verificate i media se folosete la selectarea testelor viitoare.
O alt problem este necesitatea existenei unui set complet de proprieti pentru instanele
problemei. Pentru clasificarea unei instane, arborele de decizie poate testa oricare din
proprietile sale, deci nu putem folosi instane cu proprieti ale cror valori sunt
necunoscute. Exist mai multe variante de a permite algoritmului s lucreze cu seturi
incomplete de proprieti ale instanelor: putem da unei proprieti necunoscute o valoare pe
baza valorilor luate n instane similare, sau putem chiar construi un arbore de decizie pentru a
gsi o valoare pentru acea proprietate. Cea mai simpl metod este ns de a atribui acelei
proprieti valoarea cea mai des ntlnit n setul de instane.
Algoritmul de nvare pentru arbori de decizie a fost definit n forma iniial n
(Quinlan,1993), unde sunt descrii un tip de arbori de decizie numii ID3. n acea form,
proprietile luau doar valori booleene, rezultnd deci arbori binari de cutare. O extindere
evident ar fi folosirea unor proprieti cu valori multiple, lucru fcut ntr-o form ulterioar a
algoritmului (ID5 Utgoff,1988). ID5 mai adaug i construirea incremental a arborelui,
exemplele de intrare fiind tratate pe rnd, n urma fiecrui exemplu rezultnd un arbore de
decizie ce va fi mbuntit de exemplele ulterioare. De asemenea, instanele propriu-zise sunt
pstrate n frunzele arborelui i sunt folosite pentru a determina necesitatea adugrii unui nou
nod de testare la acel nivel.
Algoritmul J48 este implementarea in WEKA a algoritmului de invatare pentru arbori de
decizie C4.5 propus de Quinlan.

Rationamentul Bayesian
Modelul de nvare Bayesian este relevant din dou motive.
Primul dintre ele este acela c algoritmii bayesieni care calculeaz direct probabiliti pentru
anumite ipoteze, cum ar fi algoritmul de clasificare naiv al lui Bayes, sunt printre cele mai
practice abordri pentru anumite tipuri de probleme de nvare. Studiile arat nu doar faptul

10

c aceti algoritmi sunt competitivi cu alii, dar i faptul c pentru unele clase de probleme iau surclasat.
Al doilea motiv pentru care metodele Bayesiene sunt importante este c ele ofer o
perspectiv util pentru nelegerea mai uoar a multor algoritmi de nvare care nu
manipuleaz n mod explicit probabiliti. Perspectivele bayesiene pot fi folosite pentru
analizarea reelelor neuronale sau a arborilor de decizie.
Caracteristicile metodelor de nvare bayesiene sunt:
- Fiecare exemplu de antrenare poate scdea sau crete progresiv probabilitatea c o ipotez
este corect. Aceast abordare a procesului de nvare este mai flexibil comparativ cu
algoritmii care elimin complet o ipotez dac se dovedete c ea e n contradicie cu cel puin
un singur exemplu.
- Cunotinele anterioare pot fi combinate cu datele de antrenare observate pentru a
determina probabilitatea final a ipotezei. Cunotinele anterioare sunt obinute prin asocierea
unei probabiliti anterioare pentru fiecare ipotez candidat i o distribuie de probabilitate
pentru altele observate pentru fiecare ipotez n parte.
- Pot gzdui ipoteze care fac predicii probabilistice.
- Cazurile noi pot fi clasificate prin combinarea prediciilor mai multor ipoteze, ponderate n
funcie de probabilitatea lor.
- Chiar i atunci cnd calculele sunt greu de fcut, pot oferi un standard de luare a deciziilor
optime.
La fel ca i la orice sistem informatic, i aici ne lovim de dificulti n aplicarea lui. Ele se
refer la necesitatea unor cunotine anterioare despre domeniul probabilistic i la costul de
calcul semnificativ pentru a determina ipoteza Bayes optim.
Teorema lui Bayes
Teorema lui Bayes este una dintre teoremele fundamentale ale teoriei probabilitiilor, care
determin probabilitatea apartenenei evenimentelor i a obiectelor la o anumit grup.
Probabilitatea bayesian este numele dat mai multor interpretri ale noiunii de probabilitate,
care au n comun ideea de probabilitate ca credin parial, n loc de cea de frecven de
apariie a unui eveniment. Aceasta permite aplicarea probabilitii mai multor propoziii i nu
doar cele care au o clas de referin. Termenul de bayesian a nceput s fie folosit n acest
sens cam din 1950. Nu se tie dac Bayes nsui a mbriat larga interpretare denumit
astzi bayesian.
Bayes definete probabilitatea ca Probabilitatea oricrui eveniment este raportul ntre
valoarea la care ar trebui calculat o ateptare n funcie de ntmplarea unui eveniment, i
valoarea lucrului ateptat dup ce s-a ntmplat.
In contextul IC, suntem interesai de determinarea celei mai bune ipoteze pentru un spaiu H,
avnd n vedere datele de antrenare D. n acest context, atunci cnd vorbim despre cea mai
bun ipotez ne referim la cea mai probabil ipotez avnd datele D i alte cunotine iniiale
despre probabilitile diverselor ipoteze din H. Teorema lui Bayes confer o metod direct de
a calcula aceste probabiliti. Mai precis, ea furnizeaz o manier de a calcula probabilitatea
unei ipoteze bazat pe probabilitatea anterioar a acesteia, denotat din diverse date observate
avnd n vedere ipotezele .
Vom considera o ipotez h din spaiul ipotezelor H. Prin P(h) vom nota probabilitatea
realizarii ipotezei h. La probabilitatea anterioar observrii datelor de antrenare D ne vom
referi prin P(D), iar la probabilitatea de a observa datele D n raport cu ipoteza h, prin P(D|h).
Probabilitatea notat prin P(h|D) este probabilitatea ulterioar a lui h, aceea ca ipoteza h s se
petreac avnd n vedere datele de antrenare D. Aceasta reflect influena datelor de
antrenare asupra deciziilor care pot fi luate, n contrast cu P(h), probabilitate independenta de
D.

11

P(h), hH sunt anterioare datelor din D. Ele se numesc probabilitati anterioare sau apriori.
Rationamentul Bayesian consta in alegerea acelei ipoteze hm ax pentru care probabilitatea
posterioara P(hm ax | D) este maxima.
Cu alte cuvinte, rationamentul Bayesian consta in rezolvarea unei probleme de optim:
(1) max P(h | D)
hH

Teorema lui Bayes este piatra de temelie a nvarii bayesiene deoarece ea furnizeaz metoda
de a calcula probabilitatea ulterioar, P(h|D), din P(h), P(D) i P(D|h), astfel:
P ( D | h) P ( h)
P(h | D)
P( D)
Pe baza teoremei lui Bayes, avem:
P ( D | h) P ( h)
1
max P(h | D) max

max [ P( D | h) P(h)]
hH
hH
P( D)
P( D) hH
Atunci problema de maxim (1) este echivalenta cu urmatoarea problema de maxim:
(2) max P( D | h) P(h)
hH

Reelele de tip Bayes urmresc s exprime legturile dintre variabile prin analiza
probabilitilor de apariie i a determinrilor reciproce dintre acestea. n raport cu celelalte
tehnici de data mining, posed calitatea de a comporta foarte bine fa de datele lips sau
deformate de factori aleatori. Una dintre utilizrile menionate n literatura de specialitate
pentru aceast tehnic vizeaz predicia riscurilor de neplat. Consumul important de resurse
de calcul constituie o explicaie a utilizrii lor mai restrnse. Cu toate acestea, ultimii ani
marcheaz o cretere o ofertei de produse program care le implementeaz.
n sfrit, literatura de specialitate menioneaz de asemenea aplicaii ale unor metode
provenite din teoria grafurilor, pentru a obine o descriere preliminar a legturilor dintre
elemente, nainte de a trece la aprofundarea studierii lor prin tehnici de genul celor prezentate
anterior.

Clasificatorul Naiv Bayes (Nave Bayes Classification)


Clasificatorul Naiv Bayes (CNB) se bazeaza pe Teorema lui Bayes si se aplica cand
multidimensionalitatea datelor input este mare. In ciuda simplitatii sale, CNB poate depasi
uneori metode de clasificare mai complexe.

12

Pentru a ilustra conceptul de CNB, se considera exemplul din figura de mai sus. Obiectele pot
fi clasificate fie VERDE sau ROSU. Scopul este de a clasifica noi cazuri, adica de a decide
carei clasa apartin, pe baza obiectelor existente.
Deoarece sunt de doua ori mai multe obiecte verzi decat rosii, credem ca o noua instanta (care
nu a fost inca observata) are o probabilitate de a fi verde de doua ori mai mare decat a fi rosie.
In analiza Bayesiana, aceasta probabilitate este cunoscuta drept probabilitate apriori.
Probabilitatile apriori sunt bazate pe experienta anterioara, in acest caz procentajul obiectelor
verzi si rosii, si de obicei sunt folosite pentru a previziona rezultatele inainte ca ele sa fie
obtinute.
Deci, putem scrie:
Probabilitatea apriori pentru VERDE=P(Verde)=Nr. de obiecte verzi/ Nr. total de obiecte
Probabilitatea apriori pentru ROSU=P(Rosu)=Nr. de obiecte rosii/ Nr. total de obiecte
Prespunem ca sunt 60 obiecte in total, din care 40 verzi si 20 rosii. Probabilitatile apriori de
apartenenta la o clasa sunt:
Probabilitatea apriori pentru VERDE=P(Verde)=40/60
Probabilitatea apriori pentru ROSU=P(Rosu)=0/60

Suntem pe punctul de a clasifica un nou obiect X (cercul alb din figura). Este rezonabil sa
presupunem ca cu cat sunt mai multe obiecte verzi (sau rosii) in vecinatatea noului obiect, cu
atat este mai probabil ca noul obiect sa apartina acelei culori. Pentru a masura aceasta
probabilitate, trasam un cerc in jurul noului obiect, care cuprinde un numar (stabilit anterior)
de puncte indiferent de eticheta (=culoare). Apoi calculam numarul punctelor din cerc
apartinand fiecarei clase. De aici calculam probabilitatea:
P(X |Verde)=1/40
P(X|Rosu)=3/20

13

Desi probabilitatile apriori indica faptul ca X ar apartine clasei VERDE, probabilitatile


conditionate indica altfel (sunt mai mult obiecte rosii decat verzi in vecinatatea lui X). In
analiza Bayesiana, clasificarea finala se produce combinand cele doua surse de informatie,
probabilitatile apriori si cele conditionate, pentru a forma o probabilitate posterioara,
conform Teoremei lui Bayes (Thomas Bayes 1702-1761).
Problema de maxim (2) devine in acest caz:
Maxim (P(Verde) x P (X |Verde), P(Rosu) x P (X|Rosu))=
=max(
=

40 1 20 3
1 3
x , x ) max( , )
60 40 60 20
60 60

1
20

In final, il clasificam pe X ca fiind ROSU.


Pasii algoritmului CNB:
1. Fie T o multime de date de antrenare, fiecare etichetata cu clasa careia apartine. Sunt k
clase, C1 ,..., C k . Fiecare observatie este reprezentata printr-un vector n-dimensional,
X= ( x1 ,..., xn ) , reprezentand n valori masurate ale celor n atribute A1 ,..., An .
2. Fiind data o observatie X, CNB va detecta daca X apartine clasei care are cea mai mare
probabilitate posterioara conditionata de X.
X apartine clasei C i P(C i | X ) P(C j | X ) , pentru orice j=1,,k, ji.
Clasa C i pentru care P(Ci | X ) este maxima se numeste ipotez maxim posterioar
(maximum a posteriori hypothesis-MAP). Cfm. Teoremei lui Bayes:
P(C i | X )

P ( X | C i ) P(C i )
P( X )

3. Deoarece P(X) este aceeasi pentru toate clasele, trebuie maximizat numai produsul
P( X | Ci ) P(Ci ) . Daca probabilitatile a priori P (C i ) nu sunt cunoscute, se presupune ca ele
sunt egale: P(C1 ) ... P(C k ) si deci vom maximiza P( X | Ci ) .
4. Pentru seturi de date cu multe atribute, este complicat computational sa calculam
P( X | Ci ) . Pentru a reduce calculele in evaluarea expresiei P( X | Ci ) P(Ci ) , facem
presupunerea naiva de independenta de clasa. Aceasta presupune ca valorile atributelor sunt
independente conditionat; matematic, aceasta inseamna:
n

P( X | Ci ) P( xk | Ci )
k 1

14

Probabilitatile P( x1 | C i ),..., P( x n | C i ) pot fi estimate cu usurinta din setul de antrenare.


x k reprezinta valoarea atributului Ak pentru observatia X.

a)Daca Ak este categoriala, atunci P ( x k | C i ) este egala cu numarul de observatii din clasa C i
in T avand valoarea x k pentru atributul Ak impartit la freq( C i ,T), numarul de observatii din
clasa C i in T.
b)Daca Ak este o variabila continua, presupunem in general ca valorile au o distributie
Gaussiana de medie si abatere standard definita ca:
g(x, , )=

exp

(x )2
2 2

astfel incat
P ( x k | C i ) g ( x k , Ci , Ci ) .

Calculam Ci si Ci ca fiind media si abaterea standard a valorilor atributului Ak pentru


observatiile de antrenare din clasa C i .
5. Pentru a face o predictie asupra clasei lui X, evaluam P( X | Ci ) P(Ci ) pentru fiecare clasa
C i . CNB detecteaza ca X apartine clasei C i C i maximizeaza P( X | Ci ) P(Ci ) .

15

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