Naiivne Bayesi algoritm masinõppes

Naiivne Bayesi klassifikaatori algoritm

Naiivne Bayesi klassifikaatori algoritm

Klassifikaator on masinõppe algoritm, mis liigitab andmed ühte või mitmesse klassikomplekti. Meilide klassifikaator on üks näide klassifikaatorist, mis skannib meile, et filtreerida need klassi sildi järgi: rämpspost või mitte rämpspost.

Naiivne Bayesi klassifikaator masinõppes on klassifitseerimisülesannete jaoks juhendatud masinõpe.

Naiivne Bayesi klassifikaatori algoritm

Naive Bayesi kasutatakse klassifitseerimisprobleemide lahendamiseks. See ennustab objekti tõenäosuse põhjal. Naive Bayes põhineb Bayesi teoreemil ja seda kasutatakse enamasti tekstide klassifitseerimiseks. Naive Bayes on tõenäosuslik klassifitseerimisalgoritm, mida on lihtne rakendada ja kiiresti treenida.

Kuna naiivne Bayesi klassifikaator põhineb Bayesi teoreemil, on see tuntud kui tõenäosusklassifikaator. See ennustab üksuse tõenäosuse põhjal.

Põhjus, miks teda kutsutakse naiivseks Bayesiks?

Naive Bayesi klassifikaatoril on kaks sõna: Naive ja Bayes. Miks Navie? See algoritm käsitleb kõiki sõnalauseid ühesugustena. Näiteks “Sa oled” ja “Kas sa oled” on selle algoritmi jaoks samad. See ei sõltu funktsioonidest ega funktsioonide esinemisest. Kui soovite tuvastada puuvilja õuna, siis on teil vaja õunana äratundmiseks punast värvi, sfäärilist kuju, magusat maitset. See tähendab, et need funktsioonid on üksteisest sõltumatud.

  • Naiivne Bayesi klassifikaator eeldab, et tunnused on üksteisest sõltumatud. Kuna see on reaalsetes andmetes harva võimalik, nimetatakse klassifikaatorit naiivseks.
  • See klassifitseerimisalgoritm põhineb Bayesi teoreemil, mida nimetatakse naiivseks Bayesi klassifikaatoriks.

Naiivne Bayesi teoreem

Bayesi teoreemi kasutatakse eelteadmistest sõltuva tingimuslike tõenäosustega hüpoteesi tõenäosuse leidmiseks. See teoreem on oma nime saanud Thomas Bayesi järgi. Naiivne Bayesi klassifikaator töötab tingimusliku tõenäosuse põhimõttel, nagu on antud Bayesi teoreemiga.

Bayesi teoreemi mõistmiseks vaadakem lihtsat naiivset Bayesi klassifikaatori näidet kahe mündi viskamisest. Need näidisruumid saame kahe mündi viskamisega: {HH, HT, TH, TT}. Seega on nende sündmuste tõenäosus:

  • Kahe pea saamine = 1/4
  • Vähemalt üks saba = 3/4
  • Teise mündi pea, kuna esimene münt on saba = 1/2
  • Kahe pea saamine esimese mündiga on pea = 1/2

Bayesi teoreem arvutab sündmuse toimumise tõenäosuse, lähtudes juba toimunud teistsuguse sündmuse tõenäosusest. Bayesi teoreemi valem on esitatud järgmiselt:

P(A|B) = (P(B|A) * P(A)) / P(B)

P(A|B) Isegi A tõenäosus, kui isegi B on juba toimunud. Tõenäosus P(B) ei tohiks olla null.

  • Peate leidma sündmuse A tõenäosuse, mis antakse siis, kui sündmus B (tõend) on tõene.
  • P(A) on A a priori (a priori, st vaadeldava sündmuse tõenäosus enne tõestust). Siin on sündmus B tundmatu eksemplari väärtus.
  • P(A|B) on sündmuse B posterioorne tõenäosus, st sündmuse tõenäosus pärast tõendite vaatamist.

