Classificatore ingenuo di Bayes: Spiegazione di vantaggi e svantaggi, applicazioni e tipi
Pubblicato: 2020-12-11Quando hai bisogno di un algoritmo di risoluzione dei problemi veloce, dove vai? Vai al classificatore Naive Bayes. È un algoritmo semplice e veloce in grado di risolvere vari problemi di classificazione. In questo articolo capiremo cos'è questo algoritmo, come funziona e quali sono le sue qualità. Iniziamo.
Sommario
Cos'è il classificatore Naive Bayes?
Il classificatore Naive Bayes separa i dati in classi diverse secondo il teorema di Bayes, insieme all'ipotesi che tutti i predittori siano indipendenti l'uno dall'altro. Presuppone che una caratteristica particolare in una classe non sia correlata alla presenza di altre caratteristiche.
Ad esempio, puoi considerare un frutto come un'anguria se è verde, rotondo e ha un diametro di 10 pollici. Queste caratteristiche potrebbero dipendere l'una dall'altra per la loro esistenza, ma ognuna di esse contribuisce indipendentemente alla probabilità che il frutto in esame sia un'anguria. Ecco perché questo classificatore ha il termine "Naive" nel suo nome.
Questo algoritmo è abbastanza popolare perché può persino superare le tecniche di classificazione altamente avanzate. Inoltre, è abbastanza semplice e puoi costruirlo rapidamente.
Ecco il teorema di Bayes, che è alla base di questo algoritmo:
P(c | x) = P(x | c) P(c)/ P(x)

In questa equazione, 'c' sta per classe e 'x' sta per attributi. P(c/x) sta per la probabilità a posteriori della classe secondo il predittore. P(x) è la probabilità a priori del predittore e P(c) è la probabilità a priori della classe. P(x/c) mostra la probabilità del predittore secondo la classe.
Leggi: Spiegazione di Naive Bayes
Vantaggi di Naive Bayes
- Questo algoritmo funziona molto velocemente e può facilmente prevedere la classe di un set di dati di test.
- Puoi usarlo per risolvere problemi di previsione multi-classe poiché è abbastanza utile con loro.
- Il classificatore Naive Bayes ha prestazioni migliori rispetto ad altri modelli con meno dati di addestramento se vale il presupposto dell'indipendenza delle caratteristiche.
- Se si hanno variabili di input categoriali, l'algoritmo Naive Bayes si comporta eccezionalmente bene rispetto alle variabili numeriche.
Svantaggi di Naive Bayes
- Se il set di dati del test ha una variabile categoriale di una categoria che non era presente nel set di dati di addestramento, il modello di Naive Bayes gli assegnerà una probabilità zero e non sarà in grado di fare previsioni al riguardo. Questo fenomeno è chiamato "Frequenza zero" e dovrai utilizzare una tecnica di smoothing per risolvere questo problema.
- Questo algoritmo è anche noto come pessimo stimatore. Quindi, non dovresti prendere troppo sul serio i risultati delle probabilità di "predict_proba".
- Presuppone che tutte le caratteristiche siano indipendenti. Anche se in teoria potrebbe sembrare fantastico, nella vita reale difficilmente troverai una serie di funzionalità indipendenti.
Applicazioni dell'algoritmo Naive Bayes
Come avrai notato, questo algoritmo offre molti vantaggi ai suoi utenti. Ecco perché ha molte applicazioni anche in vari settori. Ecco alcune applicazioni dell'algoritmo di Naive Bayes:
- Poiché questo algoritmo è veloce ed efficiente, puoi usarlo per fare previsioni in tempo reale.
- Questo algoritmo è popolare per le previsioni multi-classe. Puoi trovare facilmente la probabilità di più classi target usando questo algoritmo.
- I servizi di posta elettronica (come Gmail) utilizzano questo algoritmo per capire se un'e-mail è uno spam o meno. Questo algoritmo è eccellente per il filtraggio dello spam.
- Il presupposto dell'indipendenza delle funzionalità e la sua efficacia nella risoluzione di problemi multi-classe lo rendono perfetto per eseguire l'analisi del sentimento. L'analisi del sentimento si riferisce all'identificazione di sentimenti positivi o negativi di un gruppo target (clienti, pubblico, ecc.)
- Il filtro collaborativo e l'algoritmo Naive Bayes lavorano insieme per creare sistemi di raccomandazione. Questi sistemi utilizzano il data mining e l'apprendimento automatico per prevedere se l'utente desidera o meno una determinata risorsa.
Leggi anche: Spiegazione dei modelli di machine learning

