Comprendere la Matrice di Confusione: Uno Strumento Essenziale nel Machine Learning
La matrice di confusione si presenta come uno strumento diagnostico fondamentale per valutare l’efficacia degli algoritmi di apprendimento automatico supervisionato, specialmente nel contesto della classificazione.
Cos’è una Matrice di Confusione?
La nostra percezione della realtà, inclusa la distinzione tra verità e falsità, è soggettiva. Ciò che per me può apparire come una linea di 10 cm, per te potrebbe sembrare di 9 cm. Il valore reale potrebbe discostarsi da entrambe le stime. Queste discrepanze tra percezione e realtà ci conducono al concetto di valore previsto.
Analogamente al cervello umano, che usa la logica per formulare previsioni, gli algoritmi di apprendimento automatico analizzano i dati per giungere a valori predittivi. Anche in questo caso, i valori predetti possono coincidere o differire dai valori effettivi.
In un ambiente competitivo, è essenziale valutare l’accuratezza delle nostre previsioni. Allo stesso modo, la performance di un algoritmo di machine learning si valuta in base alla correttezza delle sue previsioni.
Ma cosa si intende esattamente per algoritmo di apprendimento automatico?
Le macchine tentano di risolvere problemi applicando logiche e istruzioni specifiche, note come algoritmi di apprendimento automatico. Questi algoritmi si dividono in tre categorie: supervisionati, non supervisionati e di rinforzo.
Gli algoritmi supervisionati sono i più semplici: per essi conosciamo già la risposta corretta e “addestriamo” le macchine con abbondanti dati per raggiungere tale risultato. Questo processo è simile a come un bambino impara a distinguere persone di diverse età osservando ripetutamente le loro caratteristiche.
Gli algoritmi ML supervisionati si suddividono ulteriormente in due tipi: classificazione e regressione.
Gli algoritmi di classificazione ordinano i dati basandosi su criteri definiti. Ad esempio, per raggruppare i clienti in base alle preferenze alimentari, si userebbe un algoritmo di classificazione come un albero decisionale, una foresta casuale, un modello Bayesiano naive o SVM (Support Vector Machine).
Come scegliere l’algoritmo più adatto? Qual è la base per preferire un algoritmo rispetto ad un altro?
È qui che entra in gioco la matrice di confusione.
La matrice di confusione è una tabella che quantifica l’accuratezza di un algoritmo di classificazione. Lungi dall’essere uno strumento per generare confusione, una matrice di confusione indica se l’algoritmo ha prodotto molte previsioni errate, segnalando quindi una potenziale “confusione” dell’algoritmo stesso.
In definitiva, una matrice di confusione è una metodologia per misurare le prestazioni di un algoritmo di classificazione.
Come funziona?
Consideriamo l’esempio precedente di un problema di classificazione binaria: categorizzare le persone in base al loro apprezzamento per la pizza. Per valutare quale algoritmo produce i risultati più vicini alla verità, utilizziamo una matrice di confusione. In un contesto di classificazione binaria (piace/non piace, vero/falso, 1/0), la matrice fornisce quattro valori:
- Vero Positivo (TP)
- Vero Negativo (TN)
- Falso Positivo (FP)
- Falso Negativo (FN)
Quali Sono i Quattro Valori in una Matrice di Confusione?
I quattro valori derivati dalla matrice di confusione rappresentano le sue “celle” fondamentali.
I valori Vero Positivo (TP) e Vero Negativo (TN) indicano le previsioni corrette dell’algoritmo di classificazione:
- TP rappresenta le persone a cui piace la pizza che sono state classificate correttamente dal modello.
- TN indica le persone a cui non piace la pizza che sono state classificate correttamente dal modello.
I valori Falso Positivo (FP) e Falso Negativo (FN) indicano, invece, previsioni errate da parte del classificatore:
- FP rappresenta le persone a cui non piace la pizza (negativo) ma che sono state erroneamente classificate dal modello come amanti della pizza (positivo). FP è anche noto come errore di tipo I.
- FN rappresenta le persone a cui piace la pizza (positivo), ma che il classificatore ha erroneamente identificato come non amanti della pizza (negativo). FN è anche noto come errore di tipo II.
Per comprendere meglio il concetto, consideriamo uno scenario pratico.
Immaginiamo di avere un set di dati di 400 persone sottoposte al test Covid. Disponiamo di risultati da vari algoritmi che hanno stimato il numero di persone positive e negative al Covid.
Ecco due matrici di confusione a confronto:
Algoritmo 1 | Algoritmo 2 | |
TP | 100 | 120 |
TN | 250 | 240 |
FP | 20 | 10 |
FN | 30 | 30 |
Un’analisi superficiale potrebbe suggerire che il primo algoritmo sia più preciso. Tuttavia, per ottenere una valutazione affidabile, abbiamo bisogno di metriche che misurino con precisione accuratezza, precisione e altri valori, per stabilire quale algoritmo è superiore.
Metriche Utilizzando la Matrice di Confusione e il Loro Significato
Le principali metriche che ci aiutano a valutare le previsioni di un classificatore sono:
#1. Richiamo/Sensibilità
Il Richiamo, la Sensibilità, o Tasso di Vero Positivo (TPR), o Probabilità di Rilevamento, è il rapporto tra le previsioni positive corrette (TP) e il totale dei positivi (TP + FN).
R = TP/(TP + FN)
Il richiamo misura la percentuale di risultati positivi corretti rispetto a tutti i risultati positivi potenziali. Un valore di richiamo elevato è indice di pochi falsi negativi, un aspetto positivo per l’algoritmo. Il richiamo è utile quando è importante minimizzare i falsi negativi. Ad esempio, nel contesto di una diagnosi medica, un falso negativo potrebbe avere conseguenze fatali.
#2. Precisione
La precisione misura i risultati positivi corretti rispetto a tutti i risultati positivi previsti, inclusi i veri positivi e i falsi positivi.
Pr = TP/(TP + FP)
La precisione è cruciale quando i falsi positivi hanno un impatto significativo. Ad esempio, una diagnosi errata di diabete potrebbe portare a trattamenti farmacologici non necessari con possibili effetti collaterali.
#3. Specificità
La specificità, o Tasso di Vero Negativo (TNR), è il rapporto tra i risultati negativi corretti e tutti i risultati che avrebbero potuto essere negativi.
S = TN/(TN + FP)
La specificità valuta la capacità del classificatore di identificare correttamente i valori negativi.
#4. Accuratezza
L’accuratezza è la proporzione di previsioni corrette sul totale delle previsioni. Ad esempio, se in un campione di 50 risultati, 20 sono positivi e 10 sono negativi, l’accuratezza del modello sarà 30/50.
Accuratezza A = (TP + TN)/(TP + TN + FP + FN)
#5. Prevalenza
La prevalenza misura la proporzione di risultati positivi sul totale dei risultati.
P = (TP + FN)/(TP + TN + FP + FN)
#6. Punteggio F
Confrontare i classificatori unicamente tramite precisione e richiamo può risultare insufficiente. In questi casi, il punteggio F1, che è la media armonica di precisione e richiamo, fornisce un’analisi più accurata. Un punteggio F1 più alto (valore massimo 1) indica un modello migliore.
Punteggio F = 2 * Precisione * Richiamo / (Richiamo + Precisione)
Il punteggio F1 è utile quando è importante ridurre sia i falsi positivi che i falsi negativi. Ad esempio, nel contesto della pandemia Covid, sia i falsi positivi (che portano ad isolamenti non necessari) che i falsi negativi (che aumentano il rischio di contagio) hanno conseguenze negative.
#7. Curve ROC
Metriche come precisione e accuratezza sono adatte a dataset bilanciati. Tuttavia, in dataset non bilanciati, un’elevata accuratezza potrebbe non riflettere l’efficacia reale del classificatore. Ad esempio, se in un gruppo di 100 studenti 90 conoscono lo spagnolo, un algoritmo che afferma che tutti e 100 conoscono lo spagnolo avrebbe un’accuratezza del 90%, offrendo un’immagine distorta del modello. In tali casi, le curve ROC risultano più efficaci.
La curva ROC (Receiver Operating Characteristic) visualizza la performance di un modello di classificazione binaria a diverse soglie di classificazione. Rappresenta graficamente il TPR (Tasso di Vero Positivo) rispetto al FPR (Tasso di Falso Positivo), che si calcola come (1-Specificità). Il punto più vicino ai 45 gradi (in alto a sinistra) rappresenta la soglia di classificazione più accurata. Una soglia troppo alta riduce i falsi positivi ma aumenta i falsi negativi e viceversa.
Generalmente, il modello con l’Area Under the Curve (AUC) più elevata è considerato il migliore.
Analizziamo ora i valori metrici per le matrici di confusione degli algoritmi Classificatore I e Classificatore II:
Si osserva che la precisione è maggiore nel Classificatore II, mentre l’accuratezza è leggermente superiore nel Classificatore I. La scelta tra i due dipende dalle priorità del problema in questione.
Matrice di Confusione N x N
Finora abbiamo considerato una matrice di confusione per classificatori binari. Ma come si comporta in presenza di più categorie, come nel caso della classificazione multiclasse (ad esempio, classificare immagini per colore: rosso, verde e blu)? In questi scenari, la dimensione della matrice di confusione corrisponde al numero di variabili di output. Nel nostro esempio, la matrice sarà 3×3.
Riepilogo
La matrice di confusione è uno strumento diagnostico di grande valore che fornisce informazioni dettagliate sulle prestazioni di un algoritmo di classificazione. È efficace sia per classificatori binari che multiclasse. La sua visualizzazione intuitiva e la possibilità di generare metriche come il punteggio F, la precisione, la curva ROC e l’accuratezza la rendono uno strumento indispensabile nel machine learning.
Per approfondire l’argomento, puoi anche consultare guide sulla scelta di algoritmi ML per problemi di regressione.