klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf ·...

146
Klasifikacija Nenad Mitić Matematički fakultet

Upload: others

Post on 04-Sep-2019

25 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

Klasifikacija

Nenad MitićMatematički fakultet

Page 2: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

Primeri klasifikacija

Ćelije tumora (benigni, maligni)

Ispravnost kreditnih kartica

Sekundarna struktura proteina

Tekstovi (sport, vreme, ...)

Galaksije

...

Page 6: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

Podela zasnovana na neprekidnim atributima

Page 25: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

Kako odrediti najbolju podeluPre podele : 10 slogova klase 0,

10 slogova klase 1

Koji testni uslov daje najbolje rezultate?

Page 26: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

Mera nečistoće čvora

Ginijev indeks

Entropija

Greška u klasifikaciji

Page 28: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

Poreñenje meñu meramanečistoće

Za problem binarne klasifikacije:

Page 43: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

Praktični problemi pri klasifikaciji

Preprilagoñavanje i potprilagoñavanje

Nedostajuće vrednosti

Cena klasifikacije

Page 46: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

Preprilagoñenost zbog šuma

Granice podele se iskrivljuju zbog postojanja šuma

Page 51: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

βββ

Page 72: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 73: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 74: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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 ?

Page 75: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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%

Page 76: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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 ?

Page 77: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 78: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 79: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 80: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 81: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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 ?

Page 82: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

Š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

Page 83: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 84: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 85: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

Primer sekvencijalnog pokrivanja

(ii) Step 1

Page 86: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

Primer sekvencijalnog pokrivanja

(iii) Step 2

R1

(iv) Step 3

R1

R2

Page 87: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

Osobine sekvencijalnog pokrivanja

Porast skupa pravila

Eliminacija instanci

Provera pravila

Kriterijum zaustavljanja

Potkresivanje (skupa) pravila

Page 88: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

Porast skupa pravila

Dve uobičajene strategije

Page 89: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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)

Page 90: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 91: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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=

Page 92: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 93: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

Rezime direktnih metoda

Rast (proširenje) pojedinačnog pravila

Uklanjanje instanci iz pravila

Pokresivanje pravila (po potrebi)

Dodati pravilo u skup pravila

Ponoviti postupak

Page 94: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 95: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 96: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 97: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 98: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 99: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 100: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 101: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 102: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 103: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 104: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 105: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 106: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

Bajesovski klasifikatori

Verovatnosno okruženje za rešavanje problemaklasifikacije

Uslovne verovatnoće:

Bajesova teorema:

)()()|(

)|(AP

CPCAPACP =

)(),(

)|(

)(),(

)|(

CP

CAPCAP

AP

CAPACP

=

=

Page 107: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 108: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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?

Page 109: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

ΚΚΚ =

Page 110: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 111: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 112: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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)

Page 113: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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π

Page 114: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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:

Page 115: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 116: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 117: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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)

Page 118: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 119: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 120: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 121: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 122: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 123: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

Opšta strukura neuronskih mreža

Obučavanje neuronskih mreža označava odreñivanje težina (učenje) neurona

Page 124: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 125: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 126: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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.

Page 127: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 128: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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)

Page 129: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 130: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 131: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 132: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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.

Page 133: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

Test na linearnost

ii

yββββ∂∂∂∂

∂∂∂∂====φφφφ)x,(fy iββββ====

Ako φi ne sadrži ni jedno βi tada je jednačina linearnasa nepoznatim parametrima βi.

Page 134: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

Primeri jednačina sa nelinearnim parametrima

)xexp(y 10 ββββ−−−−ββββ====

)xexp()xexp(y 3210 ββββ−−−−ββββ++++ββββ−−−−ββββ====

Page 135: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 136: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

Primeri jednačina koje se podvode pod u višestruku linearnu regresiju

2210 xxy ββββ++++ββββ++++ββββ====

21322110 xxxxy ββββ++++ββββ++++ββββ++++ββββ====

3213

222110 xxxxy ββββ++++ββββ++++ββββ++++ββββ====

Page 137: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

Linearnost jednačina

Test linearnosti jednačina

Linearnost u parametrima

Nelinearnost u parametrima

Linearnaregresija

SLR MLR

Nelinearna regresija

Page 138: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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.

Page 139: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 140: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

Prosta linearna regresija (SLR)

∑∑==

−==n

ieqnii

n

ii yybbS

1

2,

1

210 )(minmin),( ε

∑=

+−=n

iii xybbS

1

21010 ))((min),( ββ

Page 141: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

SLR (nastavak)

∑=

=−+−=∂

∂ n

iii xbby

bbS

110

0

10 0)1)](([2),(

β

∑=

=−+−=∂

∂ n

iiii xxbby

bbS

110

1

10 0))](([2),(

β

Page 142: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

SLR (nastavak)

∑ ∑= =

=+n

i

n

iii yxbnb

1 110

∑ ∑∑= ==

=+n

i

n

iiii

n

ii yxxbxb

1 1

21

10

Page 143: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

SLR (nastavak)

∑∑∑∑∑∑∑∑

∑∑∑∑∑∑∑∑∑∑∑∑

====

====

========

====

−−−−

−−−−====≈≈≈≈ββββ

n

1i

2n

1ii

2i

n

1ii

n

1iin

1iii

11

n

xx

n

yxyx

b

xbyb 100 −−−−====≈≈≈≈ββββ

Page 144: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 145: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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

Page 146: Klasifikacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/ip1/5.klasifikacija.pdf · Definicija klasifikacije Ulazni podatak u klasifikaciju je skup slogova podaci za trening

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.