Bonferroni Correction et apprentissage automatique

9

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?

Nikolas Rieble
la source
3
Oui, c'est le même problème, parfois appelé «dragage de données».
dsaxton
5
vous devez torturer les données jusqu'à ce qu'elles avouent
Soren Havelund Welling

Réponses:

5

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.test d'hypothèses multiples

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.surajustement

Aboyeur
la source
Bel argument pour cette situation particulière de choisir k
Soren Havelund Welling
Ce n'est pas spécifique à K-Nearest-Neighbors, je viens de choisir ce modèle parce que les mathématiques sont plus faciles à voir. Dans chaque modèle, les erreurs de validation produites par des paramètres de plage (c'est à cela que sert la validation croisée) ne sont pas indépendantes les unes des autres. Cela signifie que l'idée d'une correction de Bonferroni qui cherche à corriger les valeurs de p dans plusieurs tests d'échantillons indépendants ne s'applique pas.
Barker
Dans le cas d'une recherche de grille énorme avec de nombreuses combinaisons d'hyper paramètres, un modèle légèrement sur-ajusté est le plus susceptible de sortir le mieux, défini par une fonction de perte de résidus au carré, il arrive qu'il explique bien l'ensemble de validation + avoir de la chance . Il est peu probable qu'un modèle légèrement sur-régularisé soit aussi chanceux en raison du biais. Contrairement à kNN, certains modèles en tant qu'arbres de décision peuvent produire des ajustements très différents par de petits changements dans les hyperparamètres et en testant de nombreux arbres différents ... Par conséquent, des modèles surajustés et des tests de paramètres multiples peuvent être liés dans la pratique.
Soren Havelund Welling,
Les modèles d'arbre de décision qui obtiennent des résultats très différents sur la base de petits changements de paramètres indiquent généralement que le modèle n'est pas stable et qu'un choix différent de semences aléatoires pourrait être aussi bien à blâmer que les paramètres eux-mêmes. Je considérerais cela plus comme une question de stabilité que de raison.
Barker
Exactement. Pour de nombreux algorithmes de modèle pour un ensemble de données donné, une gamme de réglages de paramètres donne des modèles instables. Un petit sous-ensemble de ces modèles instables est susceptible d'obtenir un meilleur score de prédiction sur un ensemble de validation spécifique, que les modèles régularisés raisonnables. C'est pourquoi vous devez également tenir compte des implications des tests multiples dans l'apprentissage automatique et ne pouvez pas simplement vous fier à la conclusion de l'exemple kNN, où ce n'est pas vraiment un problème.
Soren Havelund Welling
3

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.

Soren Havelund Welling
la source
2
Parfois, l'ensemble de validation peut être nommé ensemble d'étalonnage et l'ensemble de test nommé ensemble de validation. Un peu déroutant ...
Soren Havelund Welling