implementacija i evaluacija algoritama ma sinskog u cenja...

87
Implementacija i evaluacija algoritama maˇ sinskog uˇ cenja za filtriranje neˇ zeljene elektronske poˇ ste Aleksandar Nedeljkovi´ c Matematiˇ cki fakultet [email protected] Odbrana master rada, 4.3.2016. Aleksandar Nedeljkovi´ c (MATF) Filtriranje spama 4.3.2016. 1 / 51

Upload: others

Post on 27-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Implementacija i evaluacija algoritama masinskog ucenjaza filtriranje nezeljene elektronske poste

Aleksandar Nedeljkovic

Matematicki fakultet

[email protected]

Odbrana master rada, 4.3.2016.

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 1 / 51

Page 2: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Pregled

1 UvodElektronska postaSpam

2 KlasifikacijaMere kvaliteta i tehnike evaluacije klasifikatora

3 Algoritmi klasifikacijeBajesov klasifikatorkNNSVMPerceptron

4 Podaci

5 Rezultati

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 2 / 51

Page 3: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Elektronska posta

Elektronska posta

Elektronska posta je mrezni servis koji omogucava slanje i primanje porukaraznovrsnog sadrzaja.

Oktobar 1971.

Rej Tomlinson

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 3 / 51

Page 4: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Elektronska posta

Elektronska posta

Elektronska posta je mrezni servis koji omogucava slanje i primanje porukaraznovrsnog sadrzaja.

Oktobar 1971.

Rej Tomlinson

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 3 / 51

Page 5: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Elektronska posta

Elektronska posta

Elektronska posta je mrezni servis koji omogucava slanje i primanje porukaraznovrsnog sadrzaja.

Oktobar 1971.

Rej Tomlinson

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 3 / 51

Page 6: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Zaglavlje elektronske poste

Zaglavlje nosi sledece podatke:

adresu i ime posaljioca

adresu primaoca

adresu servera preko kojeg je poruka poslata kao i servera koji suprosledivali poruku na njenom putu do odredista

datum slanja

ime programa koji je koriscen za slanje poruke

prioritet

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 4 / 51

Page 7: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Zaglavlje elektronske poste

Zaglavlje nosi sledece podatke:

adresu i ime posaljioca

adresu primaoca

adresu servera preko kojeg je poruka poslata kao i servera koji suprosledivali poruku na njenom putu do odredista

datum slanja

ime programa koji je koriscen za slanje poruke

prioritet

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 4 / 51

Page 8: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Zaglavlje elektronske poste

Zaglavlje nosi sledece podatke:

adresu i ime posaljioca

adresu primaoca

adresu servera preko kojeg je poruka poslata kao i servera koji suprosledivali poruku na njenom putu do odredista

datum slanja

ime programa koji je koriscen za slanje poruke

prioritet

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 4 / 51

Page 9: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Zaglavlje elektronske poste

Zaglavlje nosi sledece podatke:

adresu i ime posaljioca

adresu primaoca

adresu servera preko kojeg je poruka poslata kao i servera koji suprosledivali poruku na njenom putu do odredista

datum slanja

ime programa koji je koriscen za slanje poruke

prioritet

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 4 / 51

Page 10: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Zaglavlje elektronske poste

Zaglavlje nosi sledece podatke:

adresu i ime posaljioca

adresu primaoca

adresu servera preko kojeg je poruka poslata kao i servera koji suprosledivali poruku na njenom putu do odredista

datum slanja

ime programa koji je koriscen za slanje poruke

prioritet

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 4 / 51

Page 11: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Zaglavlje elektronske poste

Zaglavlje nosi sledece podatke:

adresu i ime posaljioca

adresu primaoca

adresu servera preko kojeg je poruka poslata kao i servera koji suprosledivali poruku na njenom putu do odredista

datum slanja

ime programa koji je koriscen za slanje poruke

prioritet

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 4 / 51

Page 12: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Zaglavlje elektronske poste

Zaglavlje nosi sledece podatke:

adresu i ime posaljioca

adresu primaoca

adresu servera preko kojeg je poruka poslata kao i servera koji suprosledivali poruku na njenom putu do odredista

datum slanja

ime programa koji je koriscen za slanje poruke

prioritet

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 4 / 51

Page 13: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Spam

Definicija spama

Spam predstavlja zloupotrebu elektronskih sistema u svrhu slanjanezeljenih masovnih poruka bez ikakvog kriterijuma.

Vrste spama:

cet spam

veb spam

SMS spam

forum spam

televizijski spam

e-mail spam

...

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 5 / 51

Page 14: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Spam

Definicija spama

Spam predstavlja zloupotrebu elektronskih sistema u svrhu slanjanezeljenih masovnih poruka bez ikakvog kriterijuma.

Vrste spama:

cet spam

veb spam

SMS spam

forum spam

televizijski spam

e-mail spam

...

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 5 / 51

Page 15: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Spam

Definicija spama

Spam predstavlja zloupotrebu elektronskih sistema u svrhu slanjanezeljenih masovnih poruka bez ikakvog kriterijuma.

Vrste spama:

cet spam

veb spam

SMS spam

forum spam

televizijski spam

e-mail spam

...

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 5 / 51

Page 16: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Spam

Definicija spama

Spam predstavlja zloupotrebu elektronskih sistema u svrhu slanjanezeljenih masovnih poruka bez ikakvog kriterijuma.

Vrste spama:

cet spam

veb spam

SMS spam

forum spam

televizijski spam

e-mail spam

...

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 5 / 51

Page 17: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Spam

Definicija spama

Spam predstavlja zloupotrebu elektronskih sistema u svrhu slanjanezeljenih masovnih poruka bez ikakvog kriterijuma.

Vrste spama:

cet spam

veb spam

SMS spam

forum spam

televizijski spam

e-mail spam

...

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 5 / 51

Page 18: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Spam

Definicija spama

Spam predstavlja zloupotrebu elektronskih sistema u svrhu slanjanezeljenih masovnih poruka bez ikakvog kriterijuma.