Naive Bayesi klassifikaatori töönäide

Võtame näite ostmisest, et mõista Bayesi naiivse klassifikaatori toimimist. Selles andmekogumis on selle näite jaoks väike 30-realine näidisandmekogum.

Andmebaas

Naiivi Bayesi klassifikaatori töönäide

Probleem seisneb selles, et ennustada, kas inimene ostab toote kindla päeva, allahindluse ja tasuta kohaletoimetamise kombinatsiooniga, kasutades Naive Bayesi teoreemi.

Naiivi Bayesi klassifikaatori töönäide

Step 1) Loome iga atribuudi jaoks sagedustabelid, kasutades andmekogumis mainitud sisendtüüpe, nagu päevad, allahindlus ja tasuta kohaletoimetamine.

Naiivi Bayesi klassifikaatori töönäide

Olgu sündmus „Ost” tähistatud kui „A” ja sõltumatud muutujad, nimelt „Allahindlus”, „Tasuta kohaletoimetamine” ja „Päev”, mis on tähistatud kui „B”. Me kasutame neid sündmusi ja muutujaid Bayesi teoreemi rakendamiseks.

Step 2) Nüüd arvutame tõenäosustabelid ükshaaval välja.

Naiivi Bayesi klassifikaatori töönäide

Näide 1:

Selle tõenäosuse tabeli põhjal arvutame tingimuslikud tõenäosused järgmiselt.

P(A) = P(No Buy) = 6/30 = 0.2
P(B) = P(Weekday) = 11/30 = 0.37
P(B/A) = P(Weekday / No Buy) = 2/6 = 0.33

Ja leia P(A/B), kasutades Bayesi teoreemi,

P(A/B)
= P(No Buy / Weekday)
= P(Weekday / No Buy) * P(No Buy) / P(Weekday)
= (2/6 * 6/30) / (11/30)
= 0.1818

Samamoodi, kui A on Osta, siis

= P(Buy / Weekday)
= P(Weekday / Buy) * P(Buy) / P(Weekday)
= (9/24 * 24/30) / (11/30)
= 0.8181

Märge: Kuna P(Osta | Nädalapäev) on suurem kui P(Ostmata | Nädalapäev), võime järeldada, et klient ostab toote suure tõenäosusega tööpäeval.

Step 3) Samamoodi saame kõigi kolme muutuja põhjal arvutada sündmuse toimumise tõenäosuse. Nüüd arvutame ülaltoodud sagedustabeleid kasutades kõigi kolme muutuja tõenäosustabelid.

Naive Bayesi klassifikaatori töönäide

Näide 2:

Nüüd arvutame nende kolme tõenäolisuse tabeli abil välja, kas klient sooritab tõenäoliselt ostu konkreetse kombinatsiooni „Päev”, „Allahindlus” ja „Tasuta kohaletoimetamine” alusel.

Siin võtame nende tegurite kombinatsiooni:

  • Päev = puhkus
  • Allahindlus = jah
  • Tasuta kohaletoimetamine = jah

Millal A = Osta

Arvutage ostu tingimuslik tõenäosus järgmise päeva, allahindluse ja tasuta kohaletoimetamise kombinatsiooni korral.

Kus B on:

  • Päev = puhkus
  • Allahindlus = jah
  • Tasuta kohaletoimetamine = jah

Ja A = Osta

Seetõttu

= P(A/B)
= P(Buy / Discount=Yes, Day=Holiday, Free Delivery=Yes)
= ( P(Discount=(Yes/Buy)) * P(Free Delivery=(Yes/Buy)) * P(Day=(Holiday/Buy)) * P(Buy) )
/ ( P(Discount=Yes) * P(Free Delivery=Yes) * P(Day=Holiday) )
= (19/24 * 21/24 * 8/24 * 24/30) / (20/30 * 23/30 * 11/30)
= 0.986

