Naive Bayes -algoritmi on todennäköisyystilastoihin perustuva luokittelumenetelmä, joka käyttää Bayesin lausetta ja ominaisuuden ehdollisen riippumattomuuden oletusta ennustamaan otoksen luokkaa. Vaikka sen oletus, että ominaisuudet ovat toisistaan riippumattomia, ei useinkaan pidä paikkaansa, Naive Bayes -luokittimella on etuja, kuten yksinkertainen laskenta, korkea tehokkuus ja epäherkkyys puuttuville tiedoille. Sitä on käytetty laajalti tekstiluokituksessa, roskapostin suodatuksessa, tunneanalyysi ja muut alat Laaja valikoima sovelluksia.
Bayesin lause on naiivin Bayes-luokittajan perusta, joka kuvaa ehdollisten todennäköisyyksien välistä suhdetta.Luokitteluongelmissa olemme huolissamme annetuista ominaisuuksista XXXAlla oleva näyte kuuluu tiettyyn luokkaan YYYTodennäköisyys , eli posteriorinen todennäköisyys P ( Y ∣ X ) P(Y|X)P(Y∣X) .Bayesin lause sallii meidän ohittaa aiemmat todennäköisyydet P ( Y ) P (Y)P(Y),Ehdollinen todennäköisyys P ( X ∣ Y ) P(X|Y)P(X∣Y)ja todisteiden todennäköisyys P ( X ) P (X)P(X)laskeaksesi posteriorin todennäköisyyden.
Tyypillinen ehdollisen riippumattomuuden hypoteesi
Naive Bayes -algoritmin ydinoletus on, että ominaisuudet ovat toisistaan riippumattomia, eli yhden ominaisuuden esiintymisellä ei ole mitään tekemistä muiden ominaisuuksien kanssa. Tämä oletus yksinkertaistaa laskentaa suuresti, koska voimme jakaa yhteisen todennäköisyysjakauman useiden marginaalisten todennäköisyysjakaumien tuloksi. Tämä oletus ei kuitenkaan usein pidä paikkaansa todellisuudessa, mutta kokeet osoittavat, että Naive Bayes -luokittaja voi silti saavuttaa monissa tapauksissa hyviä luokitustuloksia.
Parametrien arvio
Naive Bayes -algoritmissa meidän on arvioitava aiempi todennäköisyys P ( Y ) P (Y)P(Y)ja ehdollinen todennäköisyys P ( X ∣ Y ) P(X|Y)P(X∣Y) . Aikaisemman todennäköisyyden osalta se voidaan yleensä laskea suoraan harjoitustiedoista. Ehdollisen todennäköisyyden vuoksi eri Naive Bayes -toteutusmenetelmillä on erilaiset prosessointimenetelmät, kuten polynomiaaliset naiivilahdet (sopii diskreeteille ominaisuuksille), Gaussin naiivilahdet (sopii jatkuville ominaisuuksille) jne.
Algoritmin etujen ja haittojen analyysi
etu
Korkea laskentatehokkuus:
Naive Bayes -algoritmin ydinetu on sen tehokas laskentasuorituskyky. Koska piirteiden oletetaan olevan toisistaan riippumattomia, yhteinen todennäköisyysjakauma voidaan hajottaa useiden marginaalisten todennäköisyysjakaumien tuloksi, mikä yksinkertaistaa huomattavasti laskentaprosessia. Tämän ansiosta Naive Bayes -algoritmi voi ylläpitää nopeaa käsittelynopeutta käsiteltäessä suuria tietojoukkoja.
Lisäksi Naive Bayes -algoritmi vaatii yleensä vain yksinkertaisia matemaattisia operaatioita, kuten kerto-, yhteenlasku- ja eksponentiaalioperaatioita opetus- ja ennustusvaiheissa, ja nämä toiminnot ovat erittäin tehokkaita toteutettavissa tietokoneilla.
Epäherkkä puuttuville tiedoille:
Käytännön sovelluksissa tietojoukot sisältävät usein puuttuvia arvoja tai ovat epätäydellisiä. Naive Bayes -algoritmi osoittaa hyvää kestävyyttä tällaisten ongelmien käsittelyssä. Vaikka jotkin ominaisuusarvot puuttuvat, algoritmi pystyy silti hyödyntämään muita ominaisuuksia ennustamiseen ilman monimutkaista esikäsittelyä tai puuttuvien arvojen täyttämistä.
Tämä johtuu siitä, että kun Naive Bayes -algoritmi laskee ehdollisen todennäköisyyden, jokainen piirre otetaan huomioon itsenäisesti, joten tietyn ominaisuuden puuttuminen ei vaikuta muiden ominaisuuksien ehdollisen todennäköisyyden laskemiseen.
Malli on yksinkertainen ja helppo toteuttaa:
Naive Bayes -algoritmin mallirakenne on suhteellisen yksinkertainen ja helppo ymmärtää ja toteuttaa. Se ei vaadi monimutkaisia iteratiivisia prosesseja tai optimointialgoritmeja, vain yksinkertaisia matemaattisia operaatioita koulutuksen ja ennustamisen suorittamiseksi. Tämän ansiosta ei-asiantuntijat voivat helposti käyttää Naive Bayes -algoritmia todellisten ongelmien ratkaisemiseen.
Lisäksi mallin yksinkertaisuuden vuoksi Naive Bayes -algoritmi on helpompi selittää ja visualisoida, mikä auttaa käyttäjiä ymmärtämään mallin päätöksentekoprosessia ja tuloksia.
Luokittelutulokset ovat yleensä parempia:
Vaikka Naive Bayes -algoritmi perustuu vahvaan oletukseen (ominaisuus ehdollinen riippumattomuus), sillä voidaan silti saavuttaa hyviä luokitustuloksia monissa käytännön sovelluksissa. Tämä voi johtua siitä, että käytännön ongelmissa ominaisuuksien välinen korrelaatio ei aina ole vahva, tai vaikka korrelaatio olisikin olemassa, Naive Bayes -algoritmi voi kompensoida tämän muilla tavoilla (kuten ominaisuuden valinnalla, parametrien säädöllä jne.) Virhe .
puute
Oletus ominaisesta ehdollisesta riippumattomuudesta ei päde:
Naive Bayes -algoritmin suurin haitta on, että se olettaa ominaisuuksien olevan toisistaan riippumattomia, mikä ei useinkaan pidä paikkaansa todellisuudessa. Ominaisuuksien välillä on usein monimutkaisia vuorovaikutuksia ja korrelaatioita, jotka jätetään huomiotta Naive Bayes -algoritmissa. Tämä saattaa aiheuttaa sen, että algoritmi ei joissain tapauksissa pysty sieppaamaan tarkasti tietojen todellista jakaumaa, mikä vaikuttaa luokitteluvaikutukseen.
Tämän ongelman lievittämiseksi tutkijat ovat ehdottaneet monia parannusmenetelmiä, kuten Semi-Naive Bayes -algoritmia, jotka lieventävät ominaisuusehtoriippumattomuusoletuksen rajoitusta jossain määrin, mutta myös laskennallinen monimutkaisuus kasvaa vastaavasti.
Herkkä syötetietojen esittämiselle:
Naive Bayes -algoritmin suorituskyky riippuu suurelta osin syöttödatan esityksestä. Esimerkiksi tekstin luokitteluongelmissa esikäsittelyvaiheilla, kuten sanan segmentoinnin laadulla, lopetussanojen poistamisella ja sanapussimallien rakentamisella, on tärkeä vaikutus luokittelutuloksiin. Jos syötetietojen lausekemuoto ei ole riittävän tarkka tai kohtuullinen, Naive Bayes -algoritmin luokitteluvaikutus voi vaikuttaa suuresti.
Siksi ennen Naive Bayes -algoritmin käyttöä vaaditaan huolellista tietojen esikäsittelyä ja ominaisuuksien valintaa sen varmistamiseksi, että syöttötiedot voivat kuvastaa tarkasti ongelman luonnetta ja ominaisuuksien välistä suhdetta.
Parametriarvioiden herkkyys:
Naive Bayes -algoritmi edellyttää parametrien, kuten ennakkotodennäköisyyden ja ehdollisen todennäköisyyden, estimoimista. Näiden parametrien estimointituloksilla on suuri vaikutus algoritmin luokitteluvaikutukseen. Jos parametriarviot ovat epätarkkoja tai vääristyneitä, se voi vaikuttaa algoritmin luokittelukykyyn.
Parametrien arvioinnin tarkkuuden parantamiseksi voidaan käyttää monimutkaisempia todennäköisyysmalleja (kuten Gaussian Naive Bayes, Polynomial Naive Bayes jne.) sovittamaan datan jakaumaan, mutta tämä lisää myös laskennan monimutkaisuutta ja mallin monimutkaisuutta.
Luokkaepätasapainoongelma:
Naive Bayes -algoritmi voi kärsiä käsiteltäessä luokka-epätasapainoisia tietojoukkoja. Luokkaepätasapaino tarkoittaa, että tietyn luokan näytteiden määrä tietojoukossa on paljon suurempi kuin muiden luokkien näytteiden määrä. Tässä tapauksessa Naive Bayes -algoritmi voi pyrkiä ennustamaan näytteitä useisiin luokkiin, mikä johtaa huonoihin luokitustuloksiin.
Luokkaepätasapainoongelman lievittämiseksi voidaan käyttää uudelleennäytteenottotekniikoita (kuten yli-, alinäytteenottoa jne.) tietojoukon luokkajakauman säätämiseen tai arviointiindikaattoreita, jotka voivat käsitellä luokkaepätasapainoa (kuten F1-pisteet, ROC-käyrät). jne.) voidaan käyttää algoritmin suorituskyvyn arvioimiseen.
Muita esimerkkejä ja koodin toteutus
Esimerkki 3: Roskapostin suodatus
kohtauksen kuvaus: Luokittele sähköpostit Naive Bayes -algoritmilla sen määrittämiseksi, ovatko ne roskapostia.
Tietojen esikäsittely:
Muunna sähköpostin teksti Bag of Words -malliksi huomioimatta sanojen järjestystä ja kielioppirakennetta.
Laske sanan tärkeys käyttämällä tekniikoita, kuten TF-IDF.
Koodi(Jotkin yksityiskohdat, kuten tietojen lataaminen ja esikäsittely, jätetään pois):
Naive Bayes -algoritmia on käytetty laajalti sellaisilla aloilla kuin tekstin luokittelu ja roskapostin suodatus sen yksinkertaisuuden ja tehokkuuden vuoksi. Vaikka sen ominaisehtoriippumattomuusoletus ei useinkaan päde todellisuudessa, tämän oletuksen yksinkertaistaminen tekee algoritmin laskentaprosessista erittäin tehokkaan. Kohtuullisen tiedon esikäsittelyn ja ominaisuuksien valinnan avulla Naive Bayes -algoritmi voi saavuttaa hyviä tuloksia monissa käytännön sovelluksissa.