Main Content

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

feedforwardnet

Genera una rete neurale feed-forward

Descrizione

esempio

net = feedforwardnet(hiddenSizes,trainFcn) restituisce una rete neurale feed-forward con una dimensione del livello nascosto di hiddenSizes e una funzione di addestramento, specificata da trainFcn.

Le reti feed-forward sono costituite da una serie di livelli. Il primo livello ha una connessione dall’input della rete. Ogni livello successivo ha una connessione dal livello precedente. Il livello finale fornisce l’output della rete.

Le reti feed-forward possono essere utilizzate per qualsiasi tipo di mappatura di input e output. Una rete feed-forward con un livello nascosto e un numero sufficiente di neuroni nei livelli nascosti può adattarsi a qualsiasi problema di mappatura input-output finito.

Le versioni specializzate della rete feed-forward comprendono le reti di fitting e di pattern recognition. Per ulteriori informazioni, vedere le funzioni fitnet e patternnet.

Una variante della rete feed-forward è la rete forward a cascata che presenta ulteriori connessioni dall’input a ciascun livello e da ciascun livello a tutti i livelli successivi. Per ulteriori informazioni sulle reti forward a cascata, vedere la funzione cascadeforwardnet.

Esempi

comprimi tutto

Questo esempio mostra come utilizzare una rete neurale feed-forward per risolvere un semplice problema.

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 feed-forward con un livello nascosto di dimensione 10.

net = feedforwardnet(10);

Addestrare la rete net utilizzando i dati di addestramento.

net = train(net,x,t);

Figure Neural Network Training (23-Mar-2023 10:46:40) contains an object of type uigridlayout.

Visualizzare la rete addestrata.

view(net)

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

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 neurale feed-forward, restituita come un oggetto network.

Cronologia versioni

Introdotto in R2010b