Home topics naive bayes Cosa sono i classificatori Naïve Bayes?
Applica Naïve Bayes con watsonx.ai Abbonati per ricevere gli aggiornamenti sull'AI
Illustrazione con collage di pittogrammi di nuvole, grafico a torta, pittogrammi grafici
Cosa sono i classificatori Naïve Bayes?

Il classificatore Naïve Bayes è un algoritmo di machine learning supervisionato utilizzato per attività di classificazione come la classificazione del testo. Usa i principi della probabilità per eseguire compiti di classificazione.

Naïve Bayes fa parte di una famiglia di algoritmi di apprendimento generativo, il che significa che cerca di modellare la distribuzione degli input di una determinata classe o categoria. A differenza dei classificatori discriminativi, come la regressione logistica, non apprende quali caratteristiche siano più importanti per differenziare tra le classi.

Il data store per l'AI

Scopri la potenza dell'integrazione di una strategia data lakehouse nella tua architettura dei dati, compresi i miglioramenti per scalare l'AI e le opportunità di ottimizzazione dei costi.

Contenuti correlati

Registrati per l'ebook sull'AI generativa

Dai un'occhiata al nostro tutorial per imparare come applicare questo classificatore usando Python
Un breve ripasso della statistica bayesiana

Naïve Bayes è anche noto come classificatore probabilistico poiché si basa sul teorema di Bayes. Sarebbe difficile spiegare questo algoritmo senza spiegare le basi della statistica bayesiana. Questo teorema, noto anche come regola di Bayes, ci permette di "invertire" le probabilità condizionate. Ricordiamo che le probabilità condizionate rappresentano la probabilità di un evento sapendo che si è verificato qualche altro evento, che è rappresentata con la seguente formula: 

Il teorema di Bayes si distingue per l'uso di eventi sequenziali, in cui informazioni aggiuntive acquisite successivamente influiscono sulla probabilità iniziale. Queste probabilità sono denotate come probabilità a priori e probabilità a posteriori. La probabilità a priori è la probabilità iniziale di un evento prima che venga contestualizzato in una certa condizione, o la probabilità marginale. La probabilità a posteriori è la probabilità di un evento dopo l'osservazione di un dato. 

 

Un esempio popolare nella letteratura statistica e su machine learning (link esterno a ibm.com) per dimostrare questo concetto sono i test medici. Ad esempio, immagina che ci sia una persona, di nome Jane, che fa un test per determinare se ha il diabete. Diciamo che la probabilità complessiva di avere il diabete è del 5%; questa sarebbe la nostra probabilità a priori. Tuttavia, se ottiene un risultato positivo dal suo test, la probabilità a priori viene aggiornata per tenere conto di queste informazioni aggiuntive e diventa quindi la nostra probabilità a posteriori. Questo esempio può essere rappresentato con la seguente equazione, utilizzando il teorema di Bayes: 

Tuttavia, poiché la nostra conoscenza delle probabilità a priori non è probabilmente esatta data altre variabili, come la dieta, l'età, la storia familiare e altro, in genere utilizziamo distribuzioni di probabilità da campioni casuali, semplificando l'equazione a P(Y|X) = P(X|Y)P(Y) / P(X)

 

Il ritorno a Naïve Bayes

