Les ensembles de validation de réseaux neuronaux obtiennent des ajustements de modèle plus élevés que les ensembles d'apprentissageProblème : Pourquoi mes ensembles de validation ont mieux fonctionné que les ensembles d'apprentissage ?
Données : 200 points de données ; 90% pour la formation et 10% pour la validation
Statistique:
1. créer une colonne de validation
Créer une colonne de validation (
Ensemble d'entraînement (0,90),
Ensemble de validation( 0.10 ),
Ensemble d'essai( 0.00 ),
formule aléatoire);
2. réseaux de neurones :
une couche cachée, 3 nœuds TanH
Boosting : nombre de modèles (10), taux d'apprentissage (0,1)
Options de montage : Nombre de tours (10)
3. les étapes ci-dessus ont été répétées 1000 fois
4. calculer la moyenne des R carrés pour les ensembles d'apprentissage et les ensembles de validation
Description des problèmes :
Le R carré moyen pour les ensembles de validation était beaucoup plus grand que celui des ensembles d'apprentissage. Pourquoi cela arriverait-il ? Nous avons même essayé sans méthode de pénalité, les ensembles de validation fonctionnaient toujours mieux que la formation.
Comment JMP optimise-t-il les paramètres d'estimation pour les ensembles de validation ?
Pourquoi ce n'est pas le cas si nous utilisons des forêts bootstrap ? c'est-à-dire que pour les forêts bootstrap, les ensembles d'apprentissage ont mieux fonctionné que les ensembles de validation.
Merci.
Re : Les ensembles de validation de réseaux neuronaux obtiennent des ajustements de modèle plus élevés que les ensembles d'entraînementVous ne dérangez personne ici ! Les questions comme les vôtres sont l'une des principales raisons d'avoir la zone Discussions dans la communauté JMP ! D'un autre côté, certaines discussions peuvent dépasser la portée ou la capacité de ce format.
REMARQUE : nous discutons modèles prédictifs , pas modèles explicatifs . En tant que tel, nous ne nous soucions que de la capacité du modèle à prédire l'avenir. Le futur n'est pas disponible tant que entraînement le modèle et en sélectionnant un modèle.
La validation croisée, quelle qu'elle soit, n'est pas le résultat d'une théorie. C'est une solution au problème de savoir comment effectuer une évaluation honnête des performances des modèles avant et après la sélection d'un modèle. L'approche des ensembles retenus a d'abord été développée pour les cas de grands ensembles de données. L'inférence n'est pas utile pour modéliser la sélection dans de tels cas. Le futur n'est pas disponible. Ce qu'il faut faire? Mettez de côté ou conservez une partie des données ( validation ). Ces données ne sont pas disponibles pour la procédure de formation. Appliquez ensuite le modèle ajusté à l'ensemble retenu pour obtenir les prédictions du modèle. Comment le modèle a-t-il fait? Comment font les autres modèles ?
Étant donné que les données de validation ont été utilisées pour sélectionner le modèle, certains modélisateurs tiennent une troisième partie ( test ) pour évaluer le modèle sélectionné.
La validation croisée est une très bonne solution mais repose sur la grande taille de l'ensemble original d'observations. Que faire lorsque la taille de l'échantillon est petite ? L'approche K-fold a été développée spécifiquement pour de tels cas. Certains modélisateurs vont à l'extrême et fixent K à la taille de l'échantillon. Cette version est connue sous le nom de ' en laisser un .' Cela fonctionne mieux que de conserver des ensembles dans de tels cas, car vous utilisez les données plus efficacement.
Re : Les ensembles de validation de réseaux neuronaux obtiennent des ajustements de modèle plus élevés que les ensembles d'entraînementCher Monsieur Bailey,
Comme recommandé, j'ai utilisé la validation croisée k-fold avec les réseaux de neurones et la régression pas à pas (entrer tout). J'ai écrit une boucle et exécuté chaque analyse 100 fois. Les résultats montrent que les R carrés moyens des ensembles de validation ne sont pas supérieurs à ceux des ensembles d'apprentissage.
Maintenant, je me demande pourquoi la validation croisée K-fold fonctionne mieux avec des échantillons de petite taille et pourquoi la validation avec des réseaux de neurones obtiendra un résultat gênant, c'est-à-dire que les ensembles de validation obtiennent des R carrés moyens plus élevés. Quelle est la raison théorique ou mathématique ?
Merci.Désolé de vous déranger à nouveau.
Re : Les ensembles de validation de réseaux neuronaux obtiennent des ajustements de modèle plus élevés que les ensembles d'entraînementJMP Pro offre un k-fold pour l'analyse de régression sous la plate-forme Stepwise. Il est utilisé pour déterminer les termes à conserver dans le modèle. À partir de la documentation JMP :
Validation croisée K-Fold (Disponible uniquement pour les réponses continues.) Effectue une validation croisée K-Fold dans le processus de sélection. Lorsqu'elle est sélectionnée, cette option active la règle d'arrêt Max K-Fold RSquare ("Panneau de configuration de la régression pas à pas" à la page 250). Pour plus
Pour plus d'informations sur la validation, reportez-vous à la section « Utilisation de la validation », à la page 285.
Re : Les ensembles de validation de réseaux neuronaux obtiennent des ajustements de modèle plus élevés que les ensembles d'entraînementNon, la plate-forme Fit Least Squares de JMP ne fournit aucune validation croisée. La plate-forme de régression généralisée de JMP Pro, qui inclut le modèle de régression linéaire standard, fournit à la fois une validation croisée d'attente dans la boîte de dialogue de lancement et une validation croisée K-fold comme option de validation de la plate-forme.
Vous pouvez envisager d'utiliser l'AICc pour la sélection de modèles à la place de la validation croisée en raison de la petite taille de l'échantillon.
Vous pouvez également envisager d'utiliser un logiciel open source s'il offre la flexibilité que vous exigez. Vous pouvez vous connecter à R ou Python, par exemple, avec JMP et travailler avec les deux logiciels.
Re : Les ensembles de validation de réseaux neuronaux obtiennent des ajustements de modèle plus élevés que les ensembles d'entraînementCher Monsieur Bailey,
Merci. J'ai une autre question : pouvons-nous utiliser la validation croisée K-fold avec la régression standard des moindres carrés dans JMP ?
Re : Les ensembles de validation de réseaux neuronaux obtiennent des ajustements de modèle plus élevés que les ensembles d'entraînementMerci. Oui, je n'ai trouvé que les scripts ci-dessous. Mais je ne pouvais pas le combiner avec le modèle de forêt bootstrap.
obj = Open( "$SAMPLE_DATA/Car Poll.jmp" ) << Partition(
Y( :country ),
X( :sex, :marital status, :age, :type, :size )
);
obj << K Fold Crossvalidation( 5 );
obj << Go;
Merci beaucoup pour votre aide.
Re : Les ensembles de validation de réseaux neuronaux obtiennent des ajustements de modèle plus élevés que les ensembles d'entraînementVous ne pouvez pas utiliser la validation croisée K-fold avec la sélection de modèles Bootstrap Forest dans JMP. Vous ne pouvez utiliser que des ensembles réservés.
N'oubliez pas que la plupart des types de modèles prédictifs sont destinés à de grands ensembles de données. Vous pourriez faire aussi bien avec la régression multiple dans votre cas si les données répondent aux hypothèses du modèle.
Re : Les ensembles de validation de réseaux neuronaux obtiennent des ajustements de modèle plus élevés que les ensembles d'entraînementMerci pour vos suggestions. Nous avons essayé le k-fold, et cela fonctionne mieux dans notre cas. Cependant, de nouveaux problèmes apparaissent : comment pourrions-nous effectuer une validation croisée k-fold pour les forêts bootstrap ?
Merci.
Re : Les ensembles de validation de réseaux neuronaux obtiennent des ajustements de modèle plus élevés que les ensembles d'entraînementMerci pour les suggestions. Oui, 1000 itérations signifient que nous avons 1000 fractionnements aléatoires de l'ensemble de données. Et il est vrai que les R carrés des ensembles de validation ne sont pas toujours plus grands que les ensembles d'apprentissage (voir la figure). Mais la moyenne des R carrés des ensembles de validation est toujours supérieure à celle des ensembles d'apprentissage pour tous nos paramètres de réponse. Je fais les analyses avec k-fold maintenant. Voyons ce qui se passerait.
Comme M. Bailey l'a mentionné :
"L'ensemble d'apprentissage est utilisé pour estimer les paramètres du modèle. L'ensemble de validation est utilisé pour sélectionner parmi les modèles candidats. L'ensemble de test est utilisé pour évaluer le modèle sélectionné."
J'ai deux questions liées aux phrases ci-dessus:
- Dans le processus de formation, combien de candidats seraient préparés ? Comment les candidats calculent-ils ? Est-ce décidé par le boosting - "adapter une séquence additive de modèles mis à l'échelle par le taux d'apprentissage" ?
- Comment le logiciel choisit-il le meilleur candidat ? Quel est le critère du meilleur candidat ? Est-ce le candidat qui donne le meilleur R carré pour les ensembles de validation ?
Quant au k-fold, j'ai aussi deux questions :
- Si nous avons 200 points de données et que nous avons utilisé une division de 90 %/10 % pour l'ensemble d'apprentissage et de validation (sans chevauchement), nous obtiendrons probablement un ensemble d'apprentissage de 180 points de données et un ensemble de validation de 20 points de données. C'est la même chose si nous utilisons une méthode de validation d'ordre 10. Est-ce correct? Quelle est la différence entre la validation k-fold et la validation 90 %/10 % ?
- Dans la validation croisée K-fold, encore une fois, quel est le critère du meilleur candidat ? Comment pourrait trouver le modèle optimisé? Est-ce la même méthode que pour la validation 90%/10% ?
Dans le manuel, j'ai lu "Lorsque la validation croisée K-fold est utilisée, la procédure décrite est appliquée à chacune des K partitions de retenue d'entraînement des données pour chaque valeur d'essai du paramètre de pénalité. Une fois le modèle ajusté à tous les plis, la vraisemblance de l'ensemble de validation est sommé à travers les plis en utilisant chacune des estimations des paramètres du pli individuel. C'est la valeur qui est optimisée dans la sélection du paramètre de pénalité. Le pli dont les estimations de paramètres donnent la meilleure valeur sur l'ensemble de données complet sont les estimations de paramètres qui sont conservées et utilisées par la plateforme. La paire formation-retenue qui a conduit au modèle qui était le meilleur est la paire dont les diagnostics du modèle sont donnés dans le rapport. Cela signifie-t-il que le modèle qui a le plus grand probabilité sommée est le meilleur?
Merci encore.

