Confusion Matrix
Impara come una matrice di confusione valuta le prestazioni di classificazione. Esplora TP, FP, TN e FN per ottimizzare i tuoi modelli Ultralytics YOLO26 per una migliore accuratezza.
Una matrice di confusione è uno strumento di misurazione delle prestazioni per i problemi di classificazione del machine learning in cui l'output può essere costituito da due o più classi. Si tratta di una tabella con quattro diverse combinazioni di valori previsti e effettivi, che funge da elemento fondamentale per la visualizzazione dei dati nella valutazione del modello. A differenza della semplice accuratezza, che può essere fuorviante se il set di dati è sbilanciato, una matrice di confusione fornisce un'analisi dettagliata di dove un modello di visione artificiale (CV) sta commettendo errori. Confrontando le previsioni con le etichette di verità di base, gli sviluppatori possono determinare se il sistema sta confondendo due classi specifiche o se non riesce a rilevare completamente un oggetto.
Componenti principali della matrice#
La matrice stessa è tipicamente divisa in quattro quadranti per la classificazione binaria, sebbene si espanda per problemi multiclasse come quelli gestiti da Ultralytics YOLO26. Questi quattro componenti rappresentano l'intersezione tra ciò che il modello ha previsto e ciò che esiste effettivamente nell'immagine.
- True Positives (TP): Il modello prevede correttamente la classe positiva. Ad esempio, in un'attività di rilevamento di oggetti, il modello disegna con successo un riquadro di delimitazione attorno a una persona che si trova effettivamente nell'inquadratura.
- True Negatives (TN): Il modello prevede correttamente la classe negativa. Questo è fondamentale in scenari come il rilevamento delle anomalie, in cui il sistema identifica correttamente che una parte prodotta non presenta difetti.
- False Positives (FP): Il modello prevede erronamente la classe positiva. Spesso chiamato "errore di tipo I", si verifica quando il sistema rileva un oggetto che non c'è, come una telecamera di sicurezza che segnala un'ombra come un intruso.
- False Negatives (FN): Il modello prevede erroneamente la classe negativa. Noto come "errore di tipo II", ciò accade quando il modello non riesce a rilevare un oggetto presente, "mancando" essenzialmente il bersaglio.
Metriche derivate e significato#
I numeri grezzi in una matrice di confusione vengono utilizzati per calcolare metriche più avanzate che descrivono le prestazioni del modello. Comprendere questi derivati è essenziale per ottimizzare le reti neurali.
- Precision: Calcolata come TP / (TP + FP), questa metrica rivela quanto siano accurate le previsioni positive. Un'elevata precisione significa meno falsi allarmi.
- Recall (Sensitivity): Calcolata come TP / (TP + FN), misura la capacità del modello di trovare tutte le istanze positive. Un elevato richiamo è vitale quando la mancata individuazione di un oggetto ha gravi conseguenze.
- F1 Score: La media armonica di precisione e richiamo. Fornisce un punteggio singolo che bilancia il compromesso tra i due, utile per confrontare diversi modelli YOLO26.
Applicazioni nel mondo reale#
Il costo specifico degli errori definito dalla matrice di confusione determina come i modelli vengono ottimizzati per diversi settori.
Nel campo dell'AI in healthcare, la matrice di confusione è una questione di sicurezza. Quando si addestra un modello per l'analisi di immagini mediche per rilevare i tumori, un falso negativo (la mancata rilevazione di un tumore) è molto peggio di un falso positivo (la segnalazione di una macchia benigna per la revisione del medico). Pertanto, gli ingegneri danno la priorità al richiamo rispetto alla precisione in queste matrici per assicurarsi che nessun potenziale rischio per la salute venga trascurato.
Al contrario, nel manufacturing quality control, l'efficienza è fondamentale. Se un sistema che classifica le parti della catena di montaggio genera troppi falsi positivi (segnalando parti buone come difettose), provoca sprechi inutili e rallenta la produzione. Qui, la matrice di confusione aiuta gli ingegneri a ottimizzare il modello per massimizzare la precisione, garantendo che ciò che viene scartato sia veramente difettoso, semplificando i flussi di lavoro di machine learning automatizzato.
Generazione di una matrice di confusione con YOLO26#
Quando si utilizzano framework moderni, la generazione di questa matrice fa spesso parte della pipeline di convalida standard. L'esempio seguente dimostra come convalidare un modello YOLO26 e accedere ai dati della matrice di confusione utilizzando il pacchetto ultralytics.
from ultralytics import YOLO
# Load a pre-trained YOLO26 model
model = YOLO("yolo26n.pt")
# Validate the model on the COCO8 dataset
# This automatically generates and plots the confusion matrix
metrics = model.val(data="coco8.yaml")
# Access the confusion matrix object directly
print(metrics.confusion_matrix.matrix)Differenziare concetti correlati#
È importante distinguere la matrice di confusione da termini di valutazione simili.
- Vs. Accuracy: L'accuratezza è semplicemente il rapporto tra le previsioni corrette e le previsioni totali. Sebbene utile, l'accuratezza può essere altamente ingannevole in dataset sbilanciati. Ad esempio, se il 95% delle e-mail non è spam, un modello che prevede "non spam" per ogni e-mail ha un'accuratezza del 95% ma è inutile. La matrice di confusione rivela questo difetto mostrando zero veri positivi per la classe spam.
- Vs. ROC Curve: La matrice di confusione fornisce un'istantanea delle prestazioni a una singola soglia di confidenza specifica. Al contrario, la curva ROC (Receiver Operating Characteristic) visualizza come il tasso di veri positivi e il tasso di falsi positivi cambiano al variare di tale soglia. Strumenti come la piattaforma Ultralytics consentono agli utenti di esplorare entrambe le visualizzazioni per scegliere il punto operativo ottimale per la loro distribuzione.