Vrste spama:

cet spam

veb spam

SMS spam

forum spam

televizijski spam

e-mail spam

...

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 5 / 51

Page 19: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Spam

Definicija spama

Spam predstavlja zloupotrebu elektronskih sistema u svrhu slanjanezeljenih masovnih poruka bez ikakvog kriterijuma.

Vrste spama:

cet spam

veb spam

SMS spam

forum spam

televizijski spam

e-mail spam

...

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 5 / 51

Page 20: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Spam

Definicija spama

Spam predstavlja zloupotrebu elektronskih sistema u svrhu slanjanezeljenih masovnih poruka bez ikakvog kriterijuma.

Vrste spama:

cet spam

veb spam

SMS spam

forum spam

televizijski spam

e-mail spam

...

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 5 / 51

Page 21: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Figure: Primer koji ilustruje cet spam

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 6 / 51

Page 22: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Figure: Primeri koji ilustruju SMS spam

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 7 / 51

Page 23: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Figure: Primer koji ilustruje e-mail spam

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 8 / 51

Page 24: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Zanimljivost

Danijel Balsam iz Amerike je gospodin koji je toliko bio iznerviran zbogstalnih spam mejlova da je dao otkaz, upisao pravo, dobio diplomu i dodanasnjeg dana je zaradio preko milion dolara tuzeci ljude i kompanije kojisu odgovorni za te reklame.

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 9 / 51

Page 25: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

2011. 2012. 2013. 2014. 2015.

Prosecan broj primljenih i poslatih e-mailovajednog korisnika po danu

105 110 115 120 125

Prosecan broj primljenih e-mailova 72 75 78 81 84

Prosecan broj legitimnih e-mailova 58 62 65 68 71

Prosecan broj nezeljene poste 14 13 13 13 13

Prosecan broj poslatih e-mailova 33 35 37 39 41

Table: Korporativna primljena i poslata e-posta jednog korisnika po danu uperiodu od 2011. do 2015.

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 10 / 51

Page 26: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Proizvodi 25%

Finansijski 20%

Za odrasle 19%

Prevara 9%

Zdravlje 7%

Internet 7%

Opustanje 6%

Duhovni 4%

Ostali 3%

Table: Raspodela spam poruka

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 11 / 51

Page 27: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Saveti za zastitu od nezeljenih poruka

1 Ne otvarajte nezeljene poruke, izbrisite ih bez prethodnog otvaranja.Otvaranjem poruke obavestavate posiljaoca da vasa e-mail adresapostoji.

2 Nikada ne odgovarajte na spam poruke bez obzira sta se od vas trazijer u suprotnom na ovaj nacin obavestavate posiljaoca o validnostivase e-mail adrese.

3 Ne kupujte proizvode koji se reklamiraju putem spam poruka bezobzira koliko povoljni bili. Ukoliko kupite proizvod ocekujte jos visereklamnih poruka u vasem postanskom sanducetu.

4 Ne prosledujte spam poruke, dovoljno je sto ste dobili spam, nemorate i sami da postanete spamer. Ukoliko nastavite saprosledivanjem vasa adresa ce stici i kod ostalih spamera, zakljucitesami, dobijacete jos vise nezeljenih poruka. Nemojte prosledivati spamporuke, jer postoji opasnost da je poruka sadrzala virus, samim tim ivi postajete posiljalac virusa.

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 12 / 51

Page 28: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Saveti za zastitu od nezeljenih poruka

1 Ne otvarajte nezeljene poruke, izbrisite ih bez prethodnog otvaranja.Otvaranjem poruke obavestavate posiljaoca da vasa e-mail adresapostoji.

2 Nikada ne odgovarajte na spam poruke bez obzira sta se od vas trazijer u suprotnom na ovaj nacin obavestavate posiljaoca o validnostivase e-mail adrese.

3 Ne kupujte proizvode koji se reklamiraju putem spam poruka bezobzira koliko povoljni bili. Ukoliko kupite proizvod ocekujte jos visereklamnih poruka u vasem postanskom sanducetu.

4 Ne prosledujte spam poruke, dovoljno je sto ste dobili spam, nemorate i sami da postanete spamer. Ukoliko nastavite saprosledivanjem vasa adresa ce stici i kod ostalih spamera, zakljucitesami, dobijacete jos vise nezeljenih poruka. Nemojte prosledivati spamporuke, jer postoji opasnost da je poruka sadrzala virus, samim tim ivi postajete posiljalac virusa.

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 12 / 51

Page 29: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Saveti za zastitu od nezeljenih poruka

1 Ne otvarajte nezeljene poruke, izbrisite ih bez prethodnog otvaranja.Otvaranjem poruke obavestavate posiljaoca da vasa e-mail adresapostoji.

2 Nikada ne odgovarajte na spam poruke bez obzira sta se od vas trazijer u suprotnom na ovaj nacin obavestavate posiljaoca o validnostivase e-mail adrese.

3 Ne kupujte proizvode koji se reklamiraju putem spam poruka bezobzira koliko povoljni bili. Ukoliko kupite proizvod ocekujte jos visereklamnih poruka u vasem postanskom sanducetu.

4 Ne prosledujte spam poruke, dovoljno je sto ste dobili spam, nemorate i sami da postanete spamer. Ukoliko nastavite saprosledivanjem vasa adresa ce stici i kod ostalih spamera, zakljucitesami, dobijacete jos vise nezeljenih poruka. Nemojte prosledivati spamporuke, jer postoji opasnost da je poruka sadrzala virus, samim tim ivi postajete posiljalac virusa.

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 12 / 51

Page 30: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Saveti za zastitu od nezeljenih poruka

1 Ne otvarajte nezeljene poruke, izbrisite ih bez prethodnog otvaranja.Otvaranjem poruke obavestavate posiljaoca da vasa e-mail adresapostoji.

