Klasifikacija tekstualnih dokumenata

Slides:



Advertisements
Сличне презентације
Računarstvo i informatika
Advertisements

СТАБИЛИЗАЦИЈА РАДНЕ ТАЧКЕ
Sociologija sa sociologijom prava
Konto, kontni okvir, kontni plan
Građevinski fakultet u Beogradu, školska 2018/19 godina
Data mining Izdvajanje informacije iz skupa podataka i transformacija u jasnu strukturu za buduće korišćenje Data Mining koristi/prati isti opšti pristup.
VISOKA TEHNIČKA ŠKOLA STRUKOVNIH STUDIJA ZVEČAN
Програмски језик Parallaxis
Olivera Hrnjaković, Marko Tot, Aleksandar Kupusinac, Rade Doroslovački
Изборни предмети -докторске студије-
Elektronički logički sklopovi i registri
Digitalna obrada signala u FPGA
INSTRUMENTALNA ANALIZA REGRESIJA I KORELACIJA
Nelinearni efekti usled konačnog broja bita
ISPITIVANJE KVALITETA SOFTVERSKI GENERISANIH SEGMENATA U OBLASTI VREMENSKE SLOŽENOSTI ALGORITAMA ZA AUTOMATIZOVANO SASTAVLJANJE ISPITA     Đorđe Pešić,
ANALITIČKA METODA ZA KINEMATIČKU ANALIZU – METODA KOMPLEKSNOG BROJA
3. 4. Дизајн статичких веб страна
BREGASTI MEHANIZMI.
Menadžment kvaliteta – vježbe broj 2: Obrasci za prikupljanje podataka
Вештачка интелигенција
Nastavna jedinica: 1.5. Elektronički logički sklopovi i registri
Microsoft Access uvod u baze podataka.
OPERA.
ПРИКАЗ ИЗБОРНОГ ПРЕДМЕТА: ЕЛЕМЕНТИ ТЕОРИЈЕ АЛГОРИТАМА
Uvod u programiranje - matematika – VI predavanje Petlje. FOR. WHILE
КОМПЈУТЕРСКА СИМУЛАЦИЈА И ВЕШТАЧКА ИНТЕЛИГЕНЦИЈА
Nastavna cjelina: 2. Microsoft Excel 2010
Periodične funkcije Periodična funkcija je tip funkcije koja ponavlja svoje vrednosti u određenim intervalima (periodama). Period se definiše kao trajanje.
Nastavna jedinica: 1.5. Elektronički logički sklopovi i registry
Pretraživanje interneta
Digitalna obrada slike
PREZENTACIJA PODATAKA
КОМУНИКАЦИЈА И КУЛТУРА
План и програм индивидуалног третмана
Сабирање и одузимње преко 1000
Meni Home II dio.
Ak. god. 2018/2019 izv. prof. dr. sc. Marko Maliković
Универзитет у Београду
Компјутерска симулација и вештачка интелигенција
RDA и BIBFRAME: библиографски опис за 21. век
Uvod u programiranje - matematika – V predavanje
Др Наташа Папић-Благојевић
- мерења у хидротехници – Тема: Калибрација сонди за притисак
Богдан Трифуновић Центар за дигитализацију
Ekstrakcija prozodijskih parametara iz govornog korpusa na srpskom jeziku Milan Sečujski Fakultet tehničkih nauka, Novi Sad Katedra za telekomunikacije.
Projektovanje namenskih računarskih struktura u obradi signala
Mihailo Micev Prof. dr Vladan Vujičić Doc. dr Martin Ćalasan
UPRAVLJANJE OSNOVNIM SREDSTVIMA SA POSEBNIM OSVRTOM NA DALEKOVODE
MSc. Mirjana Božović Glogovac Prof. dr Saša Mujović
NEURONSKE MREŽE 2. predavanje
Ms Word 2010 Oblikovanje odlomaka.
Vladimir Kostić Dragomir Svrkota
WORLD WIDE WEB “Globalna hipermedijalna inicijativa ciljno (namensko) pronalaženje informacija”. (skr. WWW, W3) URL i Browseri Značenje Hipermedija Pretraživači.
Multimedijalni sistemi
MATERIJALNOST - ZNAČAJNOST
Relacione baze –primer modelovanja baze
43.Избор електромотора.
METODOLOGIJA REVIZIJE IV lekcija vježbe
Структура програма у Паскалу
Анализа структуре.
PROFIL INTERNET Internetski servisi.
Integrisani informacioni sistemi
Algoritmi Vladimir Filipović
Процесорска поља Организација процесорских поља
Kontrolne karte – 1. dio.
Управљање инвестицијама
Principi programiranja
V SAVJETOVANJE CRNOGORSKOG KOMITETA CIGRE
Rešavanje problema pomoću računara
Тема 10: Евалуација Филип Марић, Данијела Шћепановић 1.
Транскрипт презентације:

