Remarque: le cas est n >> p
Je lis Éléments d'apprentissage statistique et il y a diverses mentions sur la «bonne» façon de faire la validation croisée (par exemple page 60, page 245). Plus précisément, ma question est de savoir comment évaluer le modèle final (sans ensemble de test séparé) en utilisant k-fold CV ou bootstrapping lorsqu'il y a eu une recherche de modèle? Il semble que dans la plupart des cas (algorithmes ML sans sélection de fonction intégrée), il y aura
- Une étape de sélection des fonctionnalités
- Une étape de sélection de méta-paramètres (par exemple le paramètre de coût dans SVM).
Mes questions:
- J'ai vu que l'étape de sélection des fonctionnalités peut être effectuée là où la sélection des fonctionnalités est effectuée sur l'ensemble de la formation et maintenue de côté. Ensuite, en utilisant k-fold CV, l'algorithme de sélection des caractéristiques est utilisé dans chaque pli (obtention de différentes caractéristiques éventuellement choisies à chaque fois) et l'erreur est moyennée. Ensuite, vous utiliseriez les fonctionnalités choisies en utilisant toutes les données (qui ont été mises de côté) pour entraîner le mode final, mais vous utiliseriez l'erreur de la validation croisée comme estimation des performances futures du modèle. EST-CE CORRECT?
- Lorsque vous utilisez la validation croisée pour sélectionner les paramètres du modèle, comment estimer ensuite les performances du modèle? S'AGIT-IL DU MÊME PROCESSUS QUE LE N ° 1 CI-DESSUS OU DEVRIEZ-VOUS UTILISER UN CV IMPRIMÉ COMME INDIQUÉ À LA PAGE 54 ( pdf ) OU QUELQUE CHOSE DE PLUS ?
- Lorsque vous effectuez les deux étapes (réglage des fonctionnalités et des paramètres) ..... alors que faites-vous? boucles imbriquées complexes?
- Si vous avez un échantillon de rétention séparé, le problème disparaît-il et vous pouvez utiliser la validation croisée pour sélectionner les caractéristiques et les paramètres (sans souci puisque votre estimation de performance proviendra d'un ensemble de rétention)?
Réponses:
L'essentiel à retenir est que pour que la validation croisée donne une estimation de performance (presque) impartiale, chaque étape impliquée dans l'ajustement du modèle doit également être effectuée indépendamment dans chaque volet de la procédure de validation croisée. La meilleure chose à faire est de visualiser la sélection des fonctionnalités, le réglage des méta / hyper-paramètres et l'optimisation des paramètres en tant que parties intégrantes de l'ajustement du modèle et de ne jamais effectuer l'une de ces étapes sans effectuer les deux autres.
Le biais optimiste qui peut être introduit en s'écartant de cette recette peut être étonnamment important, comme l'ont démontré Cawley et Talbot , où le biais introduit par un départ apparemment bénin était plus important que la différence de performance entre les classificateurs concurrents. Pire encore, les protocoles biaisés favorisent plus fortement les mauvais modèles, car ils sont plus sensibles au réglage des hyper-paramètres et sont donc plus enclins à sur-ajuster le critère de sélection du modèle!
Réponses à des questions spécifiques:
La procédure de l'étape 1 est valide car la sélection des fonctions est effectuée séparément dans chaque pli, donc ce que vous effectuez une validation croisée est toute la procédure utilisée pour ajuster le modèle final. L'estimation de validation croisée aura un léger biais pessimiste car l'ensemble de données pour chaque pli est légèrement plus petit que l'ensemble de données utilisé pour le modèle final.
Pour 2, comme la validation croisée est utilisée pour sélectionner les paramètres du modèle, vous devez répéter cette procédure indépendamment dans chaque pli de la validation croisée utilisée pour l'estimation des performances, vous vous retrouvez avec une validation croisée imbriquée.
Pour 3, essentiellement, oui, vous devez effectuer une validation croisée imbriquée. Essentiellement, vous devez répéter dans chaque pli de la validation croisée la plus externe (utilisée pour l'estimation des performances) tout ce que vous avez l'intention de faire pour s'adapter au modèle final.
Pour 4 - oui, si vous avez un ensemble d'exclusion distinct, cela donnera une estimation impartiale des performances sans avoir besoin d'une validation croisée supplémentaire.
la source
J'ai effectué une analyse de validation croisée approfondie sur un ensemble de données qui a coûté des millions à acquérir, et aucun ensemble de validation externe n'est disponible. Dans ce cas, j'ai effectué une validation croisée imbriquée approfondie pour garantir la validité. J'ai sélectionné des fonctionnalités et des paramètres optimisés uniquement dans les ensembles d'entraînement respectifs. C'est coûteux en calcul pour les grands ensembles de données, mais c'est ce que je devais faire pour maintenir la validité. Cependant, il y a des complications qui vont avec ... par exemple, différentes fonctionnalités sont sélectionnées dans chaque ensemble d'entraînement.
Donc, ma réponse est que dans les cas où vous n'avez pas accès possible à un ensemble de données externes, c'est une façon raisonnable de procéder. Lorsque vous disposez d'un ensemble de données externes, vous pouvez à peu près aller en ville comme vous le souhaitez sur l'ensemble de données principal, puis tester une fois sur l'ensemble de données externes.
la source