Algoritmi Naive Bayes është një algoritëm mësimor i mbikëqyrur, i cili bazohet në teoremën e Bayes dhe përdoret për zgjidhjen e problemeve të klasifikimit. Përdoret kryesisht në klasifikimin e tekstit që përfshin një grup të dhënash trajnimi me dimensione të larta.

Klasifikuesi Naive Bayes është një nga algoritmet e thjeshta dhe më efektive të klasifikimit që ndihmon në ndërtimin e modeleve të mësimit të shpejtë të makinerive që mund të bëjnë parashikime të shpejta.

Është një klasifikues probabilist, që do të thotë se parashikon në bazë të probabilitetit të një objekti.

Disa shembuj të njohur të Algoritmit Naive Bayes janë filtrimi i spamit, analiza sentimentale dhe klasifikimi i artikujve.

Pse quhet Naive Bayes?

Algoritmi Naive Bayes përbëhet nga dy fjalë Naive dhe Bayes.

Naive:Quhet Naive sepse supozon se shfaqja e një veçorie të caktuar është e pavarur nga shfaqja e veçorive të tjera.

Bayes:Quhet Bayes sepse varet nga parimi i teoremës së Bayes.

Përpara se të shkojmë te algoritmi, le të mësojmë shkurtimisht për disa tema:

  1. Ngjarje të pavarura

Dy ngjarje janë të pavarura nëse sa vijon janë të vërteta:

P(A|B) = P(A)

P(B|A) = P(B)

Sipas probabilitetit, dy ngjarje janë të pavarura nëse incidenca e njërës ngjarje nuk ndikon në probabilitetin e ngjarjes tjetër.

2. Ngjarje Reciproke Ekskluzive:

Dy ngjarje janë Reciprokisht Ekskluzive nëse sa vijon janë të vërteta:

P(A | B) = P (B | A) = 0

Dy ngjarje janë reciprokisht ekskluzive ose të shkëputura nëse të dyja nuk mund të ndodhin në të njëjtën kohë.

3. Probabiliteti i kushtëzuar:

Nëse A dhe B janë dy ngjarje në një hapësirë ​​mostër SS, atëherë probabiliteti i kushtëzuar iAdhënëB përcaktohet si

P(A|B)=P(A∩B)/P(B), kur P(B)›0.

Probabiliteti i kushtëzuar njihet si mundësia që një ngjarje ose rezultat të ndodhë, bazuar në ekzistencën e një ngjarjeje ose rezultati të mëparshëm.

Teorema e Bayes:

  • Teorema e Bayes njihet gjithashtu si Rregulli i Bayes ose Ligji i Bayes, i cili përdoret për të përcaktuar probabilitetin e një hipoteze me njohuri paraprake. Varet nga probabiliteti i kushtëzuar.
  • Formula për teoremën e Bayes është dhënë si:

Ku ,

P(A|B) është probabilitet i pasëm: Probabiliteti i hipotezës A në ngjarjen e vëzhguar B.

P(B|A) është probabiliteti i gjasave: Probabiliteti i provave duke pasur parasysh se probabiliteti i një hipoteze është i vërtetë.

P(A) është probabilitet i mëparshëm: Probabiliteti i hipotezës përpara se të vëzhgoni provat.

P(B) është probabilitet marxhinal: Probabiliteti i provave.

Derivimi i teoremës së Bayes

Teorema e Bayes mund të nxirret për ngjarjet dhe variablat e rastësishëm veçmas duke përdorur përkufizimin e probabilitetit dhe densitetit të kushtëzuar.

Nga përkufizimi i probabilitetit të kushtëzuar, teorema e Bayes mund të nxirret për ngjarjet siç jepet më poshtë:

P(A|B) = P(A ⋂ B)/ P(B), ku P(B) ≠ 0

P(B|A) = P(B ⋂ A)/ P(A), ku P(A) ≠ 0

Këtu, probabiliteti i përbashkët P(A ⋂ B) i të dy ngjarjeve A dhe B është i vërtetë i tillë që,

P(B ⋂ A) = P(A ⋂ B)

P(A ⋂ B) = P(A | B) P(B) = P(B | A) P(A)

P(A|B) = [P(B|A) P(A)]/ P(B), ku P(B) ≠ 0

Intucioni i Naive Bayes:

