Curs 5 Data Mining

1,003 views
911 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,003
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
62
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Curs 5 Data Mining

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 26. Support Vector Machine (SVM) Figure 9: O soluţie posibilă lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 26 / 78
  27. 27. Support Vector Machine (SVM) Figure 10: Altă soluţie lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 27 / 78
  28. 28. Support Vector Machine (SVM) Figure 11: Alte soluţii lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 28 / 78
  29. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 51. Metodă directă: acoperirea secvenţială Exemplu: lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 51 / 78
  52. 52. Metodă directă: acoperirea secvenţială Exemplu (cont): lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 52 / 78
  53. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 65. Metode indirecte: C4.5 vs. C4.5rules Set de date: lucian.sasu@ieee.org (UNITBV) Curs 5 April 29, 2014 65 / 78
  66. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

×