Klasifikacija tekstualnih dokumenata Multimedijalni sistemi Elektrotehnički fakultet Univerzitet u Banjoj Luci

Stojeći upiti Put od pronalaženja informacija do klasifikacije Postoji kontinuirana informaciona potreba, npr. Upit: Obrada prirodnog jezika

Stojeći upiti Put od pronalaženja informacija do klasifikacije Postoji kontinuirana informaciona potreba, npr. Upit: Obrada prirodnog jezika Potrebno je periodično zadati ovaj upit da bi se pronašle nove informacije vezane za temu – rezultati su novi dokumenti Inverzni pristup: provjerava se da li je novi dokument relevantan za zadatu temu – problem klasifikacije: relevantan ili nije relevantan Ovakvi upiti se nazivaju stojeći upiti Primjer: Google Alerts Ručno formiran klasifikator tekstualnih dokumenata

Chris Manning, Pandu Nayak and Prabhakar Raghavan Introduction to Information Retrieval Chris Manning, Pandu Nayak and Prabhakar Raghavan 3

Šta je klasifikacija/kategorizacija?

Klasifikacija Na osnovu atributa (obilježja) ulaznog uzorka predvidjeti klasu kojoj uzorak pripada Primjeri Detekcija spama (ulaz: dokument, klase: spam/ham) OCR (ulaz: slika, klase: znakovi) Klasifikacija muzike po žanrovima (ulaz: kompozicija, klase: žanrovi) Medicinska dijagnostika (ulaz: simptomi, klase: bolesti) Automatsko ocjenjivanje studentskih radova (ulaz: rad, klase: ocjene) Detekcija bankovnih prevara (ulaz: aktivnosti na računu, klase: prevara/nije prevara) Detekcija sadržaja za odrasle (ulaz: video/slika/tekst, klase: oznake uzrasta) ...

Klasifikacija u pretraživanju baza punog teksta Predobrada (automatska detekcija kodovanja, jezika, segmentacija riječi,...) Detekcija spam stranica Detekcija seksualno eksplicitnog sadržaja Detekcija osjećanja Klasifikacija poruka elektronske pošte Vertikalna pretraga Učenje funkcije rangiranja Vertikalna pretraga se odnosi na pretraživanje specifičnog segmenta sadržaja, naročito online sadržaja. Područje pretrage se može odnositi na određenu temu, tip medija ili žanr sadržaja. Često korištene vertikale su: trgovina, medicinske informacije, naučna literatura, putovanja, itd.

Filtriranje spama Subject: discover you made money while you were sleeping aaer xchxa you must read this word for word ! information that you may not receive again so please take it seriously ! ! would you like to . . . . receive thousands in cash daily ? Subject: re : milan waterproof , stainless steel material , sapphire crystal surface and other lovely features bring you sheer feeling for luxury . wearing rollexes is stylish . wearing our rollexes is smart and stylish . Subject: work distribution logistics has made the following changes : bob cotten - will handle the wellhead portfolio ( currently handled by tom acton ) tom acton - will handle gulf energy , entex , copano , sempra , and the rest of george grant ' s desk

Klasifikacija – formalna definicija Data je reprezentacija dokumenta xX reprezentacija u vektorskom prostoru npr. skup riječi Dat je fiksan skup klasa C = {c1, c2,…, cJ} Odrediti kojoj klasi pripada dati dokument f(x)C f:X C je klasifikator ili klasifikaciona funkcija Dokument pripada samo jednoj klasi

