Dati di Test
Scopri l'importanza dei dati di test nell'IA, il loro ruolo nella valutazione delle prestazioni del modello, nel rilevamento dell'overfitting e nel garantire l'affidabilità nel mondo reale.
Nell'apprendimento automatico, i dati di test sono una porzione separata e indipendente di un set di dati utilizzati per la valutazione finale di un modello dopo che è stato completamente addestrato e messo a punto.
valutazione finale di un modello dopo che è stato completamente addestrato e messo a punto. Questo set di dati funge da "esame finale" per il modello.
modello, fornendo una valutazione imparziale delle sue prestazioni su dati nuovi e non visti. Il principio fondamentale è che il modello
non deve mai apprendere o essere influenzato dai dati di test durante il suo sviluppo. Questa rigida separazione garantisce che
le metriche delle prestazioni calcolate sul set di test, come ad esempio
precisione o
precisione media (mAP), riflettano fedelmente la capacità del modello di
della capacità del modello di generalizzarsi
di generalizzare a scenari reali. Un rigoroso
test del modello è un passo fondamentale prima
l'impiego del modello.
Il ruolo dei dati di test nel ciclo di vita dell'ML
In un tipico progetto di Machine Learning (ML),
i dati vengono accuratamente suddivisi per servire a scopi diversi. Comprendere la distinzione tra queste partizioni è
fondamentale per costruire modelli affidabili.
-
Dati di formazione: Questo è il più grande
sottoinsieme dei dati, utilizzato per l'apprendimento del modello. Il modello apprende iterativamente i modelli, le caratteristiche e le relazioni regolando i pesi interni del modello in base alla
pesi del modello interno in base agli esempi del set di
esempi del set di addestramento. La creazione di un modello efficace si basa su dati di addestramento di alta qualità e sul rispetto di best practice come quelle descritte in questo documento.
pratiche come quelle descritte in questa
guida all'addestramento dei modelli.
-
Dati di convalida: Si tratta di un set di dati
un set di dati separato utilizzato durante il processo di addestramento. Il suo scopo è quello di fornire un feedback sulle prestazioni del modello
prestazioni del modello su dati non visti, il che aiuta nella
regolazione dell'iperparametro (ad esempio, la regolazione della velocità di
tasso di apprendimento) ed evitare l'overfitting.
l'overfitting. È come una prova pratica che aiuta a
a guidare la strategia di apprendimento. La valutazione viene spesso eseguita utilizzando una modalità di
modalità di validazione.
-
Dati di prova: Questo set di dati viene tenuto completamente isolato fino al termine di tutte le fasi di addestramento e validazione.
Viene utilizzato una sola volta per fornire un rapporto finale e imparziale sulle prestazioni del modello. L'utilizzo dei dati di test per apportare ulteriori
ulteriori aggiustamenti al modello invaliderebbe i risultati, un errore talvolta definito come
"perdita di dati" o "insegnamento al
al test". Questa valutazione finale è essenziale per comprendere come un modello, come un
Ultralytics YOLO11 Ulralytics YOLO11, si comporterà dopo l'implementazione.
Dopo l'addestramento, è possibile utilizzare il programma val per generare le metriche di performance finali.
from ultralytics import YOLO
# Load a trained YOLO11 model
model = YOLO("yolo11n.pt")
# Evaluate the model's performance on the COCO8 test set.
# This command runs a final, unbiased evaluation on the 'test' split.
metrics = model.val(data="coco8.yaml", split="test")
print(metrics.box.map) # Print mAP score
Sebbene un Benchmark Dataset possa servire come set di test, il suo ruolo principale è quello di fungere da standard pubblico per il confronto di
il suo ruolo principale è quello di fungere da standard pubblico per il confronto di diversi modelli, spesso utilizzato in sfide accademiche come la
come la
ImageNet Large Scale Visual Recognition Challenge (ILSVRC). È possibile
esempi di questo tipo nelle pagine di confronto dei modelli.
Applicazioni nel mondo reale
-
L'intelligenza artificiale nel settore automobilistico: Uno sviluppatore crea un
modello di rilevamento degli oggetti per un
veicolo autonomo utilizzando migliaia di ore di
di filmati di guida per l'addestramento e la convalida. Prima di distribuire questo modello in una flotta, viene valutato rispetto a un set di dati di
set di dati di prova. Questo set di test comprende scenari impegnativi e inediti, come la guida notturna sotto la pioggia, la navigazione in una tempesta di neve, ecc.
pioggia, la navigazione attraverso una tempesta di neve o il rilevamento di pedoni parzialmente oscurati da altri oggetti. Le prestazioni del modello
prestazioni del modello su questo set di test, spesso utilizzando dati provenienti da benchmark come
nuScenes, determina se soddisfa i rigorosi standard di sicurezza e affidabilità richiesti per la
standard di sicurezza e affidabilità richiesti per
IA nelle applicazioni automobilistiche.
-
Analisi delle immagini mediche: A
modello di visione computerizzata (CV) viene addestrato per
di detect segni di polmonite da immagini radiografiche del torace provenienti da un ospedale. Per garantire la sua utilità clinica, il modello
Per assicurarne l'utilità clinica, il modello deve essere testato su un set di immagini provenienti da un altro sistema ospedaliero. Questi dati di prova dovrebbero includere immagini
acquisite con apparecchiature diverse, provenienti da una popolazione di pazienti diversa e interpretate da radiologi diversi.
La valutazione delle prestazioni del modello su questo set di test esterno è fondamentale per ottenere l'approvazione da parte delle autorità di regolamentazione, ad esempio
dalla
FDA, e confermare la sua utilità per
IA nell'assistenza sanitaria. Questo processo aiuta a garantire che il
modello eviti le distorsioni del set di dati e si comporti in maniera affidabile in
nuovi contesti clinici. È possibile trovare set di dati pubblici di imaging medico in risorse quali
L'archivio di imaging del cancro (TCIA).
Migliori pratiche per la gestione dei dati di test
Per garantire l'integrità della valutazione, prendete in considerazione queste best practice:
-
Campionamento casuale: Quando si creano le suddivisioni dei dati, assicurarsi che l'insieme di test sia un campione rappresentativo dell'intero spazio del problema.
rappresentativo dell'intero spazio del problema. Strumenti come
train_test_split di scikit-learn
possono aiutare ad automatizzare questa suddivisione casuale.
-
Impedire la perdita di dati: Assicurarsi che non vi siano sovrapposizioni tra gli insiemi di addestramento e di test. Anche una perdita impercettibile,
come la presenza di fotogrammi dello stesso video in entrambi gli insiemi, può gonfiare artificialmente i punteggi delle prestazioni.
-
Distribuzione rappresentativa: Per compiti come la
classificazione, verificare che la distribuzione delle classi nel
rispecchi la distribuzione del mondo reale che ci si aspetta di incontrare.
-
Metriche di valutazione: Scegliere metriche che siano in linea con gli obiettivi aziendali. Ad esempio, in un'applicazione di sicurezza
sicurezza, un elevato richiamo potrebbe essere più importante della
precisione, per garantire che non vengano tralasciate le minacce.
Attenendosi scrupolosamente a questi principi, è possibile utilizzare con sicurezza i dati di test per certificare che i modelli Ultralytics sono pronti per gli ambienti di produzione.
Ultralytics sono pronti per gli ambienti di produzione.