2 Nikada ne odgovarajte na spam poruke bez obzira sta se od vas trazijer u suprotnom na ovaj nacin obavestavate posiljaoca o validnostivase e-mail adrese.

3 Ne kupujte proizvode koji se reklamiraju putem spam poruka bezobzira koliko povoljni bili. Ukoliko kupite proizvod ocekujte jos visereklamnih poruka u vasem postanskom sanducetu.

4 Ne prosledujte spam poruke, dovoljno je sto ste dobili spam, nemorate i sami da postanete spamer. Ukoliko nastavite saprosledivanjem vasa adresa ce stici i kod ostalih spamera, zakljucitesami, dobijacete jos vise nezeljenih poruka. Nemojte prosledivati spamporuke, jer postoji opasnost da je poruka sadrzala virus, samim tim ivi postajete posiljalac virusa.

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 12 / 51

Page 31: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Saveti za zastitu od nezeljenih poruka

1 Ne otvarajte nezeljene poruke, izbrisite ih bez prethodnog otvaranja.Otvaranjem poruke obavestavate posiljaoca da vasa e-mail adresapostoji.

2 Nikada ne odgovarajte na spam poruke bez obzira sta se od vas trazijer u suprotnom na ovaj nacin obavestavate posiljaoca o validnostivase e-mail adrese.

3 Ne kupujte proizvode koji se reklamiraju putem spam poruka bezobzira koliko povoljni bili. Ukoliko kupite proizvod ocekujte jos visereklamnih poruka u vasem postanskom sanducetu.

4 Ne prosledujte spam poruke, dovoljno je sto ste dobili spam, nemorate i sami da postanete spamer. Ukoliko nastavite saprosledivanjem vasa adresa ce stici i kod ostalih spamera, zakljucitesami, dobijacete jos vise nezeljenih poruka. Nemojte prosledivati spamporuke, jer postoji opasnost da je poruka sadrzala virus, samim tim ivi postajete posiljalac virusa.

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 12 / 51

Page 32: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Klasifikacija

Definicija klasifikacije

Klasifikacija je proces ucenja ciljne funkcije f koja predefinisane klase ypridruzuje vektoru vrednosti atributa x .

Ulazni podatak u proces klasifikacije je skup slogova koji se nazivajuinstance.Slogovi su oblika (x , y) gde je x vektor vrednosti nekih atributa a, yatribut koji odreduje oznaku klase.Ulazni podaci se dele na podatke za ucenje i testiranje.

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 13 / 51

Page 33: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Masinsko ucenje

Na osnovu trening podataka izvode se klasifikaciona pravila za klasifikator.Na primer:

Trening primeri

,,Kupovina odmah” −→ SPAM,,Kupovina proizvoda” −→ SPAM,,Dobra kupovina” −→ SPAM,,Dobra plata” −→ LEGITIMNA,,Dobra vecera” −→ LEGITIMNA

Izvedeno klasifikaciono pravilo

,,Kupovina” −→ SPAM

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 14 / 51

Page 34: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Mere kvaliteta i tehnike evaluacije klasifikatora

Predvidena klasaKlasa = 1 Klasa = 0 Ukupno

Stvarna klasaKlasa = 1 f11 f10 f11 + f10

Klasa = 0 f01 f00 f01 + f00

Ukupno f11 + f01 f10 + f00 N

Vrednosti matrice konfuzije obrazlozene na primeru klasifikacije elektronske poste:

1 f11 − vrednost ,,stvarno pozitivni” (eng. true positive) predstavlja brojdokumenata koji su zaista spamovi a koje je klasifikator prepoznao kao spamove

2 f01 − vrednost ,,lazno pozitivni” (eng. false positive) predstavlja broj dokumenatakoji nisu spamovi a koje je klasifikator klasifikovao u grupu spamova

3 f00 − vrednost ,,stvarno negativni” (eng. true negative) predstavlja brojdokumenata koji nisu spamovi a klasifikator ih je klasifikovao kao legitimne poruke

4 f10 − vrednost ,,lazno negativni” (eng. false negative) predstavlja broj dokumenatakoji su spamovi a koji su svrstani u grupu legitimnih poruka

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 15 / 51

Page 35: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Mere kvaliteta i tehnike evaluacije klasifikatora

Predvidena klasaKlasa = 1 Klasa = 0 Ukupno

Stvarna klasaKlasa = 1 f11 f10 f11 + f10

Klasa = 0 f01 f00 f01 + f00

Ukupno f11 + f01 f10 + f00 N

Vrednosti matrice konfuzije obrazlozene na primeru klasifikacije elektronske poste:

1 f11 − vrednost ,,stvarno pozitivni” (eng. true positive) predstavlja brojdokumenata koji su zaista spamovi a koje je klasifikator prepoznao kao spamove

2 f01 − vrednost ,,lazno pozitivni” (eng. false positive) predstavlja broj dokumenatakoji nisu spamovi a koje je klasifikator klasifikovao u grupu spamova

3 f00 − vrednost ,,stvarno negativni” (eng. true negative) predstavlja brojdokumenata koji nisu spamovi a klasifikator ih je klasifikovao kao legitimne poruke

4 f10 − vrednost ,,lazno negativni” (eng. false negative) predstavlja broj dokumenatakoji su spamovi a koji su svrstani u grupu legitimnih poruka

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 15 / 51

Page 36: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Mere kvaliteta i tehnike evaluacije klasifikatora

Predvidena klasaKlasa = 1 Klasa = 0 Ukupno

Stvarna klasaKlasa = 1 f11 f10 f11 + f10

Klasa = 0 f01 f00 f01 + f00

Ukupno f11 + f01 f10 + f00 N

Vrednosti matrice konfuzije obrazlozene na primeru klasifikacije elektronske poste:

1 f11 − vrednost ,,stvarno pozitivni” (eng. true positive) predstavlja brojdokumenata koji su zaista spamovi a koje je klasifikator prepoznao kao spamove

