trainscg
Retropropagazione a gradiente coniugato scalato
Descrizione
net.trainFcn = 'trainscg'
visualizza la proprietà della rete trainFcn
.
[
addestra la rete con trainedNet
,tr
] = train(net
,...)trainscg
.
trainscg
è una funzione di addestramento della rete che aggiorna i valori di pesi e bias secondo il metodo del gradiente coniugato scalato.
L’addestramento avviene secondo i parametri di addestramento trainscg
, mostrati qui con i relativi valori predefiniti:
net.trainParam.epochs
— Numero massimo di epoche per l’addestramento. Il valore predefinito è 1000.net.trainParam.show
— Epoche tra visualizzazioni (NaN
per nessuna visualizzazione). Il valore predefinito è 25.net.trainParam.showCommandLine
— Generazione di output della riga di comando. Il valore predefinito èfalse
.net.trainParam.showWindow
— Visualizzazione dell’interfaccia grafica di addestramento. Il valore predefinito ètrue
.net.trainParam.goal
— Obiettivo di performance. Il valore predefinito è 0.net.trainParam.time
— Tempo massimo di addestramento in secondi. Il valore predefinito èinf
.net.trainParam.min_grad
— Gradiente di performance massimo. Il valore predefinito è1e-6
.net.trainParam.max_fail
— Errori di convalida massimi. Il valore predefinito è6
.net.trainParam.mu
— Parametro di regolazione Marquardt. Il valore predefinito è 0,005.net.trainParam.sigma
— Specifica della variazione di peso per l'approssimazione della seconda derivata. Il valore predefinito è5.0e-5
.net.trainParam.lambda
— Parametro per regolare l'indeterminatezza dell'hessiano. Il valore predefinito è5.0e-7
.
Esempi
Argomenti di input
Argomenti di output
Ulteriori informazioni
Algoritmi
trainscg
può addestrare qualsiasi rete, a condizione che le funzioni di peso, input netto e trasferimento abbiano funzioni derivate. La retropropagazione viene utilizzata per calcolare le derivate della performance perf
rispetto alle variabili di peso e bias X
.
L'algoritmo del gradiente coniugato scalato si basa su direzioni coniugate, come in traincgp
, traincgf
e traincgb
, ma questo algoritmo non esegue una ricerca lineare a ciascuna iterazione. Per una discussione maggiormente dettagliata sull'algoritmo del gradiente coniugato scalato, vedere Moller (Neural Networks, Vol. 6, 1993, pp. 525–533).
L’addestramento si interrompe quando si verifica una delle condizioni seguenti:
Viene raggiunto il numero massimo di
epochs
(ripetizioni).Viene superata la quantità massima di
time
.La performance è minimizzata al
goal
.Il gradiente di performance massimo scende al di sotto di
min_grad
.La performance di convalida (errore di convalida) è aumentata di oltre
max_fail
volte dall’ultima riduzione (usando la convalida).
Riferimenti
[1] Moller. Neural Networks, Vol. 6, 1993, pp. 525–533
Cronologia versioni
Introduzione prima di R2006a