Ma question porte sur la validation croisée lorsqu'il y a beaucoup plus de variables que d'observations. Pour fixer les idées, je propose de me limiter au cadre de classification en très haute dimension (plus de fonctionnalités que d'observation).
Problème: Supposons que pour chaque variable vous avez une mesure d'importance que mesure exactement l'intérêt de la caractéristique pour le problème de classification. Le problème de la sélection d'un sous-ensemble d'entités pour réduire de manière optimale l'erreur de classification est alors réduit à celui de trouver le nombre d'entités.
Question: Quelle est la manière la plus efficace d'exécuter la validation croisée dans ce cas (schéma de validation croisée)? Ma question n'est pas de savoir comment écrire le code mais sur la version de validation croisée à utiliser lorsque vous essayez de trouver le nombre de fonctionnalités sélectionnées (pour minimiser l'erreur de classification) mais comment gérer la dimension élevée lors de la validation croisée (d'où la problème ci-dessus peut être un peu comme un «problème de jouet» pour discuter de CV en haute dimension).
Notations: est la taille de l'ensemble d'apprentissage, p le nombre d'entités (c'est-à-dire la dimension de l'espace d'entités). Par dimension très élevée, je veux dire p >> n (par exemple et ).
la source
Réponses:
Vous manquez une question importante - il n'y a presque jamais une chose telle que T [i]. Imaginez un problème simple dans lequel la somme de deux attributs (d'une amplitude similaire) est importante; si vous supprimez l'un d'eux, l'importance de l'autre diminuera soudainement. De plus, une grande quantité d'attributs non pertinents est la précision de la plupart des classificateurs, donc leur capacité à évaluer l'importance. Enfin et surtout, les algorithmes stochastiques renverront des résultats stochastiques, et donc même le classement T [i] peut être instable. Donc, en principe, vous devez au moins recalculer T [i] après que chaque attribut (ou au moins après chaque attribut non redondant) soit supprimé.
Pour en revenir au sujet, la question de savoir quel CV choisir dépend principalement du problème; avec un très petit nombre de cas, la LOO peut être le meilleur choix car tous les autres commencent à se réduire à elle; encore petit est plutôt n = 10 pas n = 100. Je recommanderais donc simplement le sous-échantillonnage aléatoire (que j'utilise le plus) ou le K-fold (puis avec la recréation de divisions à chaque étape). Néanmoins, vous devez également collecter non seulement la moyenne mais aussi l'écart type des estimations d'erreur; ceci peut être utilisé pour (approximativement) juger quels changements de moyenne sont importants et vous aider à décider quand arrêter le processus.
la source
C'est une bonne question, et cela a tendance à toucher plus de ce qui se réfère aux apprenants d'ensemble et à la moyenne des modèles (je fournirai des liens ci-dessous):
Lorsque vous êtes dans des paramètres dimensionnels élevés, la stabilité de votre solution (c'est-à-dire quelles fonctionnalités / variables sont sélectionnées) peut faire défaut, car les modèles individuels peuvent choisir 1 parmi de nombreuses variables colinéaires échangeables qui, dans l'ensemble, transportent le même signal ( parmi une des nombreuses raisons). Vous trouverez ci-dessous quelques stratégies pour résoudre ce problème.
Dans le modèle bayésien faisant la moyenne par exemple,
Hoeting, Jennifer A. et al. "Moyenne du modèle bayésien: un tutoriel." Science statistique (1999): 382-401.
vous construisez de nombreux modèles (disons 100), et chacun d'eux est construit avec un sous-ensemble des fonctionnalités d'origine. Ensuite, chaque modèle individuel détermine laquelle des variables qu'il a vues était significative, et chaque modèle est pondéré par la vraisemblance des données, ce qui vous donne un bon résumé de la façon de «juger» de l'efficacité des variables de manière «validation croisée». vous savez a priori que certaines caractéristiques sont fortement corrélées, vous pouvez induire un schéma d'échantillonnage de sorte qu'elles ne soient jamais sélectionnées ensemble (ou si vous avez une structure de corrélation de blocs, vous choisissez des éléments de différents blocs dans votre matrice de variance-covariance)
Dans un paramètre de type d' apprentissage automatique : regardez la «sélection de caractéristiques d'ensemble». Ce document (un exemple)
Neumann, Ursula, Nikita Genze et Dominik Heider. "EFS: un outil de sélection de fonctionnalités d'ensemble implémenté en tant que R-package et application web." BioData mining 10.1 (2017): 21.
détermine la signification des fonctionnalités dans une variété de métriques "d'importance" pour effectuer la sélection finale des fonctionnalités.
Je dirais que la route d'apprentissage automatique pourrait être de meilleurs modèles linéaires b / c (avec sélection de fonctionnalités) saturés à p = nb / c de leur reformulation d'optimisation (voir cet article Si p> n, le lasso sélectionne au plus n variables ). Mais tant que vous pouvez définir et justifier un bon critère objectif sur la façon dont vous «validez» la sélection des fonctionnalités, alors vous partez du bon pied.
J'espère que cela t'aides!
la source