Dans les études de psychologie, j'ai appris que nous devrions utiliser la méthode de Bonferroni pour ajuster le niveau de signification lors du test de plusieurs hypothèses sur un seul ensemble de données.
Actuellement, je travaille avec des méthodes d'apprentissage automatique telles que les machines à vecteurs de support ou la forêt aléatoire pour la classification. Ici, j'ai un seul ensemble de données qui est utilisé dans la validation croisée pour trouver les meilleurs paramètres (tels que les paramètres du noyau pour SVM) donnant la meilleure précision.
Mon intuition dit (et est peut-être complètement éteinte) qu'il s'agit d'un problème similaire. Si je teste trop de combinaisons de paramètres possibles, il y a de fortes chances que j'en trouve une qui donne d'excellents résultats. Pourtant, cela pourrait être juste un hasard.
Pour résumer ma question:
Dans l'apprentissage automatique, nous utilisons la validation croisée pour trouver les bons paramètres d'un classificateur. Plus nous utilisons de combinaisons de paramètres, plus les chances d'en trouver une par accident sont élevées (surapprentissage?). Le concept derrière la correction de bonferroni s'applique-t-il également ici? Est-ce un problème différent? Si oui, pourquoi?
la source
Réponses:
Il y a un degré auquel ce dont vous parlez avec la correction de la valeur de p est lié, mais il y a quelques détails qui rendent les deux cas très différents. Le plus important est que dans la sélection des paramètres, il n'y a aucune indépendance dans les paramètres que vous évaluez ou dans les données sur lesquelles vous les évaluez. Pour faciliter la discussion, je prendrai le choix de k dans un modèle de régression K-Nearest-Neighbors comme exemple, mais le concept se généralise également à d'autres modèles.
Disons que nous avons une instance de validation V que nous prévoyons d'obtenir une précision du modèle pour différentes valeurs de k dans notre échantillon. Pour ce faire, nous trouvons les k = 1, ..., n valeurs les plus proches dans l'ensemble d'apprentissage que nous définirons comme T 1 , ..., T n . Pour notre première valeur de k = 1 notre prédiction P1 1 sera égale à T 1 , pour k = 2 , la prédiction P 2 sera (T 1 + T 2 ) / 2 ou P 1 /2 + T 2 /2 , park = 3 , il sera (T 1 + T 2 + T 3 ) / 3 ou P 2 * 2/3 + T 3 /3 . En fait pour toute valeur k on peut définir la prédiction P k = P k-1 (k-1) / k + T k / k . Nous voyons que les prédictions ne sont pas indépendantes les unes des autres, donc la précision des prédictions ne le sera pas non plus. En fait, nous voyons que la valeur de la prédiction se rapproche de la moyenne de l'échantillon. Par conséquent, dans la plupart des cas, le test de valeurs de k = 1:20 sélectionnera la même valeur de k que le test de k = 1: 10 000 à moins que le meilleur ajustement que vous puissiez tirer de votre modèle ne soit que la moyenne des données.
C'est pourquoi il est correct de tester un tas de paramètres différents sur vos données sans trop se soucier des tests d'hypothèses multiples. Étant donné que l'impact des paramètres sur la prédiction n'est pas aléatoire, la précision de votre prédiction est beaucoup moins susceptible d'obtenir un bon ajustement en raison uniquement du hasard. Vous devez vous soucier du sur-ajustement, mais c'est un problème distinct des tests d'hypothèses multiples.
Pour clarifier la différence entre le test d'hypothèses multiples et le sur-ajustement, cette fois nous imaginerons faire un modèle linéaire. Si nous rééchantillonnons à plusieurs reprises les données pour créer notre modèle linéaire (les multiples lignes ci-dessous) et les évaluons, en testant les données (les points sombres), par hasard l'une des lignes fera un bon modèle (la ligne rouge). Cela n'est pas dû au fait qu'il s'agit d'un excellent modèle, mais plutôt que si vous échantillonnez suffisamment les données, certains sous-ensembles fonctionneront. La chose importante à noter ici est que la précision semble bonne sur les données de test retenues en raison de tous les modèles testés. En fait, étant donné que nous choisissons le «meilleur» modèle basé sur les données de test, le modèle peut en fait correspondre mieux aux données de test qu'aux données de formation.
Un ajustement excessif, par contre, se produit lorsque vous créez un modèle unique, mais que vous modifiez les paramètres pour permettre au modèle d'adapter les données de formation au-delà de ce qui est généralisable. Dans l'exemple ci-dessous, le modèle (ligne) correspond parfaitement aux données d'entraînement (cercles vides) mais lorsqu'il est évalué sur les données de test (cercles pleins), l'ajustement est bien pire.
la source
Je suis d'accord avec Barker dans une certaine mesure, mais la sélection des modèles n'est pas seulement kNN . Vous devez utiliser un schéma de validation croisée, avec à la fois une validation et un ensemble de tests. Vous utilisez l'ensemble de validation pour la sélection du modèle et l'ensemble de test pour l'estimation finale de l'erreur de modèle. Il peut s'agir d'un CV k-fold imbriqué ou d'une simple division des données d'entraînement. Les performances mesurées par l'ensemble de validation du modèle le plus performant seront biaisées, car vous avez choisi le modèle le plus performant. Les performances mesurées de l'ensemble de test ne sont pas biaisées, car vous n'avez honnêtement testé qu'un seul modèle. En cas de doute, enveloppez-vous de l'intégralité du traitement et de la modélisation des données dans une validation croisée externe pour obtenir l'estimation la moins biaisée de la précision future.
Comme je le sais, il n'y a pas de correction mathématique simple fiable qui conviendrait à toute sélection entre plusieurs modèles non linéaires. Nous avons tendance à compter sur le bootstrap par force brute pour simuler, quelle serait la précision future du modèle. Soit dit en passant, lors de l'estimation de l'erreur de prédiction future, nous supposons que l'ensemble d'apprentissage a été échantillonné de manière aléatoire à partir d'une population, et que les prévisions de test futures sont échantillonnées à partir de la même population. Sinon, eh bien qui sait ...
Par exemple, si vous utilisez un CV interne de 5 fois pour sélectionner le modèle et un CV externe de 10 fois répété 10 fois pour estimer l'erreur, il est peu probable que vous vous trompiez avec une estimation de la précision du modèle trop confiante.
la source