Sunteți pe pagina 1din 78

Introducere n Data Mining

Clasicare: tehnici alternative


Lucian Sasu, Ph.D.
Universitatea Transilvania din Brasov, Facultatea de Matematica si Informatica
March 29, 2012
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 1 / 78
Outline
1
Clasicatori bazat i pe reguli
2
Clasicatori bazat i pe vecinatate
3
Ret ele neurale articiale
4
Support Vector Machine
5
Metode de tip ansamblu
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 2 / 78
Clasicatori bazat i pe reguli: generalitat i
Tehnica de clasicare a nregistrarilor folosind o colect ie de reguli de
forma: daca . . . atunci. . .
Notat ie:
r
i
: (conditie) y
conditie: antecedentul sau precondit ia
y: consecventul; pentru clasicare, y este eticheta de clasa
Forma generala a unei precondit ii:
conditie = (A
1
op
1
v
1
) (A
2
op
2
v
2
) (A
k
op
k
v
k
)
unde A
j
este un atribut, v
j
este o valoare din domeniul de valori ale
atributului A
j
, op
j
este un operator din mult imea =, ,=, <, >, ,
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 3 / 78
Clasicatori bazat i pe reguli: generalitat i
Figure: Set de date pentru vertebrate
R1: (Give Birth = no) (Can Fly = yes) Birds
R2: (Give Birth = no) (Live in Water = yes) Fishes
R3: (Give Birth = yes) (Blood Type = warm) Mammals
R4: (Give Birth = no) (Can Fly = no) Reptiles
R5: (Live in Water = sometimes) Amphibians
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 4 / 78
Clasicatori bazat i pe reguli: generalitat i
O regula r acopera o nregistrare x daca atributele lui x satisfac
antecedentul regulii
Alternativ: spunem ca x activeaza sau declanseaza regula r
R1: (Give Birth = no) (Can Fly = yes) Birds
R2: (Give Birth = no) (Live in Water = yes) Fishes
R3: (Give Birth = yes) (Blood Type = warm) Mammals
R4: (Give Birth = no) (Can Fly = no) Reptiles
R5: (Live in Water = sometimes) Amphibians
Regula R1 acopera prima nregistrare Class = Birds
Regula R3 acopera a doua nregistrare Class = Mammals
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 5 / 78
Clasicatori bazat i pe reguli: generalitat i
Calitatea unei reguli de clasicare se masoara cu: acoperirea si
acuratet ea
Consideram un set de date D si o regula de clasicare r : A y
Acoperirea unei reguli este fract iunea de
nregistrari (frecvent a relativa a
nregistrarilor) care satisfac antecedentul
regulii: acoperire = [A[/[D[ unde [A[ este
numarul de nregistrari care satisfac
antecedentul regulii r , [D[ este numarul de
date din setul D
Acuratet ea unei reguli este fract iunea de
nregistrari care satisfac atat antecedentul
cat si consecventul regulii, raportata la
numarul de nregistrari ce declanseaza pe r :
acuratete(r ) = [A y[/[A[
Regula: Status = Single
No: acoperirea = 40%,
acuratet ea = 50%
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 6 / 78
Clasicatori bazat i pe reguli: mod de funct ionare
R1: (Give Birth = no) (Can Fly = yes) Birds
R2: (Give Birth = no) (Live in Water = yes) Fishes
R3: (Give Birth = yes) (Blood Type = warm) Mammals
R4: (Give Birth = no) (Can Fly = no) Reptiles
R5: (Live in Water = sometimes) Amphibians
Set de date pentru clasicare:
Prima nregistrare activeaza regula R3, deci animalul este clasicat ca
mamifer
A doua nregistrare activeaza atat regula R4 cat si R5 ??
A treia nregistrare nu declanseaza nicio regula ??
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 7 / 78
Clasicatori bazat i pe reguli: mod de funct ionare
Reguli mutual excluzive: daca nicio nregistrare nu activeaza doua
reguli simultan, precum la t estoasa
Altfel zis: o nregistrare este acoperita de cel mult o regula
Reguli exhaustive: daca ecare combinat ie de valori ale atributelor
este acoperita de o regula
Altfel zis: ecare nregistrare este clasicata de cel put in o regula

Impreuna: ecare nregistrare este acoperita de exact o regula


lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 8 / 78
Clasicatori bazat i pe reguli: mod de funct ionare
Daca un set de reguli nu este exhaustiv: adaugam o regula implicita:
r
d
: y
d
unde antecedentul este vid, consecventul este clasa implicita, de ex.
clasa majoritara din nregistrarile care nu sunt acoperite de celelalte
reguli
Daca regulile nu sunt mutual excluzive: o nregistrare poate declansa
mai multe reguli, posibil cu consecvent diferit
Solut ii:
Ordonarea setului de reguli
Folosirea unei scheme de votare
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 9 / 78
Clasicatori bazat i pe reguli: prin votare
Setul de reguli nu este ordonat n niciun fel
Se permite ca o nregistrare sa se potriveasca mai multor reguli
Se considera consecventul ecarei reguli ca ind un vot pentru o clasa
particulara
Voturile pot eventual ponderate, de exemplu prin acuratet ea regulii
Avantaj: sansa de eroare mai mica n clasicare ce s-ar datora unei
ordonari inadecvate a regulilor
Dezavantaj: intensiv computat ional, deoarece clasicarea nseamna
consultarea tuturor regulilor din mult imea de reguli
Alt posibil dezavantaj: necesitatea de a rezolva situat iile de balotaj
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 10 / 78
Clasicatori bazat i pe reguli ordonate
Regulile sunt ordonate pe baza prioritat ilor lor
Setul de reguli ordonat se mai numeste si lista de decizie
Cand o nregistrare este prezentata clasicatorului:
este asignata etichetei de clasa ce apare ca si consecvent al primei
reguli ce acopera nregistrarea
daca nu se activeaza nicio regula se poate folosi clasa (regula) implicita
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 11 / 78
Clasicatori bazat i pe reguli ordonate: scheme de ordonare
Sisteme bazate pe ordonarea regulilor:
regulile individuale sunt sortate dupa o masura a calitat ii lor
o nregistrare este clasicata de cea mai buna regula care o acopera
dezavantaj: greu de interpretat, pentru ca explicarea regulii aplicate
trebuie sa includa negarea aplicarii regulilor ce o preced
Sisteme bazate pe ordonarea claselor:
regulile sunt grupate pe clase (etichetele care se prezic)
clasele sunt cele ordonate, n nal
ordonarea regulilor dintr-o clasa nu este importanta (de ce?)
interpretarea regulilor este ceva mai usoara decat la cazul precedent
majoritatea clasicatorilor bazat i pe reguli folosesc ordonarea claselor
(e.g. C4.5rules, RIPPER)
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 12 / 78
Clasicatori bazat i pe reguli ordonate: scheme de ordonare
Figure: Ordonare la nivel de reguli vs. ordonare la nivel de clase
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 13 / 78
Construirea de clasicatori bazat i pe reguli
Metode directe
Extrag reguli direct din date
e.g.: RIPPER, CN2, algoritmul 1R al lui Holte
Metode indirecte
extrag reguli din alte modele de clasicare (e.g. arbori de decizie, ret ele
neurale, k-NN etc.)
exemplu: C4.5rules, extragerea de reguli din ret ele Fuzzy ARTMAP
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 14 / 78
Metoda directa: acoperirea secvent iala
Setul de reguli creste dupa o strategie greedy
Algoritmul extrage regulile pe clase = sistem bazat pe ordonarea
claselor
Criteriul pentru alegerea efectiva a clasei poate bazat pe:
procentajul de date pe care l acopera ecare clasa
costul datorat clasicarii gresite
Schit a algoritmului:
1
Porneste de la o ordonare a claselor Y = y
1
, y
2
, . . . , y
k

2
Pentru ecare clasa y
1
, y
2
, . . . , y
k1
:
1 Porneste de la un set de reguli gol pentru clasa curenta
2 Creaza o regula folosind funct ia Learn-One-Rule
3 Elimina nregistrarile din setul de antrenare ce sunt acoperite de regula
creata
4 Repeta pasii 2 si 3 pana se ndeplineste un criteriu de oprire
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 15 / 78
Metoda directa: acoperirea secvent iala
Exemplu:
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 16 / 78
Metoda directa: acoperirea secvent iala
Exemplu (cont):
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 17 / 78
Metoda directa: acoperirea secvent iala
Observat ii:
Pot exista mai multe reguli care se pot urma la un moment dat; se
foloseste un criteriu care permite alegerea celei mai bune reguli din cele
considerate (greedy)
Toate nregistrarile care apart in clasei curente sunt considerate
pozitive, restul de nregistrari negative
Odata aleasa o regula, se elimina toate nregistrarile acoperite de acea
regula
Elemente ce trebuie discutate:
Funct ia Learn-One-Rule
Strategia de creare a regulilor
Eliminarea instant elor
Evaluarea regulilor
Criterii de oprire
Retezarea regulilor
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 18 / 78
Acoperirea secvent iala: funct ia Learn-One-Rule
Obiectiv: extragerea unei reguli de clasicare
Se doreste ca o regula sa acopere cat mai multe exemple pozitive (ce
apart in clasei curent iterate)
Posibil ca aceasta regula sa acopere si nregistrari negative si n
acest caz ar trebui sa e cat mai put ine
Gasirea unei reguli optimale este problema computat ional intensiva
Euristica folosita este de tip Greedy
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 19 / 78
Acoperirea secvent iala: strategia de creare a regulilor
Doua strategii larg folosite:
de la general la specic
de la specic la general
Strategia de la general la specic:
se pleaca de la regula implicita r : y
regula are o calitate slaba, acoperind toate nregistrarile ramase n setul
de antrenare
se adauga succesiv condit ii n antecedent pentru a creste calitatea
regulii
procesul continua pana cand se ndeplineste un criteriu de oprire (e.g.
criteriul adaugat nu mbunatat este semnicativ clasicarea)
Figure: Strategia de la general la specic
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 20 / 78
Acoperirea secvent iala: strategia de creare a regulilor
Strategia de la specic la general:
Una din nregistrarile pozitive este aleasa aleator
Regula se generalizeaza succesiv prin eliminarea de condit ii din
consecvent
Pasul se repeta pana cand se ndeplineste un criteriu de oprire
Figure: Strategia de la specic la general
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 21 / 78
Acoperirea secvent iala: eliminarea instant elor
De ce se elimina instant ele acoperite de o regula?
Altfel, data viitoare urmatoarea regula ar aceeasi ca si cea curenta
De ce eliminam instant ele pozitive acoperite de regula curenta?
Daca ar pastrate nregistrarile pozitive acoperite de regula curenta,
atunci ar aparea o supraestimare a acuratet ei uneia din regulile
candidat urmatoare, n detrimentul altor reguli candidat
De ce eliminam instant ele negative acoperite de regula curenta?
Altfel ar aparea o subestimare a acuratet ei uneia din regulile candidat
urmatoare, n detrimentul altora
(a se vedea bibliograa pentru detaliere si exemplu grac)
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 22 / 78
Acoperirea secvent iala: evaluarea regulilor
Trebuie date criterii care spun care dintre condit ii se adauga la (sau
elimina din) antecedent pentru a obt ine o regula mai buna
Alegere aparent evidenta pentru funct ia de utilitate a unei reguli:
acuratet ea
Contraexemplu:
set de antrenare cu 60 pozitive si 100 negative
R1: acopera 50 pozitive si 5 negative; acuratet e 90.9%
R2: 2 pozitive si niciuna negativa; acuratet e 100%
totusi, R1 e mai buna decat R2, deoarece acopera mai multe
nregistrari; acuratet ea lui R2 este nselatoare si poate semn de
supraspecializare, ceea ce poate induce o generalizare slaba
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 23 / 78
Acoperirea secvent iala: evaluarea regulilor
Alte metrici:
Laplace =
f
+
+ 1
n + k
(1)
m estimare =
f
+
+ kp
+
n + k
(2)
n (resp. f
+
) = numarul de exemple (resp. exemple pozitive) acoperite
de regula
k = numarul total de clase
p
+
= probabilitatea apriori pentru clasa pozitiva (curenta)
daca acoperirea regulii este mare, atunci ambele metrici tind catre
acuratet ea regulii
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 24 / 78
Acoperirea secvent iala: criteriul de oprire
Calculeaza castigul adus de noua regula
Daca nu e sucient de mare, atunci te opresti cu regula aici
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 25 / 78
Acoperirea secvent iala: retezarea regulilor
Scopul: cresterea puterii de generalizare
Proces similar cu retezarea aposteriori pentru arbori de decizie
Retezare pentru reducerea erorii:
Se sterge una din condit iile din antecedentul regulii
Se compara ratele de eroare nainte si dupa regula, pe un set de validare
Daca eroarea creste, atunci se face retezare: elimina condit ia curenta
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 26 / 78
Metode indirecte pentru construirea de reguli
Se genereaza regulile de clasicare pornind de la alte modele de
clasicare, pentru care se face extragere de reguli (proces de reverse
engineering)
Ex: pentru un arbore de decizie, neretezat
Figure: Convertirea unui arbore de decizie la reguli de clasicare
condit iile de-a lungul caii de la radacina catre frunza alcatuiesc
consecventul
eticheta frunzei este consecventul
Daca se pleaca de la un arbore neretezat, setul de reguli obt inut este
exhaustiv si mutual excluziv
Uneori setul de reguli poate simplicat
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 27 / 78
Metode indirecte: C4.5rules
Se pleaca de la un arbore de decizie neretezat obt inut prin algoritmul
C4.5
Pentru ecare regula r : A y
considera o regula alternativa r

: A

y unde A

se obt ine din A prin


eliminarea unei condit ii din A
se compara ratele de eroare pesimista a lui r si r

se reteaza daca vreuna din variantele r

are o eroare pesimista mai mica


se repeta pana cand nu se mai poate mbunatat i eroarea de generalizare
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 28 / 78
Metode indirecte: C4.5rules
Se face gruparea regulilor obt inute pe clase subseturi de reguli
Fiecare subset este o colect ie de reguli cu acelasi consecvent
Se calculeaza lungimea descrierii aferenta ecarui subset de reguli
Lungimea descrierii = L(eroare) + gL(model)
L(eroare) este numarul de bit i necesari pentru reprezentarea
nregistrarilor clasicate gresit
L(model) este numarul de bit i necesar reprezentarii modelului clasei
curente
g este dependent de numarul de atribute redundante din model
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 29 / 78
Metode indirecte: C4.5 vs. C4.5rules
Set de date:
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 30 / 78
Metode indirecte: C4.5 vs. C4.5rules
Figure: Arbore C4.5 obt inut pentru
datele din slide-ul anterior
Reguli obt inute prin C4.5rules
(Give Birth=No, Can Fly=Yes)
Birds
(Give Birth=No, Live in
Water=Yes) Fishes
(Give Birth=Yes) Mammals
(Give Birth=No, Can Fly=No,
Live in Water=No) Reptiles
Amphibians
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 31 / 78
Caracteristicile clasicatorilor bazat i pe reguli
Expresivitate aproape echivalenta cu cea a arborilor de decizie; un
arbore de decizie reprezinta datele prin reguli exhaustive si mutual
excluzive
Pentru un set de reguli de decizie, daca o nregistrare poate declansa
mai multe reguli atunci se poate ajunge la suprafet e de decizie mai
complexe;
Clasicatorii bazat i pe reguli de decizie au performant a comparabila
cu arborii de decizie
Metodele bazate pe ordonarea claselor este adecvata pentru
manipularea seturilor de date puternic neechilibrate (fract iuni cu
variabilitate mare)
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 32 / 78
Outline
1
Clasicatori bazat i pe reguli
2
Clasicatori bazat i pe vecinatate
3
Ret ele neurale articiale
4
Support Vector Machine
5
Metode de tip ansamblu
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 33 / 78
Clasicatori bazat i pe instant e
Arborii de decizie si regulile de clasicare construiesc efectiv un model
care este folosit apoi pentru clasicarea datelor noi
Rezultat: eager learners
Strategie opusa: se amana crearea unui model de clasicare lazy
learners
Exemplu: clasicatorul Rote
se memoreaza ntregul set de date
se face clasicarea unei nregistrari doar daca atributele ei sunt identice
cu atributele unei nregistrari memorate
slabiciune evidenta: uneori nu se poate face clasicare deoarece nicio
nregistrare memorata nu se potriveste cu nregistrarea de test
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 34 / 78
Metoda celor mai apropiat i k vecini
Eng: k-Nearest Neighbor, prescurtat: k-NN
Se folosesc k vecini, cei mai apropiat i de nregistrarea ce se vrea a
clasicata
Metoda are nevoie de:
setul de nregistrari cu clase cunoscute
o metrica (distant a, funct ie de similaritate) care calculeaza distant a
ntre doua nregistrari, pe baza valorilor atributelor
valoarea k, numarul de vecini cei mai apropiat i care sunt considerat i
Pentru clasicarea unei nregistrari:
se calculeaza distant a catre alte nregistrari din setul de antrenare
se identica cei mai apropiat i k vecini
se folosesc etichetele de clasa ale acestor k vecini pentru a estima clasa
asociata nregistrarii de test (de exemplu prin considerarea votului
majoritar)
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 35 / 78
Metoda celor mai apropiat i k vecini
Figure: k-nearest neighbor
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 36 / 78
Metoda celor mai apropiat i k vecini
Figure: K-NN, pentru diverse valori ale lui k
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 37 / 78
Metoda celor mai apropiat i k vecini
Valoarea lui k este importanta:
daca e prea mic, atunci clasicatorul poate suspectat de overtting,
pentru ca devine prea senzitiv la zgomotul din datele de intrare
(zgomot date eronate)
daca e prea mare, atunci sar putea ca prea mult i dintre cei k vecini
considerat i sa e departat i de punctul curent si deci irelevant i pentru
clasicarea curenta
Figure: Valoare prea mare a lui k duce la considerare de date irelevante
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 38 / 78
1-Nearest Neighbor
Figure: Pentru 1-Nearest neighbor se obt ine diagrama Voronoi.

In interiorul unei
zone delimitate, orice punct ar avea aceeasi clasa ca punctul marcat din acea
zona.
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 39 / 78
Metoda celor mai apropiat i k vecini
Algoritm:
1
Fie k numarul de vecini considerat i si D setul de date de antrenare
2
Pentru ecare exemplu de test x

Calculeaza d(x, x

), distant a ntre exemplul de test si datele (x, ) din D


Selecteaza D
z
D setul celor mai apropiat i k vecini ai lui x

Calculeaza clasa asociata lui x

:
y

= arg max
v

(x
i
,y
i
)D
z
I (v = y
i
) (3)
Observat ii:
funct ia I () este funct ia indicator, cu valoare 1 daca argumentul are
valoarea adevarat, 0 altfel
daca exista mai mult i v care maximizeaza partea dreapta a expresiei
(3), atunci se alege arbitrar unul din acestia
mai sus se foloseste un sistem de votare n care ecare vecin are
acelasi impact n determinarea clasei estimate
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 40 / 78
Metoda celor mai apropiat i k vecini
Calculul distant ei: o alegere populara este distant a Euclidiana: pentru
x = (x
1
, . . . , x
n
), y = (y
1
, . . . , y
n
)
d
E
(x, y) =

i =1
(x
i
y
i
)
2
(4)
Problema legata de ordinul de marime a datelor:
avem doua atribute: nalt imea si greutatea unor persoane
nalt imea e masurata n metri; intervalul poate de ex
[1.50 m, 2.00 m], deci cu o diferent a de maxim 0.5
greutatea se masoara n kilograme; intervalul poate [50 kg, 100 kg]
diferent ele de greutate domina pe cele n nalt ime; o diferent a de 1 kg
este mai mare decat orice diferent a de nalt ime, contribuind deci prea
mult la calculul distant ei
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 41 / 78
Metoda celor mai apropiat i k vecini
Problema cu distant a Euclidiana: ecare atribut are exact aceeasi
pondere n calculul sumei de sub radical
Chiar daca se face scalarea marimilor (vezi problema cu kg si m), nu
nseamna ca ecare dimensiune are aceeasi relevant a
Se poate folosi o funct ie ponderata, plecand de la metrica Euclidiana
d
E
(x, y) =

i =1

i
(x
i
y
i
)
2
,
i
0 (5)
Intrebare: mai este (5) o metric a?
Alte variante de metrici: a se vedea cursul 2
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 42 / 78
Metoda celor mai apropiat i k vecini
Pentru a reduce senzitivitatea algoritmului k-NN fat a de alegerea lui
k se poate folosi o ponderare a vecinilor
Tot i cei k vecini participa la decizia legata de clasa actuala, dar cu
ponderi diferite:
vecinii mai apropiat i au pondere mai mare
vecinii mai departat i au pondere mai mica
Ponderea w poate descrescatoare cu distant a fat a de punctul ce se
vrea a clasicat
Formula (3) se transforma din:
y

= arg max
v

(x
i
,y
i
)D
z
I (v = y
i
)
n:
y

= arg max
v

(x
i
,y
i
)D
z
w
i
I (v = y
i
) (6)
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 43 / 78
Caracteristici ale metodei k-NN
Un tip particular de instance-based learning
Nu produce efectiv un model; timpul de nvat are este 0
Clasicarea poate lenta, deoarece se face uz de tot corpusul de date
din setul de instruire
Clasicarea se face pe baza informat iei locale, pe cand arborii de
decizie si clasicatorii bazat i pe reguli gasesc un model global
k-NN poate produce suprafet e de decizie arbitrar de complexe;
suprafet ele pot avea variabilitate mare, puternic inuent ate de setul
de instruire
Daca nu se foloseste preprocesare (scala diferitelor atribute ar trebui
luata n considerare) sau o masura de similaritate adecvata, valorile
prezise pot gresite
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 44 / 78
Outline
1
Clasicatori bazat i pe reguli
2
Clasicatori bazat i pe vecinatate
3
Ret ele neurale articiale
4
Support Vector Machine
5
Metode de tip ansamblu
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 45 / 78
Ret ele neurale articiale
Domeniul este inspirat de studiul ret elelor neurale naturale
Ret elele neurale articiale (RNA) sunt compuse din neuroni
interconectat i
Legatura dintre neuroni este modelata ca o pondere (valoare
numerica) si aceasta se poate modica
Printr-un proces de instruire (nvat are, adaptare), ponderile sunt
modicate astfel ncat sa se faca recunoasterea de pattern-uri
Poate prelua doar intrari numerice, complet precizate (i.e. fara valori
lipsa)
RNA sunt folosite pentru:
clasicare
estimare de probabilitate
regresie
grupare (clustering)
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 46 / 78
Ret ele neurale articiale: perceptron
Perceptron: un singur neuron
Instruirea este de tip supervizat, setul de nvat are este de forma
(x R
n
, y 1, 1)
Neuronul preia suma intrarilor nmult ite cu ponderile asociate, i.e.
produsul scalar ntre vectorul valorilor intrarilor si vectorul ponderilor
Se compara suma cu o valoare de prag, t
Daca suma este mai mare decat t atunci perceptronul va produce la
iesire valoarea 1, altfel -1
Valorile ponderilor w si pragul t sunt determinate prin proces de
instruire si apoi raman xe
Figure: Perceptron
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 47 / 78
Ret ele neurale articiale: perceptron
Matematic, iesirea se determina astfel:
y = sgn(w
1
x
1
+ w
2
x
2
+ + w
n
x
n
t) = sgn(w, x) (7)
unde w = (w
0
, w
1
, . . . , w
n
)
t
, x = (x
0
, x
1
, . . . , x
n
)
t
cu w
0
= t,
x
0
= 1, < , > este produs scalar Euclidian iar sgn() e funct ia
signum.
Algoritmul de instruire a perceptronului modica ponderile w n
funct ie de diferent a existenta ntre valoarea furnizata de perceptron, y
si valoarea efectiva y a intrarii curente.
Teorema de convergent a a perceptronului spune ca daca un set este
format din date apart inand de doua clase liniar separabile, atunci
dupa un numar nit de ajustari ale ponderilor w perceptronul va
determina un hiperplan de separare
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 48 / 78
Ret ele neurale articiale: perceptron
Nu toate problemele de clasicare n doua clase sunt liniar separabile
Exemplu: problema XOR
Nu se poate determina un hiperplan (n cazul 2D: o dreapta) care se
aiba de o parte doar punctele dintr-o clasa si de partea cealalta doar
puncte din cealalta clasa
Figure: Problema XOR
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 49 / 78
Ret ele neurale articiale: ret ea neurala multistrat
Figure: Ret ea neurala articiala multistrat cu un singur neuron de iesire
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 50 / 78
Ret ele neurale articiale: instruirea ret elei neurale
multistrat
Funct ioneaza pentru instruire supervizata; setul de nvat are consta din
perechi de forma (x
k
R
n
, y
k
R
m
)
Se init ializeaza ponderile legaturilor dintre neuroni, de exemplu cu
valori aleatoare
Se modica ponderile a.i. iesirea ret elei sa e apropiata de iesirea
dorita
Funct ia obiectiv ce trebuie minimizata este:
E(w) =
1
2

i
(iesirea produsa
i
iesirea dorita
i
)
2
(8)
unde i itereaza peste indicii neuronilor din stratul de iesire
Determinarea ponderilor de optim: metodele de tip gradient sunt
frecvent folosite
w
j
w
j

E(w)
w
j
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 51 / 78
Ret ele neurale articiale: probleme
Numarul de neuroni din stratul ascuns, eventual numarul de straturi
ascunse trebuie sa e determinat nainte de nceperea instruirii; nu
este clar cum se poate alege acesta, de regula se folosesc multiple
ncercari
Funct ia obiectiv (8) este dicil de optimizat; metodele bazate pe
gradient pot duce n optime locale, insucient de bune pentru a
considera ca ret eaua sa adaptat corespunzator
Setul de date trebuie sa e complet, fara valori de atribute
neprecizate; intrarile si iesirile sunt exlusiv numerice
Timpul de antrenare poate sa e mare
Greu de interpretat; extragerea de reguli este posibila, dar rareori
facuta; acest tip de ret ele neurale articiale sunt mai degraba
percepute ca black boxes
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 52 / 78
Ret ele neurale articiale: trasaturi
Ret elele neurale articiale multistrat sunt aproximatori universali: pot
aproxima oricat de del orice funct ie reala continua
Pot manipula valori redundante
Nu sunt foarte senzitive la zgomot
Instruirea este lenta, efectuata pe multiple sesiuni n care se parcurg
repetat datele
Din punct de vedere practic funct ioneaza bine, arhitectura multistrat
ind cea mai implementata si utilizata ret ea
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 53 / 78
Outline
1
Clasicatori bazat i pe reguli
2
Clasicatori bazat i pe vecinatate
3
Ret ele neurale articiale
4
Support Vector Machine
5
Metode de tip ansamblu
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 54 / 78
Support Vector Machine (SVM)
Metoda de obt inere a unui dihotomizator = clasicator pentru doua
clase
Au fundament matematic solid
Funct ioneaza bine pentru date multidimensionale
Se poate aplica si pentru clase neliniar separabile
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 55 / 78
Support Vector Machine (SVM)
Figure: Sa se determine o dreapta (hiperplan) care separa cele doua clase de
puncte
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 56 / 78
Support Vector Machine (SVM)
Figure: O solut ie posibila
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 57 / 78
Support Vector Machine (SVM)
Figure: Alta solut ie
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 58 / 78
Support Vector Machine (SVM)
Figure: Alte solut ii
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 59 / 78
Support Vector Machine (SVM)
Figure: Care e mai buna? B1 sau B2? (ce nseamna mai buna?)
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 60 / 78
Support Vector Machine (SVM)
Figure: Enunt mai clar: sa se gaseasca hiperplanul care maximizeaza marginea de
separare.

In aceasta condit ie, B1 este mai bun decat B2
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 61 / 78
Support Vector Machine (SVM)
w, b sunt parametri ai modelului SVM
Clasicarea efectuata de hiperplan:

f (x) =

1 daca w x + b > 0
1 daca w x + b < 0
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 62 / 78
Support Vector Machine (SVM)
Considerand punctele cele mai aporpiate de hiperplan, putem impune
condit ia ca el su a e astfel trasat ncat distant a dintre aceste puncte
si hiperplan sa e sucient de mare:
b11 : w x + b = 1 (9)
b12 : w x + b = 1 (10)
Marginea suprafet ei de decizie este data de distant a dintre b11 si b12
Se doreste ca aceasa margine de separare sa e cat mai mare, deci
trebuie determinat max
2
w
2
Daca setul de date de antrenare este (x
i
, y
i
) cu y
i
1,
1 i N, atunci trebuie determinat i w si b a..:

w x
i
+ b 1 daca y
i
= 1
w x
i
+ b 1 daca y
i
= 1
(11)
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 63 / 78
Support Vector Machine (SVM)
Considerand maximizarea marginii suprafet ei de decizie, obt inem
problema de optimizare:

min
w
w
2
2
cu constrangerile y
i
(w x
i
+ b) 1, i = 1, . . . , N
(12)
Problema (12) este una de optimizare convexa
Se rezolva prin metoda multiplicatorilor lui Lagrange, pentru
problema urmatoare:
L
P
=
1
2
|w|
2

i =1

i
(y
i
(w x
i
+ b) 1) (13)
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 64 / 78
Support Vector Machine (SVM)
Pentru determinarea valorilor multiplicatorilor se aplica condit iile
Karush-Kuhn-Tucker si se rezolva problema duala:
L
D
=
N

i =1

i

1
2

i ,j

j
y
i
y
j
x
i
x
j
(14)
Prin metode de programare patratica se determina valorile
i
,
1 i N
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 65 / 78
Support Vector Machine (SVM)
Cum se poate folosi SVM pentru clase neliniar separabile?
Figure: Clase neliniar separabile
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 66 / 78
Support Vector Machine (SVM)
Solut ie: se relaxeaza inegalitat ile din (11) n forma:

w x
i
+ b 1
i
daca y
i
= 1
w x
i
+ b 1 +
i
daca y
i
= 1
(15)
cu
i
0 i
Valorile lui
i
nu pot prea mari
Funct ia obiectiv devine:
f (w) =
|w|
2
2
+ C

i =1

k
(16)
unde C si k sunt valori specicate de utilizator sau determinate
printr-un proces de validare
Se modica forma Lagrangianului din (13), se obt ine o problema
duala adecvata;
Se aplica metode numerice din cadrul tehnicilor de programare
patratica pentru rezolvarea problemei duale
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 67 / 78
Outline
1
Clasicatori bazat i pe reguli
2
Clasicatori bazat i pe vecinatate
3
Ret ele neurale articiale
4
Support Vector Machine
5
Metode de tip ansamblu
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 68 / 78
Metode de tip ansamblu
Pe baza setului de antrenare se pot construi mai mult i clasicatori

Intrebare: nu am putea oare combina mai mult i clasicatori pentru a


obt ine rezultate mai bune decat cu unul singur?
Prin combinarea predit iilor facute de un grup de clasicatori se poate
obt ine de multe ori un rezultat mai bun decat bazandute pe unul
singur
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 69 / 78
Metode de tip ansamblu: exemplu de motivat ie
Avem 25 de clasicatori binari, ecare cu rata de eroare (procent de
clasicare gresita) = 0.35
Ansamblul ia ca si valoare prezisa pentru o intrare votul majoritar
Daca clasicatorii sunt identici, atunci ansamblul se va comporta ca
oricare din ei, deci eroarea de clasicare este tot 0.35
Daca clasicatorii sunt nsa independent i, atunci ansamblul are eroare
de clasicare doar daca cel put in 13 clasicatori gresesc
Astfel, eroarea de clasicare pentru ansamblul de clasicatori
independent i este:
e
ansamblu
=
25

i =13
C
i
25

i
(1 )
25i
= 0.06
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 70 / 78
Metode de tip ansamblu: exemplu de motivat ie
Condit ii necesare pentru ca ansamblul de clasicatori sa duca la
rezultate mai bune:
1
clasicatorii sa e independent i unii de alt ii
2
clasicatorul de baza (daca se face replicarea unui aceluiasi clasicator)
sa se comporte mai bine decat unul care procedeaza prin ghicire la
ntamplare
Chiar daca clasicatorii sunt ne-independent i, n practica sa observat
ca ansamblurile de metode conduc la rezultate bune
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 71 / 78
Metode de tip ansamblu: metode de construire a
ansamblului
1
Construirea unui ansamblu de clasicatori se face dupa schema de
mai jos:
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 72 / 78
Metode de construire a ansamblului
Prin manipularea setului de antrenare (esantionare); un clasicator
este construit pentru ecare set de esantioane; ex: bagging, boosting;
varianta: ntrucat mare parte din algoritmii de nvat are sunt
dependent i de ordinea datelor de instruire, se pot face permutari
aleatoare ale lui D;
Prin manipularea etichetelor de clasa: daca mult imea de clase este
sucient de mare, atunci se poate partit iona n subseturi (e.g. A
0
si
A
1
); un clasicator va lucra doar cu etichetele A
0
si A
1
. Daca la
prezentarea unei nregistrari un clasicator binar de mai sus raspunde
cu A
0
, atunci toate etichetele care intra n A
0
primesc un vot;
procedeul se repeta pentru partit ionari diferite a mult imii init iale de
etichete
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 73 / 78
Metode de construire a ansamblului (cont)
Prin modicarea atributelor de intrare: de exemplu, se aleg (aleator
sau pe baza de expert i umani) subseturi de atribute (proiect ie) si se
construiesc clasicatori doar cu aceste atribute;
Prin manipularea algoritmului de nvat are: aproape tot i algoritmii de
nvat are au niste hiperparametri care inuent eaza comportamentul
clasicatorului
ret ele neurale: factori de nvat are, numarul de noduri, numarul de
straturi, funct ia de activare
k-NN: k, funct ia de ponderare a vecinilor
arbori de decizie: n loc de a se alege cel mai bun criteriu pentru a
partit iona datele dintr-un nod, se alege aleator din cele mai bune p
criterii
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 74 / 78
Metode de construire a ansamblului: Bagging
Cunoscut ca si: bootstrap aggregating
Pasii:
se face esantionare dupa o distribut ie uniforma cu repunere
ecare esantion are aceeasi dimensiune ca setul init ial
o parte din datele originale pot sa apara n esantion de mai multe ori,
altele deloc
n medie, un esantion cont ine aproximativ 63% din datele originale
dupa ce se obt in k clasicatori, o instant a de test are clasa estimata pe
baza votului majoritar
exemplu: Introduction to Data Mining, sect iunea 5.6.4
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 75 / 78
Metode de construire a ansamblului: Boosting
Boosting: procedura iterativa prin care se modica distribut ia datelor
de antrenare prin concentrarea pe nregistrarile gresit clasicate
anterior
Ponderile sunt asociate nregistrarilor din setul de antrenare si pot
folosite pentru:
inuent area mecanismului de esantionare
inuent area clasicatorilor pentru a produce un model care este
direct ionat catre nregistrarile cu ponderi mai mari
Init ial, toate nregistrarile din setul de antrenare au aceeasi pondere
1/[D[
Ponderile pot modicate la sfarsitul unei runde de boosting
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 76 / 78
Metode de construire a ansamblului: Boosting

Inregistrarile care sunt gresit clasicate vor suferi o crestere a


ponderilor

Inregistrarile care sunt corect clasicate vor avea ponderile scazute


Exemplu: nregistrarea 4 este greu de nvat at
Ponderea ei este crescuta, deci sansa de a aleasa prin esantionare
creste
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 77 / 78
Studiu individual
Din Introduction to Data Mining, cap 5:
Clasicatori bayesieni, nave Bayes, belief networks
SVM neliniar, kernel trick
Descompunerea abatere - variant a
Random forests
Problema claselor nebalansate
Problema multiclaselor
lucian.sasu@ieee.org (UNITBV) Curs 5 March 29, 2012 78 / 78