Ich möchte ein neurales Netzwerk mit dem Paket "neuralnet" in R trainieren. Der Trainingsdatensatz ist ein Datenrahmen von 8 Prädiktorvariablen (x1, x2, x3, ..., x8) und einer Antwortvariablen (y ). Die Daten sind unten angegeben:
%Vor%Die Modellspezifikation lautet wie folgt:
%Vor%Wenn die Ausführung abgeschlossen ist, wird eine Warnmeldung wie folgt erzeugt:
%Vor%Wenn ich versuche, das Netzwerk zu plotten, erscheint eine Fehlermeldung:
%Vor%Ich habe verschiedene Zahlen von versteckten Neuronen in jeder Schicht von 1 bis 10 und Zahlen weit über 10 verwendet. Das Modell wurde generiert, wenn Werte von versteckt gleich 1 und 2 sind, aber nicht für andere. Ich habe auch versucht, verschiedene Aktivierungsfunktionen zu verwenden, um die Ergebnisse zu glätten. Die Daten haben keine NA-Werte. Kann mir bitte jemand helfen, zu verstehen, warum das so ist und wie es gelöst werden könnte?
Die meisten maschinellen Lernalgorithmen funktionieren nicht "out of the box". Es gibt Parameter, die abgestimmt werden müssen, damit sie mit dem jeweiligen Datensatz richtig funktionieren. Wenn Sie ?neuralnet
eingeben, sehen Sie eine ganze Reihe von Parametern, die angepasst werden können.
Eine Sache, die Sie versuchen könnten, ist stepmax
zu erhöhen, zum Beispiel
um dem Algorithmus mehr Zeit zum Konvergieren zu geben. Besser ist es jedoch, herauszufinden, was genau passiert, indem Sie die verschiedenen Parameter anpassen und untersuchen, wie sie die Ausgabe beeinflussen.
Ich stimme mit mrip überein. Sie können den Stepmax erhöhen und ihm dadurch mehr Zeit zum Konvergieren geben. Die andere Option besteht darin, den Schwellenwertparameter anzupassen. Standardmäßig ist der Wert 0.01. Versuchen Sie es auf 0,1 / 0,5 zu erhöhen. Wenn Sie das Lebenszeichen auf "voll" ändern, können Sie die Schwellenwerte sehen. Halten Sie Ihren Schwellenwert niedriger als den, den Sie im letzten Schritt sehen. Denken Sie daran, je höher der Schwellenwert ist, desto geringer ist die Genauigkeit des Modells
Tags und Links r convergence