Les compétitions Kaggle sont-elles gagnées par hasard?

12

Les compétitions de Kaggle déterminent les classements finaux sur la base d'un ensemble de tests en suspens.

Un ensemble de test retenu est un échantillon; il peut ne pas être représentatif de la population modélisée. Étant donné que chaque soumission est comme une hypothèse, l'algorithme qui a remporté le concours peut, par hasard, avoir fini par correspondre mieux à l'ensemble de test que les autres. En d'autres termes, si un ensemble de tests différent était sélectionné et la compétition répétée, le classement resterait-il le même?

Pour la société commanditaire, cela n'a pas vraiment d'importance (probablement les 20 meilleures soumissions amélioreraient leur niveau de référence). Bien que, ironiquement, ils pourraient finir par utiliser un modèle de premier rang pire que les cinq autres. Mais, pour les participants à la compétition, il semble que Kaggle soit finalement un jeu de hasard - la chance n'est pas nécessaire pour tomber sur la bonne solution, elle doit tomber sur celle qui correspond à l'ensemble de test!

Est-il possible de changer la compétition pour que toutes les meilleures équipes qui ne peuvent pas être statistiquement distinguées gagnent? Ou, dans ce groupe, le modèle le plus parcimonieux ou le moins cher en calcul pourrait-il gagner?

user0
la source
1
Certaines personnes utilisent les tests sur l'ensemble masqué pour annuler les valeurs de test réelles. Cela leur permet d'ajuster presque parfaitement les résultats. Le blocage empêche cela. Mon opinion personnelle est que la différence entre le hold-up et le non-holdout est de se débarrasser des tricheurs.
EngrStudent
1
Bien sûr, les données des tests devraient être divulguées aux participants, mais je me demande si le fait d'avoir un seul ensemble de tests de maintien fait que les résultats de la compétition (pour les meilleures équipes ) dépendent essentiellement de la chance. X
user0
Les scores sont pondérés. Un excellent système va surpasser un indésirable presque à chaque fois. Il faut un camion de travail pour échouer si mal que le dernier devient le premier. L'ordre local, peut-être 10 échelons de rang ou moins, lorsqu'il y a des milliers de participants, changerait si le blocage était rééchantillonné. Vous pouvez faire une expérience numérique pour le montrer.
EngrStudent
2
Du point de vue de la société commanditaire, ils ne sont pas obligés de mettre en œuvre le modèle gagnant. Si je me souviens bien, le modèle qui a remporté le défi netflix n'a jamais été implémenté. Ils peuvent prendre quelques candidats crédibles parmi les meilleurs modèles et les tester davantage.
David Ernst

Réponses:

12

Oui, votre raisonnement est correct. Si un ensemble de tests différent était sélectionné et que la compétition se répétait, le classement changerait en effet. Prenons l'exemple suivant. Toutes les entrées d'un concours Kaggle avec des étiquettes binaires sont devinées de façon aléatoire (et disons indépendamment) pour prédire leur sortie. Par chance, l'un d'entre eux sera plus d'accord avec les autres que les autres, même si aucune prédiction n'est en cours.

Bien que cela soit un peu artificiel, nous pouvons voir que la variance dans chacun des modèles de la soumission signifierait que l'application de nombreuses entrées de ce type serait en effet juste adaptée au bruit de l'ensemble de rétention. Cela nous indique que (selon les variances des modèles individuels), les modèles top-N généralisent probablement la même chose. C'est le jardin des chemins bifurqués , sauf que les "chercheurs" ne sont pas les mêmes (mais ça n'a pas d'importance).

Est-il possible de changer la compétition pour que toutes les équipes qui ne peuvent pas être statistiquement distinguées des meilleures performances sur le set de test gagnent?

En effet.

  • Une approche (aussi peu pratique soit-elle) consisterait à déterminer explicitement la variance d'un modèle donné dans chaque entrée, ce qui nous donnerait un IC sur leurs performances de résistance.
  • Une autre approche, qui pourrait nécessiter beaucoup de calculs, consiste à amorcer un CI sur les performances de rétention, en exposant une API de formation et de test à tous les modèles.
VF1
la source
Très bonne réponse. Pouvez-vous expliquer comment les deux méthodes pourraient être mises en œuvre?
user0
1
C'est intéressant: le meilleur modèle n'est peut-être pas celui de l'équipe gagnante.
user0
1
Expliquer explicitement la variance ne peut se faire sans la distribution des données (je ne le mentionne que parce qu'elle explique la théorie). Cet article décrit plusieurs méthodes (et où elles échouent) pour l'estimation de la précision, y compris le bootstrap et la validation croisée. Contrairement à l'article, cependant, dans ce contexte, nous ne faisons pas de CV pour la sélection de modèle sur un ensemble d'entraînement, mais plutôt pour un «score» robuste sur l'ensemble combiné de données d'entraînement et de test.
VF1
Peut-être que deux tours sont meilleurs pour une estimation robuste des gagnants. Le premier supprime le pire de 99%, et le second tour réévalue le classement pour "peaufiner" l'ordre.
EngrStudent
1
Pour ajouter des idées ici, consultez cet article du lauréat du concours NCAA March Madness Kaggle en 2014. Faites défiler la page jusqu'à la section 4, "Simulation Study". Selon leur sim, si les probabilités prédites de leur modèle pour chaque match étaient en fait le véritable état de la nature, leur placement médian serait la 11e place.
klumbard
3

Il existe d'autres types de compétitions à Kaggle sans éléments de chance. Par exemple, celui-ci le traîneau volé de Stanta .

C'est un problème d'optimisation discret et il n'a même pas de tableau de bord privé. Ce que vous voyez dans le tableau des leaders publics, ce sont les résultats finaux.

Comparé à l'apprentissage supervisé, qui a un début facile pour beaucoup de gens, ce type de compétition est de nature plus "dure".

Haitao Du
la source