nenad miti ć -...

71
Klasifikacija - drveta odlučivanja Nenad Mitić Matematički fakultet

Upload: others

Post on 25-Sep-2019

37 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

Klasifikacija - drvetaodlučivanja

Nenad MitićMatematički fakultet

Page 2: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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.

Page 3: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 4: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 5: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

Primeri klasifikacija

Ćelije tumora (benigni, maligni)

Ispravnost kreditnih kartica

Sekundarna struktura proteina

Tekstovi (sport, vreme, ...)

Galaksije

...

Page 6: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 7: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 8: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 9: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 10: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 11: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 12: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 13: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 14: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 15: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 16: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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) ..

Page 17: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

?

Page 18: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 19: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 20: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 21: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 22: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 23: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 24: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

Podela zasnovana na neprekidnim atributima

Page 25: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

Kako odrediti najbolju podeluPre podele : 10 slogova klase 0,

10 slogova klase 1

Koji testni uslov daje najbolje rezultate?

Page 26: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 27: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

Mera nečistoće čvora

Ginijev indeks

Entropija

Greška u klasifikaciji

Page 28: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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)

Page 29: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 30: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 31: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

)(

Page 32: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 33: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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)

Page 34: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 35: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 36: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 37: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 38: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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)()(

Page 39: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 40: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

−=

Page 41: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

−=

Page 42: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

Poreñenje meñu meramanečistoće

Za problem binarne klasifikacije:

Page 43: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 44: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 45: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

Praktični problemi pri klasifikaciji

Preprilagoñavanje i potprilagoñavanje

Nedostajuće vrednosti

Cena klasifikacije

Page 46: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 47: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 48: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 49: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 50: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

Preprilagoñenost zbog šuma

Granice podele se iskrivljuju zbog postojanja šuma

Page 51: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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.

Page 52: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 53: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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))

Page 54: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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 Ω+=

Ω+=

∑ )(

)(

)()('

Page 55: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 56: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 57: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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 ?

Page 58: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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 ?

Page 59: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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)

Page 60: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 61: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 62: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 63: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 64: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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)

Page 65: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 66: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 67: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 68: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 69: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

Page 70: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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+++

+=

Page 71: Nenad Miti ć - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija_drveta_odlucivanja.pdf · Definicija klasifikacije (nastavak) Cilj je dodeliti slogove koji

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

βββ