SlideShare ist ein Scribd-Unternehmen logo
1 von 78
Downloaden Sie, um offline zu lesen
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
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
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
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
Metoda celor mai apropiaţi k vecini
Figure 1: k-nearest neighbor
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 5 / 78
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Support Vector Machine (SVM)
Figure 9: O soluţie posibilă
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 26 / 78
Support Vector Machine (SVM)
Figure 10: Altă soluţie
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 27 / 78
Support Vector Machine (SVM)
Figure 11: Alte soluţii
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 28 / 78
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Metodă directă: acoperirea secvenţială
Exemplu:
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 51 / 78
Metodă directă: acoperirea secvenţială
Exemplu (cont):
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 52 / 78
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
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
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
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
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
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
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
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
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
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
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
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
Metode indirecte: C4.5 vs. C4.5rules
Set de date:
lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 65 / 78
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
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
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
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
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
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
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
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
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
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
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
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
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

Weitere ähnliche Inhalte

Empfohlen

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 

Empfohlen (20)

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
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