convergence des réseaux de neuronesJ'ai des données brutes avec trois variables indépendantes : la température, la contrainte et la déformation au fluage et une variable dépendante : la vitesse de fluage (voir le graphique ci-dessous). Un collègue fait du FEM où il doit pouvoir obtenir les valeurs entre les points de l'intrigue, j'ai donc utilisé la plate-forme neuronale de JMP pour les obtenir pour lui.

Cela a très bien fonctionné, j'ai obtenu un très bon accord entre les prédictions du modèle neuronal et les données. J'ai essayé plusieurs modèles avec différents nombres de nœuds dans la couche cachée. (Je n'ai pas JMP PRO, donc je ne peux utiliser qu'une seule couche.)
Pour décider quel modèle (par exemple nombre de nœuds N) utiliser, je génère donc un tracé de R2 et RMSE en fonction du nombre de nœuds dans le modèle. Je m'attendais à ce que pour l'ensemble d'entraînement, la courbe R2 augmente et que la courbe RMSE baisse de manière monotone (avec un peu de bruit aléatoire). Pour l'ensemble de validation, je m'attendais à ce que le R2 augmente et que la courbe RSME diminue jusqu'à une certaine valeur de N, point auquel les tendances de la courbe de validation seraient inversées. Ce serait le point auquel le modèle commencerait à sur-ajuster les données de formation et, par conséquent, les performances sur les données de validation chuteraient.
Ce que j'ai eu c'est ça :

Au départ, les tendances sont à peu près comme je m'y attendais, mais j'ai quelques questions :
1) Dans un modèle avec env. 10 nœuds ou plus, le RMSE pour l'ensemble d'apprentissage est systématiquement inférieur à celui de l'ensemble de validation. Est-ce déjà un signe de sur-ajustement ?
2) Lors de l'utilisation de plus d'env. 43 nœuds (pour le RMSE) ou env. 63 nœuds (pour le R2) les performances du modèle baissent pour la validation et l'ensemble d'apprentissage. Pourquoi donc? Ma seule idée est que cela pourrait être un problème du nombre de points dans les ensembles de données qui n'est pas suffisant pour entraîner correctement le modèle neuronal. L'ensemble de données total se compose de 1600 points dont j'ai utilisé 2/3 pour la formation et 1/3 pour l'ensemble de validation.
AnalytiqueRe : convergence des réseaux de neuronesMerci. Je vais vérifier ça.
Re : convergence des réseaux de neuronesUn autre point. J'ai édité mon message d'origine car j'ai confondu le nombre de couches cachées avec le nombre de nœuds cachés. Mon message d'origine se lit maintenant correctement, mais comme vous n'utilisez pas plusieurs couches, vous pouvez ignorer le concept de saturation des nœuds.
Re : convergence des réseaux de neuronesLa seule référence qui traite du nombre d'unités cachées est Principe, JC, NR Euliano et WC Lefebvre. 2000.Systèmes neuronaux et adaptatifs . New York : Wiley.
Ma déclaration vient d'années d'expérience de nombreux experts SAS dans les réseaux de neurones. Dans l'un de nos cours SAS sur l'essentiel des réseaux de neurones, nous avons cette diapositive et ces notes :

Re : convergence des réseaux de neurones@Mark_Bailey @Dan_Obermiller @lwx228
Merci pour vos réponses, je vais réagir en un seul post.
- En effet, j'ai utilisé log10(strain rate) pour la modélisation. Donc, ce qui est affiché, ce sont les R2 et RSME de log10 (taux de déformation). Désolé, j'aurais dû le mentionner.
- J'utilise la fonctionnalité de retenue pour déterminer l'ensemble de validation. Cependant je l'ai utilisé avec la graine 0 et la graine 123. Je pense que si une seule graine est fournie, elle est utilisée pour les deux, la détermination des paramètres de départ pour l'ajustement et la sélection de l'ensemble de validation. (Indiquer la graine 0 revient à ne pas fournir de graine.) Le résultat n'est pas fondamentalement différent. (Il semble y avoir plus de dispersion pour un nombre inférieur de nœuds avec la graine 0, mais la tendance générale est à peu près la même.)


@Dan_Obermiller : Vous mentionnez que des tendances telles que l'amélioration, la détérioration, encore une fois l'amélioration des performances des réseaux de neurones sont souvent observées. Auriez-vous une référence pour cela?
@lwx228 : Vous dites qu'"un tel réseau ne produira que du surapprentissage". C'est ce que je m'attendais à voir. Mais je m'attendais à ce que dans les cas de surajustement, le RMSE pour l'ensemble de validation augmenterait alors que le RMSE pour l'ensemble d'apprentissage diminuerait. Cela ne semble pas être le cas. (Pour SEED=123, l'ensemble de validation a un R2 inférieur et un RMSE inférieur pour un grand nombre de nœuds. Je ne comprends pas ça...)
J'ajoute les fichiers avec les données brutes et le script.
Re : convergence des réseaux de neuronesUn tel réseau de neurones ne produira que du surajustement.
L'utilisation du réseau de neurones convolutifs d'apprentissage profond est une bonne direction.Re : convergence des réseaux de neuronesMark a posé de très bonnes questions. Vous devez absolument utiliser un ensemble de validation fixe pour ces résultats.
Gardez à l'esprit que l'ajout de nœuds supplémentaires à un réseau de neurones peut ou non améliorer la capacité de prédiction. Il existe de nombreux exemples où les performances s'améliorent, se détériorent, puis s'améliorent à nouveau. De plus, lorsque vous ajoutez plus de couches, vous pouvez atteindre un point de saturation des nœuds, ce qui signifie que l'ajout de couches supplémentaires n'améliorera pas les performances.
Re : convergence des réseaux de neuronesAvez-vous créé et utilisé une colonne de données de validation, ou avez-vous utilisé la fonction de retenue au sein de la plate-forme ?
De plus, votre réponse s'étend sur plus de deux ordres de grandeur. Avez-vous essayé de transformer la réponse, par exemple, avec log (base 10) ?