Millal A = ei osta

Samamoodi arvutage ostu tingimuslik tõenäosus järgmise päeva, allahindluse ja tasuta kohaletoimetamise kombinatsiooni korral.

Kus B on:

  • Päev = puhkus
  • Allahindlus = jah
  • Tasuta kohaletoimetamine = jah

Ja A = Ei osta

Seetõttu

= P(A/B)
= P(No Buy / Discount=Yes, Day=Holiday, Free Delivery=Yes)
= ( P(Discount=(Yes/No Buy)) * P(Free Delivery=(Yes/No Buy)) * P(Day=(Holiday/No Buy)) * P(No Buy) )
/ ( P(Discount=Yes) * P(Free Delivery=Yes) * P(Day=Holiday) )
= (1/6 * 2/6 * 3/6 * 6/30) / (20/30 * 23/30 * 11/30)
= 0.027

Step 4) Seega

Ostmise tõenäosus = 0.986

Ostmata jätmise tõenäosus = 0.027

Lõpuks on meil sellel päeval ostmiseks tingimuslikud tõenäosused. Üldistame nüüd need tõenäosused, et saada sündmuste tõenäosus.

  • Tõenäosuste summa = 0.986 + 0.027 = 1.013
  • Ostmise tõenäosus = 0.986 / 1.013 = 97.33 %
  • Ostmata jätmise tõenäosus = 0.027 / 1.013 = 2.67 %

Pange tähele, et kuna 97.33% on suurem kui 2.67%. Võime järeldada, et keskmine klient ostab puhkusel allahindluse ja tasuta kohaletoimetamisega.

Naiivse Bayesi mudeli tüübid

Naive Bayesi klassifikaatoreid on mitut tüüpi. Siin oleme arutanud multinomaalseid, Bernoulli ja Gaussi Naive Bayesi klassifikaatoreid.

1. Multinomaalne naiivne Bayes

Seda tüüpi Naive Bayesi mudelit kasutatakse dokumentide klassifitseerimise probleemide lahendamiseks. See töötab funktsioonidega, mis esindavad sõnade sagedust dokumendis. Klassifikaator arvestab sõnade esinemist ja arvu, et määrata kindlaks tõenäosus, et dokument kuulub teatud kategooriasse, näiteks sporti, poliitikasse või tehnoloogiasse.

2. Bernoulli Naive Bayes

See on sarnane multinomaalsele Naive Bayesile. Bernoulli Naive Bayesi klassifikaatorit kasutatakse dokumentide klassifitseerimise ülesannete jaoks. Siiski kasutab see tõeväärtuslikke ennustajaid. See näitab, kas sõna on olemas või mitte, ja võtab ainult väärtused Jah või Ei. Klassifikaator arvutab tõenäosused selle põhjal, kas sõna esineb tekstis või mitte.

3. Gaussi naiivne Bayes

Seda klassifikaatorit kasutatakse pideva väärtuse, kuid mitte diskreetse väärtuse korral. See klassifikaator arvutab tõenäosused parameetrite abil Gaussi keel jaotus, st keskmine ja dispersioon.

Gaussi naiivne Bayes

Tingimusliku tõenäosuse valem muutub järgmiseks

Gaussi naiivne Bayes

Naiivse Bayesi klassifikaatori eelised ja piirangud

Naive Bayesi algoritmil on masinõppes mitmeid eeliseid ja puudusi.

