Contenuto principale

classificationLayer

Livello di output della classificazione (non consigliato)

classificationLayer non è consigliata. Utilizzare la funzione trainnet e impostare invece la funzione di perdita su "crossentropy". Per ulteriori informazioni, vedere Storico della versione.

Descrizione

Un livello di classificazione calcola la perdita di entropia incrociata delle attività di classificazione e di classificazione ponderata con classi che si escludono reciprocamente.

Il livello deduce il numero di classi dalla dimensione dell'output del livello precedente. Ad esempio, per specificare il numero di classi K della rete, è possibile includere un livello completamente connesso con dimensione di uscita K e un livello softmax prima del livello di classificazione.

layer = classificationLayer crea un livello di classificazione.

esempio

layer = classificationLayer(Name,Value) imposta le proprietà opzionali Name, ClassWeights e Classes utilizzando una o più coppie nome-valore. Ad esempio, classificationLayer('Name','output') crea un livello di classificazione con il nome 'output'.

Esempi

comprimi tutto

Creare un livello di classificazione.

Creare un livello di classificazione con il nome 'output'.

layer = classificationLayer('Name','output')
layer = 
  ClassificationOutputLayer with properties:

            Name: 'output'
         Classes: 'auto'
    ClassWeights: 'none'
      OutputSize: 'auto'

   Hyperparameters
    LossFunction: 'crossentropyex'

Includere un livello di output di classificazione in un array di Layer.

layers = [ ...
    imageInputLayer([28 28 1])
    convolution2dLayer(5,20)
    reluLayer
    maxPooling2dLayer(2,'Stride',2)
    fullyConnectedLayer(10)
    softmaxLayer
    classificationLayer]
layers = 
  7x1 Layer array with layers:

     1   ''   Image Input             28x28x1 images with 'zerocenter' normalization
     2   ''   2-D Convolution         20 5x5 convolutions with stride [1  1] and padding [0  0  0  0]
     3   ''   ReLU                    ReLU
     4   ''   2-D Max Pooling         2x2 max pooling with stride [2  2] and padding [0  0  0  0]
     5   ''   Fully Connected         10 fully connected layer
     6   ''   Softmax                 softmax
     7   ''   Classification Output   crossentropyex

Argomenti nome-valore

comprimi tutto

Specificare coppie opzionali di argomenti come Name1=Value1,...,NameN=ValueN, dove Name è il nome dell’argomento e Value è il valore corrispondente. Gli argomenti nome-valore devono comparire dopo gli altri argomenti, ma l'ordine delle coppie non ha importanza.

Prima della R2021a, utilizzare le virgole per separare ogni nome e valore e racchiudere Name tra virgolette.

Esempio classificationLayer('Name','output') crea un livello di classificazione con il nome 'output'

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 ClassificationOutputLayer memorizza questa proprietà come vettore di carattere.

Tipi di dati: char | string

Pesi delle classi per la perdita di entropia incrociata ponderata, specificati come vettore di numeri positivi o 'none'.

Per il vettore dei pesi delle classi, ciascun elemento rappresenta il peso della classe corrispondente nella proprietà Classes. Per specificare un vettore dei pesi delle classi, è necessario specificare anche le classi utilizzando l'opzione Classes.

Se la proprietà ClassWeights è 'none', il livello applicherà la perdita di entropia incrociata non ponderata.

Classi del livello di output specificate come un vettore categorico, un array di stringhe, un array di celle dei vettori di carattere o "auto". Se Classes è "auto", il software imposterà automaticamente le classi al momento dell'addestramento. Se si specifica l'array di stringhe o l'array di celle dei vettori di carattere str, il software imposterà le classi del livello di output su categorical(str,str).

Tipi di dati: char | categorical | string | cell

Argomenti di output

comprimi tutto

Livello di classificazione, restituito come un oggetto ClassificationOutputLayer.

Per informazioni sulla concatenazione dei livelli per costruire un'architettura di rete neurale convoluzionale, vedere Layer.

Ulteriori informazioni

comprimi tutto

Riferimenti

[1] Bishop, C. M. Pattern Recognition and Machine Learning. Springer, New York, NY, 2006.

Funzionalità estese

espandi tutto

Cronologia versioni

Introdotto in R2016a

comprimi tutto