Re : Les ensembles de validation de réseaux neuronaux obtiennent des ajustements de modèle plus élevés que les ensembles d'entraînementJe ne suis pas sûr mais je pense que la revendication n'est pas de supériorité. Il est basé sur la différence du R carré moyen entre les ensembles d'apprentissage et de validation. En fait, on ne peut pas être supérieur car les distributions d'échantillonnage se chevauchent. En utilisant une distribution normale pour approximer la distribution d'échantillonnage de R au carré, j'obtiens ces deux graphiques du PDF normal en utilisant les valeurs de paramètre de distribution indiquées :

REMARQUE : Je sais que R carré n'est pas normalement distribué en raison de ses limites [0,1], mais ce cas est suffisamment éloigné des deux limites pour que l'approximation fonctionne suffisamment bien.
Re : Les ensembles de validation de réseaux neuronaux obtiennent des ajustements de modèle plus élevés que les ensembles d'entraînementSi j'ai bien compris votre description, je suis un peu perplexe.Par 1000 itérations, voulez-vous dire que vous avez exécuté le réseau neuronal sur 1000 fractionnements aléatoires de l'ensemble de données ?Si tel est le cas, je pense qu'il est étrange que chacune de ces divisions ait entraîné de meilleures performances sur les données de validation que sur les données de formation.Mes préoccupations concernant la taille de l'échantillon et le nombre de fonctionnalités expliqueraient un certain nombre (voire plusieurs) des itérations se comportant de cette façon, mais probablement pas toutes les 1000. Si je vous comprends bien, cela peut être quelque chose de particulier à vos données et le caractéristiques particulières que vous avez.Si vous êtes prêt à publier les données, je pourrais peut-être vous aider davantage, mais je pense que cela épuise mes pensées sur la base de ce que vous avez dit - à moins que je ne comprenne pas ce que vous avez fait.
Re : Les ensembles de validation de réseaux neuronaux obtiennent des ajustements de modèle plus élevés que les ensembles d'entraînementMerci pour vos suggestions. Nous avons sept caractéristiques à utiliser comme prédicteurs. Et dans certains cas, le Std n'est pas plus grand pour les ensembles de validation : R2train moyen = 0,56, SDtrain = 0,11 ; moyenne R2val = 0,70, SDval = 0,11.
Et nous avons également essayé avec douze prédicteurs. Les modèles de nos résultats sont les mêmes : les R carrés moyens des ensembles de validation de 1 000 itérations étaient toujours plus grands que ceux des ensembles d'apprentissage.
Re : Les ensembles de validation de réseaux neuronaux obtiennent des ajustements de modèle plus élevés que les ensembles d'entraînementL'ensemble d'apprentissage est utilisé pour estimer les paramètres du modèle. L'ensemble de validation est utilisé pour sélectionner parmi les modèles candidats. L'ensemble de test est utilisé pour évaluer le modèle sélectionné.
je suis d'accord avec @dale_lehman que votre ensemble de données est trop petit pour utiliser la méthode de validation croisée. Je recommande la validation croisée K-fold.
Re : Les ensembles de validation de réseaux neuronaux obtiennent des ajustements de modèle plus élevés que les ensembles d'entraînementCombien de fonctionnalités avez-vous ?Je me méfie toujours de la petite taille de l'échantillon.Notez que le R-carré et l'écart-type sont plus grands pour les données de validation.Je pense que si vous avez suffisamment de fonctionnalités, vous pouvez obtenir un bon "ajustement" à l'ensemble de validation relativement petit (même avec une répartition de 30%) qui ne sera pas transmis aux données de test.Peut-être que mbailey peut éclairer cela - mais j'ai l'impression que les données de validation sont utilisées pour régler le réseau neuronal, donc ce n'est pas la même chose que les données de test qui ne sont pas du tout utilisées dans le processus de modélisation.Ainsi, avec peu de points de données et suffisamment de fonctionnalités, vous pouvez très bien ajuster les données de validation, mais avec des performances médiocres sur les données de test.
Re : Les ensembles de validation de réseaux neuronaux obtiennent des ajustements de modèle plus élevés que les ensembles d'entraînementMerci. Pour expliquer plus en détail mon étude :
Pour chaque itération, j'ai utilisé un nouveau fractionnement dans l'ensemble d'entraînement et de validation.
Il y a les résultats pour l'apprentissage et la validation : moyenne R2train = 0,58, SDtrain = 0,09 ; moyenne R2val = 0,71, SDval = 0,12
Le paramètre de réponse est une variable continue.
Le schéma est le même pour un partage 70%/30%.Du coup, je n'ai pas vraiment compris ce qui se passe en validation. Il devrait y avoir plus que simplement tester le modèle ?
Par exemple, lorsque j'utilise une procédure en 3 étapes (formation, validation et test), le R carré moyen pour les ensembles de validation est à nouveau supérieur à celui de la formation, alors qu'il y a une liste déroulante pour le test. Alors quelle est la différence entre test et validation.
Re : Les ensembles de validation de réseaux neuronaux obtiennent des ajustements de modèle plus élevés que les ensembles d'entraînementJ'ai oublié de mentionner que la validation croisée K-fold est spécifiquement destinée aux cas avec des échantillons de petite taille. Avez-vous essayé cette méthode au lieu d'un ensemble d'attente de validation ?
Re : Les ensembles de validation de réseaux neuronaux obtiennent des ajustements de modèle plus élevés que les ensembles d'entraînementVeuillez confirmer ma compréhension de votre étude. Vous avez réaffecté des lignes aux ensembles d'attente d'entraînement et de validation avant chacun des 1 000 événements d'entraînement ?
JMP n'optimise pas la formation pour l'ensemble d'attente de validation. Il n'évalue l'ensemble d'attente de validation qu'une fois la formation terminée.
Quels sont la moyenne et l'écart type des statistiques d'échantillon R au carré pour les ensembles d'attente de formation et de validation ?
Quelle est la nature de la réponse ? Est-ce continu ? Est-ce catégorique ? Si oui, combien de niveaux dans la réponse ?
Re : Les ensembles de validation de réseaux neuronaux obtiennent des ajustements de modèle plus élevés que les ensembles d'entraînementVous avez raison de dire que ce n'est pas un résultat typique - même si cela peut arriver et arrive.Je soupçonne, dans ce cas, que c'est principalement le résultat de votre scission initiale.Un ensemble de validation de 10 %, en particulier avec un si petit nombre d'observations, signifie que les résultats de validation concernent un modèle appliqué à un très petit nombre de points de données.Les réseaux de neurones peuvent aggraver le problème, mais même un modèle OLS fera un bon travail d'ajustement de 20 points de données.Je pense que si vous changez la répartition formation/validation à 70%/30% (et surtout si vous avez aussi plus de données) cette anomalie disparaîtra.