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 è una delle metriche fondamentali per valutare le prestazioni di un modello di classificazione. Essa rappresenta la percentuale di previsioni corrette fatte dal sistema sul numero totale di previsioni elaborate. Nel panorama più ampio dell'apprendimento dell'apprendimento automatico (ML), l'accuratezza è spesso il primo numero primo numero che gli sviluppatori esaminano per valutare se un modello sta imparando in modo efficace o se sta semplicemente tirando a indovinare. Sebbene fornisca un'istantanea dell'efficacia, viene spesso utilizzata insieme ad altre metriche di valutazione per garantire una comprensione del comportamento del modello, in particolare quando si tratta di distinguere tra classi in insiemi di dati complessi.
Il calcolo dell'accuratezza è semplice, il che lo rende estremamente accessibile per gli stakeholder, dagli scienziati dei dati ai dirigenti aziendali. scienziati dei dati ai dirigenti aziendali. È definito matematicamente come il numero di veri positivi e veri negativi diviso per il numero totale di casi. Per per le attività di apprendimento supervisionato, questa metrica indica la frequenza con cui l'algoritmo si allinea alla verità di base fornita nei dati di dati di addestramento. Tuttavia, un'elevata accuratezza non sempre non sempre implica un modello perfetto; la sua affidabilità dipende fortemente dalla distribuzione dei dati sottostanti.
L'accuratezza gioca un ruolo fondamentale in diversi settori in cui il processo decisionale automatizzato aiuta gli esperti umani.
Quando si sviluppano modelli con il ultralytics La valutazione dell'accuratezza è una parte standard del flusso di
del flusso di lavoro di validazione. L'esempio seguente mostra come caricare un pacchetto
YOLO11 modello di classificazione e lo convalidiamo per recuperare
metriche di precisione.
from ultralytics import YOLO
# Load a pretrained YOLO11 classification model
model = YOLO("yolo11n-cls.pt")
# Validate the model on the MNIST160 dataset
# The function returns a metrics object containing top1 and top5 accuracy
metrics = model.val(data="mnist160")
# Display the Top-1 accuracy (percentage of times the top prediction was correct)
print(f"Top-1 Accuracy: {metrics.top1:.2f}")
Sebbene sia intuitivo, l'accuratezza può essere fuorviante quando si ha a che fare con un set di dati sbilanciato. Questo fenomeno è noto come paradosso dell'accuratezza. Per esempio, in uno scenario di rilevamento delle frodi in cui solo l'1% delle transazioni sono fraudolente, un modello che predice semplicemente "legittimo" per ogni transazione otterrà un'accuratezza del 99%. il 99% di accuratezza. Tuttavia, fallirebbe completamente nel suo compito primario di rilevare le frodi. In questi casi, il modello mostra un'elevata accuratezza ma un potere predittivo nullo per la classe di minoranza.
Per risolvere questo problema, i professionisti impiegano aumento dei dati per bilanciare le classi o per esaminare metriche diverse che analizzano i tipi di errori commessi.
Per comprendere appieno le prestazioni del modello, è necessario distinguere l'accuratezza dai termini correlati:
Il miglioramento dell'accuratezza comporta un processo iterativo di sperimentazione. Gli sviluppatori spesso utilizzano regolazione degli iperparametri per regolare di apprendimento e le dimensioni dei batch per ottenere una convergenza ottimale. Inoltre, l'impiego di architetture avanzate come i Transformers o le ultime iterazioni di Ultralytics YOLO possono dare risultati significativi. Infine, assicurarsi che il set di dati di addestramento sia pulito e diversificato tramite apprendimento attivo aiuta il modello a generalizzarsi meglio ai dati del mondo reale non visti.