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 dlnetwork
.
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