Mis on Naive Bayes'i algoritm?

Naiivne Bayesi algoritm on tehnika, mis aitab klassifitseerijaid konstrueerida. Klassifikaatorid on mudelid, mis klassifitseerivad probleeminäited ja annavad neile klassimärgiseid, mis on esindatud ennustajate või omaduste väärtuste vektoritena. See põhineb Bayesi teoreemil. Seda nimetatakse naiivseks Bayesiks, kuna eeldatakse, et funktsiooni väärtus ei sõltu teisest tunnusest, st funktsiooni väärtuse muutmine ei mõjuta teise tunnuse väärtust. Samal põhjusel kutsutakse seda ka idioodiks Bayesiks. See algoritm töötab tõhusalt suurte andmekogumite korral, seega sobib kõige paremini reaalajas ennustamiseks.

See aitab arvutada tagumise tõenäosuse P (c | x), kasutades klassi P (c) eeldatavat tõenäosust, ennustaja P (x) eelnevat tõenäosust ja ennustajale antud klassi tõenäosust, mida nimetatakse ka tõenäosuseks P (x | c) ).

Tagumise tõenäosuse arvutamiseks kasutatav valem või võrrand on järgmine:

  • P (c | x) = (P (x | c) * P (c)) / P (x)

Kuidas Naive Bayes'i algoritm töötab?

Mõistagem Naive Bayes'i algoritmi toimimist näite abil. Eeldame ilmastiku treeningandmete komplekti ja sihtmuutujat 'Going shopping'. Nüüd klassifitseerime, kas tüdruk läheb ilmastikuolude põhjal poodlema.

Antud andmekogum on:

IlmKäin poes
PäikeselineEi
VihmaneJah
PilvineJah
PäikeselineJah
PilvineJah
VihmaneEi
PäikeselineJah
PäikeselineJah
VihmaneEi
VihmaneJah
PilvineJah
VihmaneEi
PilvineJah
PäikeselineEi

Järgmised toimingud viiakse läbi:

1. samm. Andmekomplektide abil tehke sagedustabelid.

IlmJahEi
Päikeseline32
Pilvine40
Vihmane23
Kokku95

2. samm: koostage tõenäosustabel, arvutades välja iga ilmastikuolude ja sisseostude tõenäosused.

IlmJahEiTõenäosus
Päikeseline325/14 = 0, 36
Pilvine404/14 = 0, 29
Vihmane235/14 = 0, 36
Kokku95
Tõenäosus9/14 = 0, 645/14 = 0, 36

3. samm: Nüüd peame arvutama tagumise tõenäosuse, kasutades iga klassi Naive Bayes võrrandit.

Probleemijuhtum: Tüdruk läheb poodlema, kui ilm on pilves. Kas see väide on õige?

Lahendus:

  • P (jah | pilves) = (P (pilves | jah) * P (jah)) / P (pilves)
  • P (Osaliselt | Jah) = 4/9 = 0, 44
  • P (jah) = 9/14 = 0, 64
  • P (pilves) = 4/14 = 0, 39

Pange kõik arvutatud väärtused ülaltoodud valemisse

  • P (jah | pilves) = (0, 44 * 0, 64) / 0, 39
  • P (jah | Osaliselt pilves) = 0, 722

Klass, millel on suurim tõenäosus, oleks ennustuse tulemus. Sama lähenemisviisi kasutades on võimalik ennustada erinevate klasside tõenäosusi.

Milleks kasutatakse Naive Bayesi algoritmi?

1. Reaalajas ennustamine: Naive Bayes'i algoritm on kiire ja alati valmis õppima, seega sobib see reaalajas ennustamiseks kõige paremini.

2. Mitmeklassiline ennustamine: suvalise sihtmuutuja mitme klassi klasside tõenäosust saab ennustada Naive Bayes'i algoritmi abil.

3. Soovitussüsteem: Naive Bayes'i klassifikaator töötab koostöös filtreerimise abil välja soovitussüsteemi. See süsteem kasutab andmete kaevandamise ja masinõppe tehnikaid, et filtreerida teave, mida varem ei nähtud, ja seejärel ennustada, kas kasutaja hindab antud ressurssi või mitte.

