In breve: convalidando il tuo modello. Il motivo principale della convalida è affermare che non si verifica un eccesso di equipaggiamento e stimare le prestazioni generalizzate del modello.
Overfit
Per prima cosa diamo un'occhiata a cosa sia effettivamente il sovraprezzo. I modelli vengono normalmente addestrati per adattarsi a un set di dati riducendo al minimo alcune funzioni di perdita su un set di allenamento. Esiste tuttavia un limite in cui la minimizzazione di questo errore di addestramento non andrà più a beneficio delle prestazioni reali dei modelli, ma minimizzerà solo l'errore sull'insieme specifico di dati. Ciò significa essenzialmente che il modello è stato adattato in modo troppo stretto ai punti dati specifici nel set di addestramento, cercando di modellare modelli nei dati provenienti dal rumore. Questo concetto si chiama overfit . Di seguito viene mostrato un esempio di overfit in cui viene visualizzato il set di allenamento in nero e un set più grande dalla popolazione effettiva in background. In questa figura puoi vedere che il modello blu è troppo stretto sul set di allenamento, modellando il rumore sottostante.
Per valutare se un modello è sovrautilizzato o meno, è necessario stimare l'errore (o le prestazioni) generalizzato che il modello avrà sui dati futuri e confrontarlo con le nostre prestazioni sul set di addestramento. La stima di questo errore può essere eseguita in diversi modi.
Divisione del set di dati
L'approccio più semplice per stimare le prestazioni generalizzate è quello di suddividere il set di dati in tre parti, un set di addestramento, un set di validazione e un set di test. Il set di training viene utilizzato per addestrare il modello in modo che si adatti ai dati, il set di validazione viene utilizzato per misurare le differenze nelle prestazioni tra i modelli al fine di selezionare quello migliore e il set di test per affermare che il processo di selezione del modello non si adatta al primo due set.
Per stimare la quantità di overfit è sufficiente valutare le metriche di interesse sul set di test come ultimo passaggio e confrontarlo con le prestazioni sul set di allenamento. Citi il ROC, ma secondo me dovresti anche guardare altre metriche come ad esempio il punteggio brier o un diagramma di calibrazione per garantire le prestazioni del modello. Questo dipende ovviamente dal tuo problema. Ci sono molte metriche, ma questo è oltre al punto qui.
Questo metodo è molto comune e rispettato ma pone una grande richiesta sulla disponibilità dei dati. Se il tuo set di dati è troppo piccolo, molto probabilmente perderai molte prestazioni e i tuoi risultati saranno distorti sulla divisione.
Convalida incrociata
Un modo per aggirare lo spreco di gran parte dei dati per la convalida e il test consiste nell'utilizzare la convalida incrociata (CV) che stima le prestazioni generalizzate utilizzando gli stessi dati utilizzati per addestrare il modello. L'idea alla base della convalida incrociata è quella di suddividere il set di dati in un determinato numero di sottoinsiemi e quindi utilizzare ciascuno di questi sottoinsiemi come set di test tenuti a turno mentre si utilizzano il resto dei dati per addestrare il modello. La media della metrica su tutte le pieghe fornisce una stima delle prestazioni del modello. Il modello finale viene quindi generalmente addestrato utilizzando tutti i dati.
Tuttavia, la stima del CV non è imparziale. Ma più pieghe usi, più piccola è la distorsione, ma invece ottieni una varianza maggiore.
Come nella suddivisione del set di dati otteniamo una stima delle prestazioni del modello e per stimare l'overfit devi semplicemente confrontare le metriche dal tuo CV con quelle acquisite dalla valutazione delle metriche sul tuo set di formazione.
bootstrap
L'idea alla base di bootstrap è simile al CV ma invece di dividere il set di dati in parti introduciamo casualità nell'allenamento disegnando ripetutamente set di addestramento dall'intero set di dati con la sostituzione ed eseguendo la fase di allenamento completa su ciascuno di questi campioni bootstrap.
La forma più semplice di convalida bootstrap valuta semplicemente le metriche sui campioni non presenti nel set di addestramento (cioè quelli esclusi) e la media su tutte le ripetizioni.
Questo metodo fornisce una stima delle prestazioni del modello che nella maggior parte dei casi sono meno distorte rispetto al CV. Ancora una volta, confrontandolo con le prestazioni del set di allenamento e si ottiene l'outfit.
Esistono modi per migliorare la convalida del bootstrap. Il metodo .632+ è noto per fornire stime migliori e più solide delle prestazioni del modello generalizzato, tenendo conto dell'overfit. (Se sei interessato l'articolo originale è una buona lettura: Miglioramenti alla convalida incrociata: il metodo Bootstrap 632+ )
Spero che questo risponda alla tua domanda. Se sei interessato alla validazione del modello, ti consiglio di leggere la parte sulla validazione nel libro Gli elementi dell'apprendimento statistico: data mining, inferenza e previsione che è liberamente disponibile online.