2 f01 − vrednost ,,lazno pozitivni” (eng. false positive) predstavlja broj dokumenatakoji nisu spamovi a koje je klasifikator klasifikovao u grupu spamova

3 f00 − vrednost ,,stvarno negativni” (eng. true negative) predstavlja brojdokumenata koji nisu spamovi a klasifikator ih je klasifikovao kao legitimne poruke

4 f10 − vrednost ,,lazno negativni” (eng. false negative) predstavlja broj dokumenatakoji su spamovi a koji su svrstani u grupu legitimnih poruka

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 15 / 51

Page 37: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Mere kvaliteta i tehnike evaluacije klasifikatora

Predvidena klasaKlasa = 1 Klasa = 0 Ukupno

Stvarna klasaKlasa = 1 f11 f10 f11 + f10

Klasa = 0 f01 f00 f01 + f00

Ukupno f11 + f01 f10 + f00 N

Vrednosti matrice konfuzije obrazlozene na primeru klasifikacije elektronske poste:

1 f11 − vrednost ,,stvarno pozitivni” (eng. true positive) predstavlja brojdokumenata koji su zaista spamovi a koje je klasifikator prepoznao kao spamove

2 f01 − vrednost ,,lazno pozitivni” (eng. false positive) predstavlja broj dokumenatakoji nisu spamovi a koje je klasifikator klasifikovao u grupu spamova

3 f00 − vrednost ,,stvarno negativni” (eng. true negative) predstavlja brojdokumenata koji nisu spamovi a klasifikator ih je klasifikovao kao legitimne poruke

4 f10 − vrednost ,,lazno negativni” (eng. false negative) predstavlja broj dokumenatakoji su spamovi a koji su svrstani u grupu legitimnih poruka

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 15 / 51

Page 38: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Mere kvaliteta i tehnike evaluacije klasifikatora

Predvidena klasaKlasa = 1 Klasa = 0 Ukupno

Stvarna klasaKlasa = 1 f11 f10 f11 + f10

Klasa = 0 f01 f00 f01 + f00

Ukupno f11 + f01 f10 + f00 N

Vrednosti matrice konfuzije obrazlozene na primeru klasifikacije elektronske poste:

1 f11 − vrednost ,,stvarno pozitivni” (eng. true positive) predstavlja brojdokumenata koji su zaista spamovi a koje je klasifikator prepoznao kao spamove

2 f01 − vrednost ,,lazno pozitivni” (eng. false positive) predstavlja broj dokumenatakoji nisu spamovi a koje je klasifikator klasifikovao u grupu spamova

3 f00 − vrednost ,,stvarno negativni” (eng. true negative) predstavlja brojdokumenata koji nisu spamovi a klasifikator ih je klasifikovao kao legitimne poruke

4 f10 − vrednost ,,lazno negativni” (eng. false negative) predstavlja broj dokumenatakoji su spamovi a koji su svrstani u grupu legitimnih poruka

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 15 / 51

Page 39: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Mere kvaliteta i tehnike evaluacije klasifikatora

Tacnost (eng. accuracy) klasifikatora je mera koja nam daje procenatuspesno klasifikovanih dokumenata. Tacnost definisemo na sledeci nacin:

Tacnost =Broj ispravnih predvidanja

Ukupan broj predvidanja=

f11 + f00

f11 + f10 + f01 + f00

Ekvivalentno performanse modela se mogu izraziti u obliku stope greske,koja je data na sledeci nacin:

Stopa greske =Broj pogresnih predvidanja

Ukupan broj predvidanja=

f10 + f01

f11 + f10 + f01 + f00

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 16 / 51

Page 40: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Mere kvaliteta i tehnike evaluacije klasifikatora

Preciznost (eng. precission) je mera koja nam daje informaciju o udelustvarno pozitivnih instanci. Od svih poruka koje su oznacene kao spam,koji procenat cine poruke koje su stvarno spam?

Preciznost =f11

f11 + f01=

TP

TP + FP

Odziv (eng. recall) je mera suprotna preciznosti. Od svih poruka koje sustvarno spam, koji procenat poruka je klasifikovan kao spam?

Odziv =f11

f11 + f10=

TP

TP + FN

Kombinovanjem preciznosti i odziva dobijena je f1 mera koja se definise nasledeci nacin:

f1 =2 · Preciznost · OdzivPreciznost + Odziv

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 17 / 51

Page 41: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Bajesov klasifikator

Pretpostavimo da poruka sadrzi rec kupovina.Bajesovo pravilo:

P(c |x) =P(x |c) · P(c)

P(x)=

P(W |c) · P(c)

P(W |S) · P(S) + P(W |L) · P(L)

P(c |x) verovatnoca da poruka x pripada klasi c .P(S) ukupna verovatnoca da je bilo koja data poruka nezeljena.P(W |S) verovatnoca da se rec kupovina nalazi u nezeljenoj poruci.P(L) ukupna verovatnoca da je bilo koja data poruka legitimna.P(W |L) verovatnoca da se rec kupovina nalazi u legitimnoj poruci.

Klasifikaciono pravilo:

P(S |x) > P(L|x) =⇒ SPAM

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 18 / 51

Page 42: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Bajesov klasifikator

1 Kako izracunati P(x |c)?

2 Najbolje je pojednostaviti vektor obelezja da se sastoji od jednogbinarnog atributa xw . Neka je xw = 1 ako se odredena rec w nalazi uporuci i xw = 0 u suprotnom.

3 Tada mozemo reci da je:

P(xω = 1|S) ≈ Broj nezeljenih poruka u kojima je w obelezeno

Broj svih nezeljenih poruka

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 19 / 51

Page 43: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Bajesov klasifikator

1 Kako izracunati P(x |c)?

2 Najbolje je pojednostaviti vektor obelezja da se sastoji od jednogbinarnog atributa xw . Neka je xw = 1 ako se odredena rec w nalazi uporuci i xw = 0 u suprotnom.

3 Tada mozemo reci da je:

