E se un'elevata precisione di convalida ma una bassa accuratezza dei test nella ricerca?


15

Ho una domanda specifica sulla convalida nella ricerca sull'apprendimento automatico.

Come sappiamo, il regime di apprendimento automatico chiede ai ricercatori di addestrare i loro modelli sui dati di addestramento, scegliere tra i modelli candidati per set di validazione e riportare l'accuratezza sul set di test. In uno studio molto rigoroso, il set di test può essere utilizzato solo una volta. Tuttavia, non può mai essere lo scenario di ricerca, perché dobbiamo migliorare le nostre prestazioni fino a quando l'accuratezza del test non è migliore dei risultati all'avanguardia prima di poter pubblicare (o persino inviare) un documento.

Ora arriva il problema. Diciamo che il 50% è il risultato più all'avanguardia e il mio modello in genere può raggiungere una precisione del 50--51, che è in media migliore.

Tuttavia, la mia migliore precisione di convalida (52%) produce una precisione di test molto bassa, ad esempio il 49%. Quindi, devo segnalare il 49% delle prestazioni complessive se non riesco a migliorare ulteriormente la convalida secondo me, che penso non abbia alcuna speranza. Questo mi impedisce davvero di studiare il problema, ma non ha importanza per i miei colleghi, perché non vedono l'accordo del 52%, che penso sia un valore anomalo.

Quindi, come si comportano le persone nella loro ricerca?

la validazione di ps k-fold non è di aiuto, perché la stessa situazione può ancora accadere.

Risposte:


9

Per definizione, quando l'accuratezza dell'allenamento (o qualunque metrica si stia utilizzando) è superiore ai test, si dispone di un modello di adattamento . In sostanza, il tuo modello ha appreso particolari che lo aiutano a ottenere risultati migliori nei tuoi dati di allenamento che non sono applicabili alla popolazione di dati più ampia e quindi comportano prestazioni peggiori.

Non sono sicuro del motivo per cui dici che la validazione di k-fold non sarebbe utile. Il suo scopo è quello di evitare di adattare eccessivamente i tuoi modelli. Forse non hai abbastanza dati? Un'affermazione come questa è importante, specialmente se hai intenzione di difendere qualsiasi ricerca quando tali metodi di convalida incrociata sono altamente raccomandati.

Dici di non essere in grado di utilizzare il set di test solo una volta (suppongo di nuovo dimensioni del campione inferiori?). Nella mia esperienza, il percorso più comune seguito è la validazione incrociata di k-fold del tuo modello. Facciamo un esempio con un CV di 10 volte per una dimensione del campione di 100 e supponiamo che il tuo problema di classificazione sia binario per rendere semplici i calcoli. Pertanto ho suddiviso i miei dati in 10 pieghe diverse . Ho quindi adattato il mio modello a 9/10 pieghe e quindi prevedere 1/10 che ho lasciato fuori. Per questa prima esecuzione, la matrice di confusione risultante è:

    0  1
0   4  1
1   2  3

Quindi ripeto nuovamente questa analisi con la piega 1/10 successiva lasciata fuori e mi alleno sull'altro 9/10. E ottieni la mia prossima matrice di confusione. Una volta completato, ho 10 matrici di confusione. Vorrei quindi sommare queste matrici (quindi avevo previsto tutti i 100 campioni) e quindi riportare le mie statistiche (Precisione, PPV, punteggio F1, Kappa, ecc.). Se la tua precisione non è dove vuoi che sia, ci sono molte altre possibilità.

  1. Il tuo modello deve essere migliorato (modifica parametri)
  2. Potrebbe essere necessario provare un diverso algoritmo di apprendimento automatico (non tutti gli algoritmi creati uguali)
  3. Hai bisogno di più dati (relazione sottile difficile da trovare)
  4. Potrebbe essere necessario provare a trasformare i tuoi dati (dipende dall'algoritmo utilizzato)
  5. Potrebbe non esserci alcuna relazione tra le variabili dipendenti e indipendenti

Il fatto è che una metrica di test inferiore (ad es. Accuratezza) rispetto all'allenamento è indicativa di un adattamento eccessivo del modello non qualcosa che si desidera quando si tenta di creare un nuovo modello predittivo.


Grazie per avermi risposto. Ciò che mi interessa è la ricerca sull'apprendimento automatico per pubblicazioni, piuttosto che applicare tecniche di apprendimento automatico. Spesso, i benchmark forniscono la suddivisione standard di training, validazione e set di test. Inoltre, k-fold ha solo ridotto la varianza. Potrei ancora imbattermi nella situazione, in cui la mia (mediata) convalida secondo. è alto ma il test acc. è basso.
Mou,

A volte è divertente che se riprogetto un po 'il mio modello, posso semplicemente ignorare il valore anomalo perché il mio modello (e quindi la classe di ipotesi) cambia, ma questo non funziona per l'ottimizzazione degli iperparametri perché stiamo scegliendo un modello dall'ipotesi classe. Tuttavia, in effetti, noi ricercatori abbiamo una classe di ipotesi indefinita --- stiamo provando quello che ci piace. Questo mi dà davvero fastidio durante la ricerca, spesso la differenza di precisione è generalmente molto piccola, diciamo lo 0,1%.
Mou,

@Mou, credo di essere ancora un po 'incerto su quale sia la tua domanda principale. Sembra che ci siano più domande. Trattare con gli outlier è un argomento diverso. Stai cercando di ottimizzare i parametri o valutare un modello finale? Ciò può essere specifico per campi diversi, ma le variazioni dello 0,1% sono piuttosto insignificanti. Puoi perseguire le opzioni elencate nella mia risposta o accettare che puoi ottenere così tanto solo dal modello e dai dati attuali. Il modello sembra ancora essere troppo vestito (anche se leggermente).
cdeterman,

Sono d'accordo con te. Devo accettare che il mio modello non è così buono. Ma diversi giorni fa, quando l'alto cv acc. + test basso secondo non è saltato sul mio schermo, il mio modello è stato il migliore al mondo. Ora non lo è, anche se non ho cambiato nulla. Inoltre, non ho alcuna speranza di sovraperformare il 52% in base al CV, il che blocca la mia ricerca, ma i miei colleghi non devono preoccuparsene.
Mou

Devi aver cambiato qualcosa affinché i numeri cambino o c'è qualche randomizzazione che non hai impostato seed per rendere conto della riproducibilità. Ho il sospetto che la tua procedura CV abbia una certa randomizzazione che, se ripetuta, potrebbe restituire risultati leggermente diversi (ma questa è solo una supposizione). Ti suggerisco davvero di esplorare alcuni altri modelli o la trasformazione dei dati per cercare di migliorare le tue prestazioni.
cdeterman,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.