Caret - Validation croisée du pli K répété vs validation croisée du pli K imbriqué, répétée n fois

16

Le package caret est une bibliothèque R brillante pour la construction de plusieurs modèles d'apprentissage automatique et a plusieurs fonctions pour la construction et l'évaluation de modèles. Pour le réglage des paramètres et la formation des modèles, le package caret propose la méthode 'repeatcv' comme l'une des méthodes.

À titre de bonne pratique, le réglage des paramètres peut être effectué à l'aide de la validation croisée imbriquée K-fold qui fonctionne comme suit:

  1. Partitionner l'ensemble de formation en sous-ensembles «K»
  2. À chaque itération, prenez des sous-ensembles «K moins 1» pour l'apprentissage du modèle et conservez un sous-ensemble (ensemble d'exclusion) pour les tests du modèle.
  3. Divisez davantage l'ensemble d'apprentissage «K moins 1» en sous-ensembles «K» et utilisez de manière itérative le nouveau sous-ensemble «K moins 1» et le «ensemble de validation» pour le réglage des paramètres (recherche dans la grille). Le meilleur paramètre identifié à cette étape est utilisé pour tester le jeu de paramètres défini à l'étape 2.

D'un autre côté, je suppose que la validation croisée multipliée par K pourrait répéter les étapes 1 et 2 de manière répétitive autant de fois que nous choisissons de trouver la variance du modèle.

Cependant, en parcourant l'algorithme dans le manuel du curseur, il semble que la méthode 'repeatcv' pourrait également effectuer une validation croisée imbriquée K-fold, en plus de répéter la validation croisée.

algorithme du train d'insertion https://topepo.github.io/caret/training.html

Mes questions sont:

  1. Ma compréhension de la méthode de répétition du curseur est-elle correcte?
  2. Sinon, pourriez-vous donner un exemple d'utilisation de la validation croisée imbriquée K-fold, avec la méthode 'repeatcv' en utilisant le package caret?

Éditer:

Différentes stratégies de validation croisée sont expliquées et comparées dans cet article de méthodologie.

Krstajic D, Buturovic LJ, Leahy DE et Thomas S : pièges de validation croisée lors de la sélection et de l'évaluation des modèles de régression et de classification . Journal of Cheminformatics 2014 6 (1): 10. doi: 10.1186 / 1758-2946-6-10

Je m'intéresse à «Algorithme 2: validation croisée imbriquée stratifiée répétée» et «Algorithme 3: validation croisée de recherche de grille répétée pour la sélection de variables et le réglage des paramètres» en utilisant le package caret.

Mani
la source

Réponses:

2

Il n'y a rien de mal à l'algorithme (imbriqué) présenté, et en fait, il fonctionnerait probablement bien avec une robustesse décente pour le problème de biais-variance sur différents ensembles de données. Cependant, vous n'avez jamais dit que le lecteur devrait supposer que les fonctionnalités que vous utilisiez sont les plus "optimales", donc si cela n'est pas connu, il y a des problèmes de sélection de fonctionnalités qui doivent d'abord être résolus.

SÉLECTION DE CARACTÉRISTIQUES / PARAMÈTRES

Une approche moins biaisée consiste à ne jamais laisser le classificateur / modèle s'approcher à distance de tout ce qui concerne à distance la sélection des caractéristiques / paramètres, car vous ne voulez pas que le renard (classificateur, modèle) soit la garde des poulets (caractéristiques, paramètres). Votre méthode de sélection de fonction (paramètre) est unwrunepper- où la sélection des fonctionnalités est regroupée dans l'apprentissage itératif effectué par le classificateur / modèle. Au contraire, j'utilise toujours une fonctionnalitéFjelterqui utilise une méthode différente, très éloignée du classificateur / modèle, pour tenter de minimiser le biais de sélection des caractéristiques (paramètres). Recherchez le wrapping vs le filtrage et le biais de sélection lors de la sélection des fonctionnalités (GJ McLachlan)

Il existe toujours un problème majeur de sélection des fonctionnalités, pour lequel la solution consiste à invoquer une méthode de partitionnement d'objets (plis), dans laquelle les objets sont partitionnés en différents ensembles. Par exemple, simulez une matrice de données avec 100 lignes et 100 colonnes, puis simulez une variable binaire (0,1) dans une autre colonne - appelez cela la variable de regroupement. Ensuite, exécutez des tests t sur chaque colonne en utilisant la variable binaire (0,1) comme variable de regroupement. Plusieurs des 100 tests t seront significatifs uniquement par hasard; cependant, dès que vous divisez la matrice de données en deux volets1 et 2, dont chacun a n=50, le nombre de tests significatifs diminue. Jusqu'à ce que vous puissiez résoudre ce problème avec vos données en déterminant le nombre optimal de plis à utiliser lors de la sélection des paramètres, vos résultats peuvent être suspects. Vous devrez donc établir une sorte de méthode de biais d'amorçage pour évaluer la précision prédictive sur les objets restants en fonction des tailles d'échantillons variables utilisées dans chaque pli d'apprentissage, par exemple,π=0,1n,0,2n,0,3n,0,4n,0,5n(c'est-à-dire augmenter la taille des échantillons utilisés pendant l'apprentissage) combinée à un nombre variable de plis CV utilisés, par exemple 2, 5, 10, etc.

OPTIMISATION / MINIMISATION

Vous semblez vraiment résoudre un problème d'optimisation ou de minimisation pour l'approximation de fonction, par exemple, y=F(X1,X2,,Xj), où, par exemple, une régression ou un modèle prédictif avec paramètres est utilisé et yest mis à l'échelle en continu. Compte tenu de cela, et compte tenu de la nécessité de minimiser le biais dans vos prévisions (biais de sélection, biais-variance, fuite d'informations des objets de test dans les objets d'entraînement, etc.), vous pourriez envisager d'utiliser le CV lors de l'utilisation de méthodes d'intelligence en essaim, telles que optimisation des essaims de particules (PSO), optimisation des colonies de fourmis, etc. PSO (voir Kennedy et Eberhart, 1995) ajoute des paramètres pour l'échange d'informations sociales et culturelles entre les particules qui volent à travers l'espace des paramètres pendant l'apprentissage. Une fois que vous vous serez familiarisé avec les méthodes d'intelligence en essaim, vous verrez que vous pouvez surmonter de nombreux biais dans la détermination des paramètres. Enfin, je ne sais pas s'il existe une approche de forêt aléatoire (RF, voir Breiman, Journ. Of Machine Learning) pour l'approximation des fonctions, mais s'il y en a,

JoleT
la source