P(xω = 1|S) ≈ Broj nezeljenih poruka u kojima je w obelezeno

Broj svih nezeljenih poruka

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 19 / 51

Page 44: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Bajesov klasifikator

1 Kako izracunati P(x |c)?

2 Najbolje je pojednostaviti vektor obelezja da se sastoji od jednogbinarnog atributa xw . Neka je xw = 1 ako se odredena rec w nalazi uporuci i xw = 0 u suprotnom.

3 Tada mozemo reci da je:

P(xω = 1|S) ≈ Broj nezeljenih poruka u kojima je w obelezeno

Broj svih nezeljenih poruka

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 19 / 51

Page 45: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Bajesov klasifikator

1 Kako izracunati P(x |c)?

2 Najbolje je pojednostaviti vektor obelezja da se sastoji od jednogbinarnog atributa xw . Neka je xw = 1 ako se odredena rec w nalazi uporuci i xw = 0 u suprotnom.

3 Tada mozemo reci da je:

P(xω = 1|S) ≈ Broj nezeljenih poruka u kojima je w obelezeno

Broj svih nezeljenih poruka

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 19 / 51

Page 46: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Naivni Bajesov klasifikator

U sustini mi predstavljamo prisutnost reci ωi u poruci m vrednoscu 1 ukarakteristicnom vektoru −→x = (x1, x2, ..., xn). Medutim algoritam mora daracuna 2n vrednosti x sto je neprakticno. Kako bismo to izbegli uvodimopretpostavku da su dve prisutne reci uslovno nezavisne jedna od druge stoznaci da je:

P(−→x /c) =n∏

i=1

P(−→x i/c) Λ =n∏

i=1

Λi (−→x i )

Λ(−→x ) predstavlja kolicnik P(−→x /S)P(−→x /L)

, dok je λ parametar koji ukazuje na rizik

kada klasifikujemo legitimnu poruku kao nezeljenu.

λ =L(L,S)

L(S , L)

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 20 / 51

Page 47: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Naivni Bajesov klasifikator

Funkcija L(c1, c2) odreduje cenu lose klasifikacije pojavom klase c1 umestoklase c2. Logicno je reci da je L(L, L) = L(S ,S) = 0.Poruka se klasifikuje kao nezeljena ukoliko je sledeci kriterijum ispunjen:

P(−→x |c = S)

P(−→x |c = L)> λ

Ukoliko vazi pretpostavka nezavisnosti procenjene verovatnoce su preciznei klasifikator na osnovu ovih kriterijuma postize optimalne rezultate[DudaHart1973].

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 21 / 51

Page 48: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

kNN

1 Ucenje zasnovano na instancama2 Neophodno je definisati metriku rastojanja poruka d

1 Pozitivna odredenostd(x , y) ≥ 0 za svako x i yd(x , y) = 0 samo ako je x = y

2 Simetrijad(x , y) = d(y , x) za svako x i y

3 Nejednakost trouglad(x , z) ≤ d(x , y) + d(y , z) za svako x , y i z

3 Konkretna poruka x sadrzi k najblizih suseda medu porukama utrening skupu. Ukoliko ima vise spam poruka medu ovim susedima,poruka ce biti klasifikovana kao spam, u suptrotnom klasifikator ce jeklasifikovati kao legitimnu poruku.

4 Uvodenjem modifikacije klasifikacionog pravila l/k smanjujemo brojlazno pozitivnih instanci

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 22 / 51

Page 49: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

kNN

1 Ucenje zasnovano na instancama2 Neophodno je definisati metriku rastojanja poruka d

1 Pozitivna odredenostd(x , y) ≥ 0 za svako x i yd(x , y) = 0 samo ako je x = y

2 Simetrijad(x , y) = d(y , x) za svako x i y

3 Nejednakost trouglad(x , z) ≤ d(x , y) + d(y , z) za svako x , y i z

3 Konkretna poruka x sadrzi k najblizih suseda medu porukama utrening skupu. Ukoliko ima vise spam poruka medu ovim susedima,poruka ce biti klasifikovana kao spam, u suptrotnom klasifikator ce jeklasifikovati kao legitimnu poruku.

4 Uvodenjem modifikacije klasifikacionog pravila l/k smanjujemo brojlazno pozitivnih instanci

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 22 / 51

Page 50: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

kNN

1 Ucenje zasnovano na instancama2 Neophodno je definisati metriku rastojanja poruka d

1 Pozitivna odredenostd(x , y) ≥ 0 za svako x i yd(x , y) = 0 samo ako je x = y

2 Simetrijad(x , y) = d(y , x) za svako x i y

3 Nejednakost trouglad(x , z) ≤ d(x , y) + d(y , z) za svako x , y i z

3 Konkretna poruka x sadrzi k najblizih suseda medu porukama utrening skupu. Ukoliko ima vise spam poruka medu ovim susedima,poruka ce biti klasifikovana kao spam, u suptrotnom klasifikator ce jeklasifikovati kao legitimnu poruku.

4 Uvodenjem modifikacije klasifikacionog pravila l/k smanjujemo brojlazno pozitivnih instanci

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 22 / 51

Page 51: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

kNN

1 Ucenje zasnovano na instancama2 Neophodno je definisati metriku rastojanja poruka d

1 Pozitivna odredenostd(x , y) ≥ 0 za svako x i yd(x , y) = 0 samo ako je x = y

2 Simetrijad(x , y) = d(y , x) za svako x i y

3 Nejednakost trouglad(x , z) ≤ d(x , y) + d(y , z) za svako x , y i z

3 Konkretna poruka x sadrzi k najblizih suseda medu porukama utrening skupu. Ukoliko ima vise spam poruka medu ovim susedima,poruka ce biti klasifikovana kao spam, u suptrotnom klasifikator ce jeklasifikovati kao legitimnu poruku.

4 Uvodenjem modifikacije klasifikacionog pravila l/k smanjujemo brojlazno pozitivnih instanci

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 22 / 51

Page 52: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

kNN