Naive Bayesi klassifikaatori eelised

  • Lihtsus ja tõhusus: Naive Bayes on lihtne ja hõlpsasti treenitav ja rakendatav. See on tõhus madalate arvutuskulude tõttu. See suudab tõhusalt käsitleda suuri andmekogumeid.
  • Kiirkoolitus ja ennustamine: Naiivne Bayes ei vaja funktsioonide sõltumatuse tõttu nii palju treeningandmeid. See suudab kiiresti ennustada, kui mudel on koolitatud.
  • Skaalautuvuus: Naive Bayes saab hakkama suure hulga funktsioonidega suuremõõtmeliste andmekogumitega. See toimib hästi isegi siis, kui funktsioonide arv on suurem kui koolitusnäidete arv. See skaleerub andmepunktide ja ennustajate arvuga. See käsitleb nii pidevaid kui ka diskreetseid andmeid.
  • Vastupidavus ebaoluliste funktsioonide suhtes: See ei ole tundlik ebaoluliste funktsioonide suhtes.
  • Töötab hästi väikeste treeningkomplektidega: Naive Bayes võib anda mõistlikke tulemusi isegi piiratud treeningandmetega. See saab hakkama olukordades, kus koolitusjuhtude arv on väike. See ei nõua nii palju koolitusandmeid.

Naiivse Bayesi klassifikaatori piirang

Naiivne Bayes sisse masinõpe eeldab, et kõik tunnused on üksteisest sõltumatud. Seega ei saa see õppida andmete erinevate funktsioonide vahelisi seoseid. Ta käsitleb iga funktsiooni nii, nagu poleks sellel teistega seost.

Selle probleemi lahendamiseks võite kasutada Otsustuspuud, juhuslikud metsad, tugivektorimasinad (SVM), närvivõrgud jne. Need algoritmid suudavad õppida keerulisi seoseid ja sõltuvusi andmetes sisalduvate funktsioonide vahel. Nii et need võivad ennustada täpsemaid tulemusi.

Naive Bayesi klassifikaatori rakendused

Kuna see algoritm on kiire ja tõhus, saate seda kasutada reaalajas prognooside tegemiseks.

Rämpsposti tuvastamine

Meiliteenused (nt Gmail) kasutavad seda algoritmi, et teha kindlaks, kas meil on rämpspost. See algoritm sobib suurepäraselt rämpsposti filtreerimiseks.

Sentimentide analüüs

See võib liigitada teksti positiivseks, negatiivseks või neutraalseks selliste tunnuste alusel nagu sõnavalik, lause struktuur ja kontekst. See leiab rakendusi sotsiaalmeedia jälgimisel, klientide arvustustel ja turu-uuringutel.

Dokumendi klassifikatsioon

See võib liigitada dokumendid kategooriatesse, nagu sport, poliitika, tehnoloogia või rahandus, lähtudes konkreetsete sõnade või funktsioonide esinemissagedusest või olemasolust dokumendis.

Soovitaja süsteemid

See võib analüüsida kasutaja eelistusi, ajaloolisi andmeid ja üksuste funktsioone, et ennustada kasutaja huve või eelistusi toodete, filmide või artiklite soovitamisel.

Seda klassifikaatori algoritmi kasutatakse ka näotuvastuses, ilmaennustuses, meditsiinilises diagnoosimises, ostlemises, uudiste klassifikatsioonis jne. Naive Bayesi saate rakendada Python. On olemas Naive Bayesi klassifikaator sklearn, st sklearn.naive_bayes. See on moodul, mis seda algoritmi rakendab.

Järeldus

Naiivsed Bayesi algoritmid masinõppes on klassifikaatorid, mida kasutatakse enamasti rämpsposti tuvastamisel, uudiste klassifitseerimisel, sentimentide analüüsil, ilmaennustamisel, ostlemisel jne. Naiivsed Bayesi algoritmid põhinevad Bayesi teoreemil. See algoritm on lihtne ja hõlpsasti rakendatav. Kuna see on kiire, saame seda kasutada reaalajas rakendustes. Selle suurim puudus on see, et sellel on sõltumatud funktsioonid (kuna sõltumatud funktsioonid on päriselus harva võimalikud, seega nimetatakse seda naiivseks). See käsitleb iga funktsiooni võrdsena. Selle puuduse ületamiseks võite kasutada muid klassifikaatoreid, nagu otsustuspuu, juhuslik mets, tugivektori masin (SVM) jne.