Naiivi Bayes-algoritmi koneoppimisessa
⚡ Älykäs yhteenveto
Naiivi Bayes on valvottu, probabilistinen luokittelualgoritmi, joka perustuu Bayesin lauseeseen, olettaen, että jokainen ominaisuus vaikuttaa itsenäisesti. Sen teoria, työpajaping Esimerkiksi kolme mallivarianttia, edut, rajoitukset ja todelliset sovellukset käsitellään alla.

Naiivi Bayesin luokittelualgoritmi
Luokittelija on koneoppimisalgoritmi, joka lajittelee tiedot yhteen tai useampaan "luokkaan". Sähköpostiluokittelija on yksi tuttu esimerkki: se skannaa jokaisen saapuvan viestin ja liittää siihen luokkatunnisteen, joka on joko Roskaposti tai Ei roskapostia.
Naiivi Bayes-luokittelija koneoppimisessa on valvottu oppiminen luokittelutehtävissä käytetty algoritmi.
Alla oleva kaavio hahmottelee kyseisen virtauksen.
Naive Bayesiä käytetään luokitteluongelmien ratkaisemiseen. Se ennustaa kohteen todennäköisyyden perusteella. Naive Bayes perustuu Bayesin lauseeseen ja sitä käytetään enimmäkseen tekstin luokitteluun. Naive Bayes on todennäköisyyspohjainen luokittelualgoritmi, joka on helppo toteuttaa ja nopeasti koulutettava.
Koska naiivi Bayes-luokittelija perustuu Bayesin lauseeseen, sitä kutsutaan myös todennäköisyysluokittelijaksi. Se ennustaa jonkin kohteen todennäköisyyden perusteella.
Miksi sitä kutsutaan naiiviksi Bayesiksi?
Nimessä Naive Bayes on kaksi osaa: Naive ja Bayes. Miksi naiivi? Algoritmi ei huomioi ominaisuuksien esiintymisjärjestystä, joten "You are" ja "Are you" näyttävät identtisiltä. Se olettaa myös, ettei mikään ominaisuus vaikuta mihinkään toiseen. Omenan tunnistamiseen käytetään punaista väriä, pallomaista muotoa ja makeaa makua, ja algoritmi käsittelee kutakin näistä vihjeistä erillisenä, itsenäisenä todisteena.
- Naiivi Bayes-luokittelija olettaa, että ominaisuudet ovat toisistaan riippumattomia. Koska tämä on harvoin mahdollista tosielämän datassa, luokittelijaa kutsutaan naiiviksi.
- Tämä luokittelualgoritmi perustuu Bayesin lauseeseen, joten sitä kutsutaan naiiviksi Bayesin luokittelijaksi.
Naiivi Bayesin lause
Bayesin lausetta käytetään hypoteesin todennäköisyyden löytämiseen ehdollisilla todennäköisyyksillä, jotka riippuvat ennakkotiedosta. Tämä lause on nimetty Thomas Bayesin mukaan. Naiivi Bayesin luokittelija toimii ehdollisen todennäköisyyden periaatteella, kuten Bayesin lauseessa esitetään.
Ymmärtääksemme Bayesin lauseen, tarkastellaan yksinkertaista naiivia Bayes-luokittelijaesimerkkiä kahden kolikon heittämisestä. Heittämällä kaksi kolikkoa saadaan seuraavat esimerkkiavaruudet: {HH, HT, TH, TT}. Näiden tapahtumien todennäköisyydet ovat siis:
- Kahden pään saaminen = 1/4
- Vähintään yksi häntä = 3/4
- Toisen kolikon pää on annettu ensimmäisen kolikon häntä = 1/2
- Kahden pään saaminen ensimmäisellä kolikolla on pää = 1/2
Bayesin lause laskee tapahtuman todennäköisyyden toisen, jo tapahtuneen tapahtuman todennäköisyyden perusteella. Bayesin lauseen kaava on annettu seuraavasti:
P(A|B) = (P(B|A) * P(A)) / P(B)
P(A|B) on tapahtuman A todennäköisyys, kun tapahtuma B on jo tapahtunut. Todennäköisyys P(B) ei saa olla nolla.
- Sinun on löydettävä tapahtuman A todennäköisyys, joka annetaan, kun tapahtuma B (todisteet) on tosi.
- P(A) on tapahtuman A prioritodennäköisyys eli tapahtuman todennäköisyys ennen kuin siitä havaitaan mitään todisteita. Tässä tapahtuma B on tuntemattoman esiintymän arvo.
- P(A|B) on tapahtuman A posterioritodennäköisyys eli tapahtuman A todennäköisyys todistusaineiston B tarkastelun jälkeen.
Naiivin Bayes-luokittelijan toimiva esimerkki
Nopein tapa nähdä kaavan toimivuus on ajaa se käsin.
Otetaan esimerkiksi kaupastaping ymmärtää Bayesin naiivin luokittelijan toimintaa. Tässä aineistossa on pieni, 30 rivin esimerkkiaineisto tätä esimerkkiä varten.
aineisto
Ongelmana on ennustaa, ostaako henkilö tuotteen tietyllä päivä-, alennus- ja ilmaistoimituksen yhdistelmällä Naive Bayes -lauseen avulla.
Vaihe 1) Luomme kullekin määritteelle taajuustaulukot käyttämällä tietojoukossa mainittuja syöttötyyppejä, kuten päivät, alennus ja ilmainen toimitus.
Olkoon tapahtuma 'Osta' merkittynä 'A':lla ja riippumattomat muuttujat, eli 'Alennus', 'Ilmainen toimitus' ja 'Päivä', merkittynä 'B':llä. Käytämme näitä tapahtumia ja muuttujia Bayesin lauseen soveltamiseen.
Vaihe 2) Lasketaan nyt todennäköisyystaulukot yksitellen.
Esimerkki 1:
Tämän todennäköisyystaulukon perusteella laskemme ehdolliset todennäköisyydet alla kuvatulla tavalla.
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 etsi P(A/B) Bayesin lauseen avulla,
P(A/B) = P(No Buy / Weekday) = P(Weekday / No Buy) * P(No Buy) / P(Weekday) = (2/6 * 6/30) / (11/30) = 0.1818
Vastaavasti, jos A on Osta, niin
= P(Buy / Weekday) = P(Weekday / Buy) * P(Buy) / P(Weekday) = (9/24 * 24/30) / (11/30) = 0.8181
Huomautus: Koska P(Osta | Viikonpäivä) on enemmän kuin P(Ei osta | Viikonpäivä), voimme päätellä, että asiakas ostaa tuotteen todennäköisesti arkipäivänä.
Vaihe 3) Vastaavasti voimme laskea tapahtuman todennäköisyyden kaikkien kolmen muuttujan perusteella. Nyt laskemme todennäköisyystaulukot kaikille kolmelle muuttujalle käyttämällä yllä olevia taajuustaulukoita.
Esimerkki 2:
Nyt näiden kolmen todennäköisyystaulukon avulla laskemme, tekeekö asiakas todennäköisesti ostoksen tietyn 'Päivä', 'Alennus' ja 'Ilmainen toimitus' -yhdistelmän perusteella.
Otetaanpa tässä näiden tekijöiden yhdistelmä:
- Päivä = loma
- Alennus = Kyllä
- Ilmainen toimitus = Kyllä
Milloin, A = Osta
Laske ehdollinen ostotodennäköisyys seuraavan päivän, alennuksen ja ilmaisen toimituksen yhdistelmällä.
Missä B on:
- Päivä = loma
- Alennus = Kyllä
- Ilmainen toimitus = Kyllä
Ja A = Osta
Näin ollen,
= 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
Milloin, A = Ei osta
Samoin Laske ehdollinen ostotodennäköisyys seuraavalle päivän, alennuksen ja ilmaisen toimituksen yhdistelmälle.
Missä B on:
- Päivä = loma
- Alennus = Kyllä
- Ilmainen toimitus = Kyllä
Ja A = Ei osta
Näin ollen,
= 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
Vaihe 4) Siten,
Ostotodennäköisyys = 0.986
Todennäköisyys, että ostoa ei tehdä = 0.027
Lopuksi meillä on ehdolliset todennäköisyydet ostaa tänä päivänä. Yleistetään nyt nämä todennäköisyydet, jotta saadaan tapahtumien todennäköisyys.
- Todennäköisyyksien summa = 0.986 + 0.027 = 1.013
- Ostotodennäköisyys = 0.986 / 1.013 = 97.33 %
- Ostamatta jättämisen todennäköisyys = 0.027 / 1.013 = 2.67 %
Kahden pistemäärän summa on 1.013 yhden sijaan, koska riippumattomuusoletuksen vuoksi molemmat arviot ovat likimääräisiä, joten jakaminen kokonaissummalla skaalaa ne prosenttiosuuksiksi.
Huomaa, että koska 97.33 % on suurempi kuin 2.67 %. Voimme päätellä, että keskivertoasiakas ostaa lomalla alennuksella ja ilmaisella toimituksella.
Naiivin Bayes-mallin tyypit
Naive Bayes -luokittajia on monenlaisia. Tässä olemme keskustelleet Multinomial-, Bernoulli- ja Gaussian Naive Bayes -luokittelijoista.
| variantti | Ominaisuuden tyyppi | Tyypillinen käyttö |
|---|---|---|
| Multinomi | Sanamäärät | Aihe- ja asiakirjaluokittelu |
| Bernoulli | Binääriset läsnä- tai poissaololiput | Lyhyet tekstiviestit ja roskapostin suodatus |
| Gaussin | Jatkuvat numeeriset arvot | Anturien lukemat ja mittaukset |
1. Multinomiaaliset Naive Bayes
Tämän tyyppistä Naive Bayes -mallia käytetään dokumenttien luokitteluongelmiin. Se toimii ominaisuuksien kanssa, jotka edustavat sanojen tiheyttä asiakirjassa. Luokitin huomioi sanojen esiintymisen ja määrän määrittääkseen todennäköisyyden, että asiakirja kuuluu tiettyyn luokkaan, kuten urheiluun, politiikkaan tai tekniikkaan.
2. Bernoulli Naive Bayes
Tämä on samanlainen kuin multinomi Naive Bayes. Bernoulli Naive Bayes -luokitinta käytetään dokumenttien luokittelutehtäviin. Se käyttää kuitenkin loogisia ennustajia. Se ilmaisee, onko sana läsnä vai ei, ja ottaa vain arvot Kyllä tai Ei. Luokitin laskee todennäköisyydet sen perusteella, esiintyykö sana tekstissä vai ei.
3. Gaussin naiivi Bayes
Tätä luokittelua käytetään jatkuvan arvon, mutta ei diskreetin arvon, tapauksessa. Tämä luokitin laskee todennäköisyydet käyttämällä parametreja Gaussin jakauma eli keskiarvo ja varianssi.
Ehdollisen todennäköisyyden kaava muuttuu
scikit opittava kirjastoon lisätään kaksi uutta varianttia: komplementtisen naiivin Bayesin epätasapainoiselle tekstille ja kategorisen naiivin Bayesin diskreeteille kategorioille.
Naive Bayes -luokittimen edut ja rajoitukset
Naive Bayes -algoritmilla on useita etuja ja haittoja koneoppimisessa.
Naive Bayes -luokittimen edut
- Yksinkertaisuus ja tehokkuus: Naive Bayes on yksinkertainen ja helppo kouluttaa ja toteuttaa. Se on tehokas alhaisten laskentakustannusten vuoksi. Se pystyy käsittelemään suuria tietojoukkoja tehokkaasti.
- Nopea koulutus ja ennustaminen: Naiivi Bayes ei vaadi yhtä paljon harjoitusdataa ominaisuuksien välisen riippumattomuuden vuoksi. Se pystyy ennustamaan nopeasti, kun malli on koulutettu.
- Skaalautuvuus: Naive Bayes pystyy käsittelemään suuriulotteisia tietojoukkoja, joissa on suuri määrä ominaisuuksia. Se toimii hyvin, vaikka ominaisuuksien määrä on suurempi kuin koulutusesimerkkien määrä. Se skaalautuu datapisteiden ja ennustajien lukumäärän mukaan. Se käsittelee sekä jatkuvaa että erillistä dataa.
- Kestävyys epäolennaisiin ominaisuuksiin: Se ei ole herkkä epäolennaisille ominaisuuksille.
- Toimii hyvin pienten harjoitussarjojen kanssa: Naiivi Bayes voi tarjota kohtuullisia tuloksia jopa rajoitetulla harjoitusdatalla. Se pystyy käsittelemään tilanteita, joissa harjoitusinstanssien määrä on pieni.
Naive Bayes -luokittimen rajoitus
Naiivi Bayes sisään koneoppiminen olettaa, että kaikki ominaisuudet ovat toisistaan riippumattomia. Joten se ei voi oppia suhteita datan eri ominaisuuksien välillä. Se käsittelee jokaista ominaisuutta ikään kuin sillä ei olisi mitään yhteyttä muihin.
Toinen varoitus: sen raportoimat luokkatodennäköisyydet on kalibroitu huonosti, joten ennusteeseen liitetty luottamusluku ei ole luotettava todennäköisyys.
Voit ratkaista tämän ongelman käyttämällä Päätöspuut, Satunnaiset metsät, Tukivektorikoneet (SVM), Neuraaliverkot jne. Näillä algoritmeilla on kyky oppia monimutkaisia suhteita ja riippuvuuksia datan ominaisuuksien välillä. Joten ne voivat ennustaa tarkempia tuloksia.
Naive Bayes -luokittimen sovellukset
Koska tämä algoritmi on nopea ja tehokas, voit käyttää sitä reaaliaikaisten ennusteiden tekemiseen.
Roskapostin tunnistus
Sähköpostipalvelut (kuten Gmail) käyttävät tätä algoritmia määrittääkseen, onko sähköposti roskapostia. Tämä algoritmi sopii erinomaisesti roskapostin suodatukseen.
Aistien analyysi
Se voi luokitella tekstin positiiviseksi, negatiiviseksi tai neutraaliksi ominaisuuksien, kuten sanavalinnan, lauserakenteen ja kontekstin, perusteella. Se löytää sovelluksia sosiaalisen median seurannassa, asiakasarvosteluissa ja markkinatutkimuksessa.
Asiakirjojen luokittelu
Se voi luokitella asiakirjat luokkiin, kuten urheilu, politiikka, tekniikka tai talous, perustuen tiettyjen sanojen tai ominaisuuksien esiintymistiheyteen tai esiintymiseen asiakirjassa.
Suositusjärjestelmät
Se voi analysoida käyttäjien mieltymyksiä, historiallisia tietoja ja tuoteominaisuuksia ennustaakseen käyttäjien kiinnostuksen kohteita tai mieltymyksiä suositella tuotteita, elokuvia tai artikkeleita.
Tätä luokittelualgoritmia käytetään myös kasvojentunnistuksessa, sääennusteissa, lääketieteellisissä diagnooseissa, kaupoissa ja muissa palveluissa.ping, Uutisten luokittelu jne. Voit toteuttaa naiivin Bayesin Python, jossa sklearn.naive_bayes-moduuli tarjoaa kaikki edellä kuvatut variantit.








