Naivni Bayesov algoritam u strojnom učenju
⚡ Pametni sažetak
Naivni Bayesov algoritam je nadzirani, probabilistički klasifikacijski algoritam izgrađen na Bayesovom teoremu, pretpostavljajući da svaka značajka doprinosi neovisno. Njegova teorija, razrađena radionicaping Na primjer, u nastavku su opisane tri varijante modela, prednosti, ograničenja i primjene u stvarnom svijetu.
Naivni Bayesov algoritam klasifikatora
Klasifikator je algoritam strojnog učenja koji sortira podatke u jednu ili više "klasa". Klasifikator e-pošte je jedan poznati primjer: skenira svaku dolaznu poruku i pridružuje joj oznaku klase Neželjena pošta ili Nije neželjena pošta.
Naivni Bayesov klasifikator u strojnom učenju je nadzirano učenje algoritam koji se koristi za zadatke klasifikacije.
Donji dijagram prikazuje taj tok.
Naivni Bayes se koristi za rješavanje problema klasifikacije. Predviđa na temelju vjerojatnosti objekta. Naivni Bayes se temelji na Bayesovom teoremu i uglavnom se koristi za klasifikaciju teksta. Naive Bayes je algoritam probabilističke klasifikacije koji se lako implementira i brzo obučava.
Budući da se naivni Bayesov klasifikator temelji na Bayesovom teoremu, poznat je i kao klasifikator vjerojatnosti. Predviđa na temelju vjerojatnosti elementa.
Zašto se zove naivni Bayesov sustav?
Naziv Naivni Bayes ima dva dijela: Naivan i Bayes. Zašto naivan? Algoritam ignorira redoslijed kojim se pojavljuju značajke, pa „Vi ste“ i „Jeste li vi“ izgledaju identično. Također pretpostavlja da nijedna značajka ne utječe ni na jednu drugu. Za prepoznavanje jabuke koristite crvenu boju, sferni oblik i sladak okus, a algoritam tretira svaki od tih tragova kao zaseban, neovisan dokaz.
- Naivni Bayesov klasifikator pretpostavlja da su značajke međusobno neovisne. Budući da je to rijetko moguće u stvarnim podacima, klasifikator se naziva naivnim.
- Ovaj algoritam klasifikacije temelji se na Bayesovom teoremu, pa je poznat kao Naivni Bayesov klasifikator.
Naivni Bayesov teorem
Bayesov teorem koristi se za pronalaženje vjerojatnosti hipoteze s uvjetnim vjerojatnostima ovisnim o prethodnom znanju. Ovaj teorem je nazvan po Thomasu Bayesu. Naivni Bayesov klasifikator radi na principu uvjetne vjerojatnosti, kako je dano Bayesovim teoremom.
Kako bismo razumjeli Bayesov teorem, pogledajmo jednostavan primjer naivnog Bayesovog klasifikatora bacanjem dva novčića. Ove uzorke prostora možemo dobiti bacanjem dva novčića: {HH, HT, TH, TT}. Dakle, vjerojatnosti ovih događaja bit će:
- Dobiti dvije glave = 1/4
- Najmanje jedan rep = 3/4
- Drugi novčić je glava s obzirom da je prvi novčić rep = 1/2
- Dobiti dvije glave s prvim novčićem je glava = 1/2
Bayesov teorem izračunava vjerojatnost da će se neki događaj dogoditi na temelju vjerojatnosti drugog događaja koji se već dogodio. Formula za Bayesov teorem je:
P(A|B) = (P(B|A) * P(A)) / P(B)
P(A|B) je vjerojatnost događaja A kada se događaj B već dogodio. Vjerojatnost P(B) ne smije biti nula.
- Morate pronaći vjerojatnost događaja A, koja je dana kada je događaj B (dokaz) istinit.
- P(A) je apriorna vjerojatnost događaja A, odnosno vjerojatnost događaja prije nego što se uoči bilo kakav dokaz. Ovdje je događaj B vrijednost nepoznate instance.
- P(A|B) je posteriorna vjerojatnost događaja A, odnosno vjerojatnost A nakon uvida u dokaze B.
Radni primjer naivnog Bayesovog klasifikatora
Najbrži način da vidite kako formula funkcionira jest da je pokrenete ručno.
Uzmimo primjer trgovineping kako bi se razumio rad Bayesovog naivnog klasifikatora. U ovom skupu podataka nalazi se mali uzorak skupa podataka od 30 redaka za ovaj primjer.
skup podataka
Problem je predvidjeti hoće li osoba kupiti proizvod na određenu kombinaciju dana, popusta i besplatne dostave koristeći Naivni Bayesov teorem.
Korak 1) Izradit ćemo tablice učestalosti za svaki atribut koristeći vrste unosa navedene u skupu podataka, kao što su dani, popust i besplatna dostava.
Neka je događaj 'Kupnja' označen s 'A', a nezavisne varijable, naime 'Popust', 'Besplatna dostava' i 'Dan', označene s 'B'. Koristit ćemo ove događaje i varijable za primjenu Bayesovog teorema.
Korak 2) Sada izračunajmo tablice vjerojatnosti jednu po jednu.
Primjer 1:
Na temelju ove tablice vjerojatnosti, izračunat ćemo uvjetne vjerojatnosti kao u nastavku.
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
I pronađite P(A/B) koristeći Bayesov teorem,
P(A/B) = P(No Buy / Weekday) = P(Weekday / No Buy) * P(No Buy) / P(Weekday) = (2/6 * 6/30) / (11/30) = 0.1818
Slično, ako je A Kupi, tada
= P(Buy / Weekday) = P(Weekday / Buy) * P(Buy) / P(Weekday) = (9/24 * 24/30) / (11/30) = 0.8181
Bilješka: Kako je P(Kupi | Dan u tjednu) veći od P(Nema kupovine | Dan u tjednu), možemo zaključiti da će kupac najvjerojatnije kupiti proizvod radnim danom.
Korak 3) Slično, možemo izračunati vjerojatnost pojave događaja na temelju sve tri varijable. Sada ćemo izračunati tablice vjerojatnosti za sve tri varijable pomoću gornjih tablica učestalosti.
Primjer 2:
Sada, koristeći ove tri tablice vjerojatnosti, izračunat ćemo je li vjerojatno da će kupac izvršiti kupnju na temelju određene kombinacije 'Dan', 'Popust' i 'Besplatna dostava'.
Evo, uzmimo kombinaciju ovih faktora:
- Dan = Praznik
- Popust = Da
- Besplatna dostava = Da
Kada, A = Kupiti
Izračunajte uvjetnu vjerojatnost kupnje na sljedeću kombinaciju dana, popusta i besplatne dostave.
Gdje je B:
- Dan = Praznik
- Popust = Da
- Besplatna dostava = Da
I A = Kupi
Prema tome,
= 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
Kada, A = Nema kupovine
Slično tome, izračunajte uvjetnu vjerojatnost kupnje za sljedeću kombinaciju dana, popusta i besplatne dostave.
Gdje je B:
- Dan = Praznik
- Popust = Da
- Besplatna dostava = Da
I A = Nema kupovine
Prema tome,
= 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
Korak 4) Stoga,
Vjerojatnost kupnje = 0.986
Vjerojatnost da nema kupovine = 0.027
Konačno, imamo uvjetne vjerojatnosti kupnje na ovaj dan. Generalizirajmo sada te vjerojatnosti da dobijemo Vjerojatnost događaja.
- Zbroj vjerojatnosti = 0.986 + 0.027 = 1.013
- Vjerojatnost kupnje = 0.986 / 1.013 = 97.33 %
- Vjerojatnost da nećete kupiti = 0.027 / 1.013 = 2.67 %
Zbroj dvaju rezultata iznosi 1.013, a ne 1, jer pretpostavka neovisnosti čini svaku procjenu približnom, pa se dijeljenjem s ukupnim brojem preračunavaju u postotke.
Imajte na umu da je 97.33% veće od 2.67%. Možemo zaključiti da će prosječan kupac na blagdan kupovati uz popust i besplatnu dostavu.
Vrste naivnog Bayesovog modela
Postoje mnoge vrste Naivnih Bayesovih klasifikatora. Ovdje smo raspravljali o multinomskim, Bernoullijevim i Gaussovim naivnim Bayesovim klasifikatorima.
| Varijanta | Vrsta značajke | Tipična upotreba |
|---|---|---|
| Multinom | Broj riječi | Klasifikacija teme i dokumenta |
| Bernoulli | Binarne zastavice prisutnosti ili odsutnosti | Kratke poruke i filtriranje neželjene pošte |
| Gaussova | Kontinuirane numeričke vrijednosti | Očitavanja i mjerenja senzora |
1. Multinomski naivni Bayes
Ova vrsta Naivno Bayesovog modela koristi se za probleme klasifikacije dokumenata. Radi sa značajkama koje predstavljaju učestalost riječi u dokumentu. Klasifikator razmatra pojavu i broj riječi kako bi odredio vjerojatnost da dokument pripada određenoj kategoriji, kao što je sport, politika ili tehnologija.
2. Bernoulli naivni Bayes
Ovo je slično multinomnom Naivnom Bayesu. Bernoulli Naive Bayesov klasifikator koristi se za zadatke klasifikacije dokumenata. Međutim, koristi Booleove prediktore. Predstavlja je li riječ prisutna ili ne i uzima samo vrijednosti Da ili Ne. Klasifikator izračunava vjerojatnosti na temelju toga pojavljuje li se riječ u tekstu ili ne.
3. Gaussov naivni Bayes
Ovaj se klasifikator koristi u slučaju kontinuirane vrijednosti, ali ne i diskretne vrijednosti. Ovaj klasifikator izračunava vjerojatnosti pomoću parametara Gaussova distribucija, tj. srednja vrijednost i varijanca.
Formula za uvjetnu vjerojatnost mijenja se u,
The scikit učiti Knjižnica dodaje još dvije varijante: Komplementarni naivni Bayes za neuravnotežen tekst i Kategorički naivni Bayes za diskretne kategorije.
Prednosti i ograničenja Naivnog Bayesovog klasifikatora
Postoje razne prednosti i nedostaci Naive Bayes algoritma u strojnom učenju.
Prednosti Naivnog Bayesovog klasifikatora
- Jednostavnost i učinkovitost: Naive Bayes je jednostavan i lagan za obuku i implementaciju. Učinkovit je zbog niske računalne cijene. Može učinkovito rukovati velikim skupovima podataka.
- Brzi trening i predviđanje: Naivni Bayesov model ne zahtijeva toliko podataka za treniranje zbog neovisnosti između značajki. Može brzo predvidjeti nakon što je model treniran.
- skalabilnost: Naivni Bayes može rukovati visokodimenzionalnim skupovima podataka s velikim brojem značajki. Dobro radi čak i kada je broj značajki veći od broja primjera obuke. Skalira se s brojem podatkovnih točaka i prediktora. Obrađuje i kontinuirane i diskretne podatke.
- Otpornost na nebitne značajke: Nije osjetljiv na nebitne značajke.
- Dobro funkcionira s malim setovima za vježbanje: Naivni Bayesov algoritm može pružiti razumne rezultate čak i s ograničenim podacima za obuku. Može se nositi sa situacijama gdje je broj instanci za obuku mali.
Ograničenje Naivnog Bayesovog klasifikatora
Naivni Bayes u stroj za učenje pretpostavlja da su sve značajke neovisne jedna o drugoj. Dakle, ne može naučiti odnose između različitih značajki u podacima. Tretira svaku značajku kao da nema nikakve veze s drugima.
Drugo upozorenje: vjerojatnosti klase koje prikazuje loše su kalibrirane, pa brojka pouzdanosti pridružena predviđanju nije pouzdana vjerojatnost.
Da biste prevladali ovaj problem, možete koristiti Stabla odlučivanja, Slučajne šume, Strojevi potpornih vektora (SVM), Neuronske mreže itd. Ovi algoritmi imaju sposobnost učenja složenih odnosa i ovisnosti između značajki u podacima. Dakle, mogu predvidjeti točnije rezultate.
Primjene Naivnog Bayesovog klasifikatora
Budući da je ovaj algoritam brz i učinkovit, možete ga koristiti za izradu predviđanja u stvarnom vremenu.
Otkrivanje neželjene pošte
Usluge e-pošte (Npr. Gmail) koristite ovaj algoritam za utvrđivanje je li e-pošta neželjena pošta. Ovaj algoritam je izvrstan za filtriranje neželjene pošte.
Analiza osjećaja
Može klasificirati tekst kao pozitivan, negativan ili neutralan na temelju značajki kao što su odabir riječi, struktura rečenice i kontekst. Nalazi primjenu u praćenju društvenih medija, recenzijama kupaca i istraživanju tržišta.
Klasifikacija dokumenata
Može klasificirati dokumente u kategorije kao što su sport, politika, tehnologija ili financije na temelju učestalosti ili prisutnosti određenih riječi ili značajki unutar dokumenta.
Sustavi za preporuke
Može analizirati korisničke preferencije, povijesne podatke i značajke stavki kako bi predvidio interese korisnika ili preferencije za preporuku proizvoda, filmova ili članaka.
Ovaj algoritam klasifikacije se također koristi u prepoznavanju lica, predviđanju vremena, medicinskoj dijagnozi, trgoviniping, Klasifikacija vijesti itd. Naivni Bayesov model možete implementirati u Python, gdje modul sklearn.naive_bayes pruža svaku gore opisanu varijantu.








