Gibt es eine Möglichkeit, ein neuronales Netz mit mehreren versteckten Ebenen mit der mlp-Methode im Caret-Paket einzurichten?

8

Die Methode mlp im Paket caret ruft mlp auf. Funktion in RSNNS . Im Paket RSNNS kann ich so viele versteckte Ebenen im neuronalen Netz einrichten, wie ich möchte, indem ich den Größenparameter festlege, z. B.

%Vor%

Richtet ein neuronales Netz mit zwei versteckten Schichten von 5 bzw. 7 Knoten ein. Ich möchte das caret -Paket verwenden, da es Funktionen für die Suche nach Parametern / Modellen sowie parallele Implementierungen für einen Cluster bietet. In caret , wenn ich die Methode nachschaue, kann sie nur mit einem Parameter, size , z. B.

, abgestimmt werden %Vor%

Richtet ein neuronales Netz mit einer versteckten Ebene mit drei Knoten ein.

Ich habe versucht, andere Spalten zu mlpGrid und so hinzuzufügen, aber caret scheint das Hinzufügen einer zweiten (oder mehr) versteckten Ebene nicht zuzulassen.

    
Tommy Levi 11.05.2013, 07:53
quelle

2 Antworten

1

Sie sollten caret's verwenden mlpML "methode aus" mlp ". Es verwendet die Funktion mlp von RSNNS, aber Sie können die Anzahl der Neuronen pro versteckter Ebene separat definieren. Zum Beispiel sollte der folgende Code die Arbeit erledigen. Sie definieren Ihr benutzerdefiniertes Gitter mit der Definition Ihrer Schichten, jeder Schicht ( 1 , 2 und 3 ) und wie viele Neuronen pro Schicht.

%Vor%

Mit verboseIter=TRUE wird angezeigt, dass die Werte tatsächlich angewendet wurden

%Vor%     
Eduardo 02.05.2017, 22:38
quelle
0

Die kurze Antwort ist, dass ich nicht glaube, dass Caret multi-verdeckte Layer-Netzwerke mit der mlp-Methode unterstützt.

Wenn Sie die mlp-Funktion verwenden (oder RSNSS aufrufen müssen), können Sie in Betracht ziehen, die Netzwerke miteinander zu verketten, indem Sie die Ausgabe der ersten in die Eingänge der zweiten einspeisen und eine weitere versteckte Ebene simulieren. Dies wäre natürlich schwieriger zu implementieren und viele der Optimierungen zu verlieren, die Sie Caret in erster Linie verwenden möchten.

Auf der anderen Seite bietet Caret eine Alternative an, die das Neuralnet-Paket (Methode = 'Neuralnet') verwendet. Dies würde Ihnen erlauben, Caret mit einem neuronalen Netzwerk mit mehreren versteckten Ebenen zu verwenden. Es sieht jedoch aus der Dokumentation, dass nur 3 versteckte Ebenen unterstützt werden.

    
Giewev 28.10.2015 19:28
quelle