4. Teksti klassifikatsioon / sentimentide analüüs / rämpsposti filtreerimine: tänu paremale jõudlusele mitme klassi probleemidega ja sõltumatuse reeglile, täidab Naive Bayes algoritm teksti klassifitseerimisel paremaid tulemusi või on kõrgema edukusega, seetõttu kasutatakse seda sentimentide analüüsis ja Rämpsposti filtreerimine.

Naiivse Bayesi algoritmi eelised

  • Lihtne rakendada.
  • Kiire
  • Kui sõltumatuse eeldus kehtib, siis töötab see teiste algoritmidega võrreldes tõhusamalt.
  • See nõuab vähem treeningandmeid.
  • See on väga skaleeritav.
  • See võib teha tõenäosuslikke ennustusi.
  • Saab hakkama nii pidevate kui ka diskreetsete andmetega.
  • Tundlik ebaoluliste tunnuste suhtes.
  • Puuduvate väärtuste korral saab see hõlpsalt töötada.
  • Lihtne värskendada uute andmete saabumisel.
  • Sobib kõige paremini teksti klassifitseerimise probleemidele.

Naiivse Bayesi algoritmi puudused

  • Tugev eeldus funktsioonide sõltumatuse kohta, mis reaalsetes rakendustes vaevalt vastab.
  • Andmete nappus.
  • Täpsuse kaotamise võimalused.
  • Nullsagedus, st kui ühegi kategoorilise muutuja kategooriat treeningute andmekogumis ei nähta, määrab mudel sellele kategooriale null tõenäosuse ja siis ei saa ennustada.

Kuidas ehitada põhimudelit, kasutades Naive Bayes algoritmi

Naive Bayes'i mudeleid on kolme tüüpi, st Gaussian, Multinomial ja Bernoulli. Arutleme neist lühidalt.

1. Gaussi: Gaussi naiivse Bayesi algoritm eeldab, et igale tunnusele vastavad pidevad väärtused jagunevad vastavalt Gaussi jaotusele, mida nimetatakse ka normaaljaotuseks.

Eeldatakse, et antud klassi ennustaja tõenäosus või eelnev tõenäosus on Gaussi väärtus, seetõttu saab tingimusliku tõenäosuse arvutada järgmiselt:

2. Multinomiaalne: tunnusvektoritega tähistatud teatud sündmuste esinemissagedused genereeritakse multinomaalse jaotuse abil. Seda mudelit kasutatakse laialdaselt dokumentide klassifitseerimisel.

3. Bernoulli: Selles mudelis kirjeldatakse sisendeid tunnustega, mis on sõltumatud binaarsed muutujad või Booleans. Seda kasutatakse laialdaselt ka dokumentide klassifitseerimisel nagu Multinomial Naive Bayes.

Andmekogumi käitlemiseks ja klassifitseerimiseks võite kasutada mõnda ülaltoodud mudelit.

Saate Pythoni abil Gaussi mudeli ehitada, mõistes allpool toodud näidet:

Kood:

from sklearn.naive_bayes import GaussianNB
import numpy as np
a = np.array((-2, 7), (1, 2), (1, 5), (2, 3), (1, -1), (-2, 0), (-4, 0), (-2, 2), (3, 7), (1, 1), (-4, 1), (-3, 7)))
b = np.array((3, 3, 3, 3, 4, 3, 4, 3, 3, 3, 4, 4, 4))
md = GaussianNB()
md.fit (a, b)
pd = md.predict (((1, 2), (3, 4)))
print (pd)

Väljund:

((3, 4))

Järeldus

Selles artiklis õppisime üksikasjalikult Naive Bayes'i algoritmi mõisteid. Enamasti kasutatakse seda teksti klassifitseerimisel. Seda on lihtne rakendada ja kiiresti teostada. Selle peamine puudus on see, et funktsioonid peavad olema sõltumatud, mis ei vasta tõelistes rakendustes.

Soovitatavad artiklid

See on olnud Naive Bayes'i algoritmi juhend. Siin arutasime Naive Bayes'i algoritmi põhimõtet, toimimist, eeliseid ja puudusi. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. Algoritmi suurendamine
  2. Algoritm programmeerimisel
  3. Sissejuhatus algoritmi

Kategooria: