Naive Bayes explicat: funcție, avantaje și dezavantaje, aplicații în 2022

Publicat: 2021-01-05

Naive Bayes este un algoritm de învățare automată pe care îl folosim pentru a rezolva probleme de clasificare. Se bazează pe teorema Bayes. Este unul dintre cei mai simpli, dar puternici algoritmi ML în uz și găsește aplicații în multe industrii.

Să presupunem că trebuie să rezolvi o problemă de clasificare și că ai creat caracteristicile și ai generat ipoteza, dar superiorii tăi vor să vadă modelul. Aveți numeroase puncte de date (lakh de puncte de date) și multe variabile pentru a antrena setul de date. Cea mai bună soluție pentru această situație ar fi folosirea clasificatorului Naive Bayes, care este destul de rapid în comparație cu alți algoritmi de clasificare.

În acest articol, vom discuta acest algoritm în detaliu și vom afla cum funcționează. Vom discuta, de asemenea, avantajele și dezavantajele sale, împreună cu aplicațiile sale din lumea reală, pentru a înțelege cât de esențial este acest algoritm.

Alăturați-vă Cursului de învățare profundă online de la cele mai bune universități din lume – Master, Programe Executive Postuniversitare și Program de Certificat Avansat în ML și AI pentru a vă accelera cariera.

Să începem:

Cuprins

Naiv Bayes a explicat

Naive Bayes folosește teorema lui Bayes și presupune că toți predictorii sunt independenți. Cu alte cuvinte, acest clasificator presupune că prezența unei anumite caracteristici într-o clasă nu afectează prezența alteia.

Iată un exemplu: ați considera că fructele sunt portocalii dacă sunt rotunde, portocalii și au în jur de 3,5 inci în diametru. Acum, chiar dacă aceste caracteristici necesită existența reciprocă, toate contribuie în mod independent la presupunerea dvs. că acest fruct special este portocaliu. De aceea, acest algoritm are „Naive” în numele său.

Construirea modelului Naive Bayes este destul de simplă și vă ajută să lucrați cu seturi de date vaste. Mai mult, această ecuație este populară pentru a depăși multe tehnici avansate de clasificare în ceea ce privește performanța.

Iată ecuația pentru Naive Bayes:

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

P(c|x) = P(x1 | c) x P(x2 | c) x … P(xn | c) x P(c)

Aici, P (c|x) este probabilitatea posterioară conform predictorului (x) pentru clasa (c). P(c) este probabilitatea anterioară a clasei, P(x) este probabilitatea anterioară a predictorului și P(x|c) este probabilitatea predictorului pentru clasa particulară (c).

În afară de a lua în considerare independența fiecărei caracteristici, Naive Bayes presupune, de asemenea, că acestea contribuie în mod egal. Acesta este un punct important de reținut.

Cum funcționează Naive Bayes?

Pentru a înțelege cum funcționează Naive Bayes, ar trebui să discutăm un exemplu.

Să presupunem că vrem să găsim mașini furate și să avem următorul set de date:

Nr. de serie Culoare Tip Origine A fost furat?
1 roșu Sport Intern da
2 roșu Sport Intern Nu
3 roșu Sport Intern da
4 Galben Sport Intern Nu
5 Galben Sport Importat da
6 Galben SUV Importat Nu
7 Galben SUV Importat da
8 Galben SUV Intern Nu
9 roșu SUV Importat Nu
10 roșu Sport Importat da

Conform setului nostru de date, putem înțelege că algoritmul nostru face următoarele ipoteze:

  • Se presupune că fiecare caracteristică este independentă. De exemplu, culoarea „Galben” a unei mașini nu are nimic de-a face cu originea sau tipul acesteia.
  • Oferă fiecărei caracteristici același nivel de importanță. De exemplu, cunoașterea doar a Culorii și a originii ar prezice rezultatul corect. De aceea fiecare caracteristică este la fel de importantă și contribuie în mod egal la rezultat.

Acum, cu setul nostru de date, trebuie să clasificăm dacă hoții fură o mașină în funcție de caracteristicile acesteia. Fiecare rând are intrări individuale, iar coloanele reprezintă caracteristicile fiecărei mașini. În primul rând, avem o mașină sport roșie cu origine domestică furată. Vom afla dacă hoții ar fura un SUV Red Domestic sau nu (setul nostru de date nu are o intrare pentru un SUV Red Domestic).

Putem rescrie teorema Bayes pentru exemplul nostru ca:

P(y | X) = [P(X | y) P(y)P(X)]/P(X)

Aici, y reprezintă variabila de clasă (Was it Stolen?) pentru a arăta dacă hoții au furat mașina nu conform condițiilor. X reprezintă caracteristici.

X = x1, x2, x3, …., xn)

Aici, x1, x2,…, xn reprezintă caracteristicile. Le putem mapa pentru a fi Tip, Origine și Culoare. Acum, vom înlocui X și vom extinde regula lanțului pentru a obține următoarele:

P(y | x1, …, xn) = [P(x1 | y) P(x2 | y) … P(xn | y) P(y)]/[P(x1) P (x2) … P(xn )]

Puteți obține valorile pentru fiecare folosind setul de date și punându-le valorile în ecuație. Numitorul va rămâne static pentru fiecare intrare din setul de date pentru ao elimina și a injecta proporționalitate.

P(y | x1, …, xn) ∝ P(y) i = 1nP(xi | y)

În exemplul nostru, y are doar două rezultate, da sau nu.

y = argmaxyP(y) i = 1nP(xi | y)

Putem crea un tabel de frecvență pentru a calcula probabilitatea posterioară P(y|x) pentru fiecare caracteristică. Apoi, vom modela tabelele de frecvență în Tabelele de probabilitate și vom folosi ecuația Bayesiană Naive pentru a găsi probabilitatea posterioară a fiecărei clase. Rezultatul predicției noastre ar fi clasa care are cea mai mare probabilitate posterioară. Iată tabelele de probabilitate și frecvență:

Tabelul de frecvență al culorilor:

Culoare A fost furat (Da) A fost furat (nu)
roșu 3 2
Galben 2 3

Tabelul probabilității de culori:

Culoare A fost furat [P(Da)] A fost furat [P(Nu)]
roșu 3/5 2/5
Galben 2/5 3/5

Tabel de frecvență de tip:

Tip A fost furat (Da) A fost furat (nu)
Sport 4 2
SUV 1 3

Tipul tabelului de probabilitate:

Tip A fost furat [P(Da)] A fost furat [P(Nu)]
Sport 4/5 2/5
SUV 1/5 3/5

Tabelul de frecvență de origine:

Origine A fost furat (Da) A fost furat (nu)
Intern 2 3
Importat 3 2

Tabelul probabilității de origine:

Origine A fost furat [P(Da)] A fost furat [P(Nu)]
Intern 2/5 3/5
Importat 3/5 2/5

Problema noastră are 3 predictori pentru X, așa că, conform ecuațiilor pe care le-am văzut anterior, probabilitatea posterioară P(Da | X) ar fi următoarea:

P(Da | X) = P(Roșu | Da) * P(SUV | Da) * P(Intern | Da) * P(Da)

= ⅗ x ⅕ x ⅖ x 1

= 0,048

P(Nu | X) ar fi:

P(Nu | X) = P(Roșu | Nu) * P(SUV | Nu) * P(Intern | Nu) * P(Nu)

= ⅖ x ⅗ x ⅗ x 1

= 0,144

Deci, deoarece probabilitatea posterioară P(Nu | X) este mai mare decât probabilitatea posterioară P(Da | X), SUV-ul nostru Red Domestic va avea „Nu” în „A fost furat?” secțiune.

Exemplul ar fi trebuit să vă arate cum funcționează Naive Bayes Classifier. Pentru a obține o imagine mai bună despre Naive Bayes explicat, ar trebui să discutăm acum avantajele și dezavantajele sale:

Avantajele și dezavantajele Naive Bayes

Avantaje

  • Acest algoritm funcționează rapid și poate economisi mult timp.
  • Naive Bayes este potrivit pentru rezolvarea problemelor de predicție cu mai multe clase.
  • Dacă presupunerea independenței caracteristicilor este adevărată, poate funcționa mai bine decât alte modele și necesită mult mai puține date de antrenament.
  • Naive Bayes este mai potrivit pentru variabilele de intrare categoriale decât pentru variabilele numerice.

Dezavantaje

  • Naive Bayes presupune că toți predictorii (sau caracteristicile) sunt independenți, care se întâmplă rar în viața reală. Acest lucru limitează aplicabilitatea acestui algoritm în cazurile de utilizare din lumea reală.
  • Acest algoritm se confruntă cu „problema cu frecvența zero” în care atribuie probabilitate zero unei variabile categoriale a cărei categorie din setul de date de testare nu era disponibilă în setul de date de antrenament. Cel mai bine ar fi să folosiți o tehnică de netezire pentru a depăși această problemă.
  • Estimările sale pot fi greșite în unele cazuri, așa că nu ar trebui să luați foarte în serios rezultatele sale de probabilitate.

