Algoritmul Bayes naiv în învățarea automată
⚡ Rezumat inteligent
Naive Bayes este un algoritm de clasificare probabilistică, supravegheat, construit pe teorema lui Bayes, presupunând că fiecare caracteristică contribuie independent. Teoria sa, un atelier perfecționatping De exemplu, cele trei variante de model, beneficiile, limitările și aplicațiile din lumea reală sunt prezentate mai jos.
Algoritmul naiv de clasificare Bayes
Un clasificator este un algoritm de învățare automată care sortează datele într-una sau mai multe dintr-un set de „clase”. Un clasificator de e-mail este un exemplu familiar: scanează fiecare mesaj primit și atașează o etichetă de clasă Spam sau Nu este spam.
Clasificatorul Bayes naiv în învățarea automată este un învățare supravegheată algoritm utilizat pentru sarcinile de clasificare.
Diagrama de mai jos prezintă acest flux.
Naive Bayes este folosit pentru rezolvarea problemelor de clasificare. Acesta prezice pe baza probabilității unui obiect. Naive Bayes se bazează pe teorema Bayes și este folosit în principal pentru clasificarea textului. Naive Bayes este un algoritm de clasificare probabilistic care este ușor de implementat și rapid de antrenat.
Întrucât clasificatorul Bayesian naiv se bazează pe teorema Bayes, este cunoscut și sub denumirea de clasificator de probabilități. Acesta face predicții pe baza probabilității unui element.
De ce se numește Bayes naiv?
Numele „Naive Bayes” are două părți: Naiv și Bayes. De ce naiv? Algoritmul ignoră ordinea în care apar caracteristicile, astfel încât „Ești” și „Ești” arată identic. De asemenea, presupune că nicio caracteristică nu o influențează pe alta. Pentru a recunoaște mărul, folosești culoarea roșie, forma sferică și gustul dulce, iar algoritmul tratează fiecare dintre aceste indicii ca dovezi separate, independente.
- Clasificatorul Bayesian naiv presupune că caracteristicile sunt independente una de cealaltă. Deoarece acest lucru este rareori posibil în datele din viața reală, clasificatorul se numește naiv.
- Acest algoritm de clasificare se bazează pe teorema Bayes, de aceea este cunoscut sub numele de Clasificatorul Bayes naiv.
Teorema lui Bayes naiv
Teorema Bayes este utilizată pentru a găsi probabilitatea unei ipoteze cu probabilități condiționate dependente de cunoștințele anterioare. Această teoremă este numită după Thomas Bayes. Clasificatorul Bayes naiv funcționează pe principiul probabilității condiționate, așa cum este dat de teorema Bayes.
Pentru a înțelege teorema Bayes, să analizăm un exemplu simplu de aruncare a două monede cu un clasificator Bayes naiv. Putem obține aceste spații eșantion prin aruncarea a două monede: {HH, HT, TH, TT}. Deci, probabilitățile acestor evenimente vor fi:
- Obținerea a două capete = 1/4
- Cel puțin o coadă = 3/4
- A doua monedă fiind cap, prima monedă este coada = 1/2
- Obținerea a două capete având prima monedă este un cap = 1/2
Teorema Bayes calculează probabilitatea producerii unui eveniment pe baza probabilității unui alt eveniment care a avut deja loc. Formula pentru teorema Bayes este dată astfel:
P(A|B) = (P(B|A) * P(A)) / P(B)
P(A|B) este probabilitatea evenimentului A atunci când evenimentul B s-a produs deja. Probabilitatea P(B) nu trebuie să fie zero.
- Trebuie să găsiți probabilitatea evenimentului A, care este dată când evenimentul B (dovezi) este adevărată.
- P(A) este probabilitatea a priori a evenimentului A, adică probabilitatea evenimentului înainte de observarea oricărei dovezi. Aici, evenimentul B este valoarea unei instanțe necunoscute.
- P(A|B) este probabilitatea a posteriori a evenimentului A, adică probabilitatea apariției lui A după analizarea dovezii B.
Exemplu de funcționare al clasificatorului Bayes naiv
Cea mai rapidă modalitate de a vedea cum funcționează formula este să o rulați manual.
Să luăm un exemplu de magazinping pentru a înțelege funcționarea Clasificatorului Bayes Naive. În acest set de date, există un mic set de date eșantion de 30 de rânduri pentru acest exemplu.
Setul de date
Problema este de a prezice dacă o persoană va cumpăra un produs într-o combinație specifică de Zi, Reducere și Livrare Gratuită folosind Teorema Naive Bayes.
Pas 1) Vom crea tabele de frecvență pentru fiecare atribut folosind tipurile de intrare menționate în setul de date, cum ar fi zile, reducere și livrare gratuită.
Fie evenimentul „Cumpărare”, notat cu „A”, și variabilele independente, și anume „Reducere”, „Livrare gratuită” și „Zi”, notate cu „B”. Vom folosi aceste evenimente și variabile pentru a aplica teorema Bayes.
Pas 2) Acum să calculăm tabelele de probabilitate unul câte unul.
Exemplu 1:
Pe baza acestui tabel de probabilitate, vom calcula probabilitățile condiționate ca mai jos.
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, găsiți P(A/B) folosind teorema Bayes,
P(A/B) = P(No Buy / Weekday) = P(Weekday / No Buy) * P(No Buy) / P(Weekday) = (2/6 * 6/30) / (11/30) = 0.1818
În mod similar, dacă A este Cumpărare, atunci
= P(Buy / Weekday) = P(Weekday / Buy) * P(Buy) / P(Weekday) = (9/24 * 24/30) / (11/30) = 0.8181
Notă: Deoarece P(Cumpărare | Ziua săptămânii) este mai mare decât P (Fără cumpărare | Ziua săptămânii), putem concluziona că un client va cumpăra cel mai probabil produsul într-o zi a săptămânii.
Pas 3) În mod similar, putem calcula probabilitatea de apariție a unui eveniment pe baza tuturor celor trei variabile. Acum vom calcula tabelele de probabilitate pentru toate cele trei variabile folosind tabelele de frecvență de mai sus.
Exemplu 2:
Acum, folosind aceste trei tabele de probabilitate, vom calcula dacă un client este probabil să facă o achiziție pe baza unei combinații specifice de „Ziu”, „Reducere” și „Livrare gratuită”.
Aici, să luăm o combinație a acestor factori:
- Zi = Sărbătoare
- Reducere = Da
- Livrare gratuită = Da
Când, A = Cumpărați
Calculați probabilitatea condiționată de cumpărare pentru următoarea combinație de zi, reducere și livrare gratuită.
Unde B este:
- Zi = Sărbătoare
- Reducere = Da
- Livrare gratuită = Da
Și A = Cumpărați
Prin urmare,
= 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
Când, A = Fără cumpărare
În mod similar, Calculați probabilitatea condiționată de cumpărare pentru următoarea combinație de zi, reducere și livrare gratuită.
Unde B este:
- Zi = Sărbătoare
- Reducere = Da
- Livrare gratuită = Da
Și A = Fără cumpărare
Prin urmare,
= 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
Pas 4) Prin urmare,
Probabilitatea de cumpărare = 0.986
Probabilitatea de a nu cumpăra = 0.027
În cele din urmă, avem probabilități condiționate de a cumpăra în această zi. Să generalizăm acum aceste probabilități pentru a obține Probabilitatea evenimentelor.
- Suma probabilităților = 0.986 + 0.027 = 1.013
- Probabilitatea de cumpărare = 0.986 / 1.013 = 97.33 %
- Probabilitatea de a nu cumpăra = 0.027 / 1.013 = 2.67 %
Cele două scoruri adunate dau 1.013 în loc de 1, deoarece presupunerea de independență face ca fiecare estimare să fie aproximativă, așadar împărțirea la total le rescalează în procente.
Rețineți că, deoarece 97.33% este mai mare decât 2.67%. Putem concluziona că clientul mediu va cumpăra într-o vacanță cu reducere și livrare gratuită.
Tipuri de modele Bayes naive
Există multe tipuri de clasificatori Bayes naivi. Aici am discutat clasificatorii Multinomial, Bernoulli și Gaussian Naive Bayes.
| Variantă | Tip de caracteristică | Utilizare tipică |
|---|---|---|
| Multinomial | Număr de cuvinte | Clasificarea subiectelor și documentelor |
| Bernoulli | Steaguri binare prezente sau absente | Texte scurte și filtrare spam |
| Gaussian | Valori numerice continue | Citiri și măsurători ale senzorilor |
1. Bayes naiv multinomial
Acest tip de model Naive Bayes este utilizat pentru problemele de clasificare a documentelor. Funcționează cu caracteristici care reprezintă frecvența cuvintelor dintr-un document. Clasificatorul ia în considerare apariția și numărul de cuvinte pentru a determina probabilitatea ca un document să aparțină unei categorii specifice, cum ar fi sport, politică sau tehnologie.
2. Bernoulli Naive Bayes
Acesta este similar cu multinomul Naive Bayes. Clasificatorul Bernoulli Naive Bayes este utilizat pentru sarcinile de clasificare a documentelor. Cu toate acestea, folosește predictori booleeni. Reprezintă dacă un cuvânt este prezent sau nu și ia doar valori Da sau Nu. Clasificatorul calculează probabilitățile în funcție de faptul că un cuvânt apare sau nu în text.
3. Bayes naiv gaussian
Acest clasificator este utilizat în cazul valorii continue, dar nu a valorii discrete. Acest clasificator calculează probabilitățile folosind parametrii Gaussian distribuție, adică media și varianța.
Formula pentru probabilitatea condiționată se schimbă în,
scikit-learn Biblioteca adaugă încă două variante: Complement Naive Bayes pentru text dezechilibrat și Categorical Naive Bayes pentru categorii discrete.
Beneficiile și limitările Clasificatorului Naive Bayes
Există diverse avantaje și dezavantaje ale algoritmului Naive Bayes în învățarea automată.
Beneficiile Naive Bayes Classifier
- Simplitate și eficiență: Naive Bayes este simplu și ușor de antrenat și implementat. Este eficient datorită costului de calcul scăzut. Poate gestiona seturi mari de date eficient.
- Antrenament rapid și predicție: Modelul Bayes naiv nu necesită atât de multe date de antrenament datorită independenței dintre caracteristici. Poate face predicții rapide odată ce modelul este antrenat.
- scalabilitate: Naive Bayes poate gestiona seturi de date cu dimensiuni mari, cu un număr mare de caracteristici. Funcționează bine chiar și atunci când numărul de caracteristici este mai mare decât numărul de exemple de antrenament. Se scalează în funcție de numărul de puncte de date și de predictori. Se ocupă atât de date continue, cât și de date discrete.
- Robustitate la caracteristici irelevante: Nu este sensibil la caracteristicile irelevante.
- Funcționează bine cu seturi de antrenament mici: Metoda Bayes naivă poate oferi rezultate rezonabile chiar și cu date de antrenament limitate. Poate gestiona situații în care numărul de instanțe de antrenament este mic.
Limitarea clasificatorului naiv Bayes
Bayes naiv în masina de învățare presupune că toate caracteristicile sunt independente unele de altele. Deci, nu poate învăța relațiile dintre diferitele caracteristici ale datelor. Ea tratează fiecare caracteristică ca și cum nu ar avea nicio relație cu celelalte.
O a doua avertizare: probabilitățile de clasă pe care le raportează sunt slab calibrate, astfel încât cifra de încredere atașată unei predicții nu este o probabilitate fiabilă.
Pentru a depăși această problemă, puteți utiliza Arbori de decizie, Păduri aleatoare, Mașini cu vectori de suport (SVM), Rețele neuronale etc. Acești algoritmi au capacitatea de a învăța relații și dependențe complexe între caracteristicile datelor. Astfel, aceștia pot prezice rezultate mai precise.
Aplicații ale Clasificatorului Naive Bayes
Deoarece acest algoritm este rapid și eficient, îl puteți utiliza pentru a face predicții în timp real.
Detectarea spamului
Servicii de e-mail (precum Gmail) utilizează acest algoritm pentru a determina dacă un e-mail este spam. Acest algoritm este excelent pentru filtrarea spamului.
Analiza sentimentelor
Poate clasifica textul ca pozitiv, negativ sau neutru pe baza unor caracteristici precum alegerea cuvintelor, structura propoziției și contextul. Găsește aplicații în monitorizarea rețelelor sociale, recenziile clienților și studiile de piață.
Clasificarea documentelor
Poate clasifica documentele în categorii precum sport, politică, tehnologie sau finanțe, în funcție de frecvența sau prezența unor cuvinte sau caracteristici specifice în document.
Sisteme de recomandare
Poate analiza preferințele utilizatorilor, datele istorice și caracteristicile articolului pentru a prezice interesele sau preferințele utilizatorilor pentru recomandarea de produse, filme sau articole.
Acest algoritm de clasificare este utilizat și în recunoașterea facială, predicția vremii, diagnosticul medical, magazinulping, Clasificarea știrilor etc. Puteți implementa metoda Bayes naivă în Python, unde modulul sklearn.naive_bayes oferă fiecare variantă descrisă mai sus.








