network
Crea una rete neurale superficiale personalizzata
Sintassi
net = network
net = network(numInputs,numLayers,biasConnect,inputConnect,layerConnect,outputConnect)
Per la richiesta di assistenza
Digitare help network/network
.
Suggerimento
Per apprendere come creare una rete di Deep Learning, vedere Specify Layers of Convolutional Neural Network.
Descrizione
network
crea nuove reti personalizzate. Viene utilizzato per creare reti che vengono poi personalizzate da funzioni come feedforwardnet
e narxnet
.
net = network
senza argomenti restituisce una nuova rete neurale senza alcun input, livello o output.
net = network(numInputs,numLayers,biasConnect,inputConnect,layerConnect,outputConnect)
considera questi argomenti opzionali (mostrati con valori predefiniti):
numInputs | Numero di input, 0 |
numLayers | Numero di livelli, 0 |
biasConnect | Vettore booleano |
inputConnect | Matrice booleana |
layerConnect | Matrice booleana |
outputConnect | Vettore booleano 1x |
e restituisce
net | Nuova rete con valori di proprietà dati |
Proprietà
Proprietà dell’architettura
net.numInputs | 0 o un numero intero positivo | Numero di input. |
net.numLayers | 0 o un numero intero positivo | Numero di livelli. |
net.biasConnect | Vettore booleano | Se |
net.inputConnect | Vettore booleano | Se |
net.layerConnect | Vettore booleano | Se |
net.outputConnect | Vettore booleano 1x | Se |
net.numOutputs | 0 o un numero intero positivo (solo lettura) | Numero degli output della rete secondo |
net.numInputDelays | 0 o un numero intero positivo (solo lettura) | Ritardo massimo di input in base a tutti i |
net.numLayerDelays | 0 o un numero positivo (solo lettura) | Ritardo massimo del livello in base a tutti i |
Proprietà della struttura di sottooggetti
net.inputs | Array di celle |
|
net.layers | Array di celle |
|
net.biases | Array di celle | Se |
net.inputWeights | Array di celle | Se |
net.layerWeights | Array di celle | Se |
net.outputs | Array di celle 1x | Se |
Proprietà della funzione
net.adaptFcn | Nome di una funzione di adattamento della rete o |
net.initFcn | Nome di una funzione di inizializzazione della rete o |
net.performFcn | Nome di una funzione di performance della rete o |
net.trainFcn | Nome di una funzione di addestramento della rete o |
Proprietà del parametro
net.adaptParam | Parametri di adattamento della rete |
net.initParam | Parametri di inizializzazione della rete |
net.performParam | Parametri di performance della rete |
net.trainParam | Parametri di addestramento della rete |
Proprietà del valore di pesi e bias
net.IW | Array di celle |
net.LW | Array di celle |
net.b | Array di celle |
Altre proprietà
net.userdata | Struttura che si può utilizzare per memorizzare valori utili |
Esempi
Creazione di una rete con un input e due livelli
Questo esempio mostra come creare una rete senza alcun input e alcun livello, impostando poi il numero di input e di livelli rispettivamente su 1 e 2.
net = network net.numInputs = 1 net.numLayers = 2
In alternativa, è possibile creare la stessa rete con una riga di codice.
net = network(1,2)
Creazione di una rete feed-forward e visualizzazione delle proprietà
Questo esempio mostra come creare una rete feed-forward a un input e due livelli. Solo il primo livello ha un bias. Un peso di input si collega al livello 1 dall’input 1. Un peso di livello si collega al livello 2 dal livello 1. Il livello 2 è un output della rete e ha un target.
net = network(1,2,[1;0],[1; 0],[0 0; 1 0],[0 1])
I sottooggetti di rete possono essere visualizzati con il seguente codice.
net.inputs{1} net.layers{1}, net.layers{2} net.biases{1} net.inputWeights{1,1}, net.layerWeights{2,1} net.outputs{2}
È possibile modificare le proprietà di qualsiasi sottooggetto della rete. Questo codice modifica le funzioni di trasferimento di entrambi i livelli:
net.layers{1}.transferFcn = 'tansig'; net.layers{2}.transferFcn = 'logsig';
I pesi per la connessione dal primo input al primo livello possono essere visualizzati come segue. I pesi per una connessione da un input a un livello sono memorizzati in net.IW
. Se i valori non sono ancora impostati, il risultato è vuoto.
net.IW{1,1}
È possibile visualizzare i pesi per la connessione dal primo livello al secondo livello come segue. I pesi per una connessione da un livello a un livello sono memorizzati in net.LW
. Se i valori non sono ancora impostati, il risultato è vuoto.
net.LW{2,1}
I valori di bias del primo livello possono essere visualizzati come segue.
net.b{1}
Per modificare il numero di elementi di input da 1 a 2, impostare l'intervallo di ciascun elemento:
net.inputs{1}.range = [0 1; -1 1];
Dopo aver addestrato la rete, è possibile utilizzare sim
per simularla. Ad esempio, simulare la rete per un vettore di input a due elementi.
p = [0.5; -0.1]; y = sim(net,p)
Cronologia versioni
Introduzione prima di R2006a