Naiivne Bayesi algoritm masinõppes
⚡ Nutikas kokkuvõte
Naiivne Bayes on Bayesi teoreemile üles ehitatud juhendatud tõenäosuslik klassifitseerimisalgoritm, eeldades, et iga tunnus annab oma panuse iseseisvalt. Selle teooria, väljatöötatud töökodaping Näiteks allpool käsitletakse kolme mudelivarianti, eeliseid, piiranguid ja reaalseid rakendusi.
Naiivne Bayesi klassifikaatori algoritm
Klassifikaator on masinõppe algoritm, mis sorteerib andmed ühte või mitmesse „klassi“. Üks tuttav näide on meiliklassifikaator: see skannib iga sissetulevat sõnumit ja lisab sellele klassisildi „Rämpspost“ või „Mitte rämpspost“.
Naiivne Bayesi klassifikaator masinõppes on juhendatud õppimine Klassifitseerimisülesannete jaoks kasutatav algoritm.
Allolev diagramm kirjeldab seda voogu.
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, tuntakse seda ka tõenäosusklassifikaatorina. See ennustab üksuse tõenäosuse põhjal.
Miks seda nimetatakse naiivseks Bayesiks?
Nimi „Naive Bayes” koosneb kahest osast: naiivne ja Bayes. Miks naiivne? Algoritm ignoreerib tunnuste ilmumise järjekorda, seega näevad „You are” ja „Are you” selle jaoks identsed välja. Samuti eeldab see, et ükski tunnus ei mõjuta ühtegi teist. Õunapuu äratundmiseks kasutatakse punast värvi, sfäärilist kuju ja magusat maitset ning algoritm käsitleb iga vihjet eraldi, sõltumatu tõendina.
- 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 ja seetõttu nimetatakse seda naiivseks Bayesi klassifikaatoriks.
Naiivne Bayesi teoreem
Bayesi teoreemi kasutatakse hüpoteesi tõenäosuse leidmiseks tingimuslike tõenäosustega, mis sõltuvad eelnevatest teadmistest. See teoreem on nime saanud Thomas Bayesi järgi. Naiivne Bayesi klassifikaator töötab tingimusliku tõenäosuse põhimõttel, nagu on sätestatud Bayesi teoreemis.
Bayesi teoreemi mõistmiseks vaatleme lihtsat naiivset Bayesi klassifikaatori näidet kahe mündi viskamisest. Kahe mündi viskamisel saame järgmised näidisruumid: {HH, HT, TH, TT}. Seega on nende sündmuste tõenäosused järgmised:
- 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 juba toimunud sündmuse tõenäosuse põhjal. Bayesi teoreemi valem on järgmine:
P(A|B) = (P(B|A) * P(A)) / P(B)
P(A|B) on sündmuse A tõenäosus, kui sündmus B on juba toimunud. Tõenäosus P(B) ei tohi 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 sündmuse A eelnev tõenäosus, st sündmuse tõenäosus enne mis tahes tõendite täheldamist. Siin on sündmus B tundmatu juhtumi väärtus.
- P(A|B) on sündmuse A a posteriorne tõenäosus, st sündmuse A tõenäosus pärast tõendite B vaatlemist.
Naiivse Bayesi klassifikaatori töönäide
Kiireim viis valemi toimimise nägemiseks on see käsitsi käivitada.
Võtame näiteks poeping Bayesi naiivse klassifikaatori toimimise mõistmiseks. Selles andmestikus on selle näite jaoks väike 30 reast koosnev näidisandmestik.
Andmebaas
Probleem seisneb selles, et ennustada, kas inimene ostab toote kindla päeva, allahindluse ja tasuta kohaletoimetamise kombinatsiooniga, kasutades Naive Bayesi teoreemi.
Step 1) Loome iga atribuudi jaoks sagedustabelid, kasutades andmekogumis mainitud sisendtüüpe, nagu päevad, allahindlus ja tasuta kohaletoimetamine.
Olgu sündmus 'Osta' tähistatud kui 'A' ja sõltumatud muutujad, nimelt 'Allahindlus', 'Tasuta kohaletoimetamine' ja 'Päev', kui 'B'. Kasutame neid sündmusi ja muutujaid Bayesi teoreemi rakendamiseks.
Step 2) Nüüd arvutame tõenäosustabelid ükshaaval välja.
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.
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 %
Kahe skoori summa on 1.013, mitte 1, sest sõltumatuse eeldus muudab iga hinnangu ligikaudseks, seega jagades need kogusummaga, skaleeritakse need protsentideks.
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.
| variant | Funktsiooni tüüp | Tüüpiline kasutamine |
|---|---|---|
| Multinomiaalne | Sõnade arv | Teema ja dokumentide liigitus |
| Bernoulli | Binaarsed kohaloleku- või puudumislipud | Lühikesed tekstid ja rämpsposti filtreerimine |
| Gaussi keel | Pidevad numbrilised väärtused | Andurite näidud ja mõõtmised |
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.
Tingimusliku tõenäosuse valem muutub järgmiseks
. skikit õppima teek lisab veel kaks varianti: komplementaarne naiivne Bayes tasakaalustamata teksti jaoks ja kategooriline naiivne Bayes diskreetsete kategooriate jaoks.
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 Bayesi meetod ei vaja nii palju treeningandmeid tunnuste omavahelise sõltumatuse tõttu. Pärast mudeli treenimist suudab see kiiresti ennustada.
- 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: Naiivne Bayesi meetod suudab anda mõistlikke tulemusi isegi piiratud treeningandmete korral. See saab hakkama olukordades, kus treeninginstantside arv on väike.
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.
Teine hoiatus: selle esitatud klassitõenäosused on halvasti kalibreeritud, seega ei ole ennustusele lisatud usaldusnivoo usaldusväärne tõenäosus.
Selle probleemi lahendamiseks võite kasutada Otsustuspuud, Juhuslikud metsad, tugivektormasinad (SVM), Närvivõrgud jne. Need algoritmid suudavad õppida tundma andmefunktsioonide vahelisi keerulisi seoseid ja sõltuvusi. Seega saavad need 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 (nagu näiteks Gmail) kasutavad seda algoritmi, et teha kindlaks, kas e-kiri 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 klassifitseerimisalgoritmi kasutatakse ka näotuvastuses, ilmaennustuses, meditsiinilises diagnoosimises, poesping, Uudiste klassifitseerimine jne. Naiivset Bayesi saab rakendada Python, kus moodul sklearn.naive_bayes pakub kõiki eespool kirjeldatud variante.








