Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Curs 5 Data Mining
1. Introducere în Data Mining
Clasificare: tehnici alternative
Lucian Sasu, Ph.D.
Universitatea Transilvania din Braşov, Facultatea de Matematică şi Informatică
April 29, 2014
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 1 / 78
2. Outline
1 Clasificatori bazaţi pe vecinătate
2 Reţele neurale artificiale
3 Support Vector Machine
4 Clasificatori bazaţi pe reguli
5 Metode de tip ansamblu
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 2 / 78
3. Clasificatori bazaţi pe instanţe
Arborii de decizie construiesc efectiv un model care este folosit apoi
pentru clasificarea datelor noi
Rezultat: eager learners
Strategie opusă: se amână crearea unui model de clasificare ⇒ lazy
learners
Exemplu: clasificatorul Rote
se memorează întregul set de date
se face clasificarea unei înregistrări doar dacă atributele ei sunt identice
cu atributele unei înregistrări memorate
slăbiciune evidentă: uneori nu se poate face clasificare deoarece nicio
înregistrare memorată nu se potriveşte cu înregistrarea de test
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 3 / 78
4. Metoda celor mai apropiaţi k vecini
Eng: k-Nearest Neighbor, prescurtat: k-NN
Se folosesc k vecini, cei mai apropiaţi de înregistrarea ce se vrea a fi
clasificată
Metoda are nevoie de:
setul de înregistrări cu clase cunoscute
o metrică (distanţă, funcţie de similaritate) care calculează distanţa
între două înregistrări, pe baza valorilor atributelor
valoarea k, numărul de vecini cei mai apropiaţi care sunt consideraţi
Pentru clasificarea unei înregistrări:
se calculează distanţa către alte înregistrări din setul de antrenare
se identifică cei mai apropiaţi k vecini
se folosesc etichetele de clasă ale acestor k vecini pentru a estima clasa
asociată înregistrării de test (de exemplu prin considerarea votului
majoritar)
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 4 / 78
5. Metoda celor mai apropiaţi k vecini
Figure 1: k-nearest neighbor
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 5 / 78
6. Metoda celor mai apropiaţi k vecini
Figure 2: K-NN, pentru diverse valori ale lui k
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 6 / 78
7. Metoda celor mai apropiaţi k vecini
Valoarea lui k este importantă:
dacă e prea mic, atunci clasificatorul poate fi suspectat de overfitting,
pentru că devine prea senzitiv la zgomotul din datele de intrare
(zgomot ⇒ date eronate)
dacă e prea mare, atunci s–ar putea ca prea mulţi dintre cei k vecini
consideraţi să fie depărtaţi de punctul curent şi deci irelevanţi pentru
clasificarea curentă
Figure 3: Valoare prea mare a lui k duce la considerare de date irelevante
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 7 / 78
8. 1-Nearest Neighbor
Figure 4: Pentru 1-Nearest neighbor se obţine diagrama Voronoi. În interiorul
unei zone delimitate, orice punct ar avea aceeaşi clasă ca punctul marcat din acea
zonă.
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 8 / 78
9. Metoda celor mai apropiaţi k vecini
Algoritm:
1 Fie k numărul de vecini consideraţi şi D setul de date de antrenare
2 Pentru fiecare exemplu de test x′
Calculează d(x, x′
), distanţa între exemplul de test şi datele (x, ·) din D
Selectează Dz ⊆ D setul celor mai apropiaţi k vecini ai lui x′
Calculează clasa asociată lui x′
:
y′
= arg max
v
(xi ,yi )∈Dz
I(v = yi ) (1)
Observaţii:
funcţia I(·) este funcţia indicator, cu valoare 1 dacă argumentul are
valoarea adevărat, 0 altfel
dacă există mai mulţi v care maximizează partea dreaptă a expresiei
(1), atunci se alege arbitrar unul din aceştia
mai sus se foloseşte un sistem de votare în care fiecare vecin are
acelaşi impact în determinarea clasei estimate
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 9 / 78
10. Metoda celor mai apropiaţi k vecini
Calculul distanţei: o alegere populară este distanţa Euclidiană: pentru
x = (x1, . . . , xn), y = (y1, . . . , yn)
dE (x, y) =
n
i=1
(xi − yi )2 (2)
Problemă legată de ordinul de mărime a datelor:
avem două atribute: înălţimea şi greutatea unor persoane
înălţimea e măsurată în metri; intervalul poate fi de ex
[1.50 m, 2.00 m], deci cu o diferenţă de maxim 0.5
greutatea se măsoară în kilograme; intervalul poate fi [50 kg, 200 kg]
diferenţele de greutate domină pe cele în înălţime; o diferenţă de 1 kg
este mai mare decât orice diferenţă de înălţime, contribuind deci prea
mult la calculul distanţei
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 10 / 78
11. Metoda celor mai apropiaţi k vecini
Problema cu distanţa Euclidiană: fiecare atribut are exact aceeaşi
pondere în calculul sumei de sub radical
Chiar dacă se face scalarea mărimilor (vezi problema cu kg şi m), nu
înseamnă că fiecare dimensiune are aceeaşi relevanţă
Se poate folosi o funcţie ponderată, plecând de la metrica Euclidiană
dE (x, y) =
n
i=1
εi (xi − yi )2, εi ≥ 0 (3)
Intrebare: mai este (3) o metrică?
Alte variante de metrici: a se vedea cursul 2
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 11 / 78
12. Metoda celor mai apropiaţi k vecini
Pentru a reduce senzitivitatea algoritmului k-NN faţă de alegerea lui
k se poate folosi o ponderare a vecinilor
Toţi cei k vecini participă la decizia legată de clasa actuală, dar cu
ponderi diferite:
vecinii mai apropiaţi au pondere mai mare
vecinii mai depărtaţi au pondere mai mică
Ponderea w poate fi descrescătoare cu distanţa faţă de punctul ce se
vrea a fi clasificat
Formula (1) se transformă din:
y′
= arg max
v
(xi ,yi )∈Dz
I(v = yi )
în:
y′
= arg max
v
(xi ,yi )∈Dz
wi × I(v = yi ) (4)
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 12 / 78
13. Caracteristici ale metodei k-NN
Un tip particular de “instance-based learning”
Nu produce efectiv un model; timpul de învăţare este 0
Clasificarea poate fi lentă, deoarece se face uz de tot corpusul de date
din setul de instruire
Clasificarea se face pe baza informaţiei locale, pe când arborii de
decizie şi clasificatorii bazaţi pe reguli găsesc un model global
k-NN poate produce suprafeţe de decizie arbitrar de complexe;
suprafeţele pot avea variabilitate mare, puternic influenţate de setul
de instruire
Dacă nu se foloseşte preprocesare (scala diferitelor atribute ar trebui
luată în considerare) sau o măsură de similaritate adecvată, valorile
prezise pot fi greşite
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 13 / 78
14. Outline
1 Clasificatori bazaţi pe vecinătate
2 Reţele neurale artificiale
3 Support Vector Machine
4 Clasificatori bazaţi pe reguli
5 Metode de tip ansamblu
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 14 / 78
15. Reţele neurale artificiale
Domeniul este inspirat de studiul reţelelor neurale naturale
Reţelele neurale artificiale (RNA) sunt compuse din neuroni
interconectaţi
Legătura dintre neuroni este modelată ca o pondere (valoare
numerică) şi aceasta se poate modifica
Printr-un proces de instruire (învăţare, adaptare), ponderile sunt
modificate astfel încât să se facă recunoaşterea de pattern-uri
Poate prelua doar intrări numerice, complet precizate (i.e. fără valori
lipsă)
RNA sunt folosite pentru:
clasificare
estimare de probabilitate
regresie
grupare (clustering)
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 15 / 78
16. Reţele neurale artificiale: perceptron
Perceptron: un singur neuron
Instruirea este de tip supervizat, setul de învăţare este de forma
(x ∈ Rn, y ∈ {−1, 1})
Neuronul preia suma intrărilor înmulţite cu ponderile asociate, i.e.
produsul scalar între vectorul valorilor intrărilor şi vectorul ponderilor
Se compară suma cu o valoare de prag, t
Dacă suma este mai mare decât t atunci perceptronul va produce la
ieşire valoarea 1, altfel -1
Valorile ponderilor w şi pragul t sunt determinate prin proces de
instruire şi apoi rămân fixe
Figure 5: Perceptronlucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 16 / 78
17. Reţele neurale artificiale: perceptron
Matematic, ieşirea se determină astfel:
ˆy = sgn(w1x1 + w2x2 + · · · + wnxn − t) = sgn( w, x ) (5)
unde w = (w0, w1, . . . , wn)t, x = (x0, x1, . . . , xn)t cu w0 = −t,
x0 = 1, < ·, · > este produs scalar Euclidian iar sgn(·) e funcţia
signum.
Algoritmul de instruire a perceptronului modifică ponderile w în
funcţie de diferenţa existentă între valoarea furnizată de perceptron, ˆy
şi valoarea efectivă y a intrării curente.
Teorema de convergenţă a perceptronului spune că dacă un set este
format din date aparţinând de două clase liniar separabile, atunci
după un număr finit de ajustări ale ponderilor w perceptronul va
determina un hiperplan de separare
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 17 / 78
18. Reţele neurale artificiale: perceptron
Nu toate problemele de clasificare în două clase sunt liniar separabile
Exemplu: problema XOR
Nu se poate determina un hiperplan (în cazul 2D: o dreaptă) care se
aibă de o parte doar punctele dintr-o clasă şi de partea cealaltă doar
puncte din cealaltă clasă
Figure 6: Problema XOR
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 18 / 78
19. Reţele neurale artificiale: reţea neurală multistrat
Figure 7: Reţea neurală artificială multistrat cu un singur neuron de ieşire
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 19 / 78
20. Reţele neurale artificiale: instruirea reţelei neurale
multistrat
Funcţionează pentru instruire supervizată; setul de învăţare constă din
perechi de forma (xk ∈ Rn, yk ∈ Rm)
Se iniţializează ponderile legăturilor dintre neuroni, de exemplu cu
valori aleatoare
Se modifică ponderile a.i. ieşirea reţelei să fie apropiată de ieşirea
dorită
Funcţia obiectiv ce trebuie minimizată este:
E(w) =
1
2 i
(iesirea produsai − iesirea doritai )2
(6)
unde i iterează peste indicii neuronilor din stratul de ieşire
Determinarea ponderilor de optim: metodele de tip gradient sunt
frecvent folosite
wj ← wj − λ
∂E(w)
∂wj
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 20 / 78
21. Reţele neurale artificiale: probleme
Numărul de neuroni din stratul ascuns, eventual numărul de straturi
ascunse trebuie să fie determinat înainte de începerea instruirii; nu
este clar cum se poate alege acesta, de regulă se folosesc multiple
încercări
Funcţia obiectiv (6) este dificil de optimizat; metodele bazate pe
gradient pot duce în optime locale, insuficient de bune pentru a
considera că reţeaua s–a adaptat corespunzător
Setul de date trebuie să fie complet, fără valori de atribute
neprecizate; intrările şi ieşirile sunt exlusiv numerice
Timpul de antrenare poate să fie mare
Greu de interpretat; extragerea de reguli este posibilă, dar rareori
făcută; acest tip de reţele neurale artificiale sunt mai degrabă
percepute ca “black boxes”
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 21 / 78
22. Reţele neurale artificiale: trăsături
Reţelele neurale artificiale multistrat sunt aproximatori universali: pot
aproxima oricât de fidel orice funcţie reală continuă
Pot manipula valori redundante
Nu sunt foarte senzitive la zgomot
Instruirea este lentă, efectuată pe multiple sesiuni în care se parcurg
repetat datele
Din punct de vedere practic funcţionează bine, arhitectura multistrat
fiind cea mai implementată şi utilizată reţea
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 22 / 78
23. Outline
1 Clasificatori bazaţi pe vecinătate
2 Reţele neurale artificiale
3 Support Vector Machine
4 Clasificatori bazaţi pe reguli
5 Metode de tip ansamblu
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 23 / 78
24. Support Vector Machine (SVM)
Metodă de obţinere a unui dihotomizator = clasificator pentru două
clase
Au fundament matematic solid
Funcţionează bine pentru date multidimensionale
Se poate aplica şi pentru clase neliniar separabile
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 24 / 78
25. Support Vector Machine (SVM)
Figure 8: Să se determine o dreaptă (hiperplan) care separă cele două clase de
puncte
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 25 / 78
26. Support Vector Machine (SVM)
Figure 9: O soluţie posibilă
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 26 / 78
27. Support Vector Machine (SVM)
Figure 10: Altă soluţie
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 27 / 78
28. Support Vector Machine (SVM)
Figure 11: Alte soluţii
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 28 / 78
29. Support Vector Machine (SVM)
Figure 12: Care dreaptă de separare e mai bună: B1 sau B2? (ce înseamnă “mai
bună”?)
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 29 / 78
30. Support Vector Machine (SVM)
Figure 13: Enunţ mai clar: să se găsească hiperplanul care maximizează
marginea de separare. În această condiţie, B1 este mai bun decât B2
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 30 / 78
31. Support Vector Machine (SVM)
w, b sunt parametri ai modelului SVM
Clasificarea efectuată de hiperplan:
ˆf (x) =
1 dacă w · x + b > 0
−1 dacă w · x + b < 0
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 31 / 78
32. Support Vector Machine (SVM)
Considerând punctele cele mai aporpiate de hiperplan, putem impune
condiţia ca el su a fie astfel trasat încât distanţa dintre aceste puncte
si hiperplan să fie suficient de mare:
b11 : w · x + b = 1 (7)
b12 : w · x + b = −1 (8)
Marginea suprafeţei de decizie este dată de distanţa dintre b11 şi b12
Se doreşte ca aceasă margine de separare să fie cât mai mare, deci
trebuie determinat max 2
w 2
Dacă setul de date de antrenare este {(xi , yi )} cu yi ∈ {±1},
1 ≤ i ≤ N, atunci trebuie determinaţi w şi b a.î.:
w · xi + b ≥ 1 dacă yi = 1
w · xi + b ≤ −1 dacă yi = −1
(9)
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 32 / 78
33. Support Vector Machine (SVM)
Considerând maximizarea marginii suprafeţei de decizie, obţinem
problema de optimizare:
min
w
w 2
2
cu constrângerile yi (w · xi + b) ≥ 1, i = 1, . . . , N
(10)
Problema (10) este una de optimizare convexă
Se rezolvă prin metoda multiplicatorilor lui Lagrange, pentru
problema următoare:
LP =
1
2
w 2
−
N
i=1
λi (yi (w · xi + b) − 1) (11)
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 33 / 78
34. Support Vector Machine (SVM)
Pentru determinarea valorilor multiplicatorilor se aplică condiţiile
Karush-Kuhn-Tucker şi se rezolvă problema duală:
LD =
N
i=1
λi −
1
2 i,j
λi λjyi yjxi · xj (12)
Prin metode de programare pătratică se determină valorile λi ,
1 ≤ i ≤ N
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 34 / 78
35. Support Vector Machine (SVM)
Cum se poate folosi SVM pentru clase neliniar separabile?
Figure 14: Clase neliniar separabile
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 35 / 78
36. Support Vector Machine (SVM)
Soluţie: se relaxează inegalităţile din (9) în forma:
w · xi + b ≥ 1 − ξi dacă yi = 1
w · xi + b ≤ −1 + ξi dacă yi = −1
(13)
cu ξi ≥ 0 ∀i
Valorile lui ξi nu pot fi prea mari
Funcţia obiectiv devine:
f (w) =
w 2
2
+ C
N
i=1
ξi
k
(14)
unde C şi k sunt valori specificate de utilizator sau determinate
printr-un proces de validare
Se modifică forma Lagrangianului din (11), se obţine o problemă
duală adecvată;
Se aplică metode numerice din cadrul tehnicilor de programare
pătratică pentru rezolvarea problemei duale
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 36 / 78
37. Outline
1 Clasificatori bazaţi pe vecinătate
2 Reţele neurale artificiale
3 Support Vector Machine
4 Clasificatori bazaţi pe reguli
5 Metode de tip ansamblu
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 37 / 78
38. Clasificatori bazaţi pe reguli: generalităţi
Tehnică de clasificare a înregistrărilor folosind o colecţie de reguli de
forma: “dacă . . . atunci. . . ”
Notaţie:
ri : (conditie) → y
conditie: antecedentul sau precondiţia
y: consecventul; pentru clasificare, y este eticheta de clasă
Forma generală a unei precondiţii:
conditie = (A1 op1 v1) ∧ (A2 op2 v2) ∧ · · · ∧ (Ak opk vk)
unde Aj este un atribut, vj este o valoare din domeniul de valori ale
atributului Aj, opj este un operator din mulţimea {=, =, <, >, ≤, ≥}
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 38 / 78
39. Clasificatori bazaţi pe reguli: generalităţi
Figure 15: 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 April 29, 2014 39 / 78
40. Clasificatori bazaţi pe reguli: generalităţi
O regulă r acoperă o înregistrare x dacă atributele lui x satisfac
antecedentul regulii
Alternativ: spunem că x activează sau declanşează 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 acoperă prima înregistrare ⇒ Class = Birds
Regula R3 acoperă a doua înregistrare ⇒ Class = Mammals
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 40 / 78
41. Clasificatori bazaţi pe reguli: generalităţi
Calitatea unei reguli de clasificare se măsoară cu: acoperirea şi
acurateţea
Considerăm un set de date D şi o regulă de clasificare r : A → y
Acoperirea unei reguli este fracţiunea de
înregistrări (frecvenţa relativă a
înregistrărilor) care satisfac antecedentul
regulii: acoperire = |A|/|D| unde |A| este
numărul de înregistrări care satisfac
antecedentul regulii r, |D| este numărul de
date din setul D
Acurateţea unei reguli este fracţiunea de
înregistrări care satisfac atât antecedentul
cât şi consecventul regulii, raportată la
numărul de înregistrări ce declanşează pe r:
acuratete(r) = |A ∩ y|/|A|
Regula: Status = Single →
No: acoperirea = 40%,
acurateţea = 50%
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 41 / 78
42. Clasificatori bazaţi pe reguli: mod de funcţ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 clasificare:
Prima înregistrare activează regula R3, deci animalul este clasificat ca
mamifer
A doua înregistrare activează atât regula R4 cât şi R5 ⇒ ??
A treia înregistrare nu declanşează nicio regulă ⇒ ??
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 42 / 78
43. Clasificatori bazaţi pe reguli: mod de funcţionare
Reguli mutual excluzive: dacă nicio înregistrare nu activează două
reguli simultan, precum la ţestoasă
Altfel zis: o înregistrare este acoperită de cel mult o regulă
Reguli exhaustive: dacă fiecare combinaţie de valori ale atributelor
este acoperită de cel puţin o regulă
Altfel zis: fiecare înregistrare este clasificată de cel puţin o regulă
Împreună: fiecare înregistrare este acoperită de exact o regulă
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 43 / 78
44. Clasificatori bazaţi pe reguli: mod de funcţionare
Dacă un set de reguli nu este exhaustiv: adăugăm o regulă implicită:
rd : {} → yd
unde antecedentul este vid, consecventul este clasa implicită, de ex.
clasa majoritară din înregistrările care nu sunt acoperite de celelalte
reguli
Dacă regulile nu sunt mutual excluzive: o înregistrare poate declanşa
mai multe reguli, posibil cu consecvent diferit
Soluţii:
Ordonarea setului de reguli
Folosirea unei scheme de votare
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 44 / 78
45. Clasificatori bazaţi pe reguli: prin votare
Setul de reguli nu este ordonat în niciun fel
Se permite ca o înregistrare să se potrivească mai multor reguli
Se consideră consecventul fiecărei reguli ca fiind un vot pentru o clasă
particulară
Voturile pot fi eventual ponderate, de exemplu prin acurateţea regulii
Avantaj: şansă de eroare mai mică în clasificare ce s-ar datora unei
ordonări inadecvate a regulilor
Dezavantaj: intensiv computaţional, deoarece clasificarea înseamnă
consultarea tuturor regulilor din mulţimea de reguli
Alt posibil dezavantaj: necesitatea de a rezolva situaţiile de balotaj
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 45 / 78
46. Clasificatori bazaţi pe reguli ordonate
Regulile sunt ordonate pe baza priorităţilor lor
Setul de reguli ordonat se mai numeşte şi listă de decizie
Când o înregistrare este prezentată clasificatorului:
este asignată etichetei de clasă ce apare ca şi consecvent al primei
reguli ce acoperă înregistrarea
dacă nu se activează nicio regulă se poate folosi clasa (regula) implicită
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 46 / 78
47. Clasificatori bazaţi pe reguli ordonate: scheme de ordonare
Sisteme bazate pe ordonarea regulilor:
regulile individuale sunt sortate după o măsură a calităţii lor
o înregistrare este clasificată de cea mai bună regulă care o acoperă
dezavantaj: greu de interpretat, pentru că explicarea regulii aplicate
trebuie să includă negarea aplicării regulilor ce o preced
Sisteme bazate pe ordonarea claselor:
regulile sunt grupate pe clase (etichetele care se prezic)
clasele sunt cele ordonate, în final
ordonarea regulilor dintr-o clasă nu este importantă (de ce?)
interpretarea regulilor este ceva mai uşoară decât la cazul precedent
majoritatea clasificatorilor bazaţi pe reguli folosesc ordonarea claselor
(e.g. C4.5rules, RIPPER)
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 47 / 78
48. Clasificatori bazaţi pe reguli ordonate: scheme de ordonare
Figure 16: Ordonare la nivel de reguli vs. ordonare la nivel de clase
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 48 / 78
49. Construirea de clasificatori bazaţ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 clasificare (e.g. arbori de decizie, reţele
neurale, k-NN etc.)
exemplu: C4.5rules, extragerea de reguli din reţele Fuzzy ARTMAP
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 49 / 78
50. Metodă directă: acoperirea secvenţială
Setul de reguli creşte după o strategie greedy
Algoritmul extrage regulile pe clase = sistem bazat pe ordonarea
claselor
Criteriul pentru alegerea efectivă a clasei poate fi bazat pe:
procentajul de date pe care îl acoperă fiecare clasă
costul datorat clasificării greşite
Schiţa algoritmului:
1 Porneşte de la o ordonare a claselor Y = {y1, y2, . . . , yk }
2 Pentru fiecare clasă y1, y2, . . . , yk−1:
1 Porneşte de la un set de reguli gol pentru clasa curentă
2 Crează o regulă folosind funcţia Learn-One-Rule
3 Elimină înregistrările din setul de antrenare ce sunt acoperite de regula
creată
4 Repetă paşii 2 şi 3 până se îndeplineşte un criteriu de oprire
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 50 / 78
51. Metodă directă: acoperirea secvenţială
Exemplu:
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 51 / 78
52. Metodă directă: acoperirea secvenţială
Exemplu (cont):
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 52 / 78
53. Metodă directă: acoperirea secvenţială
Observaţii:
Pot exista mai multe reguli care se pot urma la un moment dat; se
foloseşte un criteriu care permite alegerea celei mai bune reguli din cele
considerate (greedy)
Toate înregistrările care aparţin clasei curente sunt considerate
“pozitive”, restul de înregistrări — negative
Odată aleasă o regulă, se elimină toate înregistrările acoperite de acea
regulă
Elemente ce trebuie discutate:
Funcţia Learn-One-Rule
Strategia de creare a regulilor
Eliminarea instanţelor
Evaluarea regulilor
Criterii de oprire
Retezarea regulilor
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 53 / 78
54. Acoperirea secvenţială: funcţia Learn-One-Rule
Obiectiv: extragerea unei reguli de clasificare
Se doreşte ca o regulă să acopere cât mai multe exemple pozitive (ce
aparţin clasei curent iterate)
Posibil ca această regulă să acopere şi înregistrări negative – şi în
acest caz ar trebui să fie cât mai puţine
Găsirea unei reguli optimale este problemă computaţional intensivă
Euristica folosită este de tip Greedy
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 54 / 78
55. Acoperirea secvenţială: strategia de creare a regulilor
Două strategii larg folosite:
de la general la specific
de la specific la general
Strategia “de la general la specific”:
se pleacă de la regulă implicită r : {} → y
regula are o calitate slabă, acoperind toate înregistrările rămase în setul
de antrenare
se adaugă succesiv condiţii în antecedent pentru a creşte calitatea
regulii
procesul continuă până când se îndeplineşte un criteriu de oprire (e.g.
criteriul adăugat nu îmbunătăţeşte semnificativ clasificarea)
Figure 17: Strategia “de la general la specific”
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 55 / 78
56. Acoperirea secvenţială: strategia de creare a regulilor
Strategia “de la specific la general”:
Una din înregistrările pozitive este aleasă aleator
Regula se generalizează succesiv prin eliminarea de condiţii din
consecvent
Pasul se repetă până când se îndeplineşte un criteriu de oprire
Figure 18: Strategia “de la specific la general”
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 56 / 78
57. Acoperirea secvenţială: eliminarea instanţelor
De ce se elimină instanţele acoperite de o regulă?
Altfel, data viitoare următoarea regulă ar fi aceeaşi ca si cea curentă
De ce eliminăm instanţele pozitive acoperite de regula curentă?
Dacă ar fi păstrate înregistrările pozitive acoperite de regula curentă,
atunci ar apărea o supraestimare a acurateţei uneia din regulile
candidat următoare, în detrimentul altor reguli candidat
De ce eliminăm instanţele negative acoperite de regula curentă?
Altfel ar apărea o subestimare a acurateţei uneia din regulile candidat
următoare, în detrimentul altora
(a se vedea bibliografia pentru detaliere şi exemplu grafic)
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 57 / 78
58. Acoperirea secvenţială: evaluarea regulilor
Trebuie date criterii care spun care dintre condiţii se adaugă la (sau
elimină din) antecedent pentru a obţine o regulă mai bună
Alegere aparent evidentă pentru funcţia de utilitate a unei reguli:
acurateţea
Contraexemplu:
set de antrenare cu 60 pozitive şi 100 negative
R1: acoperă 50 pozitive şi 5 negative; acurateţe 90.9%
R2: 2 pozitive şi niciuna negativă; acurateţe 100%
totuşi, R1 e mai bună decât R2, deoarece acoperă mai multe
înregistrări; acurateţea lui R2 este înşelătoare şi poate fi semn de
supra–specializare, ceea ce poate induce o generalizare slabă
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 58 / 78
59. Acoperirea secvenţială: evaluarea regulilor
Alte metrici:
Laplace =
f+ + 1
n + k
(15)
m − estimare =
f+ + kp+
n + k
(16)
n (resp. f+) = numărul de exemple (resp. exemple pozitive) acoperite
de regulă
k = numărul total de clase
p+ = probabilitatea apriori pentru clasa pozitivă (curentă)
dacă acoperirea regulii este mare, atunci ambele metrici tind către
acurateţea regulii
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 59 / 78
60. Acoperirea secvenţială: criteriul de oprire
Calculează câştigul adus de noua regulă
Dacă nu e suficient de mare, atunci te opreşti cu regula aici
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 60 / 78
61. Acoperirea secvenţială: retezarea regulilor
Scopul: creşterea puterii de generalizare
Proces similar cu retezarea aposteriori pentru arbori de decizie
Retezare pentru reducerea erorii:
Se şterge una din condiţiile din antecedentul regulii
Se compară ratele de eroare înainte şi după regulă, pe un set de validare
Dacă eroarea creşte, atunci se face retezare: elimină condiţia curentă
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 61 / 78
62. Metode indirecte pentru construirea de reguli
Se generează regulile de clasificare pornind de la alte modele de
clasificare, pentru care se face extragere de reguli (proces de “reverse
engineering”)
Ex: pentru un arbore de decizie, neretezat
Figure 19: Convertirea unui arbore de decizie la reguli de clasificare
condiţiile de-a lungul căii de la rădăcină către frunză alcătuiesc
consecventul
eticheta frunzei este consecventul
Dacă se pleacă de la un arbore neretezat, setul de reguli obţinut este
exhaustiv şi mutual excluziv
Uneori setul de reguli poate fi simplificat
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 62 / 78
63. Metode indirecte: C4.5rules
Se pleacă de la un arbore de decizie neretezat obţinut prin algoritmul
C4.5
Pentru fiecare regulă r : A → y
consideră o regulă alternativă r′
: A′
→ y unde A′
se obţine din A prin
eliminarea unei condiţii din A
se compară ratele de eroare pesimistă a lui r şi r′
se retează dacă vreuna din variantele r′
are o eroare pesimistă mai mică
se repetă până când nu se mai poate îmbunătăţi eroarea de generalizare
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 63 / 78
64. Metode indirecte: C4.5rules
Se face gruparea regulilor obţinute pe clase ⇒ subseturi de reguli
Fiecare subset este o colecţie de reguli cu acelaşi consecvent
Se calculează lungimea descrierii aferentă fiecărui subset de reguli
Lungimea descrierii = L(eroare) + g·L(model)
L(eroare) este numărul de biţi necesari pentru reprezentarea
înregistrărilor clasificate greşit
L(model) este numărul de biţi necesar reprezentării modelului clasei
curente
g este dependent de numărul de atribute redundante din model
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 64 / 78
65. Metode indirecte: C4.5 vs. C4.5rules
Set de date:
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 65 / 78
66. Metode indirecte: C4.5 vs. C4.5rules
Figure 20: Arbore C4.5 obţinut pentru
datele din slide-ul anterior
Reguli obţ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 April 29, 2014 66 / 78
67. Caracteristicile clasificatorilor bazaţi pe reguli
Expresivitate aproape echivalentă cu cea a arborilor de decizie; un
arbore de decizie reprezintă datele prin reguli exhaustive şi mutual
excluzive
Pentru un set de reguli de decizie, dacă o înregistrare poate declanşa
mai multe reguli atunci se poate ajunge la suprafeţe de decizie mai
complexe;
Clasificatorii bazaţi pe reguli de decizie au performanţă comparabilă
cu arborii de decizie
Metodele bazate pe ordonarea claselor este adecvată pentru
manipularea seturilor de date puternic neechilibrate (fracţiuni cu
variabilitate mare)
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 67 / 78
68. Outline
1 Clasificatori bazaţi pe vecinătate
2 Reţele neurale artificiale
3 Support Vector Machine
4 Clasificatori bazaţi pe reguli
5 Metode de tip ansamblu
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 68 / 78
69. Metode de tip ansamblu
Pe baza setului de antrenare se pot construi mai mulţi clasificatori
Întrebare: nu am putea oare combina mai mulţi clasificatori pentru a
obţine rezultate mai bune decât cu unul singur?
Prin combinarea prediţiilor făcute de un grup de clasificatori se poate
obţine de multe ori un rezultat mai bun decât bazându–te pe unul
singur
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 69 / 78
70. Metode de tip ansamblu: exemplu de motivaţie
Avem 25 de clasificatori binari, fiecare cu rată de eroare (procent de
clasificare gresită) ε = 0.35
Ansamblul ia ca şi valoare prezisă pentru o intrare votul majoritar
Dacă clasificatorii sunt identici, atunci ansamblul se va comporta ca
oricare din ei, deci eroarea de clasificare este tot 0.35
Dacă clasificatorii sunt însă independenţi, atunci ansamblul are eroare
de clasificare doar dacă cel puţin 13 clasificatori greşesc
Astfel, eroarea de clasificare pentru ansamblul de clasificatori
independenţi este:
eansamblu =
25
i=13
Ci
25εi
(1 − ε)25−i
= 0.06
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 70 / 78
71. Metode de tip ansamblu: exemplu de motivaţie
Condiţii necesare pentru ca ansamblul de clasificatori să ducă la
rezultate mai bune:
1 clasificatorii să fie independenţi unii de alţii
2 clasificatorul de bază (dacă se face replicarea unui aceluiaşi clasificator)
să se comporte mai bine decât unul care procedează prin ghicire la
întâmplare
Chiar dacă clasificatorii sunt ne-independenţi, în practică s–a observat
că ansamblurile de metode conduc la rezultate bune
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 71 / 78
72. Metode de tip ansamblu: metode de construire a
ansamblului
1 Construirea unui ansamblu de clasificatori se face după schema de
mai jos:
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 72 / 78
73. Metode de construire a ansamblului
Prin manipularea setului de antrenare (eşantionare); un clasificator
este construit pentru fiecare set de eşantioane; ex: bagging, boosting;
variantă: întrucât mare parte din algoritmii de învăţare sunt
dependenţi de ordinea datelor de instruire, se pot face permutări
aleatoare ale lui D;
Prin manipularea etichetelor de clasă: dacă mulţimea de clase este
suficient de mare, atunci se poate partiţiona în subseturi (e.g. A0 şi
A1); un clasificator va lucra doar cu etichetele A0 şi A1. Dacă la
prezentarea unei înregistrări un clasificator binar de mai sus răspunde
cu A0, atunci toate etichetele care intră în A0 primesc un vot;
procedeul se repetă pentru partiţionări diferite a mulţimii iniţiale de
etichete
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 73 / 78
74. Metode de construire a ansamblului (cont)
Prin modificarea atributelor de intrare: de exemplu, se aleg (aleator
sau pe baza de experţi umani) subseturi de atribute (proiecţie) şi se
construiesc clasificatori doar cu aceste atribute;
Prin manipularea algoritmului de învăţare: aproape toţi algoritmii de
învăţare au niste hiperparametri care influenţează comportamentul
clasificatorului
reţele neurale: factori de învăţare, numărul de noduri, numărul de
straturi, funcţia de activare
k-NN: k, funcţia de ponderare a vecinilor
arbori de decizie: în loc de a se alege cel mai bun criteriu pentru a
partiţiona datele dintr-un nod, se alege aleator din cele mai bune p
criterii
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 74 / 78
75. Metode de construire a ansamblului: Bagging
Cunoscut ca şi: bootstrap aggregating
Paşii:
se face eşantionare după o distribuţie uniformă cu repunere
fiecare eşantion are aceeaşi dimensiune ca setul iniţial
o parte din datele originare pot să apară în eşantion de mai multe ori,
altele deloc
în medie, un eşantion conţine aproximativ 63% din datele originare
după ce se obţin k clasificatori, o instanţă de test are clasa estimată pe
baza votului majoritar
exemplu: Introduction to Data Mining, secţiunea 5.6.4
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 75 / 78
76. Metode de construire a ansamblului: Boosting
Boosting: procedură iterativă prin care se modifică distribuţia datelor
de antrenare prin concentrarea pe înregistrările greşit clasificate
anterior
Ponderile sunt asociate înregistrărilor din setul de antrenare şi pot fi
folosite pentru:
influenţarea mecanismului de eşantionare
influenţarea clasificatorilor pentru a produce un model care este
direcţionat către înregistrările cu ponderi mai mari
Iniţial, toate înregistrările din setul de antrenare au aceeaşi pondere
1/|D|
Ponderile pot fi modificate la sfârşitul unei runde de boosting
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 76 / 78
77. Metode de construire a ansamblului: Boosting
Înregistrările care sunt greşit clasificate vor suferi o creştere a
ponderilor
Înregistrările care sunt corect clasificate vor avea ponderile scăzute
Exemplu: înregistrarea 4 este greu de învăţat
Ponderea ei este crescută, deci şansa de a fi aleasă prin eşantionare
creşte
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 77 / 78
78. Studiu individual
Din “Introduction to Data Mining”, cap 5:
Clasificatori bayesieni, naïve Bayes, belief networks
SVM neliniar, kernel trick
Descompunerea abatere - varianţă
Random forests
Problema claselor nebalansate
Problema multiclaselor
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 78 / 78