Est-il «juste» de placer une graine dans une régression forestière aléatoire pour obtenir la plus grande précision?


10

J'ai une régression aléatoire de la forêt construite en utilisant skl et je note que je donne des résultats différents basés sur la définition de la valeur aléatoire de la graine aléatoire.

Si j'utilise LOOCV pour déterminer quelle graine fonctionne le mieux, est-ce une méthode valide?


1
Les gens le font en compétition. Mais pour le milieu universitaire, ce serait difficile à justifier.
Firebug

2
Imaginez un scénario extrême: nous jouons un jeu: nous lançons deux dés et celui d'entre nous qui obtient la somme la plus élevée l'emporte. Mais en fait, je suis autorisé à lancer les dés deux fois. C'est juste toi? Permettez-moi de souligner que la définition des graines aléatoires fait partie intégrante de la recherche reproductible et doit toujours être effectuée. Cela ne signifie cependant pas que nous devrions essayer de nombreuses graines différentes jusqu'à ce que nous trouvions une "graine favorable".
usεr11852

@ usεr11852 que pensez-vous de mon commentaire sur la réponse actuellement acceptée? Je ne suis pas sûr que ce soit différent des redémarrages aléatoires comme avec kmeans. Personne ne pense que nous devrions être obligés d'accepter la première exécution de celui-ci, au point que les redémarrages aléatoires sont intégrés à la fonction standard dans R. À moins que vous ne considériez peut-être que le modèle exécute 100 kmeans au lieu du modèle être juste le meilleur clustering unique
jld

Non, cela ressemble à la définition même du sur-ajustement sur le hasard réel.
Mark White

@Chaconne: Je soutiens pleinement votre point sur la nécessité d'une validation appropriée. Cela dit, je pense qu'il y a une différence fondamentale dans les deux cas d'utilisation: dans le cas des k-moyennes (ou de l'optimisation stochastique en général), nous recherchons un "ensemble optimal" de paramètres tandis que pour CV nous nous soucions d'un "ensemble représentatif ". Dans le premier cas, nous nous efforçons de montrer «à quel point pouvons-nous être bons», tandis que dans le dernier cas, «à quel point serons-nous bons».
usεr11852

Réponses:


10

La réponse est non .

Votre modèle donne un résultat différent pour chaque graine que vous utilisez. Ceci est le résultat de la nature non déterministe du modèle. En choisissant une graine spécifique qui maximise les performances sur l'ensemble de validation signifie que vous avez choisi "l'arrangement" qui correspond le mieux à cet ensemble. Cependant, cela ne garantit pas que le modèle avec cette graine fonctionnerait mieux sur un ensemble de test séparé . Cela signifie simplement que vous avez suréquipé le modèle sur l'ensemble de validation .

Cet effet est la raison pour laquelle vous voyez beaucoup de gens qui se classent haut dans les compétitions (par exemple kaggle) sur l'ensemble de test public, tombent loin sur l'ensemble de test caché. Cette approche est pas considérée par quelque moyen que l'approche correcte.


4
Oui, c'est pourquoi la validation croisée est une technique si puissante et aussi pourquoi les gens utilisent à la fois une validation et un ensemble de tests (un pour baser la sélection du modèle et un pour obtenir une évaluation impartiale).
Djib2011

1
Je ne suis pas convaincu. Avec l'optimisation non convexe, il est courant de faire des redémarrages aléatoires car différentes graines peuvent conduire à des estimations de paramètres de modèle très différentes et juste par malchance, vous pouvez obtenir une mauvaise convergence. Par exemple, avec des kmeans, c'est bien connu. Avec la forêt aléatoire juste par hasard, votre modèle finit peut-être par faire trop de divisions inférieures. Je ne pense pas qu'il soit approprié de reconnaître que des exécutions différentes conduisent à des estimations de paramètres de modèle différentes et que certaines peuvent en général mieux se généraliser que d'autres. Bien entendu, tout cela est conditionné par une évaluation correcte des performances hors échantillon.
juillet

5
@ user2723494 Il est valable pour les hyper-paramètres dans l'espoir d'augmenter les performances sans coût de généralisation. Cependant, affiner encore et encore les paramètres sur l'ensemble de validation produirait le même effet que j'ai décrit (sur-ajustement sur l'ensemble de validation). Étant donné que l'ensemencement aléatoire est par nature stochastique, il est beaucoup plus susceptible d'améliorer les performances en raison d'un sur-ajustement que d'avoir effectivement produit un meilleur modèle.
Djib2011

4
@Chaconne Je n'ai pas dit que c'était impossible. Cependant, par cette procédure, il est beaucoup plus probable de sélectionner une graine qui convient mieux qu'une graine qui produit réellement un meilleur modèle ...
Djib2011

4
Pour être honnête, je n'ai jamais considéré l'ensemencement d'algorithmes ML (et les priver de leur nature stochastique) une bonne pratique. Le PO a créé une nouvelle question en posant juste cela. Je serais intéressé à lire votre réponse!
Djib2011
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.