Main Content

RegressionOutputLayer

Livello di output della regressione

regressionLayer non è consigliata. Utilizzare la funzione trainnet e impostare invece la funzione di perdita su "mse". Per ulteriori informazioni, vedere Cronologia della versione.

Descrizione

Un livello di regressione calcola la perdita dell'errore quadratico semi-mediano per le attività di regressione.

Creazione

Creare un livello di output della regressione utilizzando regressionLayer.

Proprietà

espandi tutto

Output della regressione

Nomi delle risposte, specificati come un array di celle di vettori di carattere o un array di stringhe. Al momento dell'addestramento, il software imposta automaticamente i nomi delle risposte in base ai dati di addestramento. Per impostazione predefinita è {}.

Tipi di dati: cell

Funzione di perdita utilizzata dal software per l’addestramento, specificata come 'mean-squared-error'.

Livello

Nome del livello, specificato come un vettore di carattere o uno scalare di stringa. Per l'input dell'array di Layer, la funzione trainNetwork assegna automaticamente i nomi ai livelli con il nome "".

L'oggetto RegressionOutputLayer memorizza questa proprietà come vettore di carattere.

Tipi di dati: char | string

Numero di input al livello, restituito come 1. Questo livello accetta solo un input singolo.

Tipi di dati: double

Nomi di input, restituiti come {'in'}. Questo livello accetta solo un input singolo.

Tipi di dati: cell

Numero di output del livello, restituito come 0. Questo livello non ha output.

Tipi di dati: double

Nomi di output del livello, restituiti come {}. Questo livello non ha output.

Tipi di dati: cell

Esempi

comprimi tutto

Creare un livello di output della regressione.

Creare un livello di output della regressione con il nome 'routput'.

layer = regressionLayer('Name','routput')
layer = 
  RegressionOutputLayer with properties:

             Name: 'routput'
    ResponseNames: {}

   Hyperparameters
     LossFunction: 'mean-squared-error'

La funzione di perdita predefinita per la regressione è l'errore quadratico medio.

Includere un livello di output della regressione in un array di livelli.

layers = [ ...
    imageInputLayer([28 28 1])
    convolution2dLayer(12,25)
    reluLayer
    fullyConnectedLayer(1)
    regressionLayer]
layers = 
  5x1 Layer array with layers:

     1   ''   Image Input         28x28x1 images with 'zerocenter' normalization
     2   ''   2-D Convolution     25 12x12 convolutions with stride [1  1] and padding [0  0  0  0]
     3   ''   ReLU                ReLU
     4   ''   Fully Connected     1 fully connected layer
     5   ''   Regression Output   mean-squared-error

Ulteriori informazioni

espandi tutto

Cronologia versioni

Introdotto in R2017a

comprimi tutto

R2024a: Non consigliato

A partire dalla release R2024a, non è più consigliato utilizzare gli oggetti RegressionOutputLayer, utilizzare trainnet e impostare invece la funzione di perdita su "mse".

Non è prevista la sospensione dell'assistenza per gli oggetti RegressionOutputLayer. Comunque, la funzione trainnet presenta invece questi vantaggi, ed è quindi consigliata:

  • trainnet supporta gli oggetti dlnetwork, che supportano una gamma più ampia di architetture di rete che è possibile creare o importare da piattaforme esterne.

  • trainnet consente di specificare le funzioni di perdita con facilità. È possibile scegliere tra le funzioni di perdita integrate o specificare una funzione di perdita personalizzata.

  • trainnet restituisce un oggetto dlnetwork, che è un tipo di dati unificato che supporta la costruzione di reti, la predizione, l'addestramento integrato, la visualizzazione, la compressione, la verifica e i loop di addestramento personalizzati.

  • trainnet è generalmente più veloce di trainNetwork.

Questa tabella mostra alcuni usi tipici della funzione trainNetwork con gli oggetti RegressionOutputLayer e come aggiornare il codice per utilizzare invece la funzione trainnet.

Non consigliatoConsigliato
net = trainNetwork(X,T,layers,options), dove layers contiene un oggetto RegressionOutputLayer.

net = trainnet(X,T,layers,"mse",options);
In questo esempio, layers specifica la stessa rete senza un oggetto RegressionOutputLayer.

net = trainNetwork(data,layers,options), dove layers contiene un oggetto RegressionOutputLayer.

net = trainnet(data,layers,"mse",options);
In questo esempio, layers specifica la stessa rete senza un oggetto RegressionOutputLayer.