Scopri l'importanza dell'accuratezza nel machine learning, il suo calcolo, i limiti con dataset sbilanciati e i modi per migliorare le prestazioni del modello.
L'accuratezza funge da parametro di riferimento fondamentale nella valutazione dei sistemi di intelligenza artificiale, quantificando la percentuale di previsioni corrette effettuate da un modello rispetto al numero totale di previsioni. Nel contesto dell' apprendimento automatico e in particolare dell' apprendimento supervisionato, questa metrica fornisce un' istantanea di alto livello dell'efficacia con cui un algoritmo si allinea con la verità di base fornita durante il processo di addestramento. Sebbene sia la misura più intuitiva delle prestazioni, rispondendo alla semplice domanda "Con quale frequenza il modello è corretto?", funge da indicatore primario dell'affidabilità di un sistema prima che gli sviluppatori si immergano in metriche più granulari .
Sebbene l'accuratezza sia un ottimo punto di partenza, essa è più efficace quando applicata a dati di addestramento bilanciati in cui tutte le classi sono rappresentate in modo equo. Ad esempio, in un'attività standard di classificazione delle immagini che distingue tra cani e gatti, se il set di dati contiene 500 immagini di ciascuno, l'accuratezza è una metrica affidabile. Tuttavia, le sfide sorgono con set di dati sbilanciati, portando al "paradosso dell'accuratezza".
Se un modello viene addestrato per il rilevamento delle frodi in cui solo l'1% delle transazioni è fraudolento, un modello che si limita a prevedere ogni transazione come "legittima" raggiungerebbe un'accuratezza del 99%, fallendo completamente nel compito previsto. Per mitigare questo problema, gli ingegneri utilizzano spesso Ultralytics per visualizzare la distribuzione dei set di dati e garantire che i modelli non si limitino a memorizzare la classe maggioritaria.
Per comprendere appieno le prestazioni del modello, è fondamentale distinguere l'accuratezza da metriche simili:
Mentre l'accuratezza fornisce una visione globale della correttezza, la precisione e il richiamo offrono approfondimenti su tipi specifici di errori, come i falsi positivi o i falsi negativi.
L'utilità dell'accuratezza si estende a diversi settori industriali, convalidando l'affidabilità della visione artificiale e dei modelli predittivi in ambienti critici.
In scenari pratici che utilizzano Python, gli sviluppatori possono facilmente misurare l'accuratezza di un modello utilizzando librerie consolidate. L'esempio seguente mostra come convalidare un modello di classificazione YOLO26 per ottenere la sua accuratezza top-1. L'accuratezza top-1 si riferisce alla frequenza con cui la previsione con la più alta probabilità del modello corrisponde all'etichetta corretta .
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Validate the model on a standard dataset (e.g., MNIST)
metrics = model.val(data="mnist")
# Print the Top-1 Accuracy
print(f"Top-1 Accuracy: {metrics.top1:.4f}")
Quando un modello presenta una bassa accuratezza, è possibile ricorrere a diverse tecniche per migliorarne le prestazioni. Gli ingegneri spesso utilizzano l'aumento dei dati per aumentare artificialmente la diversità del set di addestramento, impedendo al modello di sovradattarsi. Inoltre, la messa a punto degli iperparametri, ovvero la regolazione di impostazioni come il tasso di apprendimento, può avere un impatto significativo sulla convergenza. Per compiti complessi, il transfer learning consente a un modello di sfruttare le conoscenze di un ampio set di dati pre-addestrato (come ImageNet) per ottenere una maggiore precisione su un set di dati più piccolo e specifico.