Main Content

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

fitnet

Rete neurale di fitting della funzione

Descrizione

esempio

net = fitnet(hiddenSizes) restituisce una rete neurale di fitting della funzione con una dimensione del livello nascosto di hiddenSizes.

esempio

net = fitnet(hiddenSizes,trainFcn) restituisce una rete neurale di fitting della funzione con una dimensione del livello nascosto di hiddenSizes e una funzione di addestramento, specificata da trainFcn.

Esempi

comprimi tutto

Caricare i dati di addestramento.

[x,t] = simplefit_dataset;

La matrice 1 per 94 x contiene i valori di input, mentre la matrice 1 per 94 t contiene i valori target di output associati.

Costruire una rete neurale di fitting della funzione con un livello nascosto di dimensione 10.

net = fitnet(10);

Visualizzare la rete.

view(net)

Le dimensioni di input e di output sono pari a zero. Il software regola le dimensioni di quest’ultime durante l’addestramento, in base ai dati di addestramento.

Addestrare la rete net utilizzando i dati di addestramento.

net = train(net,x,t);

Visualizzare la rete addestrata.

view(net)

Come si può notare, le dimensioni di input e di output sono pari a 1.

Stimare i target utilizzando la rete addestrata.

y = net(x);

Valutare la performance della rete addestrata. La funzione di performance predefinita è l'errore quadratico medio.

perf = perform(net,y,t)
perf = 1.4639e-04

L'algoritmo di addestramento predefinito per una rete di fitting della funzione è l’algoritmo di Levenberg-Marquardt ( 'trainlm' ). Utilizzare l'algoritmo di addestramento con regolarizzazione bayesiana e confrontare i risultati delle performance.

net = fitnet(10,'trainbr');
net = train(net,x,t);

y = net(x);
perf = perform(net,y,t)
perf = 3.3416e-10

L'algoritmo di addestramento con regolarizzazione bayesiana migliora la performance della rete in termini di stima dei valori target.

Argomenti di input

comprimi tutto

Dimensione dei livelli nascosti nella rete, specificata come un vettore di riga. La lunghezza del vettore determina il numero di livelli nascosti nella rete.

Esempio Ad esempio, è possibile specificare una rete con 3 livelli nascosti, dove la dimensione del primo livello nascosto è 10, del secondo è 8 e del terzo è 5, come segue: [10,8,5]

Le dimensioni di input e di output sono impostate su zero. Il software regola le dimensioni di quest’ultime durante l’addestramento, in base ai dati di addestramento.

Tipi di dati: single | double

Nome della funzione di addestramento, specificato come uno dei seguenti.

Funzione di addestramentoAlgoritmo
'trainlm'

Levenberg-Marquardt

'trainbr'

Regolarizzazione bayesiana

'trainbfg'

Quasi-Newton BFGS

'trainrp'

Retropropagazione resiliente

'trainscg'

Gradiente coniugato scalato

'traincgb'

Gradiente coniugato con ripartenze Powell/Beale

'traincgf'

Gradiente coniugato di Fletcher-Powell

'traincgp'

Gradiente coniugato di Polak-Ribiére

'trainoss'

Secante a un passaggio

'traingdx'

Velocità di apprendimento variabile a discesa del gradiente

'traingdm'

Discesa del gradiente con momento

'traingd'

Discesa del gradiente

Esempio Ad esempio, è possibile specificare l'algoritmo di discesa del gradiente della velocità di apprendimento variabile come algoritmo di addestramento, come segue: 'traingdx'

Per ulteriori informazioni sulle funzioni di addestramento, vedere Train and Apply Multilayer Shallow Neural Networks e Choose a Multilayer Neural Network Training Function.

Tipi di dati: char

Argomenti di output

comprimi tutto

Rete di fitting della funzione, restituita come un oggetto network.

Suggerimenti

  • Il function fitting è il processo di addestramento di una rete neurale su un set di input per produrre un set associato di output target. Dopo aver costruito la rete con i livelli nascosti desiderati e l'algoritmo di addestramento, è necessario addestrarla utilizzando un set di dati di addestramento. Una volta che la rete neurale si è adattata ai dati, crea una generalizzazione della relazione input-output. È quindi possibile utilizzare la rete addestrata per generare output per gli input su cui la rete non era stata addestrata.

Cronologia versioni

Introdotto in R2010b