Metodi klasifikacije Kako klasifikovati uzorke (dokumente)?

Metodi klasifikacije Kako klasifikovati uzorke (dokumente)? Ručna klasifikacija Pravila, pravila,... Mašinsko učenje

Metodi klasifikacije 1. Ručna klasifikacija Kako se implementira? Dobre i loše strane?

Metodi klasifikacije 1. Ručna klasifikacija Ručnu klasifikaciju dokumenata koriste biblioteke Baze naučnih informacija: PubMed (http://www.ncbi.nlm.nih.gov/pubmed/) Yahoo je koristio ručnu klasifikaciju veb stranica u ranim danima veba Kasnije i Open Directory Project Vrlo tačna kada je rade eksperti Konzistentna kada su veličina problema i tima mali Spora, skupa i teška za skaliranje Treba tražiti automatske metode

Metodi klasifikacije 2. Pravila, pravila,... Kako se implementira? Dobre i loše strane?

Metodi klasifikacije 2. Pravila, pravila,... Eksperti u određenim oblastima formiraju pravila na osnovu kojih se uzorci klasifikuju Pravila često sadrže predikate zadate Bulovim izrazima ako su prisutne određene riječi klasifikuj dokument u jednu od klasa Postoje razvojna okruženja za efikasno formiranje složenih pravila (npr. Verity Query Language) Moguće je postići visoku tačnost ako eksperti vremenom dorađuju pravila Implementacija i održavanje sistema su skupi Kako formirati pravila za klasifikaciju audio ili video snimaka?

Metodi klasifikacije 3. Mašinsko učenje Kako se implementira? Dobre i loše strane? Ovim ćemo se baviti malo više. Klasifikatori često imaju parametre koje je potrebno naučiti, npr. vjerovatnoće da dokumenti pripadaju klasama. Nekada je potrebno naučiti i strukturu problema – šta je važno za klasifikaciju. Ukoliko raspoloživi podaci nisu označeni potrebno je koristiti nenadgledano obučavanje da bi se otkrili skriveni koncepti.

Metodi klasifikacije 3. Mašinsko učenje Model klasifikatora Određuje strukturu klasifikatora Bira se na osnovu poznavanja domena primjene Prilagođava se konkretnom problemu podešavanjem parametara modela Obučavanje klasifikatora Estimacija vrijednosti parametara na osnovu raspoloživih podataka Nadgledano obučavanje Poznata pripadnost klasama podataka koji se koriste za obučavanje Nenadgledano obučavanje Ne postoji informacija o pripadnosti klasama Otkrivanje strukture i skrivenih koncepata u podacima Mašinsko učenje je dio vještačke inteligencije Ovim ćemo se baviti malo više. Klasifikatori često imaju parametre koje je potrebno naučiti, npr. vjerovatnoće da dokumenti pripadaju klasama. Nekada je potrebno naučiti i strukturu problema – šta je važno za klasifikaciju. Ukoliko raspoloživi podaci nisu označeni potrebno je koristiti nenadgledano obučavanje da bi se otkrili skriveni koncepti.

Metodi klasifikacije 3. Mašinsko učenje Model klasifikatora Funkcija odlučivanja Parametri modela prilagođavaju klasifikator konkretnom zadatku Određuju se u procesu obučavanja klasifikatora Hiperparametri utiču na strukturu, obučavanje i rad klasifikatora Moraju se definisati prije obučavanja klasifikatora Ovim ćemo se baviti malo više. Klasifikatori često imaju parametre koje je potrebno naučiti, npr. vjerovatnoće da dokumenti pripadaju klasama. Nekada je potrebno naučiti i strukturu problema – šta je važno za klasifikaciju. Ukoliko raspoloživi podaci nisu označeni potrebno je koristiti nenadgledano obučavanje da bi se otkrili skriveni koncepti.

Osnovni koncepti obučavanja klasifikatora Podaci Potrebno je prikupiti označene primjere, npr. imejl poruke označene kao spam/ham Trening skup Obučavanje klasifikatora Modelovanje podataka Validacioni skup Provjera i podešavanje hiperparametara Testni skup Evaluacija klasifikatora Ne smije se koristiti u prethodna dva koraka Obilježja: parovi atribut-vrijednost koji karakterišu primjere Primjeri u trening skupu treba da, pored reprezentacije dokumenta, sadrže i oznaku klase kojoj pripadaju. Za ovo je takođe potrebna ljudska intervencija, ali zadatak ručne klasifikacije dokumenata je znatno jednostavniji od formiranja pravila za klasifikaciju i ne zahtijeva angažovanje eksperta.

Primjer Klasifikacija tema Dokumentima je potrebno dodijeliti oznake tema o kojima govore. Klase su teme. U ovom primjeru postoji hijerarhijska organizacija tema, ali generalno ćemo smatrati da između klasa ne postoji nikakva relacija oblika podskup i da su klase disjunktne. Konkretno, u ovom primjeru smatraćemo da su klase teme na drugom nivou. Dati su dokumenti na osnovu kojih se obučava klasifikator: trening skup. Prikazana su po tri primjera sa po nekoliko riječi u svakom dokumentu. Potrebno je obučiti klasifikator koji će klasifikovati novi dokument d’. Obilježja su u ovom slučaju riječi, a reprezentacija je skup riječi.

Osnovni koncepti obučavanja klasifikatora Obučavanje klasifikatora Estimirati (naučiti) parametre tako da tačno klasifikuje trening uzorke Najčešće aktivnost koja se provodi prije korištenja klasifikatora u produkciji Testiranje Ocijeniti performanse klasifikatora na testnom skupu Ne smije biti korišten u prethodnim koracima! Na osnovu rezultata koje klasifikator postiže na validacionom skupu podesiti njegove parametre.

Osnovni koncepti obučavanja klasifikatora Testiranje Ocijeniti performanse klasifikatora Tačnost: Procenat tačno klasifikovanih uzoraka Vjerovatnoća greške Generalizacija Želimo da klasifikator pokaže dobre rezultate na testnom skupu – novim podacima Previše prilagođen model (overfitting): dobri rezultati na trening skupu, ali loši na testnom skupu – slaba generalizacija Složen model i malo trening uzoraka Premalo prilagođen model (underfitting): loši rezultati i na trening i na testnom skupu Nedovoljno složen model Podaci iz testnog skupa se ne smiju koristiti pri obučavanju klasifikatora. Trivijalno se postižu idealne performanse na trening skupu, npr. pamćenjem svih trening primjera.

Generalizacija Polinomijalna interpolacija – modelovanje podataka polinomom datog reda

Generalizacija Polinomijalna interpolacija – modelovanje podataka polinomom datog reda

Generalizacija Polinomijalna interpolacija – modelovanje podataka polinomom datog reda Previše prilagođen model!

Generalizacija Polinomijalna interpolacija – modelovanje podataka polinomom datog reda Premalo prilagođen model!

Eksperimentalni ciklus klasifikatora Obučavanje klasifikatora Provjera i podešavanje hiperparametara Podesiti hiperparametre koristeći performanse klasifikatora na validacionom skupu Testiranje klasifikatora Sva tri skupa moraju biti disjunktna Izbjegavati podešavanje hiperparametara na osnovu perfomansi na testnom skupu

Obilježja Parovi atribut – vrijednost opisuju osobine uzorka Atributi nominalni: simboli iz konačnog skupa (riječi, vremenske prilike, poštanski brojevi) numerički: brojne vrijednosti (cijeli, realni, kompleksni brojevi) Koristićemo numeričke atribute Reprezentacija uzorka vektorom numeričkih atributa – vektor obilježja Vektori obilježja pripadaju prostoru obilježja

Klase u vektorskom prostoru Prikazani su uzorci u dvodimenzionalnom prostoru Uzorci iz trening skupa za koje su poznate oznake pripadnosti klasama U stvarnoj aplikaciji prostor je po pravilu više dimenzionalnosti Ali, princip je isti

U koju klasu svrstati testni uzorak? Potrebno je testni uzorak klasifikovati u jednu od ponuđenih klasa Algoritam zavisi od izabranog klasifikatora Postoji veliki broj algoritama za klasifikaciju

Pretpostavke Pretpostavka 1: Dokumenti iz iste klase formiraju region u prostoru obilježja Pretpostavka 2: Nema preklapanja između regiona koji odgovaraju različitim klasama

Granica odlučivanja Potrebno je pronaći granice koje dijele prostor obilježja u regione koji odgovaraju različitim klasama Granice su obično hiperpovrši u visokodimenzionalnom prostoru Obučavanje klasifikatora je potraga za takvim granicama odlučivanja koje će rezultovati dobrom klasifikacijom novih primjera

U koju klasu svrstati testni uzorak? Potrebno je testni uzorak klasifikovati u jednu od ponuđenih klasa Algoritam zavisi od izabranog klasifikatora Postoji veliki broj algoritama za klasifikaciju

NN klasifikator Klasifikator na principu najbližeg susjeda (Nearest Neighbor – NN) Testni uzorak se svrstava u klasu kojoj pripada najsličniji primjer iz trening skupa (označeni primjer) Sličnost primjera se ocjenjuje nekom mjerom udaljenosti/sličnosti u vektorskom prostoru NN klasifikator zapravo nema fazu obučavanja pa ni termin “trening skup” nije u potpunosti prikladan. Zbog toga se negdje koristi termin “skup označenih primjera”. U stvari nije bitno, zna se na šta se misli.

NN klasifikator Granica odlučivanja NN klasifikator zapravo nema fazu obučavanja pa ni termin “trening skup” nije u potpunosti prikladan. Zbog toga se negdje koristi termin “skup označenih primjera”. U stvari nije bitno, zna se na šta se misli.

NN klasifikator Kojoj klasi pripada testni primjer? Najbliži trening primjer može biti pogrešno označen ili netipičan pa NN klasifikator nije pretjerano robustan. Zbog toga se često koristi više susjeda.

kNN klasifikator Klasifikator na principu k najbližih susjeda (k-Nearest Neighbor – kNN) Testni uzorak se svrstava u klasu kojoj pripada većina od k najbližih susjeda Najbliži trening primjer može biti pogrešno označen netipičan pa NN klasifikator nije pretjerano robustan. Zbog toga se često koristi više susjeda.

kNN klasifikator Testni uzorak se svrstava u klasu kojoj pripada većina od k najbližih susjeda Zašto ovo radi? Pretpostavljamo da je klasa kojoj pripada testni uzorak ista kao klase uzoraka koji su mu najsličniji k = 1 daje NN klasifikator Nekad daje dobre rezultate Nije robustan jer jedan dokument može biti netipičan ili pogrešno klasifikovan k > 1 je robusnije rješenje jer k najbližih susjeda glasa za klasu Manji uticaj usamljenog trening primjera kNN klasifikator je izuzetno jednostavan. Složeniji klasifikatori: Bejsov klasifikator, logistička regresija, stabla odlučivanja, SVM obično daju bolje rezultate.

Linearni klasifikator Neka je dokument predstavljen vektorom x=[x1 x2 ... xN]T npr. vektorska reprezentacija dokumenta (TF-IDF) Dvije klase – pozitivna (c1) i negativna (c2) – binarni klasifikator Linearni klasifikator računa linearnu kombinaciju vrijednosti obilježja – funkcija klasifikatora

Linearni klasifikator Odluka se donosi na osnovu poređenja sa pragom odlučivanja Težine wk i prag odlučivanja q su parametri čije se vrijednosti određuju tokom obučavanja na osnovu primjera iz trening skupa. Često se prag odlučivanja uključuje u vektor težina klasifikatora: Novi prag odlučivanja je nula.

Granica odlučivanja Geometrijski granica odlučivanja kod linearnog klasifikatora je prava (2D), ravan (3D) ili hiperravan (višedimenzionalni prostor) Klase su linearno separabilne ako se uzorci mogu tačno klasifikovati linearnim klasifikatorom

Kako odrediti granicu odlučivanja? Treba tačno klasifikovati trening uzorke Želimo dobru generalizaciju Uvodi se dodatni kriterijum optimalnosti Postoji veliki broj algoritama za obučavanje linearnih klasifikatora: najmanji kvadrati, Bejsovo pravilo, pravilo perceptrona, mašine sa vektorima nosačima, logistička regresija Bayesov klasifikator je linearni klasifikator.

Mašine sa vektorima nosačima Support Vector Machine (SVM) Želimo da obučimo klasifikator tako da postiže dobru generalizaciju SVM traži optimalnu granicu odlučivanja Kriterijum kod SVM je da granica odlučivanja bude maksimalno udaljena od trening primjera Udaljenost najbližih primjera od granice odlučivanja naziva se margina klasifikatora Želimo da maksimiziramo marginu Granica (funkcija) odlučivanja zavisi od malog broja trening primjera – vektori nosači (support vectors) Ostali primjeri ne utiču na granicu odlučivanja

Maksimizacija margine klasifikatora Kada se uzorak nalazi blizu granice odlučivanja onda odluka o njegovoj klasifikaciji postaje vrlo osjetljiva na šum. Ako imamo veliku marginu odlučivanja onda smanjujemo mogućnost da se uzorak nađe blizu granice odlučivanja.

Formalna postavka problema maksimizacije margine Trening uzorci Binarni klasifikator Linearno separabilne klase Funkcija odlučivanja Funkcionalna margina trening uzorka Odrediti težine tako da funkcionalne margine trening uzoraka budu što veće?

Formalna postavka problema maksimizacije margine Trening uzorci Binarni klasifikator Linearno separabilne klase Funkcija odlučivanja Funkcionalna margina trening uzorka Odrediti težine tako da funkcionalne margine trening uzoraka budu što veće?

Formalna postavka problema maksimizacije margine Trening uzorci Binarni klasifikator Linearno separabilne klase Funkcija odlučivanja Funkcionalna margina trening uzorka Odrediti težine tako da funkcionalne margine trening uzoraka budu što veće? Problem: Skaliranjem w i b funkcionalna margina se može učiniti proizvoljno velikom – previše prilagođen model

Formalna postavka problema maksimizacije margine Potrebno je ograničiti vrijednosti elemenata w Regularizacija klasifikatora Udaljenost uzorka od granice odlučivanja Geometrijska margina je maksimalna širina opsega kojim je moguće razdvojiti vektore nosače za dvije klase

SVM matematika Funkcionalna margina se može proizvoljno skalirati Pretpostavimo da je veća ili jednaka 1 za svaki uzorak iz trening skupa (jednakost za vektore nosače) Za vektore nosače je udaljenost od granice odlučivanja Margina klasifikatora

Optimizacija Želimo da maksimizujemo geometrijsku marginu I da tačno klasifikujemo trening uzorke Ekvivalentno, minimizujemo funkciju pod uslovom Lagranžova funkcija Problem kvadratnog programiranja (Quadratic Programming, QP) D je trening skup. Kvadratno programiranje je poznata klasa optimizacionih problema, dobro je istraženo u matematici i postoji mnogo algoritama za njegovo rješavanje. Međutim, postoje i efikasni algoritmi koji su prilagođeni problemu obučavanja SVM i koriste specifičnu strukturu QP problema koji se javlja u ovom kontekstu. Postoje efikasne biblioteke kojima je implementirana SVM, npr. LIBSVM (http://www.csie.ntu.edu.tw/~cjlin/libsvm/).

Atipični uzorci Odstupaju od generalne raspodjele uzoraka iz klase Narušeni šumom, pogrešno označeni, manjkav model podataka

Klasifikacija sa mekom marginom Sec. 15.2.1 Klasifikacija sa mekom marginom Dozvoljava se pogrešna klasifikacija nekih primjera Za svaku grešku u klasifikaciji se plaća određena cijena Smatramo da se atipičan uzorak pomjera za iznos određen korekcionom promjenljivom kako bi trening skup postao linearno separabilan

Klasifikacija sa mekom marginom Optimizacija Sec. 15.2.1 Klasifikacija sa mekom marginom Optimizacija Minimizuje se funkcija pod uslovom Parametar C je regularizacioni član Kontroliše se sposobnost generalizacije

Regularizacija Velika vrijednost C (=100)

Regularizacija Mala vrijednost C (=1)

Rješenje optimizacionog problema Vektor težina Koeficijenti αi su različiti od nule samo za vektore nosače

Klasifikacija pomoću SVM Sec. 15.1 Klasifikacija pomoću SVM Vrijednost funkcije klasifikatora Poređenje sa pragom Može se postaviti prag t -1

Linearno neseparabilne klase

Linearno neseparabilne klase Preslikavanje u prostor više dimenzionalnosti u kojem su klase linearno separabilne

Linearno neseparabilne klase Funkcija klasifikatora Nije potrebno eksplicitno preslikavanje uzoraka Dovoljno je naći kernel funkciju čija je vrijednost jednaka skalarnom proizvodu vektora više dimenzionalnosti SVM sa kernel funkcijom

Kerneli Zašto koristiti kernele? Često korišteni kerneli Sec. 15.2.3 Kerneli Zašto koristiti kernele? Linearno neseparabilan problem postaje separabilan. Podaci se implicitno preslikavaju u prostor sa boljom reprezentacijom Često korišteni kerneli Linearni Polinomijalni Daje konjunkcije obilježja Gausov kernel (radijalna bazna funkcija) Nije posebno koristan u klasifikaciji teksta, ali jeste u klasifikaciji slika

Nelinearna granica odlučivanja Gausov kernel

Kako klasifikovati podatke u više od jedne klase? Do sada smo razmatrali binarne klasifikatore. Međutim, često se susrećemo sa potrebom da uzorak klasifikujemo u jednu od više (>2) ponuđenih klasa. Pretpostavljamo da su klase međusobno isključive.

Kako klasifikovati podatke u više od jedne klase? Do sada smo razmatrali binarne klasifikatore. Međutim, često se susrećemo sa potrebom da uzorak klasifikujemo u jednu od više (>2) ponuđenih klasa. Pretpostavljamo da su klase međusobno isključive.

Klasifikacija u više klasa pomoću linearnog klasifikatora Pretpostavka: klase su međusobno isključive Pretpostavka: uzorak pripada samo jednoj klasi

Klasifikacija u više klasa pomoću linearnih klasifikatora Za svaku od klasa obučiti klasifikator pri čemu se u trening skupu uzorci iz te klase smatraju pozitivnim, a uzorci iz svih ostalih klasa negativnim Na testni dokument primjeniti pojedinačno svaki od ovih klasifikatora Dokument klasifikovati u klasu kojoj odgovara najveća sigurnost klasifikacije (npr. udaljenost od granice odlučivanja)

Kako klasifikovati podatke u više od jedne klase? Do sada smo razmatrali binarne klasifikatore. Međutim, često se susrećemo sa potrebom da uzorak klasifikujemo u jednu od više (>2) ponuđenih klasa. Pretpostavljamo da su klase međusobno isključive.

Ishodi predikcije binarnim klasifikatorom Predikcija pozitivna negativna Stvarna klasa TP FN FP TN TP – true positive (tačno pozitivni) FN – false negative (lažno negativni) FP – false positive (lažno pozitivni) TN – true negative (tačno negativni)

Mjere efektivnosti klasifikatora Tačnost Udio tačno pozitivnih uzoraka (true positive rate, recall) Udio tačno negativnih uzoraka (true negative rate) Udio lažno pozitivnih uzoraka (false positive rate) Preciznost F1 mjera

PR dijagram

Radna karakteristika prijemnika (Receiver Operating Characteristic, ROC)

Klasifikacija u više klasa Matrica konfuzija Predikcija a b c Ukupno Stvarna klasa 88 10 2 100 14 40 6 60 18 12 120 20

Tačnost klasifikatora Mikrousrednjavanje Tačnost = suma dijagonalnih elemenata / suma svih elemenata Tačnost = 140 / 200 = 0,70 Makrousrednjavanje Tačnost = srednja vrijednost tačnosti po klasama Tačnost = (88/100 + 40/60 + 12/40) /3 = 0,62

Koji klasifikator upotrebiti za dati problem? Ne postoji optimalan klasifikator za sve probleme klasifikacije Faktori koje treba uzeti u obzir: Složenost problema (linearna ili nelinearna granica odlučivanja) Koliko je podataka na raspolaganju za obučavanje? Koliko su podaci narušeni šumom? Koliko je problem stabilan u vremenu? Za nestabilne probleme bolje je koristiti jednostavnije i robusnije klasifikatore Odluke se donose heuristički, evaluacijom na validacionom skupu

Šta je šta? Šta su trening/validacioni/testni podaci? Koju mjeru efektivnosti koristiti? Koji model klasifikatora izabrati? Koji hiperparametri postoje Koji parametri postoje? Kako ih optimizovati?

Filtriranje spama Subject: discover you made money while you were sleeping aaer xchxa you must read this word for word ! information that you may not receive again so please take it seriously ! ! would you like to . . . . receive thousands in cash daily ? Subject: re : milan waterproof , stainless steel material , sapphire crystal surface and other lovely features bring you sheer feeling for luxury . wearing rollexes is stylish . wearing our rollexes is smart and stylish . Subject: work distribution logistics has made the following changes : bob cotten - will handle the wellhead portfolio ( currently handled by tom acton ) tom acton - will handle gulf energy , entex , copano , sempra , and the rest of george grant ' s desk

Klasifikator spama Binarni klasifikator poruka elektronske pošte Klase spam (1) i ham (0) Da bi se obučio klasifikator potrebno je prikupiti reprezentativne uzorke poruka iz obje klase

Pretprocesiranje poruka Tipični koraci pretprocesiranja: Pretvaranje u mala slova Uklanjanje HTML tagova Normalizacija URL-ova (zamjena sa npr. ‘httpaddr’) Normalizacija email adresa (‘emailaddr’) Normalizacija brojeva (zamjena sa npr. ‘number’) Znak za dolar (zamjena sa ‘dollar’) Uklanjanje sufiksa (stemming) Uklanjanje znakova koji nisu dijeovi riječi

Pretprocesiranje poruka

Formiranje rječnika Na osnovu pretprocesiranih poruka iz trening skupa formira se rječnik U rječnik se mogu uključiti svi termini, a mogu se i filtrirati npr. na osnovu broja pojavljivanja

Vektorska reprezentacija dokumenta Korištenjem rječnika svaka poruka se može preslikati u listu indeksa termina u rječniku Vektorska reprezentacija poruke je vektor čiji su elementi brojevi pojavljivanja odgovarajućeg termina u poruci Može se koristiti i binarna reprezentacija – indikator da li se termin javlja u poruci Dimenzionalnost reprezentacije je jednaka broju termina u rječniku

Obučavanje klasifikatora Pretprocesirati poruke iz trening skupa Izdvojiti sve termine iz poruka iz trening skupa Formirati rječnik od termina koji zadovoljavaju određeni kriterijum za uključivanje u rječnik Formirati vektorske reprezentacije poruka iz trening skupa korištenjem rječnika Obučiti klasifikator korištenjem primjera iz trening skupa. Odrediti optimalne vrijednosti hiperparametara korištenjem validacionog skupa.

Klasifikacija poruke Pretprocesirati poruku (na isti način kao poruke iz trening skupa) Formirati vektorsku reprezentaciju korištenjem rječnika formiranog pomoću trening skupa Odrediti klasu kojoj poruka pripada korištenjem obučenog klasifikatora

Primjer klasifikacije Enron-Spam kolekcija poruka http://nlp.cs.aueb.gr/software_and_datasets/Enron-Spam/index.html Enron1 skup 3672 legitimne poruke 1500 neželjene poruke (spam) Podjela na trening i test skup po 50% poruka iz svake klase SVM klasifikator

Uticaj načina formiranja rječnika na tačnost klasifikacije 1 pojavljivanje – puna linija, 10 pojavljivanja – crtkana linija, 50 pojavljivanja – tačkasta linija

Performanse klasifikatora AUC = 0,9929

Literatura Glava 14