1 Ucenje zasnovano na instancama2 Neophodno je definisati metriku rastojanja poruka d

1 Pozitivna odredenostd(x , y) ≥ 0 za svako x i yd(x , y) = 0 samo ako je x = y

2 Simetrijad(x , y) = d(y , x) za svako x i y

3 Nejednakost trouglad(x , z) ≤ d(x , y) + d(y , z) za svako x , y i z

3 Konkretna poruka x sadrzi k najblizih suseda medu porukama utrening skupu. Ukoliko ima vise spam poruka medu ovim susedima,poruka ce biti klasifikovana kao spam, u suptrotnom klasifikator ce jeklasifikovati kao legitimnu poruku.

4 Uvodenjem modifikacije klasifikacionog pravila l/k smanjujemo brojlazno pozitivnih instanci

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 22 / 51

Page 53: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

kNN

1 Ucenje zasnovano na instancama2 Neophodno je definisati metriku rastojanja poruka d

1 Pozitivna odredenostd(x , y) ≥ 0 za svako x i yd(x , y) = 0 samo ako je x = y

2 Simetrijad(x , y) = d(y , x) za svako x i y

3 Nejednakost trouglad(x , z) ≤ d(x , y) + d(y , z) za svako x , y i z

3 Konkretna poruka x sadrzi k najblizih suseda medu porukama utrening skupu. Ukoliko ima vise spam poruka medu ovim susedima,poruka ce biti klasifikovana kao spam, u suptrotnom klasifikator ce jeklasifikovati kao legitimnu poruku.

4 Uvodenjem modifikacije klasifikacionog pravila l/k smanjujemo brojlazno pozitivnih instanci

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 22 / 51

Page 54: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

kNN

1 Ucenje zasnovano na instancama2 Neophodno je definisati metriku rastojanja poruka d

1 Pozitivna odredenostd(x , y) ≥ 0 za svako x i yd(x , y) = 0 samo ako je x = y

2 Simetrijad(x , y) = d(y , x) za svako x i y

3 Nejednakost trouglad(x , z) ≤ d(x , y) + d(y , z) za svako x , y i z

3 Konkretna poruka x sadrzi k najblizih suseda medu porukama utrening skupu. Ukoliko ima vise spam poruka medu ovim susedima,poruka ce biti klasifikovana kao spam, u suptrotnom klasifikator ce jeklasifikovati kao legitimnu poruku.

4 Uvodenjem modifikacije klasifikacionog pravila l/k smanjujemo brojlazno pozitivnih instanci

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 22 / 51

Page 55: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

kNN

y

x

Figure: Primer koji ilustruje algoritam k najblizih suseda za k = 1, k = 2, k = 3

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 23 / 51

Page 56: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

kNN

5 Teorema (Stone 1977): Ako velicina trening skupa n tezibeskonacnosti, i ukoliko k →∞, k

n → 0, tada greska pogresneklasifikacije tezi teoretskom minimumu.

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 24 / 51

Page 57: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

SVM

1 SVM = Support Vector Machine, metod podrzavajucih (potpornih)vektora

2 Metoda je zasnovana na ideji vektorskih prostora

3 Model je formula (a ne skup pravila)

4 Osnovni algoritam je za binarnu klasifikaciju

5 Narocito je upotrebljiv za numericke podatke

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 25 / 51

Page 58: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

SVM

1 SVM = Support Vector Machine, metod podrzavajucih (potpornih)vektora

2 Metoda je zasnovana na ideji vektorskih prostora

3 Model je formula (a ne skup pravila)

4 Osnovni algoritam je za binarnu klasifikaciju

5 Narocito je upotrebljiv za numericke podatke

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 25 / 51

Page 59: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

SVM

1 SVM = Support Vector Machine, metod podrzavajucih (potpornih)vektora

2 Metoda je zasnovana na ideji vektorskih prostora

3 Model je formula (a ne skup pravila)

4 Osnovni algoritam je za binarnu klasifikaciju

5 Narocito je upotrebljiv za numericke podatke

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 25 / 51

Page 60: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

SVM

1 SVM = Support Vector Machine, metod podrzavajucih (potpornih)vektora

2 Metoda je zasnovana na ideji vektorskih prostora

3 Model je formula (a ne skup pravila)

4 Osnovni algoritam je za binarnu klasifikaciju

5 Narocito je upotrebljiv za numericke podatke

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 25 / 51

Page 61: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

SVM

1 SVM = Support Vector Machine, metod podrzavajucih (potpornih)vektora

2 Metoda je zasnovana na ideji vektorskih prostora

3 Model je formula (a ne skup pravila)

4 Osnovni algoritam je za binarnu klasifikaciju

5 Narocito je upotrebljiv za numericke podatke

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 25 / 51

Page 62: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

SVM

y

x

w· x

+b

=0

w· x

+b

=1

w· x

+b

=−1

2‖w‖

b‖w‖

w

Figure: Primer koji ilustruje optimalnu hiper-ravan sa maksimalnom marginomkoja razdvaja podatke za trening u 2 klase

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 26 / 51

Page 63: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

SVM

xi ·w + b ≥ +1 za yi = +1

xi ·w + b ≤ −1 za yi = −1

Kombinovanjem dva prethodna izraza dobijamo:

yi (xi ·w + b)− 1 ≥ 0,∀iDa bi izabrali hiper-ravan maksimalno udaljenu od potpornih vektora,potrebno je maksimizovati marginu, sto je ekvivalentno pronalazenju:

min ||w|| takav da yi (xi ·w + b)− 1 ≥ 0, ∀imin ||w|| je ekvivalentno min 1

2 ||w||2 i upotreba ovog izraza omogucava

kasnije izvrsavanje optimizacije kvadratnog programiranja. Zbog togamoramo da pronademo:

min1

2||w||2 takav da yi (xi ·w + b)− 1 ≥ 0, ∀i

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 27 / 51

Page 64: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

SVM (linearno nerazdvojive klase)

Figure: Preslikavanje u visedimenzionalni prostor u kome je skup podatakalinearno razdvojiv

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 28 / 51

Page 65: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

SVM (linearno nerazdvojive klase)

Kernel je funkcija koja odgovara skalarnom proizvodu u nekom prosirenomprostoru (prostoru vece dimenzije). Racunanje skalarnog proizvoda izmeduvektora:

K (xi , xj) = xTi · xjPreslikavanjem svake tacke u prostor vece dimezije koristeci transformacijuΦ : x → φ(x) skalarni proizvod postaje

K (xi , xj) = φ(xi )T · φ(xj)

pomocu koje se izracunavanje vrsi na mnogo jednostavniji nacin.

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 29 / 51

Page 66: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

SVM (linearno nerazdvojive klase)

Dakle kerneli omogucavaju pretvaranje nerazdvojivih problema u razdvojivei vrse bolje preslikavanje u prostore visih dimenzija. Matematicka teorijadefinise uslove koje data funkcija treba da zadovolji da bi predstavljalaskalarni proizvod u nekom vektorskom prostoru: simetricnost, pozitivnadefinisanost, zatvorenost za linearne kombinacije, mnozenje skalarom, itd.Funkcija koja zadovolji te uslove moze da se koristi kao kernel.

Primeri uobicajenih kernela:

1 Linearni − K (xi , xj) = xTi · xj2 Polinomijalni − K (xi , xj) = (1 + xTi xj)

d

3 RBF − K (xi , xj) = e−|xi−xj |

2σ2

4 Sigmoid − K (xi , xj) = tanh(γxTi xj + r)

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 30 / 51

Page 67: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

SVM - meka margina

y

x−b‖w‖

w

−ξ|w|

Figure: Primer koji ilustruje dve linearno nerazdvojive klase

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 31 / 51

Page 68: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

SVM - meka margina

Uvodenjem nenegativne vrednosti ξi ublazavamo uslove linearnog SVM-a idobijamo sledece izraze:

xi ·w + b ≥ +1− ξi za yi = +1

xi ·w + b ≤ −1 + ξi za yi = −1

Kombinovanjem dva prethodna izraza dobijamo:

yi (xi ·w + b)− 1 + ξi ≥ 0, ξi ≥ 0,∀i

Izbor razdvajajuce hiper-ravni svodi se na pronalazenje:

min1

2||w||2 + C

L∑i=1

ξi takav da yi (xi ·w + b)− 1 + ξi ≥ 0, ξi ≥ 0,∀i

gde vrednost C predstavlja faktor greske, kojim dozvoljavamo odredenegreske pri treniranju, bez cega pronalazak hiper-ravni ne bi bio moguc.

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 32 / 51

Page 69: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Perceptron

1 Ideja perceptrona je pronaci linearnu funkciju vektora obelezja

f (x) = wTx + b

tako da je f (x) > 0 za vektore jedne klase i f (x) < 0 za vektoredruge klase.

2 w = (w1,w2, ...,wm) je vektor koeficijenata (tezina) funkcije i btakozvani slobodni koeficijent (bias) 1.

3 Ako oznacimo klase brojevima +1 i −1 mozemo reci da trazimofunkciju odluke

d(x) = sign(wTx + b)

1Slobodni koeficijent ili bias (sklonost) je vrednost koja nam omogucuje transliranjefunkcije odluke levo ili desno, sto moze biti kriticno za uspesno ucenje.

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 33 / 51

Page 70: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Perceptron

1 Ucenje perceptrona je uradeno iterativnim algoritmom. On pocinjeproizvoljno izabranim parametrima (w0, b0) za funkciju odluke iazurira ih iterativno.

2 Na n-toj iteraciji algoritma, trening primer (x, c) je odabran tako daga trenutna funkcija odluke ne klasifikuje tacno (vazisign(wTx + b) 6= c). Parametri (wn, bn) se azuriraju koriscenjempravila:

wn+1 = wn + cx bn+1 = bn + c

3 Algoritam se zaustavlja u konacnom broju koraka ukoliko su treningprimeri linearno razdvojivi.

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 34 / 51

Page 71: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Podaci

Korpusi koji su korisceni za testiranje algoritama koji su implementirani.

Korpus Poruke Spam Legitimne

PU1 1099 481 618

PU2 721 142 579

PU3 4139 1826 2313

PUA 1142 571 571

Enron-Spam 33716 17171 16545

Ling-Spam 2893 481 2412

Table: Raspodela poruka u korpusima

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 35 / 51

Page 72: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Rezultati - PU1 korpus

NB kNN SVM SVMmm Perceptron SVM/NB SVM/NB/Per

0

20

40

60

80

100 96 96

106102

106 106 105

0 3 2 0 2 0 0

13 101

71 3 4

klas

ifiko

van

ep

oru

ke

tacno klasifikovano lazno pozitivno lazno negativno

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 36 / 51

Page 73: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Rezultati - PU2 korpus

NB kNN SVM SVMmm Perceptron SVM/NB SVM/NB/Per

0

20

40

6060 59

6763

6963 63

0 0 2 0 0 0 0

11 12

28

28 8

klas

ifiko

van

ep

oru

ke

tacno klasifikovano lazno pozitivno lazno negativno

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 37 / 51

Page 74: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Rezultati - PU3 korpus

NB kNN SVM SVMmm Perceptron SVM/NB SVM/NB/Per

0

100

200

300

400 384348

396 400 402 403 402

0 4 7 0 7 0 029

61

10 13 4 10 11

klas

ifiko

van

ep

oru

ke

tacno klasifikovano lazno pozitivno lazno negativno

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 38 / 51

Page 75: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Rezultati - PUA korpus

NB kNN SVM SVMmm Perceptron SVM/NB SVM/NB/Per

0

20

40

60

80

100

120106

77

109103

108 108 108

1 0 4 05 1 1

7

37

111

1 5 5

klas

ifiko

van

ep

oru

