Nenad Mitić Matematički fakultet nenad@matf.bg.ac.rs
Uvod Algoritmi (Iterative Dichotomiser 3) C5.0 (Classification And Regression Trees) (CHi-squared Automatic Interaction Detection) Exhaustive (Quick, Unbiased, Efficient Statistical Trees) (Supervised Learning In Quest) (Scalable PaRallelizable INduction and decision Trees)... 4.2
Definisao ga je Quinlan 1986. godine ( - Iterative Dichotomiser 3) Entropiju kao meru i informaciona dobit kao kriterijum podele Kriterijum zaustavljanja Svi podaci u čvoru pripadaju istoj klasi najveća informaciona dobit 0 Ne vrši se potkresivanje drveta Ne radi sa numeričkim atributima i/ili nedostajućim vrednostima Razmatra samo jedan atribut pri odlučivanju Formira binarno drvo 4.3
Quinlan 1993. godine, proširenje Skup algoritama (, bez potkresivanja, -pravila) Koristi entropiju kao meru i odnos informacione dobiti kao kriterijum podele n-arno drvo (kategorički atributi) Kriterijum zaustavljanja broj različitih instanci je ispod zadate granice svi podaci u čvoru pripadaju istoj klasi 4.4
(nastavak) Koristi numeričke atribute (diskretizacija, sortiranje radi najbolje podele) Za klasu u listu bira se najbrojnija klasa (metoda glasanja) Vrši se naknadno potkresivanje drveta smanjenje nivoa greške (koristi se posebna test datoteka) pesimistička procena greške (uključeni su svi podaci) intervali poverenja (Bernulijeva slučajna promenljiva) 4.5
nedostajuće vrednosti Nedostajuće vrednosti Izbor atributa za deobu u čvoru koji sadrži NV? isključiti instancu zameniti najčešću vrednost umesto NV informaciona dobit % poznatih vrednosti popuniti vrednost ("različita" vrednost, predvi danje na osnovu ostalih atributa) 4.6
nedostajuće vrednosti Atribut za podelu sadrži NV - gde se smešta instanca u podeli? isključiti instancu instanca ima najčešću vrednost atributa pridružiti instancu svakoj grani procentualno prema broju poznatih vrednosti atributa u granama pridružiti je svakoj grani napraviti posebnu granu sa instancama sa NV odrediti najsličniju vrednost i dodeliti je odgovarajućoj grani dodeliti instancu samo jednoj grani u % poznatih vrednosti atr. koje su u toj grani 4.7
nedostajuće vrednosti Kako se klasifikuje nova instanca sa NV atributa? Smešta se u posebnu grana za NV, ako postoji granu sa najčešćom vrednošću atributa granu sa predvi denom najsličnijom vrednošću distribuira u grane prema relativnoj verovatnoći dobijenoj kombinovanjem rezultata simultanog pretraživanja za sve moguće ishode testiranja. Konačna klasa - klasa sa najvećom verovatnoćom u ukupnoj distribuciji u drvetu 4.8
naslednici Naslednici J4.8 (Java) izvorni kod npr. u Weki C 5.0 (komercijalna verzija, na Windows-u se koristi i ime See 5) Manji skup pravila sa istom preciznošću Poboljšanje zasnovano na dodatnom podsticanju (boosting) kombinovanje različitih klasifikatora radi povećanja preciznosti Smanjeno korišćenje memorije za 90% (?) Radi izmedu 5.7 i 240 (?) puta brže od Niži nivo greške od i manje drvo odlučivanja Radi sa težinama atributa 4.9
Algoritam /* Skup vrednosti D; el - min. br. podataka u cvoru */ (D, el) begin Trazeno drvo T={} if svi elementi D pripadaju istoj klasi ili ih ima manje od el then zavrsi algoritam Za svaki atribut x iz D izracunati informacionu dobit u slucaju podele po x Formirati cvor Y u kome se za podelu koristi atribut x koji ima najvecu informacionu dobit Bira se podskup Dy = f(x) Za svaki skup Dy { Odredi Ty=(Dy) Dodaj Ty kao granu T u cvoru Y } Vrati T end 4.10
- Classification And Regression Trees Breiman, Friedman, Olshen, Stone 1984 Teorijski zasnovan, sveobuhvatan Klasifikacioni problem predvi da se vrednost atributa (klase) koji je kategorički na osnovu neprekidnih i/ili kategoričkih atributa Regresioni problem predvi da se vrednost atributa (klase) koji je neprekidan na osnovu neprekidnih i/ili kategoričkih atributa 4.11
(nastavak) Različite metode za proveru rezultata klasifikacija: Gini, "twoing", ure deni "twoing" "twoing" nije vezan za meru nečistoće čvora koristi se za kategoričke atribute poredi distribuciju u dete-čvorovima - deli skup na dva jednaka dela ure deni "twoing" - grupiše zajedno instance sa susednim klasama rednih ciljnih atributa kasnije dodate entropija, χ 2, simetrični gini,... 4.12
(nastavak) Binarna podela Instanca se prosle duje levo ako je ispunjen uslov, i desno u suprotnom Prethodne verovatnoće i nebalansirane klase automatski uklanja disbalans klasa mehanizam prethodnika -verovatnoća svake ciljne kategorije u materijalu za trening koriste se kao težine, bez uticaja na krajnju distribuciju klasa Nedostajuće vrednost - surogati atribut koji najbolje podražava (npr. ista klasa) atribut po kome se deli 4.13
Potkresivanje drveta U orignalnoj verziji konstruiše se kompletno drvo a tek iza toga se ide na potkresivanje Formira se više mogućih drveta sa pokresanim granama/poddrvetom za svaka dva lista koja imaju zajedničkog pretka Potkresivanje rezanjem troškova (eng. cost complexity pruning) znatno smanjuje broj drveta koji se razmatraju Optimalno drvo je potkresano drvo sa najmanjom cenom za testne podatke Tekuće verzije rade pre-potkresivanje 4.14
- neke karakteristike Odre divanje važnosti atributa Koristi se zbir unapre denja (dobiti) svih čvorova u kojima se atribut koristi za deobu pomnožen sa procentom trening podataka u čvoru Surogati ulaze u razmatranje Matrica cene Težine 4.15
ROC kriva 4.16
Kriva informacione dobiti 4.17
(Chi-Squared Automatic Interaction Detector) - Kass 1980. godine Atribut klase - samo kategorički Ostali atributi imenski, redni, kategorički, neprekidni (neprekidni se transformišu u redne) Tri koraka (uparivanje, podela, zaustavljanje) Drvo klasifikacije se formira uzastopnom primenom ovih pravila na svaki čvor, počev od korenog 4.18
(nastavak) Za svaki atribut a odre duje se par vrednosti V a sa najmanjom značajnošću razlike (tj. najsličniji) Računa se p vrednost u odnosu na atribut klase. Za podelu se bira atribut sa najmanjom p vrednošću statističkog testa - čvor sadrži homogene vrednosti Proverava se da li je p vrednost veća od praga Ako jeste, par se uparuje u jednu složenu kategoriju i traži se sledeći par vrednosti Proces se završava kada nema značajnih parova 4.19
(nastavak) Statistički test = f(tipa atributa klase) neprekidan - F mera nominalan - χ 2 test redni test odnosa verovatnoća Kriterijum zaustavljanja pre-potkresivanje ne postoji zadatog praga dostignuta najveća (zadata) dubina drveta dostignut najmanji broj elemenata u čvoru n-arno drvo 4.20
(nastavak) Rad sa nedostajućim vrednostima Ako se podela vršu na osnovu atributa koji sadrži NV instanca se ne koristi Ako svi atributi imaju NV instanca se ignoriše NV se tretira kao posebna kategorija Iscrpan algoritam (Exhaustive ) Modifikacija - proverava sve moguće podele ukrštanjem atributa Zahteva više vremena od 4.21
- Quick, Unbiased, Efficient Statistical Trees Podržava univarijantne i linearne kombinacije podela vrednosti u čvoru Veza izme du atributa klase i atributa pri podeli ANOVA F test ili Levene-ov test za redne i neprekidne atribute χ 2 test za kategoričke atribute Post-potkresivanje drveta Atribut klase - samo kategorički Ostali atributi imenski, redni, kategorički, neprekidni Binarna podela 4.22
- Supervised Learning In Quest Varijanta -a razvijena u IBM-u za klasifikaciju velikih trening podataka Efikasno radi sa podacima koji ne mogu da stanu u memoriju računara Nije zasnovan na principu Hantovog algoritma Koristi se tehnika rasta drveta prvo u širinu Tehnika presortiranja u fazi rasta drveta Koristi vertikalni format podataka - na početku se svi podaci sortiraju i smeste u listu 4.23
(nastavak) Podela na osnovu gini indeksa Koristi listu klasa - strukturu rezidentnu u memoriji koja čuva oznake klasa svake instance Veličina liste klasa je direktno proporcionalna broju broju ulaznih slogova Kategorički i numerički atributi Potkresivanje - tehnika zasnovana na MDL Implementacija za serijsko i paralelno izvršavanje 4.24
(Scalable PaRallelizable INduction of decision Trees) je modifikacija algoritma koja uklanja memorijska ograničenja Oznake klasa pridružuje identifikatorima instanci Kategorički i numerički atributi Implementacija za serijsko i paralelno izvršavanje 4.25