Checkout: Modelele de învățare automată explicate

Aplicațiile lui Naive Bayes explicate

Iată câteva zone în care acest algoritm găsește aplicații:

Clasificarea textului

De cele mai multe ori, Naive Bayes găsește utilizări clasificării în text datorită presupunerii sale de independență și performanță ridicată în rezolvarea problemelor cu mai multe clase. Se bucură de o rată mare de succes decât alți algoritmi datorită vitezei și eficienței sale.

Analiza sentimentelor

Una dintre cele mai proeminente domenii ale învățării automate este analiza sentimentelor, iar acest algoritm este destul de util și acolo. Analiza sentimentelor se concentrează pe identificarea dacă clienții gândesc pozitiv sau negativ despre un anumit subiect (produs sau serviciu).

Sisteme de recomandare

Cu ajutorul filtrării colaborative, Naive Bayes Classifier construiește un sistem de recomandare puternic pentru a prezice dacă un utilizator ar dori sau nu un anumit produs (sau resursă). Amazon, Netflix și Flipkart sunt companii proeminente care folosesc sisteme de recomandare pentru a sugera produse clienților lor.

Aflați mai multe algoritmi de învățare automată

Naive Bayes este un algoritm de învățare automată simplu și eficient pentru rezolvarea problemelor cu mai multe clase. Găsește utilizări în multe domenii importante ale aplicațiilor de învățare automată, cum ar fi analiza sentimentelor și clasificarea textului.

Consultați Programul de certificare avansată în Machine Learning și Cloud cu IIT Madras, cea mai bună școală de inginerie din țară pentru a crea un program care vă învață nu numai învățarea automată, ci și implementarea eficientă a acestuia folosind infrastructura cloud. Scopul nostru cu acest program este de a deschide ușile celui mai selectiv institut din țară și de a oferi cursanților acces la facultăți și resurse uimitoare pentru a stăpâni o abilitate care este în creștere și în creștere.

Ce este algoritmul naiv bayes?

Pentru a face față dificultăților de categorizare, folosim tehnica de învățare automată Naive Bayes. Teorema Bayes o susține. Este unul dintre cei mai de bază, dar puternici algoritmi de învățare automată utilizați, cu aplicații într-o varietate de industrii. Să presupunem că lucrezi la o problemă de clasificare și ai stabilit deja caracteristicile și ipoteza, dar șeful tău vrea să vadă modelul. Pentru a antrena setul de date, aveți un număr mare de puncte de date (mii de puncte de date) și un număr mare de variabile. Clasificatorul Naive Bayes, care este mult mai rapid decât alți algoritmi de clasificare, ar fi cea mai bună opțiune în această circumstanță.

Care sunt unele avantaje și dezavantaje ale baye-urilor naive?

Pentru probleme de predicție cu mai multe clase, Naive Bayes este o alegere bună. Dacă premisa independenței caracteristicilor rămâne adevărată, poate depăși alte modele folosind mult mai puține date de antrenament. Variabilele de intrare categoriale sunt mai potrivite pentru Naive Bayes decât variabilele de intrare numerice.

În Naive Bayes, se presupune că toți predictorii (sau trăsăturile) sunt independenți, ceea ce este rareori cazul în viața reală. Acest lucru limitează capacitatea de utilizare a algoritmului în scenarii din lumea reală. Nu ar trebui să luați în serios rezultatul probabilității, deoarece estimările sale pot fi oprite în unele cazuri.

Care sunt unele aplicații în lumea reală a bayesului naiv?

Datorită premisei sale de autonomie și performanță ridicată în abordarea problemelor cu mai multe clase, Naive Bayes este frecvent utilizată clasificarea în text. Analiza sentimentelor este una dintre cele mai populare aplicații ale învățării automate, iar această tehnică poate ajuta și în acest sens. Scopul analizei sentimentelor este de a determina dacă clienții au sentimente favorabile sau negative cu privire la o anumită problemă (produs sau serviciu). Naive Bayes Classifier folosește filtrarea colaborativă pentru a crea un sistem de recomandare sofisticat care poate prezice dacă un utilizator se va bucura sau nu de un anumit produs (sau resursă).