Et si la précision de validation était élevée mais la précision de test faible dans la recherche?

15

J'ai une question spécifique sur la validation dans la recherche d'apprentissage automatique.

Comme nous le savons, le régime d'apprentissage automatique demande aux chercheurs de former leurs modèles sur les données de formation, de choisir parmi les modèles candidats par ensemble de validation et de rendre compte de la précision sur l'ensemble de test. Dans une étude très rigoureuse, l'ensemble de test ne peut être utilisé qu'une seule fois. Cependant, cela ne peut jamais être le scénario de recherche, car nous devons améliorer nos performances jusqu'à ce que la précision du test soit meilleure que les résultats de pointe avant de pouvoir publier (ou même soumettre) un article.

Maintenant vient le problème. Disons que 50% est le résultat le plus récent et que mon modèle peut généralement atteindre une précision de 50 à 51, ce qui est mieux en moyenne.

Cependant, ma meilleure précision de validation (52%) donne une très faible précision de test, par exemple 49%. Ensuite, je dois rapporter 49% de mes performances globales si je ne peux pas améliorer davantage la validation de la validation, ce qui, je pense, est sans espoir. Cela m'empêche vraiment d'étudier le problème, mais cela n'a pas d'importance pour mes pairs, car ils ne voient pas le taux de 52%, ce qui, je pense, est une valeur aberrante.

Alors, comment les gens font-ils habituellement dans leurs recherches?

La validation ps k-fold n'est d'aucune utilité, car la même situation peut toujours se produire.

Mou
la source

Réponses:

9

Par définition, lorsque la précision de l'entraînement (ou la métrique que vous utilisez) est supérieure à vos tests, vous disposez d'un modèle de sur-ajustement . Essentiellement, votre modèle a appris des détails qui lui permettent de mieux performer dans vos données de formation qui ne sont pas applicables à la population de données plus large et entraînent donc de moins bonnes performances.

Je ne sais pas pourquoi vous dites que la validation k-fold ne serait pas utile. Son but est de vous aider à éviter de trop ajuster vos modèles. Vous n'avez peut-être pas assez de données? Une déclaration comme celle-ci est importante, surtout si vous allez défendre des recherches lorsque de telles méthodes de validation croisée sont fortement recommandées.

Vous dites que vous ne pouvez pas utiliser l'ensemble de test une seule fois (encore une fois, je suppose que la taille de l'échantillon est plus petite?). D'après mon expérience, la voie la plus courante suivie est la validation croisée k-fold de votre modèle. Prenons un exemple avec un CV 10 fois pour un échantillon de 100 et supposons que votre problème de classification est binaire pour simplifier les calculs. J'ai donc divisé mes données en 10 plis différents . J'ai ensuite ajusté mon modèle à 9/10 plis, puis je prédis le 1/10 que j'ai laissé de côté. Pour cette première exécution, la matrice de confusion résultante est:

    0  1
0   4  1
1   2  3

Je répète ensuite cette analyse avec le pli 1/10 suivant laissé de côté et je m'entraîne sur l'autre 9/10. Et obtenez ma prochaine matrice de confusion. Une fois terminé, j'ai 10 matrices de confusion. Je additionnerais alors ces matrices (donc j'avais tous les 100 échantillons prévus) et puis rapporterais mes statistiques (Précision, PPV, F1-score, Kappa, etc.). Si votre précision n'est pas là où vous le souhaitez, il existe de nombreuses autres possibilités.

  1. Votre modèle doit être amélioré (modifier les paramètres)
  2. Vous devrez peut-être essayer un algorithme d'apprentissage machine différent (tous les algorithmes créés ne sont pas égaux)
  3. Vous avez besoin de plus de données (relation subtile difficile à trouver)
  4. Vous devrez peut-être essayer de transformer vos données (en fonction de l'algorithme utilisé)
  5. Il peut n'y avoir aucune relation entre vos variables dépendantes et indépendantes

Le fait est qu'une métrique de test plus faible (par exemple, la précision) que votre formation indique un surajustement de votre modèle et non quelque chose que vous voulez lorsque vous essayez de créer un nouveau modèle prédictif.

cdeterman
la source
Merci d'avoir répondu. Ce qui m'intéresse, c'est la recherche sur l'apprentissage automatique pour les publications, plutôt que l'application de techniques d'apprentissage automatique. Souvent, les repères fournissent la répartition standard des ensembles de formation, de validation et de test. De plus, le facteur k ne fait que réduire la variance. Je peux encore rencontrer la situation, où ma validation (moyenne) acc. est élevé mais le test est conforme. est faible.
Mou
Il est parfois drôle que si je redessine un peu mon modèle, je peux simplement ignorer la valeur aberrante parce que mon modèle (et donc la classe d'hypothèse) change, mais cela ne fonctionne pas pour régler les hyperparamètres parce que nous choisissons un modèle dans l'hypothèse classe. Cependant, en effet, nous, chercheurs, avons une classe d'hypothèses indéfinies --- nous essayons tout ce que nous voulons. Cela me dérange vraiment pendant la recherche, car souvent, la différence de précision est généralement très faible, par exemple 0,1%.
Mou
@Mou, je suppose que je ne suis toujours pas certain de savoir quelle est votre question principale. Il semble y avoir plusieurs questions. Le traitement des valeurs aberrantes est un sujet différent. Essayez-vous d'optimiser les paramètres ou d'évaluer un modèle final? Cela peut être spécifique à différents domaines, mais les changements de 0,1% sont assez insignifiants. Vous pouvez soit poursuivre les options énumérées dans ma réponse, soit accepter que vous ne puissiez obtenir que beaucoup du modèle et des données actuels. Le modèle semble toujours sur-équipé (quoique légèrement).
cdeterman
Je suis d'accord avec toi. Je dois accepter que mon modèle n'est pas si bon. Mais il y a plusieurs jours, lorsque le haut cv acc. + test bas acc. n'a pas sauté sur mon écran, mon modèle était le meilleur au monde. Maintenant, ce n'est pas bien que je n'aie rien changé. De plus, je n'ai aucun espoir de surpasser 52% en cv acc., Ce qui bloque mes recherches, mais mes pairs n'ont pas à s'en soucier.
Mou
Vous devez avoir changé quelque chose pour que les nombres changent ou il y a une randomisation que vous n'avez pas définie seedpour tenir compte de la reproductibilité. Je soupçonne que votre procédure de cv a une randomisation qui, lorsqu'elle est répétée, peut retourner des résultats légèrement différents (mais ce n'est qu'une supposition). Je vous suggère vraiment d'explorer d'autres modèles ou la transformation de données pour essayer d'améliorer vos performances.
cdeterman