Cette question est peut-être trop ouverte pour obtenir une réponse définitive, mais j'espère que non.
Les algorithmes d'apprentissage machine, tels que SVM, GBM, Random Forest, etc., ont généralement quelques paramètres libres qui, au-delà de certaines indications empiriques, doivent être adaptés à chaque jeu de données. Cela se fait généralement avec une technique de ré-échantillonnage (bootstrap, CV, etc.) afin d’adapter l’ensemble des paramètres donnant la meilleure erreur de généralisation.
Ma question est la suivante: pouvez-vous aller trop loin ici? Les gens parlent de faire des recherches sur la grille comme ça, mais pourquoi ne pas simplement considérer cela comme un problème d'optimisation et accéder au meilleur ensemble de paramètres possible? J'ai posé des questions sur certains mécanismes de cette question dans cette question, mais cela n'a pas attiré beaucoup d'attention. Peut-être que la question a été mal posée, mais peut-être que la question elle-même représente une mauvaise approche que les gens ne font généralement pas?
Ce qui me dérange, c'est le manque de régularisation. En rééchantillonnant, le meilleur nombre d'arbres pouvant pousser dans un GBM pour cet ensemble de données est de 647 avec une profondeur d'interaction de 4, mais je suis sûr que cela sera vrai pour les nouvelles données (en supposant que la nouvelle population est identique à l'ensemble de formation)? En l'absence de valeur raisonnable à «réduire» (ou, si vous préférez, aucune information préalable informative), le ré-échantillonnage semble être le meilleur que nous puissions faire. Je n'entends pas parler de ça, alors je me demande si quelque chose me manque.
Évidemment, il y a un coût en calcul considérable associé à la multiplication de nombreuses itérations afin de tirer le meilleur parti du pouvoir prédictif d'un modèle. Il est donc clair que vous le feriez si vous aviez le temps / le grognement d'optimiser et chaque bit l'amélioration de la performance est précieux.
Réponses:
Il y a une réponse définitive à cette question qui est "oui, il est certainement possible d'adapter un critère de sélection de modèle basé sur la validation croisée pour aboutir à un modèle qui généralise mal! ". À mon avis, cela ne semble pas être largement compris, mais constitue un écueil important dans l’application des méthodes d’apprentissage automatique et constitue l’axe principal de mes recherches actuelles; J'ai écrit deux articles sur le sujet jusqu'à présent
GC Cawley et NLC Talbot, sur-adaptation dans la sélection du modèle et biais de sélection subséquent dans l'évaluation de la performance, Journal of Machine Learning Research, 2010. Research, vol. 11, pp. 2079-2107, juillet 2010. ( www )
ce qui démontre que le sur-ajustement dans la sélection du modèle est un problème important dans l'apprentissage automatique (et que vous pouvez obtenir des estimations de performances fortement biaisées si vous réduisez les sélections de modèle lors de l'évaluation des performances) et
GC Cawley et NLC Talbot, Empêcher le sur-ajustement dans la sélection du modèle via la régularisation bayésienne des hyper-paramètres, Journal of Machine Learning Research, volume 8, pages 841 à 861, avril 2007. ( www )
où le critère de sélection de modèle basé sur la validation croisée est régularisé afin de tenter une sur-adaptation améliorée dans la sélection de modèle (ce qui constitue un problème clé si vous utilisez un noyau avec de nombreux hyper-paramètres).
Je rédige actuellement un document sur la sélection de modèle basée sur la recherche par grille, qui montre qu'il est certainement possible d'utiliser une grille trop fine si vous vous retrouvez avec un modèle statistiquement inférieur à un modèle sélectionné par beaucoup. grille plus grossière (c’est une question sur StackExchange qui m’a incité à me pencher sur la recherche par grille).
J'espère que cela t'aides.
PS Une évaluation de performance impartiale et une sélection de modèle fiable peuvent en effet coûter cher en calcul, mais selon mon expérience, cela en vaut la peine. La validation croisée imbriquée, où la validation croisée externe est utilisée pour l'estimation des performances et la validation croisée interne pour la sélection du modèle est une bonne approche de base.
la source
Il a été démontré que la validation croisée et le bootstrap donnent des estimations du taux d’erreur presque sans biais et, dans certains cas, plus précisément par la validation croisée. Le problème avec d’autres méthodes telles que la resubstitution, c’est qu’en estimant l’erreur sur le même ensemble de données que celui avec lequel vous adaptez le classificateur, vous risquez de sous-estimer le taux d’erreur et d’avoir recours à des algorithmes contenant trop de paramètres et de prédire les valeurs futures avec autant de précision. un algorithme adapté à un petit ensemble de paramètres. La clé de l’utilisation des méthodes statistiques est que les données que vous possédez pour former le classifieur sont typiques des données que vous verrez à l’avenir lorsque les classes sont manquantes et doivent être prédites par le classifieur. Si vous pensez que les données futures pourraient être très différentes, les méthodes statistiques ne peuvent vous aider et je ne
la source
Je suppose qu’une des réponses à cette question est que, dans le contexte de l’optimisation, vous essayez de trouver un minimum global pour une
noisy
fonction de coût. Vous avez donc tous les défis d'une optimisation globale multidimensionnelle et d'un composant stochastique ajouté à la fonction de coût.De nombreuses approches pour faire face aux défis des minima locaux et un espace de recherche coûteux ont eux-mêmes des paramètres qui peuvent nécessiter une mise au point, tels que les méthodes de recuit simulé ou de monte carlo.
Dans un univers idéal, sans calcul, je suppose que vous pourriez essayer de trouver un minimum global de votre espace de paramètres avec des limites suffisamment étroites sur le biais et la variance de votre estimation de la fonction d'erreur. Est-ce que ce scénario de régularisation ne serait pas un problème puisque vous pourriez ré-échantillonner à l'infini.
Dans le monde réel, je suppose que vous pouvez facilement vous retrouver dans un minimum local.
Comme vous l'avez mentionné, il s'agit d'un problème distinct, mais cela vous laisse néanmoins ouvert à une surévaluation en raison de problèmes d'échantillonnage associés aux données dont vous disposez et de leur relation avec la distribution sous-jacente réelle de l'espace échantillon.
la source
Cela dépend fortement de l'algorithme, mais vous pouvez le faire, bien que dans la plupart des cas ce ne soit qu'un gaspillage d'effort bénin.
Ainsi, eh bien, (basée sur des pratiques présentes dans de bonnes revues) une validation complète et externe de la sélection des paramètres n’est pas une tâche rigoureuse (contrairement à la validation de la sélection des fonctionnalités), mais uniquement si l’optimisation est superficielle et le classifieur plutôt insensible à Les paramètres.
la source
Oui, les paramètres peuvent être «surajustés» sur les ensembles d’entraînement et de test pendant la validation croisée ou l’amorçage. Cependant, il existe certaines méthodes pour empêcher cela. La première méthode simple consiste à diviser votre ensemble de données en 3 partitions, une pour le test (~ 20%), une pour le test des paramètres optimisés (~ 20%) et une pour l’ajustement du classificateur avec les paramètres définis. Ce n'est possible que si vous avez un jeu de données assez volumineux. Dans d'autres cas, une double validation croisée est suggérée.
Romain François et Florent Langrognet, "Double validation croisée pour la classification par modèle", 2006
la source