Pourquoi une procédure de validation croisée résout-elle le problème de surapprentissage d'un modèle?
Pourquoi une procédure de validation croisée résout-elle le problème de surapprentissage d'un modèle?
Réponses:
Je ne peux pas penser à une explication suffisamment claire pour le moment, alors je la laisserai à quelqu'un d'autre; Cependant, la validation croisée ne résout pas complètement le problème de sur-ajustement dans la sélection du modèle, elle le réduit simplement. L'erreur de validation croisée n'a pas une variance négligeable, surtout si la taille de l'ensemble de données est petite; En d'autres termes, vous obtenez une valeur légèrement différente en fonction de l'échantillon de données que vous utilisez. Cela signifie que si vous avez plusieurs degrés de liberté dans la sélection du modèle (par exemple de nombreuses fonctionnalités permettant de sélectionner un petit sous-ensemble, de nombreux hyper-paramètres à ajuster, de nombreux modèles parmi lesquels choisir), vous pouvez sur-ajuster le critère de validation croisée. le modèle étant réglé de manière à exploiter cette variation aléatoire plutôt que de manière à réellement améliorer les performances, et vous pouvez vous retrouver avec un modèle qui fonctionne mal. Pour une discussion à ce sujet, voirCawley et Talbot "Sur-ajustement dans la sélection du modèle et biais de sélection subséquent dans l'évaluation de la performance", JMLR, vol. 11, pp. 2079-2107, 2010
Malheureusement, la validation croisée est plus susceptible de vous laisser tomber lorsque vous avez un petit jeu de données, qui correspond exactement au moment où vous avez le plus besoin de validation croisée. Notez que la validation croisée au pli multiple est généralement plus fiable que la validation croisée "laissez un test" car elle a une variance inférieure, mais peut être plus coûteuse à calculer pour certains modèles (raison pour laquelle LOOCV est parfois utilisé pour la sélection de modèle, même si la variance est élevée).
Ma réponse est plus intuitive que rigoureuse, mais peut-être que ça va aider ...
Si je comprends bien, le surajustement est le résultat d’une sélection de modèle reposant sur une formation et sur des tests utilisant les mêmes données, dans laquelle vous disposez d’un mécanisme d’ajustement flexible: vous adaptez votre échantillon de données à un tel l'autre variance.
La division des données en un ensemble de formation et de test vous empêche de le faire. Mais une scission statique n'utilise pas vos données efficacement et votre scission elle-même pourrait poser problème. La validation croisée conserve l'avantage de ne pas récompenser exactement l'adaptation aux données d'entraînement de la division essais de formation, tout en utilisant les données que vous avez aussi efficacement que possible (toutes vos données sont utilisées données d’entraînement et de test, mais pas dans la même série).
Si vous disposez d'un mécanisme d'adaptation flexible, vous devez limiter la sélection de votre modèle afin qu'il ne privilégie pas les ajustements «parfaits», mais complexe. Vous pouvez le faire avec AIC, BIC ou une autre méthode de pénalisation qui pénalise directement la complexité de l'ajustement, ou avec CV. (Ou vous pouvez le faire en utilisant une méthode d’ajustement qui n’est pas très flexible, ce qui est une des raisons pour lesquelles les modèles linéaires sont sympas.)
Une autre façon de voir les choses est que l’apprentissage est une question de généralisation, et un ajustement trop serré est en quelque sorte une généralisation. En faisant varier ce que vous apprenez et ce que vous testez, vous généralisez mieux que si vous appreniez les réponses à un ensemble spécifique de questions.
D'un point de vue bayésien, je ne suis pas sûr que la validation croisée fasse tout ce qu'une analyse bayésienne "correcte" ne permet pas de comparer des modèles. Mais je ne suis pas sûr à 100% que ce soit le cas.
Et
Qui s'appelle la distribution prédictive antérieure . Il indique en gros à quel point le modèle prédit les données réellement observées, ce qui correspond exactement à la validation croisée, le "préalable" étant remplacé par le modèle "de formation" et les "données" remplacées par le "test". Les données. Donc, si le modèle B prédit mieux les données que le modèle A, sa probabilité a posteriori augmente par rapport au modèle A. Il semble donc que le théorème de Bayes procède effectivement à une validation croisée en utilisant toutes les données plutôt qu’un sous-ensemble. Cependant, je ne suis pas totalement convaincu de cela - il semble que nous obtenons quelque chose pour rien.
Une autre caractéristique intéressante de cette méthode est qu’elle a un "rasoir occam" intégré, donné par le rapport des constantes de normalisation des distributions antérieures de chaque modèle.
Cependant, la validation croisée semble utile pour le vieux "quelque chose d'autre" tant redouté ou ce que l'on appelle parfois "la spécification erronée du modèle". Je suis constamment déchiré par le fait que ce "quelque chose d'autre" compte ou non, car il semble que ce devrait être le cas - mais cela vous laisse paralysé sans solution du tout lorsque cela semble important. Juste quelque chose qui vous donne mal à la tête, mais vous ne pouvez rien y faire - à moins de penser à ce que pourrait être cet "autre chose" et de l'essayer dans votre modèle (pour qu'il ne fasse plus partie de "autre chose") .
De plus, la validation croisée est un moyen de réellement effectuer une analyse bayésienne lorsque les intégrales ci-dessus sont ridiculement dures. Et la validation croisée "a du sens" pour n'importe qui - c'est "mécanique" plutôt que "mathématique". Il est donc facile de comprendre ce qui se passe. Et cela semble également vous amener à vous concentrer sur la partie importante des modèles - faire de bonnes prédictions.