Tipi di classificatore ingenuo di Bayes
Questo algoritmo ha più tipi. Ecco i principali:

Bernoulli Naive Bayes
Qui, i predittori sono variabili booleane. Quindi, gli unici valori che hai sono "Vero" e "Falso" (potresti anche avere "Sì" o "No"). Lo usiamo quando i dati sono secondo la distribuzione multivariata di Bernoulli.
Bayes ingenuo multinomiale
Le persone usano questo algoritmo per risolvere i problemi di classificazione dei documenti. Ad esempio, se desideri determinare se un documento appartiene alla categoria "Legale" o alla categoria "Risorse umane", utilizzerai questo algoritmo per risolverlo. Usa la frequenza delle parole presenti come caratteristiche.
Bayes ingenuo gaussiano
Se i predittori non sono discreti ma hanno un valore continuo, assumiamo che siano un campione di una distribuzione gaussiana.
Conclusione
Ci auguriamo che tu abbia trovato utile questo articolo. Se hai domande relative all'algoritmo di Naive Bayes, sentiti libero di condividerle nella sezione commenti. Ci piacerebbe sentirti.
Se sei interessato a saperne di più sull'IA e sull'apprendimento automatico, dai un'occhiata al Diploma PG di IIIT-B e upGrad in Machine Learning e AI, progettato per i professionisti che lavorano e offre oltre 450 ore di formazione rigorosa, oltre 30 casi di studio e incarichi, Status di Alumni IIIT-B, oltre 5 progetti pratici pratici e assistenza sul lavoro con le migliori aziende.
Quali sono i limiti di Naive Bayes?
Il classificatore ingenuo di Bayes è un algoritmo utilizzato per classificare nuove istanze di dati utilizzando un set di dati di addestramento noti. È un buon algoritmo per la classificazione; tuttavia, il numero di caratteristiche deve essere uguale al numero di attributi nei dati. È computazionalmente costoso se utilizzato per classificare un gran numero di elementi. Non è adatto per dati numerici. Può funzionare solo quando le funzioni sono indipendenti l'una dall'altra. Non è adatto quando i valori delle caratteristiche sono nominali. Richiede che i valori delle caratteristiche si escludano a vicenda. Richiede che la frequenza dei valori delle caratteristiche sia proporzionale alla probabilità che siano corretti.
Qual è il più grande vantaggio e svantaggio dei classificatori Naive Bayes?
Il più grande vantaggio di Naive Bayes è che può funzionare con set di dati molto piccoli. È uno degli algoritmi più popolari per il filtraggio dello spam. Inoltre, è relativamente semplice da implementare. È quasi sempre usato come classificatore. Se un set di dati non è disponibile, è comunque possibile utilizzarlo come algoritmo di classificazione. Questo algoritmo viene utilizzato nel filtro antispam delle e-mail, viene utilizzato anche da Google per classificare le pagine web. Tuttavia, potrebbe non essere altrettanto efficace in problemi di classificazione più complessi. Può funzionare solo quando le funzioni sono indipendenti l'una dall'altra.
Come faccio a fermare l'overfitting a Naive Bayes?
Uno dei motivi dell'overfitting è avere dati di allenamento errati. Se si dispone di un set di dati di addestramento con molto rumore e si hanno molti esempi di addestramento, il classificatore esaminerà il rumore nei dati di addestramento e non il modello sottostante per il quale si sta tentando di creare un modello. Un altro motivo è che il tuo modello è semplicemente troppo complesso. Se si dispone di un modello in cui una piccola modifica dell'input può causare una grande modifica dell'output, è possibile che si verifichi un overfitting. Un'altra soluzione è usare la regolarizzazione. La regolarizzazione ridurrà i rami lunghi nel tuo modello. Leviga il tuo modello e previene il sovraadattamento.