naivni bayesov klasifikator · bayesov klasifikator [20]. v strojnem učenju naivni bayesov...
TRANSCRIPT
-
UNIVERZA V MARIBORU
FAKULTETA ZA ELEKTROTEHNIKO,
RAČUNALNIŠTVO IN INFORMATIKO
Monika Bozhinova
NAIVNI BAYESOV KLASIFIKATOR
Diplomsko delo
Maribor, marec 2015
-
NAIVNI BAYESOV KLASIFIKATOR
Diplomsko delo
Študentka: Monika Bozhinova
Študijski program: univerzitetni študijski program
Računalništvo in informacijske tehnologije
Mentor: red. prof. dr. Nikola Guid
Somentor: izr. prof. dr. Damjan Strnad
-
Naivni Bayesov klasifikator
i
-
Naivni Bayesov klasifikator
ii
Naivni Bayesov klasifikator
Ključne besede: naivni Bayesov klasifikator, izbira atributov, klasifikacija dokumentov
UDK: 004.434:004.8(043.2)
Povzetek
V sodobnem času je samodejna klasifikacija dokumentov postala pomembna raziskovalna
tema. V diplomskem delu smo teoretično razložili izpeljavo in uporabo naivnega
Bayesovega klasifikatorja in opisali dva dogodkovna modela naivnega Bayesovega
klasifikatorja ter večje število metod izbire atributov. Glavni del diplomskega dela je
sestavljen iz opisa naše interaktivne programske rešitve za klasifikacijo dokumentov z
uporabo opisanih dogodkovnih modelov in metod, eksperimentalnih rezultatov,
pridobljenih s pomočjo naše aplikacije, in empirične primerjave med kombinacijami
zasnovanih dogodkovnih modelov naivnega Bayesovega klasifikatorja in metod izbire
atributov.
-
Naivni Bayesov klasifikator
iii
Naive Bayes classifier
Key words: naive Bayes classifier, feature selection, document classification
UDK: 004.434:004.8(043.2)
Abstract
Nowadays, the automatic classification of documents has become an important research
topic. In this thesis, we theoretically explain the derivation and usage of the naive Bayes
classifier and describe two event models of naive Bayes classifier and several feature
selection methods. The main part of this thesis consists of a description of the
implemented interactive application for document classification using the described event
models and methods, the experimental results obtained from the application, and an
empirical comparison among the combinations of the implemented event models of naive
Bayes classifier and feature selection methods.
-
Naivni Bayesov klasifikator
iv
KAZALO
1 UVOD .............................................................................................................. 1
2 BAYESOV TEOREM ....................................................................................... 3
2.1 POGOJNA VERJETNOST ................................................................................ 3
2.2 IZPELJAVA BAYESOVEGA PRAVILA ................................................................. 4
3 NAIVNI BAYESOV KLASIFIKATOR ................................................................ 6
3.1 IZPELJAVA NAIVNEGA BAYESOVEGA KLASIFIKATORJA ...................................... 6
3.2 DOGODKOVNI MODELI .................................................................................. 8
3.2.1 Multinomski model ....................................................................................... 8
3.2.2 Bernoullijev model ..................................................................................... 11
4 IZBIRA ATRIBUTOV ...................................................................................... 13
4.1 MEDSEBOJNE INFORMACIJE ........................................................................ 13
4.2 TEST CHI-KVADRAT .................................................................................... 14
4.3 DOBIČEK INFORMACIJE ............................................................................... 15
4.4 IZBIRA ATRIBUTOV NA OSNOVI POGOSTOSTI .................................................. 16
5 KLASIFIKACIJA DOKUMENTOV .................................................................. 17
5.1 APLIKACIJA ................................................................................................ 17
5.2 DEMONSTRACIJA DELOVANJA APLIKACIJE ..................................................... 20
5.3 PREDPOSTAVKE IN OMEJITVE ...................................................................... 21
5.4 UČNI NABOR .............................................................................................. 21
5.5 TESTNI NABOR ........................................................................................... 22
6 REZULTATI ................................................................................................... 23
6.1 PRIMERJAVA IN STATISTIKE ......................................................................... 23
6.2 DISKUSIJA ................................................................................................. 24
-
Naivni Bayesov klasifikator
v
7 SKLEP ........................................................................................................... 25
7.1 IZZIVI IN TEŽAVE ......................................................................................... 25
7.2 MOŽNE IZBOLJŠAVE IN NADALJNJE DELO ...................................................... 25
7.3 LASTNA OCENA IN ZAKLJUČEK ..................................................................... 26
SEZNAM UPORABLJENIH VIROV ...................................................................... 27
-
Naivni Bayesov klasifikator
vi
KAZALO SLIK
SLIKA 5.1: ZAVIHEK "UČNI DOKUMENTI" .................................................................... 18
SLIKA 5.2: ZAVIHEK "RAZREDI" ................................................................................ 19
SLIKA 5.3: ZAVIHEK "ATRIBUTI" ................................................................................ 19
SLIKA 5.4: ZAVIHEK "KLASIFIKACIJA" ........................................................................ 20
KAZALO TABEL
TABELA 6.1: EKSPERIMENTALNI REZULTATI .............................................................. 23
-
Naivni Bayesov klasifikator
vii
SEZNAM UPORABLJENIH KRATIC IN SIMBOLOV
MAP – maksimalni aposteriori (angl. maximum a posterior)
NB – naivni Bayesov (angl. naive Bayes)
MLE – maksimalna verjetnostna ocena (angl. maximum-likelyhood estimation)
MI – medsebojne informacije (angl. mutual information)
𝜒2 – chi-kvadrat (angl. chi-square)
𝑑 – dokument
𝑉 – besedišče
𝑐𝑀𝐴𝑃 – razred MAP
|𝑉| – število vseh atributov v besedišču
|𝐷| – število učnih dokumentov
𝐿𝑎𝑣𝑔 – povprečna dolžina dokumentov
𝑂 – ocena koristnosti
𝐼 – kriterij MI
𝐺 – kriterj IG
-
Naivni Bayesov klasifikator
1
1 UVOD
Samodejna organizacija dokumentov je postala pomembna raziskovalna tema, še
posebej po ogromnem porastu digitalnih in spletnih besedilnih informacij. V glavnem
obstajata dva pristopa strojnega učenja za izboljšanje te naloge: nadzorovani pristop, kjer
so vnaprej določene oznake za kategorije dodeljene naboru učnih dokumentov in
nenadzorovani pristop (znan tudi kot gručanje dokumentov), kjer se celotna razvrstitev
opravi brez sklicevanja na zunanje informacije [26]. Eden izmed najbolj priljubljenih
nadzorovanih klasifikatorjev in zelo praktičnih metod Bayesovega učenja je naivni
Bayesov klasifikator [20]. V strojnem učenju naivni Bayesov klasifikator pripada družini
enostavnih verjetnostnih klasifikatorjev, ki temeljijo na uporabi Bayesovega teorema1 z
močnimi (naivnimi) predpostavkami o neodvisnosti med atributi [21]. Zaradi svoje
preprostosti in presenetljivo dobrih rezultatov je že dolgo časa2 predmet raziskav.
Za optimalne rezultate sta pri uporabi naivnega Bayesovega klasifikatorja potrebna
ustrezna priprava podatkov in izbira pravega dogodkovnega modela. Dogodkovni model
predstavlja določene predpostavke, na katere temelji naivni Bayesov klasifikator. Za
diskretne podatke, kot so tisti, s katerimi se srečujemo pri klasifikaciji dokumentov, sta
najprimernejša multinomski in Bernoullijev model [18]. Da bi testirali zmogljivosti teh dveh
modelov, smo implementirali aplikacijo za klasificiranje dokumentov. V diplomski nalogi
smo podrobno opisali njeno delovanje in primerjali dobljene rezultate. Izdelana
programska rešitev je interaktivna in lahko opravi z nizom enostavnih izbir klasifikacije
določenih dokumentov v predefiniranih kategorijah. Za učinkovitejše delovanje
klasifikatorja smo aplikacijo nadgradili z večjim številom metod izbire atributov. Izbira
atributov je postopek izbiranja podskupine pojmov, ki se pojavljajo v učnem naboru in
uporabljajo kot atributi v klasifikaciji dokumentov.
Namen diplomske naloge je proučevanje naivnega Bayesovega klasifikatorja in njegova
uporaba pri samodejni klasifikaciji dokumentov ter razumevanje načina, kako podatkovni
atributi in dogodkovni modeli naivnega Bayesovega klasifikatorja vplivajo na njegovo
učinkovitost pri tem opravilu. Cilj diplomske naloge je s pomočjo izdelane aplikacije
1 Znan tudi kot Bayesa formula ali Bayesovo pravilo. 2 iz 1950-ih.
-
Naivni Bayesov klasifikator
2
klasificirati nabor testnih dokumentov in narediti na podlagi pridobljenih rezultatov
empirično primerjavo med različnimi kombinacijami dogodkovnih modelov naivnega
Bayesovega klasifikatorja in metod izbire atributov.
Diplomsko delo sestoji iz sedmih poglavij. V drugem poglavju, imenovano “Bayesov
teorem”, smo opisali postopek izpeljave Bayesovega teorema. V naslednjem poglavju,
imenovano “Naivni Bayesov klasifikator”, smo razložili naivni Bayesovi klasifikator,
njegove izpeljave in obravnavali multinomske in Bernoullijeve klasifikacijske dogodkovne
modele. Potem, v četrtem poglavju, imenovanem “Izbira atributov”, smo razložili več
metod izbire atributov: glede na medsebojne informacije, test chi-kvadrat, dobiček
informacije in izbire atributov na osnovi pogostosti. Pri koncu glavnega dela oz. v
poglavju, imenovanem “Klasifikacija dokumentov”, smo opisali implementacijo aplikacije,
demonstrirali njene funkcionalnosti in podali kratek opis učnega in testnega nabora.
Zatem smo klasificirali nabor testnih dokumentov, da bi dobili rezultate, potrebne za
vrednotenje učinkovitosti klasifikacijskih modelov. V poglavju “Rezultati”, smo naredili
empirično primerjavo in obravnavali dobljene rezultate. V zadnjem poglavju smo omenili
težave, ki so se pojavile pri snovanju aplikacije. Prav tako smo podali napotke za
morebitne izboljšave in nadaljnje delo ter končali z lastno oceno opravljenega dela.
-
Naivni Bayesov klasifikator
3
2 BAYESOV TEOREM
Bayesov teorem (znan tudi kot Bayesovo pravilo ali Bayesov obrazec), poimenovan po
Thomasu Bayesu3, predstavlja povezavo med trenutnimi in prešnjimi prepričanji [13].
Pomemben je pri matematični obravnavi pogojnih verjetnosti. Izpeljava Bayesovega
pravila lahko izhaja iz več osnovnih aksiomov verjetnosti, predvsem aksiomov pogojnih
verjetnosti.
Verjetnosti, ki so vključene v Bayesov teorem, imajo lahko več verjetnostnih interpretacij.
Teorem je v eni od teh interpretacij neposredno uporabljen kot del pristopa k statističnemu
sklepanju, ki se imenuje Bayesovo sklepanje in predstavlja temelj vseh Bayesovih statistik
[6].
2.1 Pogojna verjetnost
Verjetnost lahko predstavimo z realnim številom v intervalu [0,1]. Pove nam, kolikšna je
možnost, da se zgodi nek dogodek. Če ni drugih vplivov na ta dogodek, se takšna
verjetnost imenuje brezpogojna ali priorna verjetnost4 [7] in za dogodek 𝐴 se označi s
𝑃(𝐴). Po klasični definiciji je verjetnost dogodka razmerje med številom ugodnih izidov in
številom vseh izidov [27].
𝑃(𝐴) =𝑚
𝑛 , (2.1)
kjer sta:
𝑚 – število ugodnih izidov in
𝑛 – število vseh možnih izidov.
Če se zgodita oba dogodka 𝐴 in 𝐵 hkrati, govorimo o verjetnosti preseka ali skupni
verjetnosti dogodkov 𝐴 in 𝐵, kar označimo s 𝑃(𝐴 ∩ 𝐵). V primeru, da sta 𝐴 in 𝐵 neodvisna
dogodka5, potem njuno skupno verjetnost izračunamo z enačbo (2.2) oz. kot produkt
3 Thomas Bayes (1701 – 1761) je bil angleški matematik, filozof in prezbiterijanski minister. 4 Znana tudi kot apriorna verjetnost (angl. prior probability oz. prior). 5 Dogodka A in B sta neodvisna, če pojav enega dogodka ne vpliva na drugega in obratno.
-
Naivni Bayesov klasifikator
4
verjetnosti posameznih dogodkov. Velikokrat izid enega dogodka vpliva na izid drugega in
zato velja enačba (2.3), pri čemer 𝑃(𝐵|𝐴) predstavlja verjetnost, da se zgodi dogodek 𝐵
pod pogojem, da se je zgodil dogodek 𝐴. Takšna verjetnost se imenuje pogojna ali
posteriorna verjetnost6 [24].
𝑃(𝐴 ∩ 𝐵) = 𝑃(𝐴) 𝑃(𝐵) (2.2)
𝑃(𝐴 ∩ 𝐵) = 𝑃(𝐴) 𝑃(𝐵|𝐴) (2.3)
Pogojno verjetnost zlahka izpeljemo iz enačbe (2.3).
𝑃(𝐵|𝐴) =
𝑃(𝐴 ∩ 𝐵)
𝑃(𝐴) (2.4)
Enačba (2.4) predstavlja osnovno definicijo pogojnih verjetnosti in je znana tudi kot
Kolmogorova7 definicija [5].
2.2 Izpeljava Bayesovega pravila
Izpeljava Bayesovega pravila izhaja iz dejstva, da ima verjetnost preseka dveh dogodkov
komutativno lastnost (2.5).
𝑃(𝐴 𝑖𝑛 𝐵) = 𝑃(𝐵 𝑖𝑛 𝐴) ⟺
𝑃(𝐴 ∩ 𝐵) = 𝑃(𝐵 ∩ 𝐴)
(2.5)
V enačbi za skupno verjetnost (2.3) za dogodka 𝐴 in 𝐵 nismo določili nobenih lastnosti ali
omejitev, kar pomeni, da sta dogodka zamenljiva. V naslednjem koraku z zamenjavo
dogodkov 𝐴 in 𝐵 v enačbi (2.3) dobimo:
𝑃(𝐵 ∩ 𝐴) = 𝑃(𝐵)𝑃(𝐴|𝐵) (2.6)
Glede na to, da imamo vse enačbe, potrebne za izpeljavo, lahko v zadnjem koraku v
enačbi komutativnosti konjunkcije (2.5) zamenjamo skupne verjetnosti oz. preseke z
6 Znana tudi kot aposteriorna verjetnost (angl. posterior probability oz. posterior). 7 Andrey Nikolaevich Kolmogorov (1903 – 1987) je bil ruski matematik.
-
Naivni Bayesov klasifikator
5
njihovimi ekvivalentnimi izrazi iz enačbe (2.3) in enačbe (2.6).
𝑃(𝐴 ∩ 𝐵) = 𝑃(𝐵 ∩ 𝐴) ⟺
𝑃(𝐴)𝑃(𝐵|𝐴) = 𝑃(𝐵)𝑃(𝐴|𝐵)
(2.7)
Iz enačbe (2.7) izpeljemo Bayesovo pravilo:
𝑃(𝐴|𝐵) =
𝑃(𝐴) 𝑃(𝐵|𝐴)
𝑃(𝐵) (2.8)
Ta preprosta enačba (2.8) je temelj mnogih modernih inteligentnih sistemov
verjetnostnega sklepanja.
Na prvi pogled se zdi, da je Bayesovo pravilo nekoristno, saj zahteva za izračun izraza
𝑃(𝐴|𝐵) vrednosti treh izrazov: 𝑃(𝐵|𝐴), 𝑃(𝐵) in 𝑃(𝐴). Toda Bayesovo pravilo je zelo
uporabno v praksi, saj obstaja veliko primerov, kjer imamo dobre ocene verjetnosti za te
tri izraze in potrebujemo samo vrednost četrtega.
-
Naivni Bayesov klasifikator
6
3 NAIVNI BAYESOV KLASIFIKATOR
V strojnem učenju so naivni Bayesovi (angl. naive Bayes; NB) klasifikatorji družina
enostavnih verjetnostnih klasifikatorjev, ki temeljijo na uporabi Bayesovega teorema, saj
predpostavljajo pogojno neodvisnost vrednosti različnih atributov v danem razredu [16].
Učenje NB je bilo intenzivno proučevano od leta 1950 naprej in je še vedno priljubljena
(osnovna) metoda za besedilno kategorizacijo8. Z ustrezno predobdelavo se kosa z
drugimi naprednimi metodami. Uporablja se tudi pri samodejni medicinski diagnostiki [21].
3.1 Izpeljava naivnega Bayesovega klasifikatorja
Algoritem NB je klasifikacijski algoritem, ki temelji na predpostavki, da so vsi dogodki
𝐴1 … 𝐴𝑛𝑎, kjer je 𝑛𝑎 število vseh dogodkov, pogojno neodvisni eden od drugega pri danem
dogodku 𝐵. Pomembnost te predpostavke je, da bistveno poenostavlja izračun pogojne
verjetnosti 𝑃(𝐴|𝐵) in problem ocenjevanja pogojnih verjetnosti iz učnih podatkov. Pri
klasifikaciji dokumentov dogodke predstavljajo atributi9. Če je dogodek 𝐴 presek dogodkov
𝐴1 in 𝐴2 oz. 𝐴 = 𝐴1 ∩ 𝐴2 (kar je pri klasifikaciji dokumentov ekvivalentno 𝐴 = 〈𝐴1, 𝐴2〉, kjer
je 𝐴 množica atributov, ki vsebuje atributa 𝐴1 in 𝐴2), dobimo:
𝑃(𝐴|𝐵) = 𝑃(𝐴 1, 𝐴2|𝐵)
= 𝑃(𝐴1|𝐴2, 𝐵) 𝑃(𝐴2|𝐵)
= 𝑃(𝐴1|𝐵) 𝑃(𝐴2|𝐵)
(3.1)
Druga vrstica v enačbi (3.1) sledi iz splošne lastnosti verjetnosti (2.7), tretja pa sledi
neposredno iz naše omenjene definicije pogojnih neodvisnosti. Ko 𝐴 predstavlja presek
𝑛𝑎 dogodkov, ki so pogojno neodvisni drug od drugega pri danem dogodku 𝐵, velja:
𝑃(𝐴1 … 𝐴𝑛𝑎|𝐵) = ∏ 𝑃(𝐴𝑖|𝐵)
𝑛𝑎
𝑖=1
(3.2)
8 Problem presojanja dokumentov kot pripadnost ene ali druge kategorije (na primer: nezaželjeno pošto ali legitimno pošto, šport ali politiko, itd.) z uporabo besednih frekvenc kot atributov. 9 V strojnem učenju je atribut merljiva lastnost pojavov, ki jih opazujemo [8]. Pri klasifikaciji dokumentov nas zanima pojav pojmov (angl. terms).
-
Naivni Bayesov klasifikator
7
Zdaj bomo izpeljali verjetnostni model NB s splošno predpostavko, da je dogodek 𝐵
spremenljivka z diskretnimi vrednostmi, medtem ko imajo atributi 𝐴1 … 𝐴𝑛𝑎 diskretne ali
realne vrednosti. Naš cilj je posodobiti klasifikator tako, da bo izhod verjetnostne
porazdeltve možnih vrednosti za 𝐵 za vsak nov vzorec 𝐴, ki ga želimo klasificirati. Izraz za
verjetnost, da bo 𝐵 dobil svojo 𝑘-to možno vrednost v skladu z Bayesovim pravilom (2.9),
je:
𝑃(𝐵 = 𝑏𝑘|𝐴1 … 𝐴𝑛𝑎) =
𝑃(𝐵 = 𝑏𝑘) 𝑃(𝐴1 … 𝐴𝑛𝑎|𝐵 = 𝑏𝑘)
∑ 𝑃(𝐵 = 𝑏𝑗) 𝑃(𝐴1 … 𝐴𝑛𝑎|𝐵 = 𝑏𝑗)𝑏𝑗∈𝐵 (3.3)
kjer se vsota izračuna nad vsemi možnimi vrednostmi 𝐵. Če predpostavimo, da so 𝐴𝑖
pogojno neodvisni pri danem dogodku 𝐵, lahko uporabimo enačbo (3.2), da bi dobili:
𝑃(𝐵 = 𝑏𝑘|𝐴1 … 𝐴𝑛𝑎) =
𝑃(𝐵 = 𝑏𝑘) ∏ 𝑃(𝐴𝑖|𝐵 = 𝑏𝑘)𝑛𝑎𝑖=1
∑ 𝑃(𝐵 = 𝑏𝑗) ∏ 𝑃(𝐴𝑖|𝐵 = 𝑏𝑗)𝑛𝑎𝑖=1𝑏𝑗∈𝐵
(3.4)
Enačba (3.4) je osnovna enačba verjetnostnega modela NB. Za nov vzorec
𝐴𝑛𝑜𝑣 = 〈𝐴1 … 𝐴𝑛𝑎〉 ta enačba pove kako izračunati verjetnost, da bi 𝐵 dobil določeno
vrednost pri opaženih vrednostih atributov v množici atributov 𝐴𝑛𝑜𝑣 in razdelitvah,
pridobljenih iz učnih podatkov [20]. Da bi zgradili klasifikator NB, moramo kombinirati
model NB z odločitvenim pravilom10. Eno izmed najbolj priljubljenih odločitvenih pravil je
izbiranje najbolj verjetne hipoteze oz. izbiranje vrednosti, za katero ima 𝐵 največjo
verjetnost glede vrednosti atributov na vzorcu, ki ga klasificiramo. To pravilo je znano kot
maksimalni aposteriori (angl. maximum a posteriori; MAP). Dobimo osnovno enačbo
klasifikatorja NB:
𝐵 ← arg max
𝑏𝑘
𝑃(𝐵 = 𝑏𝑘) ∏ 𝑃(𝐴𝑖|𝐵 = 𝑏𝑘)𝑛𝑎𝑖=1
∑ 𝑃(𝐵 = 𝑏𝑗) ∏ 𝑃(𝐴𝑖|𝐵 = 𝑏𝑗)𝑛𝑎𝑖=1𝑏𝑗∈𝐵
, (3.5)
kjer lahko poenostavimo oz. izpustimo imenovalec, ker ni odvisen od 𝑏𝑘 in je enak za
vsako možno vrednost 𝐵. Sledi:
10 V teoriji odločanja je odločitveno pravilo funkcija, ki preslika opazovanje v ustreznem ukrepu [10].
-
Naivni Bayesov klasifikator
8
𝐵 ← arg max 𝑏𝑘
𝑃(𝐵 = 𝑏𝑘) ∏ 𝑃(𝐴𝑖|𝐵 = 𝑏𝑘)
𝑛𝑎
𝑖=1
(3.6)
3.2 Dogodkovni modeli
Predpostavke o razdelitvi, ki so pridobljene iz učnih podatkov, se imenujejo dogodkovni
modeli klasifikatorja NB. Za diskretne atribute, to je tiste, s katerimi se srečujemo pri
klasifikaciji dokumentov, sta najbolj priljubljena multinomski (angl. multinomial) in
multivariatni Bernoullijev (angl. multivariate Bernoulli) model [21].
3.2.1 Multinomski model
Multinomski model NB je nadzorovani verjetnostni učni model. Verjetnost, da je dokument
𝑑 v razredu 𝑏𝑘, je določena s:
𝑃(𝐵 = 𝑏𝑘|𝑑) = 𝑃(𝐵 = 𝑏𝑘) ∏ 𝑃(𝐴𝑖|𝐵 = 𝑏𝑘)
𝑛𝑎
𝑖=1
, (3.7)
kjer je 𝑃(𝐴𝑖|𝐵 = 𝑏𝑘) pogojna verjetnost, da se atribut 𝐴𝑖 pojavi v dokumentih v razredu 𝑏𝑘.
𝑃(𝐴𝑖|𝐵 = 𝑏𝑘) interpretiramo kot merilo, koliko atribut 𝐴𝑖 prispeva, da je 𝑏𝑘 pravilni razred.
𝑃(𝐵 = 𝑏𝑘) je priorna verjetnost, da se dokument nahaja v razredu 𝑏𝑘. Če atributi v
dokumentu ne zagotavljajo, da je en razred bolj verjeten kot drugi oz. da po izračunu
dobimo enake verjetnosti za vsak razred, izbiremo tistega, ki ima največjo priorno
verjetnost. 〈𝐴1 … 𝐴𝑛𝑎〉 so atributi iz dokumenta 𝑑, ki so del besedišča11 𝑉, ki ga
uporabljamo za klasifikacijo. 𝑛𝑎 je število takšnih atributov v 𝑑. Vzemimo primer: množica
atrubutov 〈𝑁𝑎𝑖𝑣𝑛𝑖, 𝐵𝑎𝑦𝑒𝑠𝑜𝑣, 𝑣𝑟𝑒𝑑𝑛𝑜𝑠𝑡𝑖, 𝑎𝑡𝑟𝑖𝑏𝑢𝑡𝑜𝑣〉, pri čemer je 𝑛𝑎 = 4, predstavlja eno
možno vrednost 〈𝐴1 … 𝐴𝑛𝑎〉 za dokument z enim stavkom “Naivni Bayesov klasifikator
predpostavlja pogojno neodvisnost vrednosti atributov pri danem razredu”.
V klasifikaciji dokumentov je naš cilj najti pravilni razred za dani dokument. Pravilni razred
v klasifikaciji NB je najbolj verjeten razred ali razred MAP 𝑐𝑀𝐴𝑃:
11 Besedišče predstavlja množica vseh atributov, ki jih uporabljamo za klasifikacijo.
-
Naivni Bayesov klasifikator
9
𝑐𝑀𝐴𝑃 = arg max𝑏𝑘∈𝐵
𝑃(𝐵 = 𝑏𝑘|𝑑)
= arg max𝑏𝑘∈𝐵
𝑃(𝐵 = 𝑏𝑘) ∏ 𝑃(𝐴𝑖|𝐵 = 𝑏𝑘)𝑛𝑎𝑖=1
(3.8)
V enačbi (3.8) se pogojne verjetnosti množijo, ena za vsak položaj (1 ≤ 𝑖 ≤ 𝑛𝑎). To lahko
povzroči spodnjo prekoračitev s plavajočo vejico12. Zato je bolje, da opravimo izračun z
vsoto logaritmov verjetnosti (log(𝑥𝑦) = log(𝑥) + log(𝑦)) kot z množenjem verjetnosti.
Razred z največjo logaritemsko verjetnostjo je še vedno najbolj verjeten. Dobimo:
𝑐𝑀𝐴𝑃 = arg max𝑏𝑘∈𝐵
[log 𝑃(𝐵 = 𝑏𝑘) + ∑ log 𝑃(𝐴𝑖|𝐵 = 𝑏𝑘)
𝑛𝑎
𝑖=1
]
(3.9)
Enačba (3.9) ima preprosto razlago. Vsak pogojni parameter log 𝑃(𝐴𝑖|𝐵 = 𝑏𝑘) je teža, ki
pove, koliko atribut 𝐴𝑖 prispeva, da je 𝑏𝑘 pravilni razred. Podobno, priorna verjetnost
log 𝑃(𝐵 = 𝑏𝑘) je utež, ki pove relativno frekvenco 𝑏𝑘-ja. Pravilni razredi bodo najverjetneje
pogostejši razredi. Vsota log priornih verjetnosti in log pogojnih verjetnosti je merilo, koliko
dokazov prispevajo, da je nek dokument v določenem razredu. Enačba (3.9) izbira razred,
za katerega imamo največ dokazov [18]. V nadaljevanju smo delali z zgoraj razloženo
intuitivno interpretacijo multinomskega modela NB oz. z enačbo (3.9).
Kako dobimo vrednosti za verjetnosti 𝑃(𝐵 = 𝑏𝑘) in 𝑃(𝐴𝑖|𝐵 = 𝑏𝑘)? Najprej poskušamo z
maksimalno verjetnostno oceno (angl. maximum-likelyhood estimate; MLE), ki je relativna
pogostost in ustreza najbolj verjetni vrednosti vsakega parametra danih učnih podatkov
[15]. Za priorne verjetnosti je ta ocena:
𝑃(𝐵 = 𝑏𝑘) =
𝑁𝑏𝑘𝑁
, (3.10)
kjer je 𝑁𝑏𝑘 število dokumentov v razredu 𝑏𝑘 in je 𝑁 število vseh dokumentov.
Pogojno verjetnost 𝑃(𝐴𝑖|𝐵 = 𝑏𝑘) izračunamo kot relativno pogostost atributa 𝐴𝑖 v
12 Spodnja prekoračitev s plavajočo vejico (angl. floating point underflow), znana tudi kot aritmetična spodnja prekoračitev, je stanje v računalniškem programu, kjer je rezultat izračuna manjše število, kot ga računalnik dejansko shrani v pomnilniku [4].
-
Naivni Bayesov klasifikator
10
dokumentih, ki pripadajo v razredu 𝑏𝑘:
𝑃(𝐴𝑖|𝐵 = 𝑏𝑘) =
𝑇𝑏𝑘𝐴𝑖∑ 𝑇𝑏𝑘𝐴𝑗𝐴𝑗∈𝑉
,
(3.11)
kjer je 𝑇𝑏𝑘𝐴𝑖 število pojavov atributa 𝐴𝑖 v učnih dokumentih razreda 𝑏𝑘, 𝑉 je besedišče, ki
ga uporabljamo, in 𝐴𝑗 je atribut iz besedišča. ∑ 𝑇𝑏𝑘𝐴𝑗𝐴𝑗∈𝑉 predstavlja vsoto pojavov vseh
atributov iz besedišča 𝑉 v učnih dokumentih razreda 𝑏𝑘.
Problem pri ocenjevanju MLE je v tem, da je vrednost pogojne verjetnosti nič za atribute,
ki se ne pojavljajo v učnih dokumentih določenega razreda. To se pogosto zgodi, ker je
zelo verjetno, da se nekateri atributi, ki se pojavljajo v učnih dokumentih enega razreda,
ne pojavljajo v učnih dokumentih drugega. Ničelna vrednost ene pogojne verjetnosti je
lahko zelo problematična, ker izniči informacije vseh ostalih verjetnosti pri uporabi enačbe
(3.8) ali enačbe (3.9) za klasifikacijo. V enačbi (3.8) se 𝑃(𝐴𝑖|𝐵 = 𝑏𝑘) množijo in vsaj ena
ničelna vrednost povzroča ničelno vrednost celotnega izraza. Pri uporabi enačbe (3.9) za
vrednosti 0 dobimo napako nedefinirane vrednosti. Načelna rešitev tega problema je
vključitev majhnega popravka v vseh verjetnostih. V ta namen uporabljamo Laplaceovo
glajenje13, ki preprosto dodaja 1 štetju za vsak atribut:
𝑃(𝐴𝑖|𝐵 = 𝑏𝑘) =
𝑇𝑏𝑘𝐴𝑖 + 1
∑ (𝑇𝑏𝑘𝐴𝑗 + 1)𝐴𝑗∈𝑉=
𝑇𝑏𝑘𝐴𝑖 + 1
∑ 𝑇𝑏𝑘𝐴𝑗 + |𝑉|𝐴𝑗∈𝑉 ,
(3.12)
kjer je |𝑉| število atributov v besedišču [12].
Kakšna je časovna zahtevnost multinomskega klasifikatorja NB? Predobdelava14,
potrebna za računanje parametrov, se opravi v enem prehodu skozi učne podatke.
Časovna zahtevnost predobdelave je 𝛩(|𝐷|𝐿𝑎𝑣𝑔), pri čemer je |𝐷| število učnih
dokumentov in je 𝐿𝑎𝑣𝑔 povprečna dolžina dokumentov. Časovna zahtevnost za računanje
vseh parametrov oz. posodabljanje klasifikatorja NB je 𝛩(|𝐵||𝑉|), pri čemer je |𝐵| število
razredov, ker parametri sestojijo iz |𝐵| priornih verjetnosti in |𝐵||𝑉| pogojnih verjetnosti.
Časovna zahtevnost za testiranje klasifikatorja NB je 𝛩(𝐿𝑡 + |𝐷|𝑛𝑎), kjer je 𝐿𝑡 dolžina
13 V statistiki je Laplaceovo glajenje (angl. Laplace smoothing) znano tudi kot aditivno glajanje ali Lidstoneovo glajanje, ki se uporablja za glajenje kategoričnih podatkov [3]. 14 Preobdelava se sestoji iz izločitve atributov iz besedišča, štetja pojavov atributov in podobno.
-
Naivni Bayesov klasifikator
11
testnega dokumenta in 𝑛𝑎 število atributov v obravnavanem dokumentu. 𝛩(𝐿𝑡 + |𝐷|𝑛𝑎) =
𝛩(|𝐷|𝑛𝑎), ker je dolžina testnega dokumenta 𝐿𝑡 omejena in 𝐿𝑡 < 𝑐|𝐷|𝑛𝑎 za konstanto 𝑐.
Torej, časovne zahtevnosti predobdelave, učenja in testiranja multinomskega klasifikatorja
NB so linearne. Lahko rečemo, da ima NB optimalno časovno zahtevnost, ker moramo
pogledati podatke vsaj enkrat. Njegova učinkovitost je eden od razlogov, zakaj je NB
priljubljena metoda klasifikacije dokumentov .
3.2.2 Bernoullijev model
Alternativa multinomskega modela NB je Bernoullijev model, znan tudi kot multivariaten
Bernoullijev model. Bernoullijev model NB tvori indikator za vsak atribut v besedišču.
Vrednost 1 označuje prisotnost atributa v obravnavanem dokumentu, vrednost 0 pomeni
odsotnost. Bernoullijev model ima enako časovno zahtevnost kot multinomski model [18].
Multinomski in Bernoullijevi model se razlikujeta v strategiji ocenjevanja in pravilih
klasifikacije. Bernoullijev model ocenuje pogojno verjetnost 𝑃(𝐴𝑖|𝐵 = 𝑏𝑘) kot razmerje
med številom učnih dokumentov razreda 𝑏𝑘, ki vsebujejo atribut 𝐴𝑖, in številom vseh učnih
dokumentov (3.13).
𝑃(𝐴𝑖|𝐵 = 𝑏𝑘) =
|𝐷𝑏𝑘𝐴𝑖|
|𝐷| ,
(3.13)
pri čemer je |𝐷𝑏𝑘𝐴𝑖| število učnih dokumentov razreda 𝑏𝑘, ki vsebujejo atribut 𝐴𝑖.
Da bi se izognili problemu pojave ničelnih vrednosti, tudi v Bernoullijevem modelu
uporabljamo pri računanju pogojnih verjetnosti Laplaceovo glajenje in dodamo 1 številu
|𝐷𝑏𝑘𝐴𝑖|. Sledi:
𝑃(𝐴𝑖|𝐵 = 𝑏𝑘) =
|𝐷𝑏𝑘𝐴𝑖| + 1
|𝐷| + 2
(3.14)
V imenovalcu v enačbi (3.13) dodamo 2, ker |𝐷| predstavlja vsoto števil vseh
dokumentov, ki vsebujejo atribut 𝐴𝑖, in vseh dokumentov, ki ne vsebujejo atributa 𝐴𝑖 [19].
Razlika med dvema obravnavanima modeloma je pri klasifikaciji testnega dokumenta.
-
Naivni Bayesov klasifikator
12
Bernoullijev model uporablja binarno informacijo pojavov in ne upošteva števila pojavov,
multinomski model pa vodi evidenco o večkratni pojavi. Bernoullijev model običajno naredi
veliko napak pri klasifikaciji dolgih dokumentov.
Modela se razlikujeta tudi v načinu uporabe atributov, ki se ne pojavljajo v testnem
dokumentu pri klasifikaciji. Pri uporabi multinomskega modela za klasifikacijo omenjeni
atributi ne vplivajo na odločitev, ker v enačbi (3.9) seštejemo logaritem pogojnih
verjetnosti samo za atribute, ki se pojavljajo v testnem dokumentu, vendar imajo pri
uporabi Bernoullijevega modela veliki vpliv. Bernoullijev model v primeru, da se določeni
atributi ne pojavljajo v testnem dokumentu, sešteje logaritme komplementarnih pogojnih
verjetnosti atributov:
𝑐𝑀𝐴𝑃 = arg max𝑏𝑘∈𝐵
[log 𝑃(𝐵 = 𝑏𝑘) + ∑ log 𝑃(𝐴𝑖|𝐵 = 𝑏𝑘)
𝐴𝑖∈𝑏𝑘
+ ∑ log 𝑃(�̅�𝑖|𝐵 = 𝑏𝑘)
𝐴𝑖∉𝑏𝑘
] ,
(3.15)
pri čemer je 𝐴𝑖 ∉ 𝑏𝑘 atribut, ki se ne pojavi v razredu 𝑏𝑘, in 𝑃(�̅�𝑖|𝐵 = 𝑏𝑘) je komplementna
pogojna verjetnost. Vrednost pogojnih verjetnosti 𝑃(�̅�𝑖|𝐵 = 𝑏𝑘) dobimo z uporabo pravila
komplementa15.
𝑃(�̅�𝑖|𝐵 = 𝑏𝑘) = 1 − 𝑃(𝐴𝑖|𝐵 = 𝑏𝑘)
(3.16)
Vrednost izraza 𝑃(𝐴𝑖|𝐵 = 𝑏𝑘) že imamo izračunano s pomočjo enačbe (3.14).
Da bi povečali učinkovitost obeh naivnih Bayesovih dogodkovnih modelov, uporabljamo
metodo izbire atributov.
15 Vsota verjetnosti enega dogodka in verjetnosti njegovega komplementa (preprosto povedano, vsota verjetnosti, da se en dogodek zgodi, in verjetnosti, da se isti dogodek ne zgodi) znaša 1 [9].
-
Naivni Bayesov klasifikator
13
4 IZBIRA ATRIBUTOV
Izbira atributov (znana tudi kot izbira značilnosti) je postopek izbiranja podskupine pojmov,
ki se pojavljajo v učnem naboru, in uporabe le te podskupine kot atributov v nadaljnjih
izračunih. Množica vseh izbranih atributov predstavlja besedišče.
Izbira atributov ima dva glavna namena. Prvo, izvede posodabljanje, medtem ko je
uporaba klasifikatorja učinkovitejša z zmanjšanjem velikosti besedišča. Drugo, izbira
atributov pogosto poveča točnost klasifikacije z odpravo atributov, ki povečajo število
napak pri klasifikaciji.
Metoda izbire atributov vključuje identifikacijo atributov, ki so ustrezni za klasifikacijo [17].
Osnovni algoritem izbire atributov izračuna najprej na danem razredu 𝑏𝑘 ∈ 𝐵 oceno
koristnosti 𝑂(𝐴𝑖 , 𝑏𝑘) za vsak atribut 𝐴𝑖 iz prvotnega besedišča oz. iz vseh atributov, ki se
pojavljajo v učnih dokumentih. Potem izbere 𝑛𝑎 atributov, ki imajo največje vrednosti
𝑂(𝐴𝑖 , 𝑏𝑘). Vsi drugi atributi se zavržejo in se ne uporabljajo v klasifikaciji. Obstaja več
različnih metod izbire atributov. V našem diplomskem delu smo obravnavali štiri različne
metode: medsebojne informacije (angl. mutual information; MI), test chi-kvadrat (angl. chi-
square; χ2), dobiček informacij (angl. information gain; IG) in izbiro atributov na osnovi
pogostosti (angl. frequency-based).
4.1 Medsebojne informacije
MI je pogosta metoda izbire atributov za izračun ocene koristnosti 𝑂(𝐴𝑖 , 𝑏𝑘) atributa 𝐴𝑖 in
razreda 𝑏𝑘. MI določi, koliko prisotnost ali odsotnost atributa 𝐴𝑖 prispeva k pravilni
klasifikacijski odločitvi za razreda 𝑏𝑘. Ocene koristnosti 𝑂(𝐴𝑖, 𝑏𝑘) v skladu z MI izračunamo
z naslednjo enačbo:
𝑂(𝐴𝑖 , 𝑏𝑘) = 𝐼(𝑈, 𝐶)
= ∑ ∑ 𝑃(𝑈 = 𝑒𝐴𝑖 , 𝐶 = 𝑒𝑏𝑘) log2𝑃(𝑈 = 𝑒𝐴𝑖 , 𝐶 = 𝑒𝑏𝑘)
𝑃(𝑈 = 𝑒𝐴𝑖) 𝑃(𝐶 = 𝑒𝑏𝑘)𝑒𝑏𝑘∈{1,0}𝑒𝐴𝑖∈{1,0}
,
(4.1)
kjer so:
-
Naivni Bayesov klasifikator
14
𝐼(𝑈, 𝐶) - kriterij MI med 𝑈 in 𝐶,
𝑈 – spremenljivka, ki ima vrednost 𝑒𝐴𝑖 = 1, če dokument vsebuje atribut 𝐴𝑖, in 𝑒𝐴𝑖 = 0, če
dokument ne vsebuje atributa 𝐴𝑖,
𝐶 – spremenljivka, ki ima vrednost 𝑒𝑏𝑘 = 1, če dokument pripada razredu 𝑏𝑘, in 𝑒𝑏𝑘 = 0,
če dokument ne pripada razredu 𝑏𝑘.
Enačba (4.1) je ekvivalenta enačbi (4.2) za verjetnost MLE [18].
𝐼(𝑈, 𝐶) =
𝑁11𝑁
log2𝑁𝑁11
𝑁1𝑥𝑁𝑥1+
𝑁01𝑁
log2𝑁𝑁01
𝑁0𝑥𝑁𝑥1
+𝑁10𝑁
log2𝑁𝑁10
𝑁1𝑥𝑁𝑥0+
𝑁00𝑁
log2𝑁𝑁00
𝑁0𝑥𝑁𝑥0 ,
(4.2)
kjer je 𝑁𝑠 število dokumentov, ki imajo vrednosti za 𝑒𝐴𝑖 in 𝑒𝑏𝑘 enake vrednostim v dveh
indeksih. Na primer, 𝑁10 je število dokumentov, ki vsebujejo atribut 𝐴𝑖 (𝑒𝐴𝑖 = 1) in ne
pripadajo v razredu 𝑏𝑘 (𝑒𝑏𝑘 = 0). 𝑁1𝑥 = 𝑁10 + 𝑁11 je število dokumentov, ki vsebujejo
atribut 𝐴𝑖 (𝑒𝐴𝑖 = 1). Pri tem štejemo dokumente, ki pripadajo in ne pripadajo razredu 𝑏𝑘
(𝑒𝑏𝑘 ∈ {1, 0}). 𝑁 = 𝑁00 + 𝑁01 + 𝑁10 + 𝑁11 je število vseh dokumentov |𝐷|.
Da bi izbrali 𝑛𝑎 atributov 𝐴1 … 𝐴𝑛𝑎 za dani razred 𝑏𝑘, najprej računamo 𝑂(𝐴𝑖 , 𝑏𝑘) za vse
atribute, potem pa izbiramo 𝑛𝑎 atributov z največjimi vrednostmi. MI izračuna, koliko
informacij prispeva en atribut k danem razredu. Če je atribut porazdeljen v določenem
razredu enako kot v vseh razredih, potem je 𝐼(𝑈, 𝐶) = 0. MI doseže najvišjo vrednost, če
je atribut popoln indikator za pripadnost razredu oz. če je atribut prisoten v dokumentu, ko
je dokument resnično v tem razredu [18].
4.2 Test chi-kvadrat
Druga priljubljena metoda izbire atributov je χ2. Test χ2 ocenjuje atribute z izračunom
vrednosti chi-kvadrat glede določenega razreda. Začetna hipoteza 𝐻0 (ničelna hipoteza16)
je predpostavka, da sta dva dogodka nepovezana [22] oz. da sta neodvisna, pri čemer
neodvisnost za dogodke 𝐴 in 𝐵 pomeni, da velja 𝑃(𝐴𝐵) = 𝑃(𝐴)𝑃(𝐵). To neodvisnost
16 Ničelna hipoteza se nanaša na splošno izjavo, da ni povezave med dvema izmerjenima pojavoma [23].
-
Naivni Bayesov klasifikator
15
preizkušamo z naslednjo enačbo:
𝜒2(𝐷, 𝐴𝑖, 𝑏𝑘) = ∑ ∑(𝑁𝑒𝐴𝑖𝑒𝑏𝑘
− 𝐸𝑒𝐴𝑖𝑒𝑏𝑘)
2
𝐸𝑒𝐴𝑖𝑒𝑏𝑘𝑒𝑏𝑘∈{1,0}𝑒𝐴𝑖∈{1,0} ,
(4.3)
kjer je 𝐸 pričakovana pogostost. Na primer, 𝐸11 je pričakovana pogostost atributa 𝐴𝑖 in
razreda 𝑏𝑘, da se pojavita skupaj v dokumentu ob predpostavki, da sta atribut in razred
neodvisna.
𝐸11 = 𝑁 𝑃(𝐴𝑖) 𝑃(𝑏𝑘) = 𝑁
𝑁11 + 𝑁10𝑁
𝑁11 + 𝑁01
𝑁
(4.4)
χ2 je merilo, koliko pričakovana števila 𝐸 in opazovana števila 𝑁 odstopajo drug od
drugega. Visoka vrednost χ2 pomeni, da je hipoteza neodvisnosti, ki implicira, da so
pričakovana in opazovana števila podobna, napačna. Če sta dogodka odvisna, potem
pojav atributa povzroči, da je pojav razreda bolj verjeten (ali manj verjeten). Aritmetično
enostavnejši način računanja χ2 je naslednji:
𝜒2(𝐷, 𝐴𝑖, 𝑏𝑘) =
(𝑁11 + 𝑁10 + 𝑁01 + 𝑁00) (𝑁11𝑁00 − 𝑁10𝑁01)2
(𝑁11 + 𝑁01) (𝑁11 + 𝑁10) (𝑁10 + 𝑁00) (𝑁01 + 𝑁00) .
(4.5)
Enačba (4.5) je ekvivalentna enačbi (4.3) [18].
4.3 Dobiček informacije
Metoda dobička informacije se pogosto uporablja kot kriterij za vrednotenje atributov na
področju strojnega učenja. IG meri število bitov informacij, pridobljenih za klasifikacijo s
poznavanjem prisotnosti ali odsotnosti atributa v dokumentu. IG za določeni atribut 𝐴𝑖 je
definiran kot:
𝐺(𝐴𝑖) = − ∑ 𝑃(𝑏𝑘) log 𝑃(𝑏𝑘)
𝑏𝑘∈𝐵
+ 𝑃(𝐴𝑖) ∑ 𝑃(𝑏𝑘|𝐴𝑖) log 𝑃(𝑏𝑘|𝐴𝑖)
𝑏𝑘∈𝐵
+ 𝑃(𝐴�̅�) ∑ 𝑃(𝑏𝑘|𝐴�̅�) log 𝑃(𝑏𝑘|𝐴�̅�)
𝑏𝑘∈𝐵
,
(4.6)
-
Naivni Bayesov klasifikator
16
kjer je 𝐺(𝐴𝑖) kriterij IG za atribut 𝐴𝑖.
Za dani učni nabor se IG izračuna za vsak atribut. Atributi, katerih vrednosti IG so manjše
od vnaprej določenega praga, se izločajo iz množice atributov [28].
4.4 Izbira atributov na osnovi pogostosti
Izbira atributov na osnovi pogostosti predstavlja metodo izbire atributov, ki se najbolj
pogosto pojavljajo v razredu. Pogostost se lahko definira kot pogostost dokumenta (število
dokumentov v razredu 𝑏𝑘, v katerem se pojavlja atribut 𝐴𝑖) ali pogostost zbirke (število
pojavov atributa 𝐴𝑖 v dokumentih, ki pripadajo razredu 𝑏𝑘). Pogostost dokumenta je
primernejša metoda izbire atributov za Bernoullijev model, medtem ko je pogostost zbirke
za multinomski model.
Metoda izbire atributov na osnovi pogostosti izbere pogoste atribute, ki nimajo nobenih
posebnih informacij za dani razred. V primeru, kot je izbranih več tisoč atributov, ta
metoda običajno deluje dobro [18]. Torej, če je suboptimalna natančnost sprejemljiva,
potem je metoda izbire atributov na osnovi pogostosti dobra alternativa za bolj
kompleksne metode, ker je ta metoda najpreprostejša tehnika za zmanjševanje besedišča
[28].
-
Naivni Bayesov klasifikator
17
5 KLASIFIKACIJA DOKUMENTOV
V naslednjem poglavju predstavimo izdelano programsko rešitev za klasifikacijo
dokumentov17. Najprej opišemo aplikacijo in vse implementirane funkcionalnosti in
omenimo predpostavke in omejitve naše aplikacije. Potem podamo kratek opis učnega
nabora, ki smo ga uporabljali pri posodabljanju klasifikatorja, in demonstriramo delovanje
in način pridobivanja rezultatov.
5.1 Aplikacija
Naša aplikacija je izdelana v programskem jeziku C# v ogrodju .NET [1] z uporabo
intergriranega razvojnega okolja Microsoft Visual Studio in je namenjena za delovanje v
operacijskem sistemu Windows. Za razvijanje aplikacije smo uporabili grafični aplikacijski
programski vmesnik Windows Forms.
Pri zagonu aplikacije najprej inicializiramo prazne sezname, v katerem se pri izvajanju
različnih funkcionalnosti shranujejo razredi oz. kategorije (po nalaganju učnih naborov),
atributi (po izbiranju atributov) in rezultati (po opravljanju klasifikacije).
V ta namen smo ustvarili pomožna razreda: razred (t.i. “NaivniBayesovRazred”) za
obravnavane kategorije oz. razrede dekumentov, v katerem shranujemo naziv razreda,
njegove učne dokumente, atribute, ki se pojavljajo v teh dokumentih in verjetnost tega
razreda, in razred (t.i. “Atribut”) za izbrane atribute, v katerih shranjujemo vrednost
atributa in potrebne verjetnosti tega atributa za nadaljnje izračune.
Naložene učne dokumente shranujemo v njihovih vnaprej določenih razredih in za vsako
novo kategorijo oz. razred pri nalaganja dokumentov ustvarjamo nov objekt
“NaivniBayesovRazred”, ki ga vstavljamo v ustreznem seznamu. Pred izvajanjem enega
od metod za izbiro atributov, naložene učne dokumente obdelujemo tako, da bi dobili
ustrezne učne podatke. Najprej iz teksta vsakega dokumenta odpravljamo odvečne
znake, kot so zamiki, presledki, nove vrstice, podpičja, vejice itd, in velike črke
zamenjujemo z manjšimi. Potem sledi shranjevanje vseh pojmov, ki se pojavljajo skupaj s
17 Klasifikacija dokumentov predstavlja dodelitev dokumenta enemu ali večjemu številu razredov [11].
-
Naivni Bayesov klasifikator
18
številom njihovih pojavov in dokumentom, ki ga obdelujemo v razredu, v katerem pripada
obravnavani dokument. Na ta način lahko enostavno pridobimo vse potrebne informacije
o atributih, ko izvajamo račune za izbiro atributov.
V naši aplikaciji smo implementirali metode izbire atributov in dogodkovna modela
naivnega Bayesovega klasifikatorja, ki smo jih razložili v prešnjih poglavjih. Račune za
izbiranje atributov in za klasifikacijo dokumentov izvajamo z že omenjenimi enačbami.
Grafični uporabniški vmesnik je predstavljen na slikah 5.1, 5.2, 5.3 in 5.4. Sestoji iz več
zavihkov.
Na sliki 5.1 je prikazan zavihek, imenovan “Učni dokumenti”, ki vsebuje več možnosti za
vnos in izbris učnih dokumentov.
Na sliki 5.2 je viden zavihek “Razredi”, ki vsebuje statistiko o razredih in možnost za vnos
in izbris razredov.
Slika 5.1: Zavihek "Učni dokumenti"
-
Naivni Bayesov klasifikator
19
Slika 5.2: Zavihek "Razredi"
Slika 5.3: Zavihek "Atributi"
-
Naivni Bayesov klasifikator
20
Slika 5.4: Zavihek "Klasifikacija"
Na sliki 5.3 je prikazan zavihek “Atributi”, ki vsebuje možnost izbire atributov na več
načinov in prikazuje izbrane atribute.
Na sliki 5.4 je demonstrirana klasifikacija oz. so prikazani rezultati iz klasifikacije v zavihku
“Klasifikacija”, ki vsebuje možnost za vnos in klasifikacije dokumentov z dvema
klasifikacijskima dogodkovnima modeloma in prikazuje graf z rezultati, pridobljenimi iz
klasifikacije.
5.2 Demonstracija delovanja aplikacije
Aplikacijo smo izvajali na prenosnem računalniku s procesorjem Intel i3 2328M in 8 GB
RAM. Aplikacija deluje na operacijskem sistemu Windows in zahteva nameščeno ogrodje
.NET.
-
Naivni Bayesov klasifikator
21
Da bi opravili klasifikacijo dokumentov, najprej nalagamo nabor učnih dokumentov s
pritiskom na gumb “Odpri učne dokumente”. Po nalaganju dobimo izgled, ki je prikazan na
sliki 5.1.
Naslednji korak je izbira metode izbire atributov iz padajočega seznama in izbira število
atributov v zavihku “Atributi”. Po pritisku na gumb “Izbira atributov” v tabeli dobimo
določeno število atributov za vsak razred, kot je prikazano na sliki 5.3.
Na koncu odpiramo dokument, ki ga želimo klasificirati s pritiskom na gumb “Odpri
dokument” v zavihku “Klasifikacija”. Potem izbiramo dogodkovni model naivnega
Bayesovega klasifikatorja iz padajočega seznama. Pridobljeni rezultati so po opravljeni
klasifikaciji prikazani v grafu, kot je vidno na sliki 5.4. Rezultati v grafu predstavljajo
razmerje med vrednostimi razredov za obravnavani testni dokument.
5.3 Predpostavke in omejitve
Pri izdelavi diplomskega dela smo se omejili na dva dogodkovna modela naivnega
Bayesovega klasifikatorja: multinomski in Bernoullijev; in na štiri metode izbire atributov:
medsebojne informacije, dobiček informacije, chi-kvadrat in na osnovi pogostosti.
Upoštevali smo predpostavko, da dolžina dokumentov oz. število besed v dokumentih
nima nobenega vpliva na točnost klasifikacije. Zaradi boljše izbire smo atribute omejili na
besede večje od ene črke.
5.4 Učni nabor
Učni nabor predstavlja nabor dokumentov, ki ga uporabljamo, da bi posodobili
klasifikatorje. Iz učnega nabora dobimo podatke o vseh atributov, ki se pojavljajo v
določenem razredu, v koliko dokumentih in kolikokrat se pojavljajo, kar je velikega
pomena pri izračunih za izbiro atributov in klasifikacije.
Da bi dobili potrebne rezultate za empirično primerjavo med klasifikatorji in metodami
izbire atributov, smo uporabili učni nabor dokumentov, pridobljen iz Google News18 [14].
18 Google News je računalniško ustvarjena spletna stran za novice iz virov po vsem svetu in podobne zgodbe prikazuje skupaj [2].
-
Naivni Bayesov klasifikator
22
Naš učni nabor je sestavljen iz 600 učnih dokumentov oz. novic, enakomerno
porazdeljenih v šest kategorij: poslovanje, tehnologija, zdravje, šport, zabava in znanost.
Dokument predstavlja besedilno datoteko, ki vsebuje naslov (v prvi vrstici) in glavno
besedilo. Naslov nam pove, v katero kategorijo pripada dokument. Glavno besedilo je
besedilo članka.
5.5 Testni nabor
Testni nabor predstavlja nabor dokumentov, ki ga uporabljamo za testiranje uspešnosti
klasifikatorja. Vsak dokument iz testnega nabora klasificiramo z že posodobljenimi
klasifikatorji. Rezultate o uspešnosti dobimo tako, da primerjamo vnaprej znano kategorijo
dokumenta in kategorijo, ki smo jo dobili po opravljeni klasifikaciji.
Kot testni nabor smo uporabili 120 dokumentov oz. novic, pridobljenih iz Google News,
enakomerno porazdeljenih v že omenjenih šestih kategorijah.
-
Naivni Bayesov klasifikator
23
6 REZULTATI
Rezultate o stopnji uspešnosti kombinacije naivnih Bayesovih dogodkovnih modelov in
metod izbire atributov dobimo tako, da računamo razmerje med številom uspešno
klasificiranih testnih dokumentov in skupnim številom testnih dokumentov.
6.1 Primerjava in statistike
Tabela 6.1: Eksperimentalni rezultati
naivni Bayesov
dogodkovni model metoda izbire atributov
število izbranih
atributov
stopnja
uspešnosti
multinomski
na osnovi pogostosti 50 67,50%
100 73,33%
medsebojne informacije 50 83,33%
100 87,50%
test chi-kvadrat 50 80,83%
100 85,00%
dobiček informacije 50 43,33%
100 59,17%
multivariatni Bernoullijev
na osnovi pogostosti 50 21,67%
100 29,17%
medsebojne informacije 50 21,67%
100 30,00%
test chi-kvadrat 50 30,00%
100 34,17%
dobiček informacije 50 20,83%
100 22,50%
Eksperimentalni rezultati, ki smo jih dobili na osnovi našega učnega in testnega nabora
dokumentov, so prikazani v tabeli 6.1.
-
Naivni Bayesov klasifikator
24
6.2 Diskusija
Iz rezultatov, ki smo jih dobili s pomočjo naše aplikacije, je razvidno, da je za samodejno
klasifikacijo dokumentov najbolj primeren multinomski naivni Bayesov dogodkovni model.
Najboljši rezultate je dala metoda medsebojne informacije, ko smo dobili največjo število
uspešno klasificiranih dokumentov (stopnja uspešnosti je bila 87,5%). Empirična
primerjava je pokazala tudi, da stopnja uspešnosti ni odvisna samo od dogodkovnega
modela in metode izbire atributov, ampak tudi od števila izbranih atributov. Izkazalo se je,
da večje število izbranih atributov pripelje do večje stopnje uspešnosti.
-
Naivni Bayesov klasifikator
25
7 SKLEP
V diplomskem delu smo opisali naivni Bayesov klasifikator in njegovo uporabo pri
samodejni klasifikaciji dokumentov in razložili, na kakšen način podatkovni atributi in
dogodkovni modeli naivnega Bayesovega klasifikatorja vplivajo na njegovo učinkovitost pri
tem opravilu. V ta namen smo implementirali aplikacijo za klasificiranje dokumentov,
posodobili klasifikatorje z našim naborom učnih dokumentov in klasificirali nabor testnih
dokumentov. Na podlagi pridobljenih rezultatov smo naredili empirično primerjavo med
različnimi kombinacijami dogodkovnih modelov naivnega Bayesovega klasifikatorja in
metod izbire atributov. Delo zaključimo s pregledom morebitnih izzivov in težav, ki so se
pojavili med delom, ter napotkov za nadaljnje delo in lastno oceno o ciljih, ki smo jih
začrtali na začetku.
7.1 Izzivi in težave
Največji izziv je bil ustvarjanje dovolj velikega učnega in testnega nabora dokumentov. Da
bi dobili ustrezne rezultate za empirično primerjavo, smo ustvarili učni nabor, sestavljen iz
600 učnih dokumentov, in testni nabor, sestavljen iz 120 učnih dokumentov. Dokumente
smo morali posebej razdeliti v ustrezne kategorije.
Pri našem delu nismo imeli posebnih velikih težav. Na začetku smo imeli težave z
ustreznim ločevanjem besed. Med izdelavo aplikacije smo hkrati dodajali potrebna ločila.
7.2 Možne izboljšave in nadaljnje delo
Kot smo omenili, smo v naši aplikaciji implementirali samo najučinkovitejša dogodkovna
modela naivnega Bayesovega klasifikatorja za samodejno klasifikacijo dokumentov.
Možna izboljšava bi bila implementacija vseh dogodkovnih modelov naivnega
Bayesovega klasifikatorja, da bi lahko naredili empirično primerjavo vseh modelov.
Druga možna izboljšava zasnovane aplikacije bi bila implementacija še več metod izbire
atributov. Da bi izboljšali eksperimentalne rezultate, ki smo jih dobili, bi lahko naredili učne
-
Naivni Bayesov klasifikator
26
in testne nabori dokumentov z večjim številom dokumentov ali večjim številom učnih in
testnih naborov dokumentov.
7.3 Lastna ocena in zaključek
Sklepamo, da smo uresničili naše cilje. V diplomskem delu smo proučili naivni Bayesov
klasifikator in njegovo uporabo pri samodejni klasifikaciji dokumentov. S pomočjo
zasnovane aplikacije smo dobili rezultate, potrebne za empirično primerjavo med
različnimi kombinacijami dogodkovnih modelov naivnega Bayesovega klasifikatorja in
metod izbire atributov. Vedno obstaja možnost, da bi delo opravili še boljše, ampak smo
zadovoljni z rezultati, ki smo jih dobili. Široka uporaba, preprostost in presenetljivo dobri
rezultati naivnega Bayesovega klasifikatorja so bili glavni razlogi, da smo se odločili za to
temo. Številne študije o tem klasifikatorju in še vedno negotovi rezultati o optimalni
kombinaciji dogodkovnega modela in metode izbire atributov so služili kot motiv pri
raziskavi. Snovanje te aplikacije in analiziranje rezultatov, ki smo jih dobili, je bilo zelo
zanimivo in upamo, da bomo imeli v prihodnosti priložnost delati na podobnem projektu.
-
Naivni Bayesov klasifikator
27
SEZNAM UPORABLJENIH VIROV
[1] .NET. (10.03.2015). Pridobljeno iz Microsoft: http://www.microsoft.com/net
[2] About Google News. (10.03.2015). Pridobljeno iz Google: https://www.google.com/intl/en_us/about_google_news.html
[3] Additive smoothing. (10.03.2015). Pridobljeno iz Wikipedia: http://en.wikipedia.org/wiki/Additive_smoothing
[4] Arithmetic underflow. (10.03.2015). Pridobljeno iz Wikipedia: http://en.wikipedia.org/wiki/Arithmetic_underflow
[5] Bandyopadhyay, S. P., Forster, R. M., Gabbay, M. D., Thagard, P., & Woods, J. (2011). Philosophy of Statistics, Volume 7: Handbook of the Philosophy of Science (1 izd.). Elsevier.
[6] Bayes' theorem. (10.03.2015). Pridobljeno iz Wikipedia: http://en.wikipedia.org/wiki/Bayes'_theorem
[7] Bird, A., & Ladyman, J. (2013). Arguing About Science. Routledge.
[8] Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Berlin: Springer.
[9] Complementary event. (10.03.2015). Pridobljeno iz Wikipedia: http://en.wikipedia.org/wiki/Complementary_event
[10] Decision rule. (10.03.2015). Pridobljeno iz Wikipedia: http://en.wikipedia.org/wiki/Decision_rule
[11] Document classification. (10.03.2015). Pridobljeno iz Wikipedia: http://en.wikipedia.org/wiki/Document_classification
[12] Domingos, P., & Pazzani, M. (1997). Beyond Independence: Conditions for the Optimality of the Simple Bayesian Classifier under zero-one loss. Machine Learning(29), 103-130.
[13] Downey, A. B. (2012). Think Bayes, Bayesian Statistics Made Simple. Needham, Massachusetts: Green Tea Press.
[14] Google News. (10.03.2015). Pridobljeno iz Google: https://news.google.com/
[15] King, G. (1989). Unifying Political Methodology: The Likelyhood Theory of Statistical Inference. (R. M. Alvarez, & N. Beck, Ured.) The University of Michigan Press.
[16] Kononenko, I., & Šikonja, M. R. (2010). Inteligentni sistemi. Ljubljana.
[17] Lutu, P. E. (2013). Fast Feature Selection for Naive Bayes Classification in Data Stream Mining. proceedings of the World Congress on Engineering (WCE), III, str. 1549-1554. London.
-
Naivni Bayesov klasifikator
28
[18] Manning, C. D., Raghavan, P., & Hinrich, S. (2008). Introduction to Information Retrieval. Cambridge: Cambridge University Press.
[19] McCallum, A., & Nigam, L. (1998). A comparison of event models for Naive Bayes text classification. AAAI-98 workshop on learning for text categorization.
[20] Mitchell, T. M. (1997). Machine Learning. McGraw-Hill Science/Engineering/Math.
[21] Naive Bayes classifier. (10.03.2015). Pridobljeno iz Wikipedia: http://en.wikipedia.org/wiki/Naive_Bayes_classifier
[22] Novakovic, J. (2010). The Impact of Feature Selection on the Accuracy of Naive Bayes Classifier. 18 Telecommunications Forum, Proceedings Telfor, 1113-1116.
[23] Null hypothesis. (10.03.2015). Pridobljeno iz Wikipedia: http://en.wikipedia.org/wiki/Null_hypothesis
[24] Olofsson, P., & Andersson, M. (2012). Probability, Statistics, and Stochastic Processes (2nd izd.). Hoboken, New Jersey: John Wiley & Sons, Inc.
[25] Russell, S., & Norvig, P. (2010). Artificial Intelligence: A Modern Approach (3rd izd.). New Jersey: Prentice Hall.
[26] Tsarev, D., Petrovskiy, M., & Mashechkin, I. (2013). Supervised and Unsupervised Text Classification via Generic Summarization. International Journal of Computer Information Systems and Industrial Management Applications, 509-515.
[27] Verjetnost. (10.03.2015). Pridobljeno iz Wikipedia: http://sl.wikipedia.org/wiki/Verjetnost
[28] Yang, Y., & Pedersen, J. O. (1997). A Comparative Study on Feature Selection in Text Categorization. Proceedings of the Fourteenth International Conference on Machine Learning, (str. 412-420).