Main Content

feedforwardnet

Erstellen eines neuronalen Feedforward-Netzes

Beschreibung

Beispiel

net = feedforwardnet(hiddenSizes,trainFcn) gibt ein neuronales Feedforward-Netz mit einer verborgenen Schichtgröße von hiddenSizes und einer Trainingsfunktion aus, die durch trainFcn angegeben ist.

Feedforward-Netze bestehen aus einer Reihe von Schichten. Die erste Schicht verfügt über eine Verbindung zum Eingang des Netzes. Jede nachfolgende Schicht hat eine Verbindung zur vorherigen Schicht. Die letzte Schicht produziert die Ausgabe des Netzes.

Sie können Feedforward-Netze für jede Art von Input-Output-Zuordnung verwenden. Ein Feedforward-Netz mit einer verborgenen Schicht und einer ausreichenden Anzahl von Neuronen in den verborgenen Schichten kann jedes endliche Input-Output-Mapping-Problem lösen.

Zu den spezialisierten Versionen des Feedforward-Netzes gehören Anpassungs- und Mustererkennungsnetze. Weitere Informationen finden Sie unter den Funtkionen fitnet und patternnet.

Eine Abwandlung des Feedforward-Netzes ist das Kaskaden-Forward-Netz, das zusätzliche Verbindungen vom Eingang zu jeder Schicht und von jeder Schicht zu allen folgenden Schichten aufweist. Weitere Informationen über Kaskaden-Forward-Netze finden Sie unter der Funktion cascadeforwardnet.

Beispiele

alle reduzieren

Dieses Beispiel zeigt, wie man ein neuronales Feedforward-Netz zur Lösung eines einfachen Problems einsetzt.

Laden Sie die Trainingsdaten.

[x,t] = simplefit_dataset;

Die 1x94-Matrix x enthält die Eingabewerte und die 1x94-Matrix t enthält die zugehörigen Ziel-Ausgabewerte.

Konstruieren Sie ein Feedforward-Netz mit einer verborgenen Schicht der Größe 10.

net = feedforwardnet(10);

Trainieren Sie das Netz net unter Verwendung der Trainingsdaten.

net = train(net,x,t);

Sehen Sie sich das trainierte Netz an.

view(net)

Schätzen Sie die Ziele mithilfe des trainierten Netzes.

y = net(x);

Bewerten Sie die Leistung des trainierten Netzes. Die Standardleistungsfunktion ist die mittlere quadratische Abewichung.

perf = perform(net,y,t)
perf = 1.4639e-04

Eingabeargumente

alle reduzieren

Größe der verborgenen Schichten des Netzes, angegeben als Zeilenvektor. Die Länge des Vektors bestimmt die Anzahl der verborgenen Schichten im Netz.

Beispiel: Sie können zum Beispiel ein Netz mit 3 verborgenen Schichten angeben, wobei die Größe der ersten verborgenen Schicht 10, der zweiten 8 und der dritten 5 beträgt: [10,8,5]

Die Eingabe- und Ausgabegrößen werden auf Null gesetzt. Die Software passt deren Größe während des Trainings entsprechend den Trainingsdaten an.

Datentypen: single | double

Name der Trainingsfunktion, angegeben als eine der folgenden Möglichkeiten:

TrainingsfunktionAlgorithmus
'trainlm'

Levenberg-Marquardt

'trainbr'

Bayes‘sche Regularisierung

'trainbfg'

BFGS Quasi-Newton

'trainrp'

Resiliente Backpropagation (Rprop)

'trainscg'

Skalierter konjugierter Gradient

'traincgb'

Konjugierter Gradient mit Powell/Beale-Restarts

'traincgf'

Konjugierter Fletcher-Powell-Gradient

'traincgp'

Konjugierter Polak-Ribiére-Gradient

'trainoss'

One Step Secant

'traingdx'

Gradientenabstieg mit variabler Lernrate

'traingdm'

Gradientenabstieg mit Momentum

'traingd'

Gradientenabstieg

Beispiel: Sie können zum Beispiel den Gradientenabstiegsalgorithmus mit variabler Lernrate wie folgt als Trainingsalgorithmus festlegen: 'traingdx'

Weitere Informationen zu den Trainingsfunktionen finden Sie unter Train and Apply Multilayer Shallow Neural Networks und Choose a Multilayer Neural Network Training Function.

Datentypen: char

Ausgabeargumente

alle reduzieren

Neuronales Feedforward-Netz, ausgegeben als network-Objekt.

Versionsverlauf

Eingeführt in R2010b