klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf ·...
TRANSCRIPT
Klasifikacija
Nenad MitićMatematički fakultet
Definicija klasifikacije
Ulazni podatak u klasifikaciju je skup slogova podaci za trening (eng. training set) svaki slog je oblika (x, y) gde je x skup atributa, y
specijalni atribut odreñen za oznaku klase
Potrebno je naći klasifikacioni model (funkciju) koji preslikava svaki skup atributa x u jednu od predefinisanih oznaka klasa y.
Definicija klasifikacije (nastavak)
Cilj je dodeliti slogove koji nisu prethodno poznati što je moguće preciznije jednoj od klasa.
Ulazni podaci se obično dele u dva dela: podatke za trening pomoću kojih se formira model
koriste radi odreñivanja tačnosti modela
podatke za testiranje koji se koriste za proveru ispravnosti modela
Ilustracija procesa klasifikacije
Apply Model
Learn Model
Tid Attrib1 Attrib2 Attrib3 Class
1 Yes Large 125K No
2 No Medium 100K No
3 No Small 70K No
4 Yes Medium 120K No
5 No Large 95K Yes
6 No Medium 60K No
7 Yes Large 220K No
8 No Small 85K Yes
9 No Medium 75K No
10 No Small 90K Yes 10
Tid Attrib1 Attrib2 Attrib3 Class
11 No Small 55K ?
12 Yes Medium 80K ?
13 Yes Large 110K ?
14 No Small 95K ?
15 No Large 67K ? 10
Primeri klasifikacija
Ćelije tumora (benigni, maligni)
Ispravnost kreditnih kartica
Sekundarna struktura proteina
Tekstovi (sport, vreme, ...)
Galaksije
...
Tehnike klasifikacije
Osnovni klasifikatori Metode zasnovane na drvetima odlučivanja Metode zasnovane na pravilima Neuronske mreže Statistički zasnovane metode Metode zasnovane na podržavajućim vektorima .....
Klasifikatori u ansamblu Boosting, Bagging, Random Forests
Primer drveta odlučivanja (1)
Tid Refund MaritalStatus
TaxableIncome Cheat
1 Yes Single 125K No
2 No Married 100K No
3 No Single 70K No
4 Yes Married 120K No
5 No Divorced 95K Yes
6 No Married 60K No
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes10
categorical
categorical
continuous
class
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
MarriedSingle, Divorced
< 80K > 80K
Atributi na osnovu kojih se vrši grananje
Podaci za trening Model: drvo odlu čivanja
Primer drveta odlučivanja (2)
Tid Refund MaritalStatus
TaxableIncome Cheat
1 Yes Single 125K No
2 No Married 100K No
3 No Single 70K No
4 Yes Married 120K No
5 No Divorced 95K Yes
6 No Married 60K No
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes10
categorical
categorical
continuous
classMarSt
Refund
TaxInc
YESNO
NO
NO
Yes No
MarriedSingle,
Divorced
< 80K > 80K
Mogu će je da postoji više drveta koja odgovaraju istim podacima
Proces klasifikacije pomoću drveta odlučivanja
Apply Model
Learn Model
Tid Attrib1 Attrib2 Attrib3 Class
1 Yes Large 125K No
2 No Medium 100K No
3 No Small 70K No
4 Yes Medium 120K No
5 No Large 95K Yes
6 No Medium 60K No
7 Yes Large 220K No
8 No Small 85K Yes
9 No Medium 75K No
10 No Small 90K Yes 10
Tid Attrib1 Attrib2 Attrib3 Class
11 No Small 55K ?
12 Yes Medium 80K ?
13 Yes Large 110K ?
14 No Small 95K ?
15 No Large 67K ? 10
Decision Tree
Primena modela na testne podatke
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
MarriedSingle, Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Testni podaciPočetak je od korena drveta
Primena modela na testne podatke
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
MarriedSingle, Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Testni podaci
Primena modela na testne podatke
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
MarriedSingle, Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Testni podaci
Primena modela na testne podatke
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
MarriedSingle, Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Testni podaci
Primena modela na testne podatke
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
Married Single, Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Testni podaci
Primena modela na testne podatke
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
Married Single, Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Testni podaci
Dodeli “Ne”atributu Cheat
Indukcija po drvetu odlučivanja
Više algoritama: Hantov algoritam – opšti model CART (Classification and regression trees) ID3 (Iterative Dichotomiser 3) C4.5 C5.0 CHAID (Chi-Squared Automatic Interaction Detection) Exhaustive CHAID QUEST - Quick, Unbiased, Efficient Statistical Trees SLIQ - Supervised Learning In Quest SPRINT (Scalable parallelizable induction and decision trees) ..
Opšta struktura Hantovog algoritma
Neka je Dt skup slogova za trening koji se nalaze u čvoru t, y=y1,..., yc oznake klasa
Opšta procedura: Ako Dt sadrži samo slogove koji
pripadaju istoj klasi yt, tada je t list označen sa yt
Ako Dt sadrži slogove koji se nalaze u više od jedne klase, tada se koristi test atribut radi podele podataka u manje podskupove. Na dobijene podskupove se zatimrekurzivno primenjuje kompletnaprocedura.
Tid Refund Marital Status
Taxable Income Cheat
1 Yes Single 125K No
2 No Married 100K No
3 No Single 70K No
4 Yes Married 120K No
5 No Divorced 95K Yes
6 No Married 60K No
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes 10
Dt
?
Hantov algoritam
Don’t Cheat
Refund
Don’t Cheat
Don’t Cheat
Yes No
Refund
Don’t Cheat
Yes No
MaritalStatus
Don’t Cheat
Cheat
Single,Divorced Married
TaxableIncome
Don’t Cheat
< 80K >= 80K
Refund
Don’t Cheat
Yes No
MaritalStatus
Don’t Cheat
Cheat
Single,Divorced
Married
Tid Refund MaritalStatus
TaxableIncome Cheat
1 Yes Single 125K No
2 No Married 100K No
3 No Single 70K No
4 Yes Married 120K No
5 No Divorced 95K Yes
6 No Married 60K No
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes10
Indukcija po drvetu
Strategija pohlepe, grabljivosti (eng. greedy) Podeliti slogove prema testnom atributu koji
optimizuje odreñeni kriterijum.
Odluke koje treba doneti Odrediti kako podeliti slogove
Kako navesti uslove testiranja za atribute? Kako odrediti najbolju podelu?
Odrediti kada treba stati sa deobom
Kako navesti uslove testiranja za atribute?
Zavisnost od tipa atributa Binarni Imenski Redni Neprekidni
Zavisnost od broja načina za deobu Podela na 2 grane Podela na više grana
Podela zasnovana na imenskim atributima
Podela na više grana: koristi se toliko delova koliko ima različitih vrednosti
Binarna podela: vrednosti se dele u dva podskupa. Treba naći optimalnu podelu.
CarTypeFamily
Sports
Luxury
CarTypeFamily, Luxury Sports
CarTypeSports, Luxury Family
ili
Podela zasnovana na rednim atributima
Podela na više grana: koristi se toliko delova koliko ima različitih vrednosti.
Binarna podela: vrednosti se dele u dva podskupa. Treba naći optimalnu podelu.
Šta sa ovom podelom?
SizeSmall
Medium
Large
SizeMedium,
Large Small
SizeSmall,
Medium Large
ili
SizeSmall, Large Medium
Podela zasnovana na neprekidnim atributima
Različiti načini rada Diskretizacijom se formiraju redni kategorički atributi
Statički – diskretizacija jednom na početku rada Dinamički – opsezi mogu da se odrede podelom na jednake intervale, jednaku frekvenciju, percentile, klastere, ...
Binarna podela: (A < v) or (A ≥ v) razmatraju se sve moguće podele i pronalazi najbolja računarski intenzivan posao
Podela zasnovana na neprekidnim atributima
Kako odrediti najbolju podeluPre podele : 10 slogova klase 0,
10 slogova klase 1
Koji testni uslov daje najbolje rezultate?
Kako odrediti najbolju podelu
Pristup pohlepe: Prvenstvo imaju čvorovi sa homogenom distribucijom
klasa
Potrebno je naći meru nečistoće čvora:
Nehomogeno,
Visok nivo ne čisto će
Homogeno,
Nizak nivo ne čisto će
Mera nečistoće čvora
Ginijev indeks
Entropija
Greška u klasifikaciji
Kako naći nabolju podelu?
B?
Yes No
Node N3 Node N4
A?
Yes No
Node N1 Node N2
Pre podele :
C0 N10
C1 N11
C0 N20
C1 N21
C0 N30
C1 N31
C0 N40
C1 N41
C0 N00
C1 N01
M0
M1 M2 M3 M4
M12 M34Dobit = M0 – M12 vs M0 – M34(eng. gain)
Mera nečistoće : GINI
Ginijev indeks (Corrado Gini, italijanski statističar) za dati čvor t :
(Primedba: p( j|t) je relativna frekvencija klase j u čvoru t).
Maksimum (1 - 1/nc) kada su slogovi ravnomerno rasporeñeni u svim klasama sadrži najmanje interesantne informacije
Minimum (0.0) kada svi slogovi pripadaju jednoj klasi, sadrži najinteresantnije informacije
∑−=j
tjptGINI 2)]|([1)(
C1 0
C2 6
Gini=0.000
C1 2
C2 4
Gini=0.444
C1 3
C2 3
Gini=0.500
C1 1
C2 5
Gini=0.278
Primeri izračunavanja GINI
C1 0
C2 6
C1 2
C2 4
C1 1
C2 5
P(C1) = 0/6 = 0 P(C2) = 6/6 = 1
Gini = 1 – P(C1) 2 – P(C2)2 = 1 – 0 – 1 = 0
∑−=j
tjptGINI 2)]|([1)(
P(C1) = 1/6 P(C2) = 5/6
Gini = 1 – (1/6) 2 – (5/6)2 = 0.278
P(C1) = 2/6 P(C2) = 4/6
Gini = 1 – (2/6) 2 – (4/6)2 = 0.444
Podela zasnovana na GINI
Koristi se u CART, SLIQ, SPRINT. Kada se čvor p deli u k delova (dete čvor) kvalitet se računa kao,
gde je ni = broj slogova u dete čvoru i, n = broj slogova u čvoru p.Najčešće se bira atribut kod koga je dobit najveća
Dobit= Gini(roditelj_čvor) – Ginisplit
∑=
=k
i
isplit iGINI
n
nGINI
1
)(
Podela po binarnim atributima: izračunavanje GINI indeksa
Skup se deli u dve particije Efekti težina particija: poželjne su veće i čistije particije
B?
Yes No
Node N1 Node N2
Parent
C1 6
C2 6
Gini = 0.500
N1 N2
C1 5 1
C2 2 4
Gini=0.333
Gini(N1) = 1 – (5/6)2 – (2/6)2
= 0.194
Gini(N2) = 1 – (1/6)2 – (4/6)2
= 0.528
Gini(dete) = 7/12 * 0.194 +
5/12 * 0.528= 0.333
Podela po kategoričkim atributima: izračunavanje Gini indeksa
Za svaku od različitih vrednosti izračuna se broj u svakoj klasi skupa podataka
U donošenju odluka se koristi se matrica brojanja
CarTypeSports,Luxury Family
C1 3 1
C2 2 4
Gini 0.400
CarType
Sports Family,Luxury
C1 2 2
C2 1 5
Gini 0.419
CarType
Family Sports LuxuryC1 1 2 1
C2 4 1 1
Gini 0.393
Podela u više grana Podela u dve grupe(nalazi se najbolja podela po vrednosti)
Podela po kategoričkim atributima: izračunavanje Gini indeksa
Koriste se binarne pitalice zasnovane na jednoj vrednosti
Više izbora za vrednost po kojoj se deli Broj mogućih vredosti za podelu =
broju različitih vrednosti
Svaka vrednost po kojoj se deli ima pridruženu matricu brojanja
U svakoj od particija se prebrojavaju klase, A < v i A ≥ v
Jednostavan način za izbor najboljeg v Za svako v, skenirati bazu podataka
da bi se dobila matrica brojeva i izračunao Ginijev indeks
Zahteva ponavljanje posla i neefikasno je sa stanovišta izračunljivosti
Tid Refund Marital Status
Taxable Income Cheat
1 Yes Single 125K No
2 No Married 100K No
3 No Single 70K No
4 Yes Married 120K No
5 No Divorced 95K Yes
6 No Married 60K No
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes 10
Podela po neprekidnim atributima: izračunavanje Gini indeksa
Za efikasno izračunavanje se za svaki atribut Vrši sortiranje po vrednostima Dobijene vrednosti linearno skeniraju uz ažuriranje matrice brojanja i
izračunavanje Ginijevog indeksa Bira se pozicija za podelu sa najmanjim Ginijevim indeksom
Cheat No No No Yes Yes Yes No No No No
Taxable Income
60 70 75 85 90 95 100 120 125 220
55 65 72 80 87 92 97 110 122 172 230
<= > <= > <= > <= > <= > <= > <= > <= > <= > <= > <= >
Yes 0 3 0 3 0 3 0 3 1 2 2 1 3 0 3 0 3 0 3 0 3 0
No 0 7 1 6 2 5 3 4 3 4 3 4 3 4 4 3 5 2 6 1 7 0
Gini 0.420 0.400 0.375 0.343 0.417 0.400 0.300 0.343 0.375 0.400 0.420
Pozicija podeleSortirane vrednosti
Alternativni kriterijumi podele
Entropija u datom čvoru t:
(Primedba: p( j | t) je relativna frekvencija klase j u čvoru t).
Mera homogenosti čvora Maksimum (log nc) kada su slogovi ravnomerno distribuirani u
svim klasama sadrži najmanje informacija
Minimum (0.0) kada svi slogovi pripadaju jednoj klasi, sadrži najviše informacija
Izračunavanja zasnovana na entropiji i Ginijevom indeksu su slična
∑−=j
tjptjptEntropy )|(log)|()(2
Primer računanja entropije
C1 0
C2 6
C1 2
C2 4
C1 1
C2 5
P(C1) = 0/6 = 0 P(C2) = 6/6 = 1
Entropy = – 0 log 0 – 1 log 1 = – 0 – 0 = 0
P(C1) = 1/6 P(C2) = 5/6
Entropy = – (1/6) log 2 (1/6) – (5/6) log 2 (1/6) = 0.65
P(C1) = 2/6 P(C2) = 4/6
Entropy = – (2/6) log 2 (2/6) – (4/6) log 2 (4/6) = 0.92
∑−=j
tjptjptEntropy )|(log)|()(2
Alternativni kriterijumi podele
Informaciona dobit:
gde se roditelj čvor p se deli u k particija, a ni je broj slogova u particiji i
Smanjenje entropije se postiže zbog podele. Podela se bira tako da se dobija najveća redukcija (maksimizira dobit)
Ovaj način se koristi u ID3 i C4.5 Nedostaci: ima tendenciju da formira veliki broj malih ali čistih
particija
−= ∑=
k
i
i
splitiEntropy
n
npEntropyGAIN
1)()(
Alternativni kriterijumi podele
Odnos dobiti se koristi za odreñivanje valjanosti podele U C4.5 se kao kriterijum valjanosti koristi
gde se roditelj čvor p se deli u k particija, a ni je broj slogova u particiji i
SplitINFO
GAINGainRATIO Split
split=
∑=
−= k
i
ii
n
n
n
nSplitINFO
1log
Kriterijumi deobe zasnovani na greškama pri klasifikaciji
Greška klasifikacije u čvoru t :
Mera greške pri klasifikaciji u čvoru Maksimum (1 - 1/nc) kada su slogovi ravnomerno raspodeljeni u
svim klasama sadrži najmanje interesantne informacije Minimum (0.0) kada svi slogovi pripadaju jednoj klasi, sadrži
najinteresantnije informacije
)|(max1)( tiPtErrori
−=
Primer greške pri izračunavanju
C1 0
C2 6
C1 2
C2 4
C1 1
C2 5
P(C1) = 0/6 = 0 P(C2) = 6/6 = 1
Error = 1 – max (0, 1) = 1 – 1 = 0
P(C1) = 1/6 P(C2) = 5/6
Error = 1 – max (1/6, 5/6) = 1 – 5/6 = 1/6
P(C1) = 2/6 P(C2) = 4/6
Error = 1 – max (2/6, 4/6) = 1 – 4/6 = 1/3
)|(max1)( tiPtErrori
−=
Poreñenje meñu meramanečistoće
Za problem binarne klasifikacije:
Kriterijum zaustavljanja indukcije po drvetu
Širenje (drveta) se zaustavlja kada svi slogovi pripadaju istoj klasi
Širenje (drveta) se zaustavlja kada svi slogovi imaju iste vrednosti atributa
Ranije zaustavljanje
Klasifikacija zasnovana na drvetima odlučivanja
Prednosti: Jevtina za konstruisanje Jako brza u klasifikaciji nepoznatog materijala Laka za interpertaciju za drveta male veličine Preciznost je uporediva sa ostalim tehnikama
klasifikacije za jednostavne tipove podataka
Praktični problemi pri klasifikaciji
Preprilagoñavanje i potprilagoñavanje
Nedostajuće vrednosti
Cena klasifikacije
Preprilagoñavanje i potprilagoñavanje
Greške u klasifikaciji Greške pri treniranju (greške resupstitucije)
Broj grešaka u klasifikaciji za dati skup podataka za trening
Greške u uopštavanju Očekivana greška modela u odnosu na unapred nepoznate
slogove
Dobar model mora korektno da klasifikuje i trening podatke i unapred nepoznate podatke
Preprilagoñavanje i potprilagoñavanje modela
Model koji isuviše dobro klasifikuje podatke za trening može da ima lošije karakteristike pri generalizaciji od modela koji ima veću grešku u procesu treninga –previše prilagoñen model (eng. model overfitting) U daljem tekstu preprilagoñen model
Ako je model isuviše jednostavan i greška pri treniranju i greška pri uopštavanju mogu da budu jako visoke –premalo prilagoñen model (eng. model underfitting) U daljem tekstu potprilagoñen model
Preprilagoñen i potprilagoñen model500 kružnih i 500trouglastih ta čaka
Kružne ta čke:0.5 ≤≤≤≤ sqrt(x 1
2+x22) ≤≤≤≤ 1
Trougaone ta čke:sqrt(x 1
2+x22) < 0.5 ili
sqrt(x 12+x2
2) > 1
30% tačaka se bira za trening, ostale za test
Drvo sa Ginijevim indeksom kao merom se primenjuje na trening podatke
Preprilagoñen i potprilagoñen model
Overfitting
Potprilagoñavanje: ako je model isuviše jednostavan, i trening i test greške su velikePotkresivanjem drveta na različitim nivoima dobijaju se različite veličine grešaka
Preprilagoñenost zbog šuma
Granice podele se iskrivljuju zbog postojanja šuma
Preprilagoñenost zbog nepostojanja reprezentativnih primera
Modeli koji formiraju kriterijum klasifikacije na osnovu malog skupa za trening su podložni preprilagoñenosti. Npr. nedostatak tačaka u donjoj polovini dijagrama onemogućava korektno predviñanje oznaka klasa u tom delu. U procesu klasifikacije se koriste ostali trening slogovi koji su irelelvantni za klasifikaciju u tom delu.
Preprilagoñenost: neki komentari
Preprilagoñenost se javlja kod drveta odlučivanja koja su složenija nego što je potrebno
U tom slučaju greške pri treniranju ne daju korektnu procenu načina ponašanja drveta u slučaju pojave prethodno nepoznatih podataka
Potrebno je naći način za procenu grešaka
Procena greške u generalizaciji
Neka je T drvo, t čvor, N broj listova u drvetu T, e(T) broj pogrešno klasifikovanih slogova u t, e(T) ukupan broj grešaka u klasifikaciji po drvetu T
Greška ponovne zamene: greška pri treniranju(Σ e(T) )
Greška pri generalizaciji: greška pri testiranju(Σ e’(T))
Procena greške u generalizaciji
Metode za procenu greške pri generalizaciji: Optimistički pristup: e’(T) = e(T) Pesimistički pristup:
Za svaki list:
gde je Ω cena dodavanja lista, a N ukupan broj trening slogova Npr. Za Ω =0.5 ukupan broj grešaka: e’(T) = e(T) + N × 0.5 Za drvo sa 30 listova i 10 grešaka na treningu sa 1000 stavki:
Greška treniranja = 10/1000 = 1%Greška uopštavanja = (10 + 30×0.5)/1000 = 2.5%
Smanjenje greške potkresivanjem (drveta) Koristi se poseban skup podataka za procenu greške
uopštavanja
[ ]N
kTe
tn
teTe
ii
ii Ω+=
Ω+=
∑
∑ )(
)(
)()('
Procena greške u generalizaciji
Što je model složeniji veće su šanse za preprilagoñenost
Parametar procene je i složenost modela
Model ne treba nepotrebno usložnjavati
Princip štedljivosti
Naziva se još i Okamov (eng. Occam) žilet
Od dva modela sa sličnom greškom generalizacije treba izabrati onaj koji je jednostavniji
Kod složenijih modela veća je šansa da se slučajno uklope zbog grešaka u podacima
Pri proceni modela treba uključiti i njegovu složenost
Princip najmanje dužine opisa (MDL)
Način da se uključi složenost modela Dat je skup slogova sa poznatim atributom X
Osoba A poznaje sve vrednosti klasa atributa y Osoba B nema tu vrstu informacija B može da dobije informacije slanjem zahteva da A prenese sve
oznake klasa Alternativno, A može da napravi model, kodira ga i pošalje B Ako je model 100% tačan cena prenosa je jednaka ceni formiranja
modela. Ako nije, potrebne su i informacije o nekorektno klasifikovanim slogovima
A B
A?
B?
C?
10
0
1
Yes No
B1 B2
C1 C2
X yX1 1X2 0X3 0X4 1
… …Xn 1
X yX1 ?X2 ?X3 ?X4 ?
… …Xn ?
Princip najmanje dužine opisa (MDL)
Cena (model,podaci) = Cena(podaci|model) + α*Cena(model) Cena je broj bitova potreban za enkodiranje. Traži se najmanje skup model.
Cena(podaci|model) enkodira pogrešno označene slogove pri klasifikaciji.
Cena(model) sadrži cenu kodiraja modela Prema MDL-u traži se model koji minimizuje ukupnu cenu
A B
A?
B?
C?
10
0
1
Yes No
B1 B2
C1 C2
X yX1 1X2 0X3 0X4 1
… …Xn 1
X yX1 ?X2 ?X3 ?X4 ?
… …Xn ?
Baratanje preprilagoñavanjem u indukciji po drvetu
Pre-potkresivanje (pravilo ranijeg zaustavljanja) Algoritam se zaustavlja pre nego što drvo naraste do maksimalne
veličine Tipični uslovi zaustavljanja za odreñeni čvor su:
Zaustavi se ako sve instance pripadaju istoj klasi Zaustavi se ako su sve vrednosti atributa iste
Dodatna ograničenja: Zaustavi se ako je broj instanci manji od neke unapred zadate granice Zaustavi se ako je distribucija instanci nezavisna od raspoloživih osobina(npr. vidi se primenom χ 2 testa) Zaustavi se ako širenje tekućeg čvora ne poboljšava meru čistoće (npr. Gini ili informaciona dobit)
Baratanje preprilagoñavanjem u indukciji po drvetu
Potkresivanje po završetku Drvo odlučivanja raste do krajnjih granica Iseku se čvorovi u drvetu od dna ka vrhu Ako se greška generalizacije poboljša posle
otsecanja poddrvo se zameni sa čvorom koji je list Oznaka klase lista se odreñuju prema većini klasa
instanci poddrveta Za potkresivanje po završetku se može koristiti i MDL
Primer potkresivanja po završetku
A?
A1
A2 A3
A4
10Class = No
Error = 10/30
20Class = Yes Trening greška (pre deobe) = 10/30
Pesimisti čka greška = (10 + 0.5)/30 =
10.5/30 za Ω=0.5
Trening greška (posle deobe) = 9/30
Pesimisti čka greška (posle deobe)
= (9 + 4 ×××× 0.5)/30 = 11/30
POTKRESATI DRVO!
4Class = No
8Class = Yes
4Class = No
3Class = Yes
1Class = No
4Class = Yes
1Class = No
5Class = Yes
Rukovanje atributima sa nedostajućim vrednostima
Nedostajuće vrednosti utiču na drvo odlučivanja na različite načine: Kako računati meru nečistoće Kako distribuirati instance sa nedostajućim
vrednostima na decu čvorove Kako klasifikovati test instancu sa nedostajućom
vrednošću
Izračunavanje mere nečistoćeTid Refund Marital
Status Taxable Income Class
1 Yes Single 125K No
2 No Married 100K No
3 No Single 70K No
4 Yes Married 120K No
5 No Divorced 95K Yes
6 No Married 60K No
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 ? Single 90K Yes 10
Class
= Yes
Class
= No
Refund=Yes 0 3
Refund=No 2 4
Refund=? 1 0
Podela na REFUND:
Entropija(Refund=Yes) = 0
Entropija(Refund=No) = -(2/6)log(2/6) – (4/6)log(4/6) = 0.9183
Entropija(Dete) = 0.3 (0) + 0.6 (0.9183) = 0.551
Dobit = 0.9 ×××× (0.8813 – 0.551) = 0.3303
Nedostaju ća vredost
Pre podele:Entropija(Roditelj) = -0.3 log(0.3)-(0.7)log(0.7) = 0.8813
Merenje preformansi izračunavanja
Naglasak je na predviñačkim osobinama modela Dobija prednost u odnosu na brzinu klasifikacije,
izgradnje modela, skalabilnost, ...
Matrica konfuzije:
dcClass=No
baClass=Yes
Class=NoClass=Yes
ACTUALCLASS
PREDICTED CLASS
a: TP (true positive)
b: FN (false negative)
c: FP (false positive)
d: TN (true negative)
Merenje preformansi izračunavanja
Najčešće korišćena metrika je
d(TN)
c(FP)
Class=No
b(FN)
a(TP)
Class=Yes
Class=NoClass=Yes
ACTUALCLASS
PREDICTED CLASS
FNFPTNTP
TNTP
dcba
da
++++=
++++= Preciznost
Ograničenja preciznosti
Razmotrimo problem 2 klase Broj primera klase 0 = 9990 Broj primera klase 1 = 10
Ako model predviña da će svi slogovi biti klase 0 tada je preciznost 9990/10000 = 99.9 % Preciznost nema značaja (ni smisla) jer model ne
otkriva ni jedan slog klase 1
Matrica cene
C(No|No)C(Yes|No)Class=No
C(No|Yes)C(Yes|Yes)Class=Yes
Class=NoClass=YesC(i|j)
ACTUALCLASS
PREDICTED CLASS
C(i|j): Cena pogrešne klasifikacije sloga klase j kaosloga klase i
Izračunavanje cene klasifikacije
01-
100-1+
-+C(i|j)ACTUALCLASS
PREDICTED CLASSCost Matrix
25060-
40150+
-+ACTUALCLASS
PREDICTED CLASSModel M1
2005-
45250+
-+ACTUALCLASS
PREDICTED CLASSModel M2
Preciznost = 80%
Cena = 3910
Preciznost = 90%
Cena = 4255
Cena u odnosu na preciznost
dcClass=No
baClass=Yes
Class=NoClass=Yes
ACTUALCLASS
PREDICTED CLASSCount
pqClass=No
qpClass=Yes
Class=NoClass=Yes
ACTUALCLASS
PREDICTED CLASSCost
N = a + b + c + d
Preciznost = (a + d)/N
Cena = p (a + d) + q (b + c)
= p (a + d) + q (N – a – d)
= q N – (q – p)(a + d)
= N [q – (q-p) × preciznost]
Preciznost je proporcionalna ceni ako
1. C(Yes|No)=C(No|Yes) = q 2. C(Yes|Yes)=C(No|No) = p
Mere osetljive na cenu
cba
a
pr
rpba
aca
a
++=
+=
+=
+=
2
22(F) mera-F
(r) Odziv
(p) Preciznost
Preciznost je zasnovana na C(Yes|Yes) & C(Yes|No)
Odziv (pokrivanje) je zasnovan na C(Yes|Yes) & C(No|Yes)
F-mera je zasnovana na svemu sem na C(No|No)
dwcwbwaw
dwaw
4321
41 preciznost Težinska+++
+=
Mere osetljive na cenu
F mera je specijalan slučaj Fβ mere
šta se dobija za β=0, a šta za β=∞ ?
rp
rpF
+++=
**)1( 2
2
βββ
Klasifikatori zasnovani na pravilima
Slogovi se klasifikuju pomoću skupa pravila oblika “if…then…”
Pravilo: (Uslov) → y gde je
Uslov konjunkcija atributa y je oznaka klase
Leva strana pravila: (pred)uslov Desna strana pravila: posledica Primer pravila za klasifikaciju:
(Tip krvi=Topla ∧ (Nosi jaja=Da) → Ptice (Oporezivi prihod < 50K) ∧ (Vraća=Da) → izbegava=Ne
Klasifikatori zasnovani na pravilima (primer)
R1: (Give Birth = no) ∧ (Can Fly = yes) → BirdsR2: (Give Birth = no) ∧ (Live in Water = yes) → FishesR3: (Give Birth = yes) ∧ (Blood Type = warm) → MammalsR4: (Give Birth = no) ∧ (Can Fly = no) → ReptilesR5: (Live in Water = sometimes) → Amphibians
Name Blood Type Give Birth Can Fly Live in Water Classhuman warm yes no no mammalspython cold no no no reptilessalmon cold no no yes fisheswhale warm yes no yes mammalsfrog cold no no sometimes amphibianskomodo cold no no no reptilesbat warm yes yes no mammalspigeon warm no yes no birdscat warm yes no no mammalsleopard shark cold yes no yes fishesturtle cold no no sometimes reptilespenguin warm no no sometimes birdsporcupine warm yes no no mammalseel cold no no yes fishessalamander cold no no sometimes amphibiansgila monster cold no no no reptilesplatypus warm no no no mammalsowl warm no yes no birdsdolphin warm yes no yes mammalseagle warm no yes no birds
Primena klasifikatora zasnovanih na pravilima
Pravilo r pokriva(obuhvata) instancu x ako atribut instance zadovoljava uslov pravila
R1: (Give Birth = no) ∧ (Can Fly = yes) → BirdsR2: (Give Birth = no) ∧ (Live in Water = yes) → Fishes
R3: (Give Birth = yes) ∧ (Blood Type = warm) → Mammals
R4: (Give Birth = no) ∧ (Can Fly = no) → ReptilesR5: (Live in Water = sometimes) → Amphibians
Pravilo R1 pokriva hawk => Bird
Pravilo R3 pokriva grizzly bear => Mammal
Name Blood Type Give Birth Can Fly Live in Water Classhawk warm no yes no ?grizzly bear warm yes no no ?
Preciznost (pouzdanost) i odziv pravila
Odziv pravila: Procenat broja slogova
koji zadovoljavaju levu stranu pravila
Preciznost pravila: Procenat broja slogova
koji zadovoljavaju desnu stranu pravila od slogova koji zadovoljavaju levu stranu pravila
Tid Refund Marital Status
Taxable Income Class
1 Yes Single 125K No
2 No Married 100K No
3 No Single 70K No
4 Yes Married 120K No
5 No Divorced 95K Yes
6 No Married 60K No
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes 10
(Status=Single) →→→→ NoCoverage = 40%, Accuracy = 50%
Način rada klasifikatora zasnovanog na pravilima
R1: (Give Birth = no) ∧ (Can Fly = yes) → Birds
R2: (Give Birth = no) ∧ (Live in Water = yes) → FishesR3: (Give Birth = yes) ∧ (Blood Type = warm) → Mammals
R4: (Give Birth = no) ∧ (Can Fly = no) → Reptiles
R5: (Live in Water = sometimes) → Amphibians
Lemur zadovoljava pravilo R3, pa je klasifikovan kao sisar
Kornjača zadovoljava pravila R4 i R5 (klasa?)
Male ajkule ne zadovoljavaju ni jedno od navedenih pravila (klasa ?)
N am e B lood Type G ive B irth Can F ly L ive in W ater C lasslem ur warm yes no no ?turtle cold no no som etim es ?dogfish shark cold yes no yes ?
Karakteristike klasifikatora zasnovnog na pravilima
Uzajamno isključiva pravila Klasifikator sadrži uzajamno isključiva pravila ako su
ona meñusobno nezavisna Svaki slog je pokriven bar jednim pravilom
Pravila pokrivaju sve mogućnosti Klasifikator poseduje potpuno pokrivanje ako sadrži
kombinaciju pravila za sve moguće vrednosti atributa Svaki slog je pokriven bar jednim pravilom
Od drveta odlučivanja do pravila
YESYESNONO
NONO
NONO
Yes No
MarriedSingle,
Divorced
< 80K > 80K
Taxable Income
Marita l Status
Refund
Classification Rules
(Refund=Yes) ==> No
(Refund=No, Marital Status=Single,Divorced,Taxable Income<80K) ==> No
(Refund=No, Marital Status=Single,Divorced,Taxable Income>80K) ==> Yes
(Refund=No, Marital Status=Married) ==> No
Pravila su me ñusobno isklju čiva i pokrivaju sve mogu čnosti
Skup pravila sadrži istu koli činu informacija kao i drvo
Uprošćavanje pravila
YESYESNONO
NONO
NONO
Yes No
MarriedSingle,
Divorced
< 80K > 80K
Taxable Income
Marita l Status
Refund
Tid Refund Marital Status
Taxable Income Cheat
1 Yes Single 125K No
2 No Married 100K No
3 No Single 70K No
4 Yes Married 120K No
5 No Divorced 95K Yes
6 No Married 60K No
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes 10
Početno stanje: (Refund=No) ∧ (Status=Married) →→→→ No
Uproš ćeno pravilo: (Status=Married) →→→→ No
Efekat uprošćavanja pravila Pravila nisu uzajamno isključiva
Neke slogove može da pokriva više pravila Rešenje?
Skup pravila ureñen po redosledu Neureñen skup pravila – koristi se izbor (glasački sistem)
Pravila ne moraju da pokrivaju sve mogućnosti Može da se desi da neki slog nije pokriven niti jednim
pravilom Rešenje?
Koristi se predefinisana (default) klasa
Skup pravila ureñen po redosledu
Pravila se rangiraju prema njihovom prioritetu Ureñen skup pravila je poznat i kao lista odlučivanja
Kada se testni slog preda klasifikatoru Dodeli mu se oznaka klase najvišeg ranga za koju postoji neko pravilo
koje pokriva taj slog
Ako takvo pravilo ne postoji, dodeljuje mu se predefinisana klasa.
R1: (Give Birth = no) ∧ (Can Fly = yes) → BirdsR2: (Give Birth = no) ∧ (Live in Water = yes) → Fishes
R3: (Give Birth = yes) ∧ (Blood Type = warm) → Mammals
R4: (Give Birth = no) ∧ (Can Fly = no) → ReptilesR5: (Live in Water = sometimes) → Amphibians
Name Blood Type Give Birth Can Fly Live in Water Classturtle cold no no sometimes ?
Šeme odreñivanja ureñenja
Ureñenje zasnovano na pravilima Pojedinačna pravila se rangiraju prema njihovom kvalitetu
Ureñenje zasnovano na klasama Pravila koja pripadaju istoj klasi se grupišu jedno do drugog
Formiranje pravila klasifikacije
Direktna metoda: Pravila se izdvajaju direktno iz podataka na primer: RIPPER, CN2, 1R
Indirektna metoda: Pravila se izdvajaju iz drugih klasifikacionih modela (npr.
drveta odlučivanja, neuronskih mreža, itd) na primer: C4.5rules
Direktna metoda: sekvencijalno pokrivanje
1. Počinje se od praznog skupa pravila2. Pravila se izdvajaju za narednu klasu.
1. Pozitivi primeri – slogovi koji pripadaju toj klasi2. Negativni primeri – svi ostali slogovi
3. Skup pravila se proširuje korišćenjem funkcije Learn-One-Rule
4. Uklanjaju se slogovi za trening koji su pokriveni dodatim pravilom
5. Ponavljaju se koraci (2) i (3) do dostizanja kriterijuma zaustavljanja
Primer sekvencijalnog pokrivanja
(ii) Step 1
Primer sekvencijalnog pokrivanja
(iii) Step 2
R1
(iv) Step 3
R1
R2
Osobine sekvencijalnog pokrivanja
Porast skupa pravila
Eliminacija instanci
Provera pravila
Kriterijum zaustavljanja
Potkresivanje (skupa) pravila
Porast skupa pravila
Dve uobičajene strategije
Porast skupa pravila (primeri)
CN2 algoritam: Počni od praznog konjunkta: Dodaj konjunkte koji minimizuju entropiju: A, A,B, … Odredi redosled pravila uzimajući u najbrojnije klase instanci koje pokrivaju pravilo
RIPPER algoritam: Počni od praznog konjunkta : => class Dodaj konjunkte koji maksimizuju FOIL-ovu meru dobiti kvaliteta informacije:
R0: => class (početno pravilo) R1: A => class (pravilo po dodavanju konjunkta) Dobit(R0, R1) = t [ log (p1/(p1+n1)) – log (p0/(p0 + n0)) ] gde je t broj instanci pokrivenih sa oba pravila R0 i R1 (tzv. pozitivne instance)
p0: broj pozitivnih instanci pokriven sa R0n0: broj negativnih instanci pokriven sa R0 (one koje nisu pokrivene sa R0)p1: broj pozitivnih instanci pokriven sa R1n1: broj negativnih instanci pokriven sa R1 (one koje nisu pokrivene sa R1)
Uklanjanje instanci
Zašto želimo da eliminišemo instance? U suprotnom, naredno pravilo
bi bilo identično prethodnom pravilu
Zašto eliminišemo pozitivne instance? Da bi obezbedili da je sledeće
pravilo različito od postojećih
Zašto eliminišemo negativne instance? Onemogućujemo smanjenje
preciznosti pravila Porediti pravila R2 i R3 na
dijagramima
Provera pravila
Metrike: Preciznost
Laplas
M-procenat
kn
nc
++= 1
kn
kpnc
++=
n : Broj instanci pokriven pravilom
nc : Broj pozitivnih instanci pokriven pravilom
k : Broj klasa
p : Ranija verovatnoća za pozitivne klase
n
nc=
Kriterijum zaustavljanja i potkresivanje pravila
Kriterijum zaustavljanja Izračunavanje dobiti Ako dobit nije značajna, odbaci novo pravilo
Potkresivanje pravila Slično pokresivanju drveta odlučivanja Smanjivanje greške potresivananjem:
Ukloniti jedan od konjukata u pravilu Porediti stari i novi nivo greške Ako se greška povećava, isključiti konjunkt
Rezime direktnih metoda
Rast (proširenje) pojedinačnog pravila
Uklanjanje instanci iz pravila
Pokresivanje pravila (po potrebi)
Dodati pravilo u skup pravila
Ponoviti postupak
Prednosti klasifikatora zasnovanih na pravilima
Ista izražajna moć kao i drveta odlučivanja Jednostavna interpretacija Jednostavno formiranje
Mogu brzo da klasifikuju nove instance Performanse su uporedive sa drvetima
odlučivanja
Klasifikatori zasnovani na instancama
Atr1 ……... AtrN ClassA
B
B
C
A
C
B
Set of Stored Cases
Atr1 ……... AtrN
Unseen Case
• Trening slogovi se čuvaju i na osnovu njih se predvi ñaju oznake klasa unapred nepoznatih slogova
Klasifikatori zasnovani na instancama
Primeri: Učenje napamet
Čuva celokupan skup slogova za trening i sprovodi klasifikaciju samo ako se atributi novih slogova potpuno poklope sa atributima trening slogova
Najbliži sused Koristi k “najbližih” tačaka (najbližih suseda) za obavljanje klasifikacije
Klasifikacija pomoću najbližeg suseda
Osnovna ideja: Ako šeta kao patka, kvače kao patka, liči na patku,
onda je verovatno u pitanju patka
Training Records
Test Record
Compute Distance
Choose k of the “nearest” records
Klasifikacija pomoću najbližeg suseda Potrebne su tri stvari
– Skup sačuvanih slogova
– Metrika za izračunavanje rastojanja izmeñu slogova
– Vrednost k koja predstavlja broj najbližih suseda koje treba razmatrati
Radi klasifikacije nepoznatih slogova:
– Izračunati rastojanje do ostalih slogova za trening
– Odrediti k najbližih suseda
– Koristeći oznake klasa najbližih suseda odrediti oznaku klase nepoznatog sloga (npr. uzeti oznaku većine)
Unknown record
Definicija najbližeg suseda
X X X
(a) 1-nearest neighbor (b) 2-nearest neighbor (c) 3-nearest neighbor
K-najbližih suseda sloga x su podaci koji imaju k najmanjih rastojanja do x
1 najbliži sused
Za dati skup tačaka dijagramVoronoi-a je podela prostora u regione unutar kojih su sve tačke bliže nekom pojedinačnom čvoru nego bilo kom drugom čvoru
Klasifikacija pomoću najbližeg suseda
Izračunavanje rastojanja izmeñu dve tačke: Euklidsko rastojanje
Odrediti klasu iz liste najbližih suseda uzeti oznaku klase većine od k-najbližih suseda Rastojanja mogu da dobiju odreñene težine
težinski faktor, w = 1/d2
∑ −=i ii
qpqpd 2)(),(
Klasifikacija pomoću najbližeg suseda
Izbor vrednosti k: Ako je k jako malo klasifikacija je osetljiva na šum Ako je k jako veliko susedi mogu da uključe tačke iz drugih
klasa
Klasifikacija pomoću najbližeg suseda
Skaliranje Atributi mogu biti skalirani radi sprečavanja da u meri
rastojanja dominira jedan atribut
Primer: Visina osobe varira od 1.5m do 1.8m Težina osobe varira od 50kg do 150kg Prihod osobe varira od 20KD fo 20MD
Klasifikacija pomoću najbližeg suseda
Problem euklidskog rastojanja: Višedimenzionalni podaci Mogu da se jave brojački-intuitivni rezultati
1 1 1 1 1 1 1 1 1 1 1 0
0 1 1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1vs
d = 1.4142 d = 1.4142
Rešenje: normalizacija vektora na iste jedinice
Klasifikacija pomoću najbližeg suseda
k-NN klasifikatori su lenji Model se ne pravi eksplicitno Klasifikacija nepoznatih slogova je relativno skupa
Domaći zadatak: pronaći primere klasifikacije ovom metodom u bar dve različite oblasti
Bajesovski klasifikatori
Verovatnosno okruženje za rešavanje problemaklasifikacije
Uslovne verovatnoće:
Bajesova teorema:
)()()|(
)|(AP
CPCAPACP =
)(),(
)|(
)(),(
)|(
CP
CAPCAP
AP
CAPACP
=
=
Primer Bajesove teoreme Dato je:
Doktor zna da meningitis u 50% slučajeva prouzrokuje kočenje vrata Prethodna (poznata) verovatnoća da bilo koji pacijent ima
meningitis je 1/50,000 Prethodna verovatnoća da bilo koji pacijent ima ukočen vrat je 1/20
Ako pacijent ima ukočen vrat, koja je verovatnoća da ima i meningitis?
0002.020/150000/15.0
)()()|(
)|( =×==SP
MPMSPSMP
Bajesovski klasifikatori Posmatrajmo svaki atribut i svaku oznaku klase kao
nezavisne promenljive
Za dati slog sa atributima (A1, A2,…,An) Cilj je predvideti klasu C kojoj pripada Posebno, želimo da nañemo vrednost C koja maksimizira
P(C| A1, A2,…,An )
Da li se može proceniti P(C| A1, A2,…,An ) direktno na osnovu podataka?
Bajesovski klasifikatori Pristup:
izračunati posledičnu (eng. posterior) verovatnoću P(C | A1, A2, …, An) za sve vrednosti C koristeći Bajesovu teoremu
Izabrati vrednost C koja maksimizujeP(C | A1, A2, …, An)
Ekvivalentno, možemo da uzmemo i vrednost C koja maksimizuje P(A1, A2, …, An|C) P(C)
Kako proceniti P(A1, A2, …, An | C )?
)()()|(
)|(21
21
21
n
n
n AAAP
CPCAAAPAAACP
ΚΚΚ =
Naivni Bajesovski klasifikatori
Za datu klasu pretpostavimo nezavisnost izmeñu atributa Ai: P(A1, A2, …, An |C) = P(A1| Cj) P(A2| Cj)… P(An| Cj)
Može se izvršiti procena P(Ai| Cj) za svako Ai i Cj.
Nove tačke su klasifikovane u Cj ako je P(Cj) Π P(Ai| Cj) maksimalan
Kako proceniti verovatnoće na osnovu podataka?
Klasa: P(C) = Nc/N npr., P(No) = 7/10,
P(Yes) = 3/10
Za diskretne atribute:P(Ai | Ck) = |Aik|/ Nc
gde je |Aik| broj instanci koje imaju atribut Ai i pripadaju klasi Ck
Primer:P(Status=Married|No) = 4/7P(Refund=Yes|Yes)=0
k
Tid Refund Marital Status
Taxable Income Evade
1 Yes Single 125K No
2 No Married 100K No
3 No Single 70K No
4 Yes Married 120K No
5 No Divorced 95K Yes
6 No Married 60K No
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes 10
categoric
al
categoric
al
continuous
class
Kako proceniti verovatnoće na osnovu podataka?
Za neprekidne atribute: Diskretizacija u grupe
jedan redni atribut po grupi kršenje pretpostavke o nezavisnosti
Podela na dva dela: (A < v) or (A > v) bira se samo jedan od dva segmenta kao novi atribut
Procena gustine verovatnoće: Pretpostavimo da atributi imaju normalnu raspodelu Koristiti podatke za procenu parametara distribucije (npr.
sredine ili standardne devijacije) Kada je raspodela verovatnoća poznata ona se može koristiti
za procenu uslovnih verovatnoća P(Ai|c)
Kako proceniti verovatnoće na osnovu podataka?
Normalna raspodela:
Po jedna za svaki par (Ai,ci)
Za (Income, Class=No): Ako je Class=No
uzoračka sredina = 110 uzoračka varijansa = 2975
Tid Refund Marital Status
Taxable Income Evade
1 Yes Single 125K No
2 No Married 100K No
3 No Single 70K No
4 Yes Married 120K No
5 No Divorced 95K Yes
6 No Married 60K No
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes 10
categoric
al
categoric
al
continuous
class
2
2
2
)(
221
)|( ij
ijiA
ij
jiecAP σ
µ
πσ
−−
=
0072.0)54.54(2
1)|120( )2975(2
)110120( 2
===−−
eNoIncomePπ
Primer naivnih Bajesovskih klasifikatora
P(Refund=Yes|No) = 3/7P(Refund=No|No) = 4/7P(Refund=Yes|Yes) = 0P(Refund=No|Yes) = 1P(Marital Status=Single|No) = 2/7P(Marital Status=Divorced|No)=1/7P(Marital Status=Married|No) = 4/7P(Marital Status=Single|Yes) = 2/7P(Marital Status=Divorced|Yes)=1/7P(Marital Status=Married|Yes) = 0
For taxable income:If class=No: sample mean=110
sample variance=2975If class=Yes: sample mean=90
sample variance=25
naive Bayes Classifier:
120K)IncomeMarried,No,Refund( ===X
P(X|Class=No) = P(Refund=No|Class=No)× P(Married| Class=No)× P(Income=120K| Class=No)
= 4/7 × 4/7 × 0.0072 = 0.0024
P(X|Class=Yes) = P(Refund=No| Class=Yes)× P(Married| Class=Yes)× P(Income=120K| Class=Yes)
= 1 × 0 × 1.2 × 10-9 = 0
Pošto P(X|No)P(No) > P(X|Yes)P(Yes)
Tada je P(No|X) > P(Yes|X) => Class = No
Za dati test slog:
Naivni Bajesovski klasifikatori
Ako je jedna od uslovnih verovatnoća jednaka nuli, tada je i celokupna verovatnoća nula
Procena verovatnoće:
mN
mpNCAP
cN
NCAP
N
NCAP
c
ici
c
ici
c
ici
++=
++=
=
)|(:procena-m
1)|(:Laplas
)|( :Original c: broj klasa
p: prethodna verovatnoća
m: parametar
Primer naivnih Bajesovskih klasifikatoraName Give Birth Can Fly Live in Water Have Legs Class
human yes no no yes mammalspython no no no no non-mammalssalmon no no yes no non-mammalswhale yes no yes no mammalsfrog no no sometimes yes non-mammalskomodo no no no yes non-mammalsbat yes yes no yes mammalspigeon no yes no yes non-mammalscat yes no no yes mammalsleopard shark yes no yes no non-mammalsturtle no no sometimes yes non-mammalspenguin no no sometimes yes non-mammalsporcupine yes no no yes mammalseel no no yes no non-mammalssalamander no no sometimes yes non-mammalsgila monster no no no yes non-mammalsplatypus no no no yes mammalsowl no yes no yes non-mammalsdolphin yes no yes no mammalseagle no yes no yes non-mammals
Give Birth Can Fly Live in Water Have Legs Classyes no yes no ?
0027.02013
004.0)()|(
021.0207
06.0)()|(
0042.0134
133
1310
131
)|(
06.072
72
76
76
)|(
=×=
=×=
=×××=
=×××=
NPNAP
MPMAP
NAP
MAP
A: attributes
M: mammals
N: non-mammals
P(A|M)P(M) > P(A|N)P(N)
=> Mammals
Naivni Bajesovki klasifikatori -rezime
Robusni su u odnosu na izolovani šum
Barata nedostajućim vrednostima ignorišući instancu pri izračunavanju procene verovatnoće
Robusni su u odnosu na irelevantne atribute
Pretpostavka nezavisnost ne mora da važi za sve atribute U tom slučaju se koriste druge tehnike kao
Bajesovske mreže poverenja (Bayesian Belief Networks, BBN)
Neuronske mreže
Inspirisane pokušajem simulacije bioloških sistema
Nervne ćelije - neuroni
Aksoni - skup neurona (ili lanci neurona) koji prenose impulse
Dendriti - veza neurona sa drugim neuronom/aksonom
Sinaps - tačka spoja dendrita i aksona
Neuronske mreže
Analogno strukturi ljudskog mozga (veštačke) neuronske mreže (eng. Artificial Neural Network, AAN) se sastoje od čvorova i veza izmeñu njih.
Perceptron - najjednostaviji model neuronske mreže koji ilustruje kako modeli mogu da budu trenirani da reše problem klasifikacije
Neuronske mreže
X1 X2 X3 Y1 0 0 01 0 1 11 1 0 11 1 1 10 0 1 00 1 0 00 1 1 10 0 0 0
Izlaz je 1 ako su bar dve ulazne vrednosti 1.
Perceptron
Neuronske mreže
X1 X2 X3 Y1 0 0 01 0 1 11 1 0 11 1 1 10 0 1 00 1 0 00 1 1 10 0 0 0
=
>−++=
suprotnomu 0
istinito je ako1)( je gde
)04.03.03.03.0( 321
zzI
XXXIY
Perceptron
Neuronske mreže
Model čine meñusobno povezani čvorovi i veze sa težinama
Izlaz je zbir ulaznih vrednosti u skladu sa njihovim težinama
Izlazna vrednost u čvoru se poredi sa nekim pragom t
)( tXwIYi
ii −= ∑
Model Perceptrona
)( tXwsignYi
ii −= ∑
or
Opšta strukura neuronskih mreža
Obučavanje neuronskih mreža označava odreñivanje težina (učenje) neurona
Algoritam za obučavanje neuronskih mreža
Inicijalizovati težine (w0, w1, …, wk)
Podešavati vrednosti tako da izlaz neuronske mreže bude u skladu sa oznakama klasa trening podataka Ciljna funkcija:
Naći težine wi’ tako da se minimizuje prethodna ciljna funkcija npr. algoritam propagacije unatrag (videti literaturu)
[ ]2),(∑ −=
iiii XwfYE
Klasifikacija pomoću regresije
Šta je regresiona analiza?
ukalupljivanje jednačina u podatke (Balke) proces izračunavanja izraza koji predviñaju
numeričke količine (Witten i Frank)
statistička alatka za istraživanje odnosa izmeñu promenljivih (Sykes)
tehnika modeliranja predviñanja gde su promenljive čija se procena vrši neprekidne
Regresija Regresija je proces pronalaženja ciljne funkcije f
koja preslikava skup x u izlaz y sa neprekidnim vrednostima.
Cilj regresije je naći ciljnu funkciju koja može da ukalupi ulazne podatke sa minimalnom greškom.
Greška može biti izražena preko apsolutne greške ili kvadrata greške.
Regresija
intervalni, razmerni, redni, imenski
imenski
(br. kategorija≥2)
Analiza diskriminanti
intervalni, razmerni, redni, imenski
imenski(br. kategorija ≤ 2)
Pozadinska (eng. logistic) regresija
intervalni, razmerni, redni, imenski
intervalni, razmerni, redni
Linearna and nelinearnaregresija
AtributiZavisna promenljivaMetoda
Tipovi linearne i nelinearne regresije
Obična regresija (sa metodom najmanjih kvadrata)
Prosta linearna regresija
Polinomijalna regresija Linearna regresija po krivim (eng. curvilinear) Nelinearna regresija
Regresija sa težinskim najmanjim kvadratima Robusna regresija (eng. robust regression)
Razlozi za ukalupljivanje podataka
Interpolacija “unutar-izmeñu” y vrednosti
Radi ekstrapolacije zbog predviñanja y vrednosti
Radi odreñivanja vrednosti koeficijenata koji imaju fizičko značenje (npr. koeficijenta prenosa toplote, procene nekih konstanti, ...)
Jednačine koje se koriste u ukalupljivanju
Empirijske jednačine dobijene na osnovu matematičkih razmatranja ne razmatraju šta je potrebno za formiranje podataka koriste se jedino za interpolaciju primena za ekstrapolaciju daje neizvesne rezultate
Mehanističke jednačine Dobijaju se iz analize situacije koju generišu podaci
Primer empirijske jednačine
Najčešći primer: polinom reda n i stepena r
rn
33
2210 x....xxxy ββββ++++++++ββββ++++ββββ++++ββββ++++ββββ====
Zavisna promenljiva
Nezavisna promenljiva.
Parametar ili koeficijent
atribut, prediktor promenljiva
Klasifikacija metoda regresije: Linearnost jednačina
Linearna regresija: jednačine su linearne sa nepoznatim parametrima. Moguće je da postoji nelinearnost u nezavisnim promenljivima.
Nelinearna regresija: jednačine su nelinearne sa nepozantim parametrima.
Test na linearnost
ii
yββββ∂∂∂∂
∂∂∂∂====φφφφ)x,(fy iββββ====
Ako φi ne sadrži ni jedno βi tada je jednačina linearnasa nepoznatim parametrima βi.
Primeri jednačina sa nelinearnim parametrima
)xexp(y 10 ββββ−−−−ββββ====
)xexp()xexp(y 3210 ββββ−−−−ββββ++++ββββ−−−−ββββ====
Tipovi linearnih regresija
Prosta linearna regresija (eng. Simple Linear Regression, SLR):
xy 10 ββββ++++ββββ====
• Višestruka linearna regresija:• Ostale linearne jednačine sa nepoznatim parametrima• Može da uključi više od jedne nezavisne promenljive• Uključuje polinomijalnu regresiju
Primeri jednačina koje se podvode pod u višestruku linearnu regresiju
2210 xxy ββββ++++ββββ++++ββββ====
21322110 xxxxy ββββ++++ββββ++++ββββ++++ββββ====
3213
222110 xxxxy ββββ++++ββββ++++ββββ++++ββββ====
Linearnost jednačina
Test linearnosti jednačina
Linearnost u parametrima
Nelinearnost u parametrima
Linearnaregresija
SLR MLR
Nelinearna regresija
Pretpostavke za linearnost jednačina
yi imaju isto σ xi imaju neznatnu grešku u poreñenju sa yi
εi je nazavisno od εj sve dok je i≠j.
Prosta linearna regresija (SLR)
Vrši se procena βo i β1 minimizacijom zbira kvadrata reziduala εi.
ii10i xy εεεε++++ββββ++++ββββ====
∑=
n
ii
1
2min ε
Nekontrolisana greška
Prosta linearna regresija (SLR)
∑∑==
−==n
ieqnii
n
ii yybbS
1
2,
1
210 )(minmin),( ε
∑=
+−=n
iii xybbS
1
21010 ))((min),( ββ
SLR (nastavak)
∑=
=−+−=∂
∂ n
iii xbby
bbS
110
0
10 0)1)](([2),(
β
∑=
=−+−=∂
∂ n
iiii xxbby
bbS
110
1
10 0))](([2),(
β
SLR (nastavak)
∑ ∑= =
=+n
i
n
iii yxbnb
1 110
∑ ∑∑= ==
=+n
i
n
iiii
n
ii yxxbxb
1 1
21
10
SLR (nastavak)
∑∑∑∑∑∑∑∑
∑∑∑∑∑∑∑∑∑∑∑∑
====
====
========
====
−−−−
−−−−====≈≈≈≈ββββ
n
1i
2n
1ii
2i
n
1ii
n
1iin
1iii
11
n
xx
n
yxyx
b
xbyb 100 −−−−====≈≈≈≈ββββ
SLR (nastavak)Alternacija izraza b1
∑∑∑∑
∑∑∑∑
====
====
−−−−
−−−−−−−−====≈≈≈≈ββββ n
1i
2i
n
1iii
11
)xx(
)yy)(xx(b
∑∑∑∑
∑∑∑∑
====
====
−−−−
−−−−====≈≈≈≈ββββ n
1i
2i
n
1iii
11
)xx(
y)xx(b
Standardna greška u proceni
ys
)2n(SSE
2n
)yy(s
n
1i
2ii
2x|y −−−−
====−−−−
−−−−====∑∑∑∑
====
2x|yx|y ss ====
sy|x je standardna greška u proceni
n-p za SLR i MLR gde je p broj parametara
Standardna greška u proceni (nastavak)
sy|x je tipična količina ukalupljenih vrednosti od y koja se razlikuje od vrednosti y [yi ] za vrednosti x uključene u primer.
Za dobru procenu važno je da ova vrednost bude što manja.