Main Content

network

Erstellen eines benutzerdefinierten flachen neuronalen Netzes

Syntax

net = network
net = network(numInputs,numLayers,biasConnect,inputConnect,layerConnect,outputConnect)

Hilfe erhalten

Geben Sie help network/network ein.

Tipp

Um zu erfahren, wie man ein Deep-Learning-Netz erstellt, gehen Sie auf dlnetwork.

Beschreibung

network erstellt neue benutzerdefinierte Netze. Es wird verwendet, um Netze zu erstellen, die dann durch Funktionen wie feedforwardnet und narxnet angepasst werden.

net = network ohne Argumente gibt ein neues neuronales Netz ohne Eingänge, Schichten oder Ausgänge zurück.

net = network(numInputs,numLayers,biasConnect,inputConnect,layerConnect,outputConnect) nimmt die folgenden optionalen Argumente entgegen (angegeben mit Standardwerten):

numInputs

Anzahl der Eingänge, 0

numLayers

Anzahl der Schichten, 0

biasConnect

numLayers-mal-1 Boolescher Vektor, Nullstellen

inputConnect

numLayers-mal-numInputs Boolesche Matrix, Nullstellen

layerConnect

numLayers-mal-numLayers Boolesche Matrix, Nullstellen

outputConnect

1-mal-numLayers Boolescher Vektor, Nullstellen

und gibt Folgendes zurück:

net

Ein neues Netz mit den angegebenen Eigenschaftswerten

Eigenschaften

Architektonische Eigenschaften

net.numInputs

0 oder eine positive Ganzzahl

Anzahl der Eingänge.

net.numLayers

0 oder eine positive Ganzzahl

Anzahl der Ebenen.

net.biasConnect

numLayer-mal-1 Boolescher Vektor

Wenn net.biasConnect(i) 1 ist, dann hat die Schicht i eine Verzerrung, und net.biases{i} ist eine Struktur, die diese Verzerrung beschreibt.

net.inputConnect

numLayer-mal-numInputs Boolescher Vektor

Wenn net.inputConnect(i,j) 1 ist, dann hat die Schicht i ein vom Eingang j ausgehendes Gewicht, und net.inputWeights{i,j} ist eine Struktur, die dieses Gewicht beschreibt.

net.layerConnect

numLayer-mal-numLayers Boolescher Vektor

Wenn net.layerConnect(i,j) 1 ist, dann hat die Schicht i ein von der Schicht j ausgehendes Gewicht, und net.layerWeights{i,j} ist eine Struktur, die dieses Gewicht beschreibt.

net.outputConnect

1-mal-numLayers Boolescher Vektor

Wenn net.outputConnect(i) 1 ist, dann hat das Netz einen von der Schicht i ausgehenden Ausgang und net.outputs{i} ist eine Struktur, die diesen Ausgang beschreibt.

net.numOutputs

0 oder eine positive Ganzzahl (schreibgeschützt)

Anzahl der Netzausgänge gemäß net.outputConnect.

net.numInputDelays

0 oder eine positive Ganzzahl (schreibgeschützt)

Maximale Eingangsverzögerung nach allen net.inputWeights{i,j}.delays.

net.numLayerDelays

0 oder eine positive Zahl (schreibgeschützt)

Maximale Schichtverzögerung nach allen net.layerWeights{i,j}.delays.

Eigenschaften der Unterobjektstruktur

net.inputs

numInputs-mal-1 Zellen-Array

net.inputs{i} ist eine Struktur, die den Eingang i definiert.

net.layers

numLayers-mal-1 Zellen-Array

net.layers{i} ist eine Struktur, die die Schicht i definiert.

net.biases

numLayers-mal-1 Zellen-Array

Wenn net.biasConnect(i) 1 ist, dann ist net.biases{i} eine Struktur, die die Verzerrung für die Schicht i definiert.

net.inputWeights

numLayers-mal-numInputs Zellen-Array

Wenn net.inputConnect(i,j) 1 ist, dann ist net.inputWeights{i,j} eine Struktur, die die Gewichtung der Schicht i durch den Eingang j definiert.

net.layerWeights

numLayers-mal-numLayers Zellen-Array