duke pasur parasysh një shembull problemi që do të klasifikohet, i përfaqësuar nga një vektor X= (x1,x2,…xn) që përfaqëson disa tipare n (ndryshore të pavarura), ai i cakton këtij shembulli probabilitete

Shembull:

Le të marrim një shembull të klasifikimit të tekstit ku detyra është të klasifikojmë nëse rishikimi është pozitiv apo negativ. Ne ndërtojmë një tabelë gjasash bazuar në të dhënat e trajnimit. Ndërsa kërkojmë një rishikim, ne përdorim vlerat e tabelës Likelihood, por po sikur një fjalë në një rishikim të mos ishte e pranishme në grupin e të dhënave të trajnimit?

Rishikimi i pyetjes = w1 w2 w3 w

Ne kemi katër fjalë në shqyrtimin tonë të pyetjes dhe le të supozojmë se vetëm w1, w2 dhe w3 janë të pranishme në të dhënat e trajnimit. Pra, do të kemi gjasa për ato fjalë. Për të llogaritur nëse rishikimi është pozitiv apo negativ, krahasojmë P(pozitiv|rishikim) dhe P(negativ|rishikim).

Në tabelën e gjasave, kemi P(w1|pozitiv), P(w2|Pozitiv), P(w3|Pozitiv) dhe P(pozitiv). Oh, prit, por ku është P(w'|pozitive)?

Nëse fjala mungon në grupin e të dhënave të trajnimit, atëherë nuk kemi gjasat e saj. Çfarë duhet të bëjmë?

Qasja 1-Injoroni termin P(w'|pozitiv)

Injorimi do të thotë se po i caktojmë një vlerë prej 1, që do të thotë se probabiliteti që w’ të ndodhë në P(w’|pozitiv) dhe rishikimi negativ P(w’|negativ) është 1. Kjo qasje duket logjikisht e pasaktë.

Qasja 2-Në modelin e një çantë fjalësh, numërojmë shfaqjen e fjalëve. Dukuritë e fjalës w’ në stërvitje janë 0. Sipas kësaj

P(w'|pozitiv)=0 dhe P(w'|negativ)=0, por kjo do t'i bëjë të dyja P(pozitiv|rishikim) dhe P(negativ|rishikim) të barabarta me 0 pasi ne shumëzojmë të gjitha gjasat. Ky është problemi i probabilitetit zero. Pra, si ta trajtojmë këtë problem?

Zbutja e Laplace

Zbutja Laplace është një teknikë zbutjeje që trajton problemin e probabilitetit zero në Naive Bayes. Duke përdorur zbutjen Laplace, ne mund të përfaqësojmë P(w'|pozitive) si

Këtu,
alfapërfaqëson parametrin e zbutjes,
K përfaqëson numrin e dimensioneve (veçorive) në të dhëna dhe
Npërfaqëson numrin e komenteve me y=pozitiv

Nëse zgjedhim një vlerë alfa!=0 (jo e barabartë me 0), probabiliteti nuk do të jetë më zero edhe nëse një fjalë nuk është e pranishme në grupin e të dhënave të trajnimit.

Interpretimi i ndryshimit të alfa

Le të themi se shfaqja e fjalës w është 3 me y=pozitive në të dhënat e trajnimit. Duke supozuar se kemi 2 veçori në grupin tonë të të dhënave, d.m.th., K=2 dhe N=100 (numri i përgjithshëm i komenteve pozitive).

Rasti 1-kur alfa=1, P(w'|pozitive) = 3/102

Rasti 2-kur alfa = 100, P(w'|pozitive) = 103/300

Rasti 3-kur alfa=1000, P(w'|pozitive) = 1003/2100

Ndërsa alfa rritet, probabiliteti i gjasave lëviz drejt shpërndarjes uniforme (0.5). Shumicën e kohës, alfa = 1 përdoret për të hequr problemin e probabilitetit zero.

Zbutja Laplace është një teknikë zbutjeje që ndihmon në trajtimin e problemit të probabilitetit zero në algoritmin e mësimit të makinerive Naive Bayes. Përdorimi i vlerave më të larta alfa do të shtyjë gjasat drejt një vlere prej 0,5, d.m.th., probabilitetin e një fjale të barabartë me 0,5 për vlerësimet pozitive dhe negative. Meqenëse nuk marrim shumë informacion nga kjo, nuk preferohet. Prandaj, preferohet të përdoret alfa=1.

Regjistri-Probabilitetet dhe Stabiliteti numerik

Një problem lind kur m (madhësia e fjalorit) bëhet shumë e madhe. Vini re se për shkak se çdo term P(wi | Cj) është midis 0 dhe 1 kur filloni t'i shumëzoni së bashku, produkti i përgjithshëm fillon t'i afrohet zeros.

Kjo përkeqësohet nga çdo veçori e re që shtohet: me 1000 veçori, duke shumëzuar 1000 probabilitete së bashku rezulton shpejt në një numër jashtëzakonisht të vogël, një numër që shpesh nuk mund të përfaqësohet në një dyshe ose të gjatë.

Një punë e zakonshme rreth kësaj situate është të përfaqësohen probabilitetet si probabilitete log. Kjo do të thotë, në vend që të përdorim P(wi | Cj) dhe P(Cj), ne përdorim log P(wi | Cj) dhe log P(Cj). Ky transformim funksionon (dhe është mjaft elegant) për një sërë arsyesh.

  • Për shkak se një probabilitet është gjithmonë midis 0 dhe 1, një probabilitet log është gjithmonë midis −∞ dhe 0 (një gamë shumë më e gjerë numrash sesa midis 0 dhe 1).
  • Nëse a ‹b, atëherë regjistroni një ‹log b. Kjo veti e logaritmeve do të thotë që krahasimi i probabiliteteve për të kuptuar se cila është më e madhja (siç bën argmax) është ekuivalente me krahasimin e probabiliteteve log.
  • Më në fund, matematika funksionon mirë sepse logaritmi i një produkti është shuma e logaritmeve (d.m.th., log(a * b) = log a + log b).

Vini re se për shkak se ne marrim logaritmin e numrave midis 0 dhe 1, probabilitetet e logit do të jenë gjithmonë negative. Kjo është ne rregull. Thjesht bëni llogaritjet dhe krahasimet tuaja si zakonisht, një numër "më negativ" (që do të thotë një numër negativ më i madh në vlerë absolute) korrespondon me një probabilitet më të vogël se një numër "më pak negativ", kështu që nuk keni nevojë të ndryshoni krahasimin. .

Paragjykim-variancë Tregoni

Rasti 1: Nëse α = 0 (variancë e lartë)

Në këtë rast, edhe për një fjalë shumë të rrallë, lidhemi me njëfarë probabiliteti, por nga ana tjetër për një fjalë tjetër që nuk shihet kurrë në fazën e trajnimit, probabiliteti i gjasave bëhet papritur zero.

Kjo do të thotë se modeli ynë është i tepërt. Sepse për një ndryshim shumë të vogël në të dhënat e trajnimit, ka një ndryshim shumë të madh në model.

Pra, ky është një rast i variancës së lartë.

Rasti 2: Nëse α është një vlerë shumë e madhe (paragjykim i lartë)

Siç e kemi parë më herët nëse α atëherë, probabilitetet e gjasave ≈ ½.

Nëse kemi të dhëna të balancuara, atëherë edhe prioritetet për secilën klasë bëhen të njëjta. Atëherë në raste të tilla, probabiliteti i pasëm për secilën klasë është afërsisht i njëjtë.

Pra, ky është një rast i njëanshmërisë së lartë sepse probabilitetet e pasme janë të njëjta.

Kur alfa është shumë e vogël, kjo çon në mbipërshtatje.

kur alfa është shumë e madhe, kjo çon në mospërshtatje për shkak të gjasave që probabilitetet të bëhen shpërndarje uniforme, mund të themi se cilës klase i përket pika e re e të dhënave.

Rëndësia dhe interpretueshmëria e veçorive

Për algoritmin Naive Bayes, rëndësia e veçorive merret nga probabilitetet e gjasave. Renditni në bazë të probabiliteteve në rend zbritës, fjalët kryesore janë se tiparet janë më të rëndësishme.

Në Naive Bayes rëndësia e veçorisë është marrë direkt nga vetë modeli.

Algoritmi naiv i Bayes jep lehtësisht Interpretueshmërinë.

Si funksionon Naive Bayes kur kemi të dhëna të çekuilibrit, vlera të paqëndrueshme, vlera që mungojnë, e kështu me radhë?

Të dhënat e mosbalancimit:

Naive Bayes ndikohet gjithashtu nga të dhënat e çekuilibruara. Zgjidhja është kryerja e marrjes së mostrës (ose) zbritjes së mostrës.

Kur kemi të dhëna të çekuilibrit, α ndikon më shumë për klasën e Minoritetit dhe α më pak ndikim në klasën e shumicës.

Dallimet:

  • Në kohën e stërvitjes, nëse një fjalë (Wi) shfaqet më pak herë, atëherë ne thjesht i injorojmë ato.
  • Gjatë testimit të kohës, Laplace Smoothing kujdeset për pikat e jashtme.

Vlerat që mungojnë:

Nëse kemi të dhëna teksti, nuk ka rast të mungojnë vlerat nëse kemi veçori kategorike, supozojmë NaN gjithashtu një kategori për veçoritë numerike ne përdorim teknikat e imputimit të modelit.

Klasifikimi me shumë klasa:

Naive Bayes bën lehtësisht Klasifikimin Multiclass sepse vetëm për të krahasuar klasat dhe për të zgjedhur klasën Ck​ për të cilën kjo vlerë është më e madhe nga maksimumi një pasmë ose MAP rregull vendimi.

Matrica e ngjashmërisë (ose) e distancës:

Naive Bayes nuk mund ta trajtojë matricën e distancës, sepse nuk bazohet në distanca, është një teknikë e bazuar në probabilitet.

Dimensioni i madh:

Është shumë komode për dimensionalitet të madh d, kur d është një produkt i madh i probabilitetit është i madh, atëherë ne përdorim probabilitetin Log për të shmangur stabilitetin numerik dhe çështjet e rrjedhës së poshtme.

Llojet e modelit Naive Bayes:

Ekzistojnë tre lloje të Modelit Naive Bayes, të cilat janë dhënë më poshtë:

  • Gaussian: Modeli Gaussian supozon se tiparet ndjekin një shpërndarje normale. Kjo do të thotë nëse parashikuesit marrin vlera të vazhdueshme në vend të diskrete, atëherë modeli supozon se këto vlera janë marrë nga shpërndarja Gaussian.
  • Multinomial: Klasifikuesi Multinomial Naive Bayes përdoret kur të dhënat janë shumënomiale të shpërndara. Përdoret kryesisht për problemet e klasifikimit të dokumenteve, do të thotë se cilës kategori i përket një dokumenti i veçantë si sporti, politika, arsimi etj.
    Klasifikuesi përdor frekuencën e fjalëve për parashikuesit.
  • Bernoulli: Klasifikuesi Bernoulli funksionon ngjashëm me klasifikuesin Multinomial, por variablat parashikues janë variablat e pavarur Booleans. Të tilla si nëse një fjalë e veçantë është e pranishme ose jo në një dokument. Ky model është gjithashtu i famshëm për detyrat e klasifikimit të dokumenteve.

Rastet më të mira dhe më të këqija të Algoritmit Naive Bayes

  1. Naive Bayes bën një supozim se tiparet janë të pavarura me kusht. Teorikisht, nëse supozimi nuk qëndron i vërtetë, atëherë performanca e NB degradon. Por hulumtimi ka treguar se edhe nëse ka ndonjë varësi nga karakteristikat, Naive Bayes jep rezultatin më të mirë.
  2. Megjithatë, shkelja e fortë e këtij supozimi do të çojë në performancën e dobët të Naive Bayes.
  3. Naive Bayes është një algoritëm bazë (ose) bazë për problemin e klasifikimit të tekstit.
  4. Naive Bayes përdoret gjerësisht kur të dhënat përmbajnë veçori kategorike, por jo shumë të përdorura në veçoritë numerike.
  5. Naive Bayes ka interpretueshmëri shumë të mirë dhe rëndësi të veçorive.
  6. Naive Bayes është shumë efikas në kohë dhe hapësirë, i cili mund të përdoret për aplikime me vonesë të ulët.
  7. Naive Bayes përshtatet lehtësisht, kështu që lëmimi i Laplace duhet të bëhet gjithmonë.

Referencat:

"Wikipedia"

Javapoint

UA e aplikuar