ke

tacno klasifikovano lazno pozitivno lazno negativno

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 39 / 51

Page 76: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Rezultati - Ling spam korpus

NB kNN SVM SVMmm Perceptron SVM/NB SVM/NB/Per

0

50

100

150

200

250

300265

281 282 280 286 281 285

2 0 4 0 1 4 022

8 3 9 2 4 4

klas

ifiko

van

ep

oru

ke

tacno klasifikovano lazno pozitivno lazno negativno

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 40 / 51

Page 77: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Rezultati - enron1 korpus

NB kNN SVM SVMmm Perceptron SVM/NB SVM/NB/Per

0

100

200

300

400

500444

379

0

467

0

473

04 0 0 4 0 7 0

52

121

029

020

0

klas

ifiko

van

ep

oru

ke

tacno klasifikovano lazno pozitivno lazno negativno

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 41 / 51

Page 78: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Rezultati - enron2 korpus

NB kNN SVM SVMmm Perceptron SVM/NB SVM/NB/Per

0

100

200

300

400

500

600

494 482

565 574 571 550 570

260

231

23 34 13

80118

12 25 6 16 17

klas

ifiko

van

ep

oru

ke

tacno klasifikovano lazno pozitivno lazno negativno

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 42 / 51

Page 79: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Rezultati - enron3 korpus

NB kNN SVM SVMmm Perceptron SVM/NB SVM/NB/Per

0

100

200

300

400

500

600

437405

514 510539

484523

350 17 0 4

441

78

145

1940

7 22 26

klas

ifiko

van

ep

oru

ke

tacno klasifikovano lazno pozitivno lazno negativno

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 43 / 51

Page 80: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Rezultati - enron4 korpus

NB kNN SVM SVMmm Perceptron SVM/NB SVM/NB/Per

0

100

200

300

400

500

600

513462

568 568 576540

577

3180

29 31 2260

2256 58

3 1 2 0 1

klas

ifiko

van

ep

oru

ke

tacno klasifikovano lazno pozitivno lazno negativno

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 44 / 51

Page 81: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Rezultati - enron5 korpus

NB kNN SVM SVMmm Perceptron SVM/NB SVM/NB/Per

0

100

200

300

400

500 466

372

478 475 487 485 486

3 1 10 3 6 9 431

127

12 22 7 6 10

klas

ifiko

van

ep

oru

ke

tacno klasifikovano lazno pozitivno lazno negativno

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 45 / 51

Page 82: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Rezultati - enron6 korpus

NB kNN SVM SVMmm Perceptron SVM/NB SVM/NB/Per

0

100

200

300

400

500

600520

482

563 578 578 579 585

8 17 15 14 11 19 9

72101

22 8 11 2 6

klas

ifiko

van

ep

oru

ke

tacno klasifikovano lazno pozitivno lazno negativno

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 46 / 51

Page 83: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Rezultati

algoritam/korpus

PU

1

PU

2

PU

3

PU

A

Lin

gsp

am

Naivni Bajesov klasifikator 88.07% 84.5% 92.97% 92.98% 91.69%

kNN 88.07% 83.09% 84.26% 67.54% 97.23%

Metod podrzavajucih vektorabez meke margine 97% 94.36% 95.88% 95.61% 97.57%

Metod podrzavajucih vektora samekom marginom 94% 88.73% 95.85% 90.35% 96.88%

Perceptron 97.25% 97.18% 97.34% 94.73% 98.96%

SVM/Naivni Bajesov klasifika-tor 97% 89% 97.58% 94.74% 97.23%

SVM/Naivni Bajesov klasifika-tor/Perceptron 96% 89% 97.34% s 94.74% 98.6%

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 47 / 51

Page 84: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Rezultati

algoritam/korpus

enro

n1

enro

n2

enro

n3

enro

n4

enro

n5

enro

n6

Naivni Bajesov klasifikator 88.8% 82.3% 79.4% 86% 91.4% 86.7%

kNN 75.8% 80.3% 73.6% 29.5% 77.4% 41%

Metod podrzavajucih vektorabez meke margine - 94.9% 93.4% 94.7% 95.6%

93.8%

Metod podrzavajucih vektora samekom marginom 93.4% 95.7% 92.7% 94.7% 95%

96.3%

Perceptron - 95.2% 98% 96% 97.4% 96.3%

SVM/Naivni Bajesov klasifika-tor 94.6% 91.7% 88% 90% 97%

96.5%

SVM/Naivni Bajesov klasifika-tor/Perceptron - 95% 95.1% 96.2% 97.2%

97.5%

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 48 / 51

Page 85: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Zakljucak

1 Najmanje vremena za treniranje trosi algoritam k najblizih suseda,dok najmanje vremena za validaciju trosi klasifikator zasnovan naperceptronu.

2 Najvise vremena za treniranje trosi Naivni Bajesov klasifikator, doknajvise vremena za validaciju trosi algoritam k najblizih suseda.

3 Algoritam k najblizih suseda ne treba koristiti kod problema filtriranjanezeljene elektronske poste.

4 Kod Naivnog Bajesovog klasifikatora neophodno da parametar λ budesto veci.

5 Najvecu tacnost klasifikacije sa najnizim brojem lazno pozitivnihinstanci pokazali su metod podrzavajucih vektora i klasifikatorzasnovan na perceptronu

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 49 / 51

Page 86: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Bibliografija

Duda Hart 1973

Bayes Decision Theory - Chapter 2,

Duda, R.O. , P.E. Hart.,

Pattern Classification and Scene Analysis, John Wiley.,

10–43,

1973

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 50 / 51

Page 87: Implementacija i evaluacija algoritama ma sinskog u cenja ...alas.matf.bg.ac.rs/~mi09036/files/prezentacija.pdfdana snjeg dana je zaradio preko milion dolara tu ze ci ljude i kompanije

Pitanja?

Aleksandar Nedeljkovic (MATF) Filtriranje spama 4.3.2016. 51 / 51