Cosa sono i classificatori Naïve Bayes?

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.

Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI 


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

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 sul 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. Analogamente 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 poiché 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. Alcune di queste 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.

Mixture of Experts | Podcast

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

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.
Soluzioni correlate
IBM watsonx.ai

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 con una minima quantità di dati.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Consulenza e servizi sull'AI

Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Fai il passo successivo

Ottieni l'accesso completo a funzionalità che coprono l'intero ciclo di vita dello sviluppo dell'AI. Crea soluzioni AI all'avanguardia con interfacce intuitive, workflow e accesso alle API e agli SDK standard di settore.

Esplora watsonx.ai Prenota una demo live