Wenn net.layerConnect(i,j) 1 ist, dann ist net.layerWeights{i,j} eine Struktur, die die Gewichtung der Schicht i durch die Schicht j definiert.

net.outputs

1-mal-numLayers Zellen-Array

Wenn net.outputConnect(i) 1 ist, dann ist net.outputs{i} eine Struktur, die den Netzausgang aus der Schicht i definiert.

Funktionseigenschaften

net.adaptFcn

Name einer Netzanpassungsfunktion oder ''

net.initFcn

Name einer Netzinitialisierungsfunktion oder ''

net.performFcn

Name einer Netzleistungsfunktion oder ''

net.trainFcn

Name einer Netztrainingsfunktion oder ''

Parametereigenschaften

net.adaptParam

Netzanpassungsparameter

net.initParam

Netzinitialisierungsparameter

net.performParam

Netzleistungsparameter

net.trainParam

Netztrainingsparameter

Eigenschaften von Gewichtung und Verzerrung

net.IW

numLayers-mal-numInputs Zellen-Array von Eingangsgewichtswerten

net.LW

numLayers-mal-numLayers Zellen-Array von Schichtgewichtswerten

net.b

numLayers-mal-1-Zellen-Array von Verzerrungswerten

Andere Eigenschaften

net.userdata

Struktur, die Sie zum Speichern nützlicher Werte verwenden können

Beispiele

Erstellen eines Netzes mit einem Eingang und zwei Schichten

Dieses Beispiel zeigt, wie man ein Netz ohne Eingänge und Schichten erstellt und dann die Anzahl der Eingänge und Schichten auf 1 bzw. 2 setzt.

net = network
net.numInputs = 1
net.numLayers = 2

Alternativ dazu können Sie dasselbe Netz auch mit einer Zeile Code erstellen.

net = network(1,2)

Vorwärtsgerichtetes Netz erstellen und Eigenschaften ansehen

Dieses Beispiel zeigt, wie man ein zweischichtiges vorwärtsgerichtetes Netz mit einem Eingang erstellt. Nur die erste Schicht hat eine Verzerrung. Ein Eingangsgewicht verbindet die Schicht 1 mit dem Eingang 1. Ein Schichtgewicht verbindet die Schicht 2 mit Schicht 1. Schicht 2 ist ein Netzausgang und hat ein Ziel.

net = network(1,2,[1;0],[1; 0],[0 0; 1 0],[0 1])

Sie können die Netzunterobjekte mit dem folgenden Code anzeigen.

net.inputs{1}
net.layers{1}, net.layers{2}
net.biases{1}
net.inputWeights{1,1}, net.layerWeights{2,1}
net.outputs{2}

Sie können die Eigenschaften jedes der Netzunterobjekte ändern. Dieser Code ändert die Transferfunktionen der beiden Schichten:

net.layers{1}.transferFcn = 'tansig';
net.layers{2}.transferFcn = 'logsig';

Sie können die Gewichte für die Verbindung vom ersten Eingang zur ersten Schicht wie folgt anzeigen. Die Gewichte für eine Verbindung von einem Eingang zu einer Schicht werden in net.IW gespeichert. Wenn die Werte noch nicht festgelegt sind, ist dieses Ergebnis leer.

net.IW{1,1}

Sie können die Gewichte für die Verbindung von der ersten Schicht zur zweiten Schicht wie folgt anzeigen. Die Gewichte für eine Verbindung von einer Schicht zu einer Schicht werden in net.LW gespeichert. Wenn die Werte noch nicht festgelegt sind, ist das Ergebnis wiederum leer.

net.LW{2,1}

Sie können die Verzerrungswerte für die erste Schicht wie folgt anzeigen.

net.b{1}

Um die Anzahl der Elemente in Eingang 1 auf 2 zu ändern, stellen Sie den Bereich für jedes Element ein:

net.inputs{1}.range = [0 1; -1 1];

Nachdem Sie Ihr Netz trainiert haben, können Sie sim verwenden, um das Netz zu simulieren. Simulieren Sie zum Beispiel das Netz für einen Zwei-Elemente-Eingangsvektor.

p = [0.5; -0.1];
y = sim(net,p)

Versionsverlauf

Eingeführt vor R2006a