Le competizioni di Kaggle sono state vinte per caso?


12

Le competizioni Kaggle determinano le classifiche finali in base a un set di prove disputato.

Un set di test tenuto fuori è un campione; potrebbe non essere rappresentativo della popolazione modellata. Dato che ogni invio è come un'ipotesi, l'algoritmo che ha vinto la competizione potrebbe, per caso, aver finito per abbinare il set di test meglio degli altri. In altre parole, se si selezionasse un set di test diverso e si ripetesse la competizione, le classifiche rimarrebbero le stesse?

Per la società sponsor, questo non ha molta importanza (probabilmente i 20 principali contributi migliorerebbero la loro base). Sebbene, ironia della sorte, potrebbero finire per usare un modello al primo posto che è peggio degli altri primi cinque. Ma, per i partecipanti alla competizione, sembra che Kaggle sia in definitiva un gioco d'azzardo - la fortuna non è necessaria per inciampare sulla soluzione giusta, è necessario inciampare su quella che corrisponde al set di test!

È possibile cambiare la competizione in modo che tutte le migliori squadre che non possono essere statisticamente distinte vincano? Oppure, in questo gruppo, potrebbe vincere il modello più parsimonioso o computazionalmente economico?


1
Alcune persone usano i test sul set nascosto per ripristinare i valori di test effettivi. Ciò consente loro di adattare quasi perfettamente i risultati. Il controllo impedisce questo. La mia opinione personale è che la differenza tra holdout e non holdout riguarda la liberazione degli imbroglioni.
EngrStudent - Ripristina Monica il

1
X

I punteggi sono ponderati. Un grande sistema supererà quasi ogni volta una spazzatura. Ci vuole un camion carico di lavoro per fallire così tanto che l'ultimo diventa il primo. L'ordine locale, forse 10 gradini in classifica o meno, quando ci sono migliaia di partecipanti, cambierebbe se il controllo fosse ricampionato. Potresti fare un esperimento numerico per mostrarlo.
EngrStudent - Ripristina Monica il

2
Dal punto di vista della società sponsor, non sono obbligati a implementare effettivamente il modello vincente. Se ricordo bene il modello che ha vinto la sfida netflix non è mai stato implementato. Possono prendere alcuni candidati credibili tra i migliori modelli e testarli ulteriormente.
David Ernst,

Risposte:


12

Sì, il tuo ragionamento è corretto. Se si selezionasse un set di test diverso e si ripetesse la competizione, le classifiche cambierebbero davvero. Considera il seguente esempio. Tutte le voci di una competizione Kaggle con etichette binarie indovinano in modo casuale (e, diciamo, indipendentemente) per prevederne l'output. Per caso, uno di loro sarà d'accordo con il controllo più di altri, anche se non ci sono previsioni.

Anche se questo è un po 'inventato, possiamo vedere che la varianza in ciascuno dei modelli della presentazione significherebbe che l'applicazione di molte di queste voci sarebbe davvero adatta al rumore del set di controllo. Questo ci dice che (a seconda delle varianze dei singoli modelli), i modelli top-N probabilmente generalizzano lo stesso. Questo è il giardino dei percorsi di biforcazione , tranne che i "ricercatori" non sono gli stessi (ma non importa).

È possibile cambiare la competizione in modo tale che tutti i team che non possono essere statisticamente distinti dalle migliori prestazioni sul set di test vincano?

Infatti.

  • Un approccio (per quanto non sia pratico) sarebbe quello di elaborare esplicitamente la varianza di un dato modello in ciascuna voce, il che ci darebbe un elemento di valutazione sulle loro prestazioni di controllo.
  • Un altro approccio, che potrebbe richiedere molti calcoli, è l'avvio di un elemento della configurazione in termini di prestazioni di controllo, esponendo un'API di addestramento e test a tutti i modelli.

Bella risposta. Puoi approfondire come potrebbero essere implementati i due metodi?
user0

1
È interessante: il modello migliore potrebbe in effetti non essere quello della squadra vincente.
user0

1
Risolvere in modo esplicito la varianza non può essere fatto senza la distribuzione dei dati (ne parlo solo perché spiega la teoria). Questo documento descrive diversi metodi (e dove falliscono) per la stima dell'accuratezza, inclusi bootstrap e cross-validation. A differenza del documento, tuttavia, in questo contesto, non stiamo facendo CV per la selezione del modello su un set di training, ma piuttosto per un "punteggio" solido sul set di dati di training e test combinato.
VF1

Forse due round è meglio per una solida stima del vincitore. Il primo rimuove il peggiore del 99% e il secondo round rivaluta le classifiche per "lucidare" l'ordine.
EngrStudent - Ripristina Monica il

1
Per aggiungere ulteriori idee qui, dai un'occhiata a questo documento dal vincitore del concorso NCAA March Madness Kaggle nel 2014. Scorri fino alla sezione 4, "Studio di simulazione". Secondo la loro sim, se le probabilità previste dal loro modello per ciascun matchup fossero in realtà il vero stato della natura, la loro posizione mediana sarebbe all'11 ° posto.
Klumbard,

3

Ci sono altri tipi di competizioni in Kaggle senza elementi casuali. Ad esempio, questa slitta rubata di Stanta .

È un problema di ottimizzazione discreto e non ha nemmeno una classifica privata. Quello che vedi nella classifica pubblica sono i risultati finali.

Rispetto all'apprendimento supervisionato, che ha un inizio facile per molte persone, questo tipo di competizione è più "dura" in natura.

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.