Konvergenz neuronaler NetzeIch habe Rohdaten mit drei unabhängigen Variablen: Temperatur, Spannung und Kriechdehnung und einer abhängigen Variablen: Kriechrate (siehe Diagramm unten). Ein Kollege führt einige FEM durch, bei denen er in der Lage sein muss, die Werte zwischen den Punkten im Diagramm zu erhalten, also habe ich die neuronale Plattform in JMP verwendet, um diese für ihn zu erhalten.

Das hat sehr gut funktioniert, ich habe eine sehr gute Übereinstimmung zwischen den Vorhersagen des neuronalen Modells und den Daten erhalten. Ich habe mehrere Modelle mit unterschiedlicher Anzahl von Knoten in der verborgenen Schicht ausprobiert. (Ich habe kein JMP PRO, daher kann ich nur 1 Ebene verwenden.)
Um zu entscheiden, welches Modell (z. B. Anzahl der Knoten N) verwendet werden soll, erzeuge ich ein Diagramm von R2 und RMSE als Funktion der Anzahl der Knoten im Modell. Ich hatte erwartet, dass für den Trainingssatz die R2-Kurve ansteigen und die RMSE-Kurve monoton abfallen würde (mit etwas zufälligem Rauschen). Für den Validierungssatz erwartete ich, dass R2 ansteigt und die RSME-Kurve fällt, bis ein bestimmter Wert von N erreicht ist, an dem sich die Trends für die Validierungskurve umkehren würden. Dies wäre der Punkt, an dem das Modell mit der Überanpassung der Trainingsdaten beginnen würde und daher die Leistung der Validierungsdaten sinken würde.
Was ich bekam war das:

Anfangs sind die Trends ziemlich genau so, wie ich es erwartet hatte, aber ich habe einige Fragen:
1) Bei einem Modell mit ca. 10 Knoten oder mehr, ist der RMSE für das Trainingsset systembedingt niedriger als für das Validierungsset. Ist das schon ein Zeichen für Overfitting?
2) Bei Verwendung von mehr als ca. 43 Knoten (für den RMSE) oder ca. 63 Knoten (für den R2) sinkt die Leistung des Modells für die Validierung und den Trainingssatz. Warum ist das so? Meine einzige Idee ist, dass dies ein Problem sein könnte, dass die Anzahl der Punkte in den Datensätzen nicht ausreicht, um das neuronale Modell richtig zu trainieren. Der Gesamtdatensatz besteht aus 1600 Punkten, von denen ich 2/3 für das Training und 1/3 für den Validierungssatz verwendet habe.
AnalytikBetreff: Konvergenz neuronaler NetzeVielen Dank. Ich werde das überprüfen.
Betreff: Konvergenz neuronaler NetzeEin weiterer Punkt. Ich habe meinen ursprünglichen Beitrag bearbeitet, weil ich die Anzahl der versteckten Ebenen mit der Anzahl der versteckten Knoten verwechselt habe. Mein ursprünglicher Beitrag liest sich jetzt korrekt, aber da Sie nicht mehrere Ebenen verwenden, können Sie das Konzept der Knotensättigung ignorieren.
Betreff: Konvergenz neuronaler NetzeDie einzige Referenz, die die Anzahl der versteckten Einheiten diskutiert, ist Principe, JC, NR Euliano und WC Lefebvre. 2000.Neurale und adaptive Systeme . New York: Wiley.
Meine Aussage stammt aus jahrelanger Erfahrung vieler SAS-Experten für neuronale Netze. In einem unserer SAS-Kurse über die Grundlagen neuronaler Netzwerke haben wir diese Folie und Notizen:

Betreff: Konvergenz neuronaler Netze@Mark_Bailey @Dan_Obermiller @lwx228
Vielen Dank für Ihre Antworten, ich werde in einem einzigen Beitrag reagieren.
- In der Tat habe ich log10 (Dehnungsrate) für die Modellierung verwendet. Was also angezeigt wird, sind R2 und RSME von log10 (Dehnungsrate). Entschuldigung, das hätte ich erwähnen sollen.
- Ich verwende die Holdback-Funktionalität, um den Validierungssatz zu bestimmen. Ich habe es jedoch mit dem Seed 0 und dem Seed 123 verwendet. Ich denke, wenn nur ein Seed bereitgestellt wird, wird dieser sowohl für die Bestimmung der Startparameter für das Fitting als auch für die Auswahl des Validierungssets verwendet. (Das Angeben von Seed 0 ist dasselbe wie das Nichtbereitstellen eines Seeds.) Das Ergebnis ist nicht grundlegend anders. (Es scheint mehr Streuung für eine geringere Anzahl von Knoten mit Startwert 0 zu geben, aber der allgemeine Trend sieht ziemlich gleich aus.)


@Dan_Obermiller : Sie erwähnen, dass Trends wie die Verbesserung, Verschlechterung und erneute Verbesserung der Leistung von neuronalen Netzen häufig zu beobachten sind. Hätten Sie dazu eine Referenz?
@lwx228 : Sie sagen, dass "ein solches Netzwerk nur Überanpassung produziert". Das hatte ich erwartet. Aber ich hatte erwartet, dass in Fällen von Overfitting der RMSE für den Validierungssatz steigen würde, während der RMSE für den Trainingssatz fallen würde. Das scheint nicht der Fall zu sein. (Für SEED = 123 hat der Validierungssatz einen niedrigeren R2 und einen niedrigeren RMSE. für eine große Anzahl von Knoten. das verstehe ich nicht...)
Ich füge die Dateien mit den Rohdaten und dem Skript hinzu.
Betreff: Konvergenz neuronaler NetzeEin solches neuronales Netzwerk wird nur eine Überanpassung erzeugen.
Die Verwendung von Deep Learning Convolutional Neural Networks ist eine gute Richtung.Betreff: Konvergenz neuronaler NetzeMark hat sehr gute Fragen gestellt. Für diese Ergebnisse sollten Sie auf jeden Fall ein festes Validierungsset verwenden.
Denken Sie daran, dass das Hinzufügen weiterer Knoten zu einem neuronalen Netzwerk die Vorhersagefähigkeit verbessern kann oder nicht. Es gibt viele Beispiele, bei denen sich die Leistung verbessert, verschlechtert und dann wieder verbessert. Wenn Sie weitere Layer hinzufügen, können Sie außerdem einen Punkt der Knotensättigung erreichen, was bedeutet, dass das Hinzufügen weiterer Layer die Leistung nicht verbessert.
Betreff: Konvergenz neuronaler NetzeHaben Sie eine Validierungsdatenspalte erstellt und verwendet oder die Zurückhaltefunktion innerhalb der Plattform verwendet?
Außerdem umfasst Ihre Antwort mehr als ein paar Größenordnungen. Haben Sie versucht, die Antwort beispielsweise mit log (Basis 10) umzuwandeln?