trainbr
Retropropagazione della regolarizzazione bayesiana
Descrizione
net.trainFcn = 'trainbr' visualizza la proprietà della rete trainFcn.
[ addestra la rete con trainedNet,tr] = train(net,...)trainbr.
trainbr è una funzione di addestramento della rete che aggiorna i valori di pesi e bias secondo l'ottimizzazione di Levenberg-Marquardt. Minimizza una combinazione di errori quadratici, pesi e bias, per poi determinare la combinazione corretta in modo da produrre una rete che generalizzi in modo corretto. Questo processo è chiamato regolarizzazione bayesiana.
L’addestramento avviene secondo i parametri di addestramento trainbr, mostrati qui con i relativi valori predefiniti:
net.trainParam.epochs— Numero massimo di epoche per l’addestramento. Il valore predefinito è 1000.net.trainParam.goal— Obiettivo di performance. Il valore predefinito è 0.net.trainParam.mu— Parametro di regolazione Marquardt. Il valore predefinito è 0,005.net.trainParam.mu_dec— Fattore di decremento permu. Il valore predefinito è 0,1.net.trainParam.mu_inc— Fattore di incremento permu. Il valore predefinito è 10.net.trainParam.mu_max— Valore massimo per mu. Il valore predefinito è1e10.net.trainParam.max_fail— Errori di convalida massimi. Il valore predefinito è0.net.trainParam.min_grad— Gradiente di performance massimo. Il valore predefinito è1e-7.net.trainParam.show— Epoche tra visualizzazioni (NaNper 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.time— Tempo massimo di addestramento in secondi. Il valore predefinito èinf.
Per impostazione predefinita, gli arresti di validazione sono disabilitati (max_fail = 0), in modo che l'addestramento possa continuare finché non viene trovata una combinazione ottimale di errori e pesi. Tuttavia, una certa minimizzazione del peso/bias può ancora essere ottenuta con tempi di addestramento più brevi se si abilita la validazione impostando max_fail su 6 o su un altro valore tassativamente positivo.
Esempi
Argomenti di input
Argomenti di output
Limitazioni
Questa funzione utilizza i calcoli jacobiani, che presuppongono che la performance sia una media o una somma degli errori quadratici. Quindi, le reti addestrate con questa funzione devono utilizzare la funzione di performance mse o sse.
Ulteriori informazioni
Algoritmi
trainbr può addestrare qualsiasi rete, a condizione che le funzioni di peso, input netto e trasferimento abbiano funzioni derivate.
La regolarizzazione bayesiana minimizza una combinazione lineare di errori quadratici e pesi. Modifica inoltre la combinazione lineare in modo che alla fine dell'addestramento la rete risultante abbia buone qualità di generalizzazione. Per discussioni più dettagliate sulla regolarizzazione bayesiana, vedere MacKay (Neural Computation, Vol. 4, No. 3, 1992, pp. da 415 a 447) e Foresee and Hagan (Proceedings of the International Joint Conference on Neural Networks, June, 1997).
Questa regolarizzazione bayesiana avviene all'interno dell'algoritmo di Levenberg-Marquardt. La retropropagazione viene utilizzata per calcolare la matrice jacobiana jX della performance perf rispetto alle variabili di pesi e bias X. Ogni variabile viene regolata secondo il metodo di Levenberg-Marquardt,
jj = jX * jX je = jX * E dX = -(jj+I*mu) \ je
dove E indica tutti gli errori e I indica la matrice di identità.
Il valore adattativo mu aumenta di mu_inc fino a quando la modifica mostrata sopra non comporta una riduzione del valore della performance. La modifica viene poi apportata alla rete e mu diminuisce di mu_dec.
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.musuperamu_max.
Riferimenti
[1] MacKay, David J. C. "Bayesian interpolation." Neural computation. Vol. 4, No. 3, 1992, pp. 415–447.
[2] Foresee, F. Dan, and Martin T. Hagan. "Gauss-Newton approximation to Bayesian learning." Proceedings of the International Joint Conference on Neural Networks, June, 1997.
Cronologia versioni
Introduzione prima di R2006a