I classificatori Naïve Bayes funzionano in modo diverso in quanto operano in base a un paio di ipotesi chiave, guadagnandosi il titolo di "naïve". Si presuppone che i predittori in un modello Naïve Bayes siano condizionatamente indipendenti o non correlati a qualsiasi altra funzione del modello. Si presuppone inoltre che tutte le caratteristiche contribuiscano equamente al risultato. Sebbene queste ipotesi siano spesso violate in scenari reali (ad esempio, una parola successiva in un'e-mail dipende dalla parola che la precede), semplifica un problema di classificazione rendendolo più gestibile dal punto di vista computazionale. In altre parole, sarà ora necessaria una sola probabilità per ogni variabile, il che, a sua volta, semplifica il calcolo del modello. Nonostante questa ipotesi di indipendenza irrealistica, l'algoritmo di classificazione funziona bene, in particolare con campioni di piccole dimensioni.

Tenendo presente questa ipotesi, possiamo ora riesaminare più da vicino le parti di un classificatore Naïve Bayes. Similmente al teorema di Bayes, utilizzerà le probabilità condizionate e a priori per calcolare le probabilità a posteriori utilizzando la seguente formula: 

Immaginiamo un caso d'uso di classificazione del testo per illustrare come funziona l'algoritmo Naïve Bayes. Immagina un provider e-mail che sta cercando di migliorare il proprio filtro antispam. I dati di addestramento sarebbero costituiti da parole provenienti da e-mail classificate come "spam" o "non spam". Da lì, le probabilità condizionate di classe e le probabilità a priori vengono calcolate per produrre la probabilità a posteriori. Il classificatore Naïve Bayes opererà restituendo la classe, che ha la massima probabilità a posteriori da un gruppo di classi (ad es. "spam" o “non spam") per una determinata e-mail. Questo calcolo è rappresentato dalla seguente formula:

Poiché ogni classe si riferisce alla stessa parte di testo, possiamo effettivamente eliminare il denominatore da questa equazione, semplificandola in: 

L'accuratezza dell'algoritmo di apprendimento basato sul set di dati di addestramento viene quindi valutata in base alle prestazioni del set di dati di test.  

Probabilità condizionate di classe 

Per approfondire un po' questo concetto, andremo un livello più in profondità nelle singole parti, che compongono questa formula. Le probabilità condizionate di classe sono le probabilità individuali di ogni parola in una e-mail. Queste sono calcolate determinando la frequenza di ogni parola per ogni categoria, ad es. "spam" o "non spam", il che è noto anche come stima di massima verosimiglianza (MLE, Maximum Likelihood Estimation). In questo esempio, se esaminassimo le parole "Gentile Signore", calcoleremo semplicemente la frequenza con cui tali parole ricorrono in tutte le e-mail spam e non spam. Ciò può essere rappresentato dalla formula seguente, dove y è "Gentile Signore" e x è "spam".

Probabilità a priori

Le probabilità a priori sono esattamente quelle che abbiamo descritto in precedenza con il teorema di Bayes. In base al set di addestramento, è possibile calcolare la probabilità complessiva che una e-mail sia "spam" o "non spam". La probabilità a priori per l'etichetta di classe, "spam", sarebbe rappresentata nella seguente formula: 

La probabilità a priori agisce come un "peso" per la probabilità condizionata di classe quando i due valori vengono moltiplicati insieme, ottenendo le probabilità a posteriori individuali. Da lì, viene calcolata la stima del massimo a posteriori (MAP, Maximum A Posteriori) per assegnare un'etichetta di classe di spam o non spam. L'equazione finale per l'equazione Naïve Bayes può essere rappresentata nei seguenti modi: 

In alternativa, può essere rappresentata nello spazio logaritmico come Naïve Bayes è comunemente usato in questa forma: 

Valutazione del classificatore Naïve Bayes 

Un modo per valutare il classificatore consiste nel tracciare una matrice di confusione, che traccerà i valori effettivi e stimati all'interno di una matrice. Le righe in genere rappresentano i valori effettivi, mentre le colonne rappresentano i valori previsti. Molte guide illustrano questa figura come un diagramma 2 x 2, come quello riportato di seguito:

Tuttavia, se si prevedessero immagini da zero a 9, si otterrebbe un grafico 10 x 10. Se volessi conoscere il numero di volte in cui il classificatore ha "confuso" le immagini di 4 con 9, dovresti solo controllare la quarta riga e la nona colonna.

Tipi di classificatori Naïve Bayes

Non c'è solo un tipo di classificatore Naïve Bayes. I tipi più comuni differiscono in base alle distribuzioni dei valori delle caratteristiche. Alcuni di questi includono: 

  • Gaussian Naïve Bayes (GaussianNB): questa è una variante del classificatore Naïve Bayes, utilizzata con le distribuzioni gaussiane, ovvero distribuzioni normali, e variabili continue. Questo modello viene adattato trovando la media e la deviazione standard di ciascuna classe. 
  • Multinomial Naïve Bayes (MultinomialNB): questo tipo di classificatore Naïve Bayes presuppone che le caratteristiche provengano da distribuzioni multinomiali. Questa variante è utile quando si utilizzano dati discreti, come i conteggi di frequenza, e viene in genere applicata nei casi d'uso dell'elaborazione del linguaggio naturale, come la classificazione dello spam. 
  • Bernoulli Naïve Bayes (BernoulliNB): si tratta di un'altra variante del classificatore Naïve Bayes, utilizzato con varianti booleane, vale a dire con due valori, come True e False o 1 e 0. 

Tutti questi elementi possono essere implementati tramite la libreria Python Scikit Learn (link esterno a ibm.com), nota anche come sklearn.

Vantaggi e svantaggi del classificatore Naïve Bayes
Vantaggi
  • Meno complesso: rispetto ad altri classificatori, Naïve Bayes è considerato un classificatore più semplice poiché i parametri sono più facili da stimare. Di conseguenza, è uno dei primi algoritmi appresi nei corsi di data science e machine learning.  
  • Scala bene: rispetto alla regressione logistica, Naïve Bayes è considerato un classificatore veloce ed efficiente che è abbastanza accurato quando l'ipotesi di indipendenza condizionata è valida. Ha anche bassi requisiti di storage. 
  • Può gestire dati ad alta dimensionalità: i casi d'uso, come la classificazione dei documenti, possono avere un numero elevato di dimensioni, difficili da gestire per altri classificatori. 
Svantaggi:   
  • Soggetto a frequenza zero: si verifica una frequenza zero quando non esiste una variabile categorica all'interno del set di addestramento. Ad esempio, immaginiamo di cercare di trovare lo stimatore di massima verosimiglianza per la parola "signore" data la classe "spam", ma la parola "signore" non esiste nei dati di addestramento. La probabilità in questo caso è pari a zero, e poiché questo classificatore moltiplica tutte le probabilità condizionate insieme, ciò significa anche che la probabilità a posteriori sarà pari a zero. Per evitare questo problema, è possibile utilizzare lo smoothing di Laplace. 
  • Ipotesi di base irrealistica: sebbene l'ipotesi di indipendenza condizionata funzioni complessivamente bene, l'ipotesi non è sempre valida, portando a classificazioni errate. 
Applicazioni del classificatore Naïve Bayes

Insieme ad altri algoritmi, Naïve Bayes appartiene a una famiglia di algoritmi di data mining che trasformano grandi volumi di dati in informazioni utili. Alcune applicazioni di Naïve Bayes includono:

  • Filtro dello spam: la classificazione dello spam è una delle applicazioni più popolari di Naïve Bayes citate in letteratura. Per una lettura più approfondita su questo caso d'uso, dai un'occhiata a questo capitolo di Oreilly (link esterno a ibm.com).  
  • Classificazione dei documenti: la classificazione dei documenti e del testo va di pari passo. Un altro caso d'uso popolare di Naïve Bayes è la content classification. Immagina le categorie di contenuti di un sito di notizie. Tutte le categorie di contenuti possono essere classificate in una tassonomia di argomenti basata su ciascun articolo sul sito. A Federick Mosteller e David Wallace viene attribuita la prima applicazione dell'inferenza bayesiana nel loro articolo del 1963 (link esterno a ibm.com). 
  • Analisi del sentiment: sebbene questa sia un'altra forma di classificazione del testo, l'analisi del sentiment viene comunemente utilizzata nel marketing per comprendere e quantificare meglio le opinioni e gli atteggiamenti nei confronti di prodotti e marchi specifici. 
  • Previsioni dello stato mentale: utilizzando i dati fMRI, Naïve Bayes è stato utilizzato per prevedere diversi stati cognitivi tra gli esseri umani. L'obiettivo di questa ricerca (link esterno a ibm.com) era quello di aiutare a comprendere meglio gli stati cognitivi nascosti, in particolare tra i pazienti con lesioni cerebrali.
Prodotti correlati
IBM Cloud Pak for Data

IBM Cloud Pak for Data è una piattaforma dati aperta ed estensibile che fornisce un data fabric per rendere tutti i dati disponibili per l'AI e gli analytics su qualsiasi cloud.

Maggiori informazioni su IBM Cloud Pak for Data
IBM Watson Studio

Costruisci, esegui e gestisci i modelli AI. Prepara i dati e crea modelli su qualsiasi cloud utilizzando codice open source o modellazione visiva. Prevedi e ottimizza i risultati.

Maggiori informazioni su IBM Watson Studio
watsonx.ai

Fai un altro passo per iniziare a rendere operativa e a scalare l'AI generativa e l'apprendimento automatico per il business.

Esplora watsonx.ai
Risorse Apprendimento pratico e gratuito per le tecnologie di AI generativa

Impara i concetti fondamentali dell'AI e dell'AI generativa, tra cui il prompt engineering, i modelli linguistici di grandi dimensioni e i migliori progetti open source.

Un'analisi del classificatore Naïve Bayes su distribuzioni a bassa entropia

In questo articolo, IBM Research dimostra empiricamente come la diminuzione dell'entropia delle distribuzioni di caratteristiche condizionate di classe influisce sull'errore del classificatore Naïve Bayes.

Un'analisi delle caratteristiche dei dati che influenzano le prestazioni di Naïve Bayes

Utilizzando simulazioni Monte Carlo, IBM Research dimostra che Naïve Bayes funziona meglio in due casi: caratteristiche completamente indipendenti e caratteristiche funzionalmente dipendenti.

Impara gli algoritmi di classificazione usando Python e scikit-learn

Esplora le nozioni di base per risolvere un problema di machine learning basato sulla classificazione e ottieni uno studio comparativo di alcuni degli algoritmi attualmente più diffusi.

Classificazione dei dati mediante l'algoritmo Multinomial Naïve Bayes

Utilizza scikit-learn per completare un'attività di classificazione del testo popolare (filtro antispam) utilizzando Multinomial Naïve Bayes.

Fai il passo successivo

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e una minima quantità di dati.

Esplora watsonx.ai Prenota una demo live