Newff

Crea una rete alimentata in avanti con backpropagation.

Sintassi

net = newff(P,T,[S1 S2...S(N-l)],{TF1 TF2...TFNl}, BTF,BLF,PF,IPF,OPF,DDF)

Descrizione

newff(P,T,[S1 S2…S(N-l)],{TF1 TF2…TFNl}, BTF,BLF,PF,IPF,OPF,DDF) prende diversi argomenti:

P Matrice R x Q1 di Q1 vettori di input a R-elementi.
T Matrice SN x Q2 di Q2 vettori target a SN-elementi.
Si Dimensione dello strato i-esimo. Per N-1 strati, default = []. (La dimensione dello strato di output è determinata da T.)
TFi Funzione di trasferimento dello strato i-esimo. (Default è 'tansig' per gli strati nascosti e 'purelin' per lo strato di output.)
BTF Funzione di trasferimento per la rete backpropagation (default = 'trainlm')
BLF Peso/soglia (weight/bias) per la funzione di apprendimento della backpropagation (default = 'learngdm')
IPF Row cell array of input processing functions. (Default = {'fixunknowns','removeconstantrows','mapminmax'})
OPF Row cell array of output processing functions. (Default = {'removeconstantrows','mapminmax'})
DDF Data divison function (default = 'dividerand'), and returns an N-layer feed-forward backpropagation network.

La funzione di trasferimento TFi può essere qualsiasi funzione di trasferimento differenziabile come tansig, logsig o purelin.

La funzione di addestramento BTF può essere una qualsiasi delle funzioni di addestramento con backpropagation, come trainlm, trainbfg, trainrp, traingd, ecc.

Avvertimento: trainlm è la funzione di addestramento di default perché è molto veloce, ma richiede molta memoria per girare. In caso di errore 'out-of-memory', prova una di queste:

  • Rallenta l'addestramento trainlm ma riduci la richiesta di memoria impostando net.trainParam.mem_reduc a 3 o più. (Vedi help trainlm.)
  • Usa trainbfg, che è più lento ma più efficiente di trainlm a livello di memoria.
  • Usa trainrp, che è più lento ma più efficiente di trainbfg a livello di memoria.

La funzione di addestramento BLF può essere una delle funzioni di apprendimento backpropagation learngd o learngdm.

La funzione performance può essere una qualsiasi delle funzioni performance differenziabili come mse o msereg.

Esempi

Questo è un problema che consiste in inputs P e targets T da risolvere con una rete.

P = [0 1 2 3 4 5 6 7 8 9 10];
T = [0 1 2 3 4 3 2 1 2 3 4];

Creiamo la rete con uno strato nascosto di cinque neuroni.

net = newff(P,T,5);

Simuliamo la rete e grafichiamo il suo output in funzione dei targets.

Y = sim(net, P);
plot(P, T, P, Y, 'o')

Alleniamo la rete per 50 epoche. Ancora una volta l'output della rete viene graficato.

net.trainParam.epochs = 50;
net = train(net, P, T);
Y = sim(net, P);
plot(P, T, P, Y, 'o')

Algoritmo

Feed-forward networks consist of Nl layers using the dotprod weight function, netsum net input function, and the specified transfer function.

The first layer has weights coming from the input. Each subsequent layer has a weight coming from the previous layer. All layers have biases. The last layer is the network output.

Each layer's weights and biases are initialized with initnw.

Adaption is done with trains, which updates weights with the specified learning function. Training is done with the specified training function. Performance is measured according to the specified performance function.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License