Contenu principal

classificationLayer

(Déconseillé) Couche de sortie de classification

L’utilisation de classificationLayer est déconseillée. Utilisez la fonction trainnet et définissez la fonction de perte à "crossentropy" à la place. Pour plus d’informations, veuillez consulter Historique des versions.

Description

Une couche de classification calcule la perte d'entropie croisée pour les tâches de classification et de classification pondérée avec des classes mutuellement exclusives.

La couche déduit le nombre de classes à partir de la taille de sortie de la couche précédente. Par exemple, pour spécifier le nombre de classes K du réseau, vous pouvez ajouter une couche entièrement connectée avec une taille de sortie K et une couche softmax avant la couche de classification.

layer = classificationLayer crée une couche de classification.

exemple

layer = classificationLayer(Name,Value) définit les propriétés optionnelles Name, ClassWeights et Classes avec une ou plusieurs paires nom-valeur. Par exemple, classificationLayer('Name','output') crée une couche de classification nommée 'output'.

Exemples

réduire tout

Créez une couche de classification.

Créez une couche de classification nommée 'output'.

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

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

   Hyperparameters
    LossFunction: 'crossentropyex'

Incluez une couche de sortie de classification dans un tableau (array) de 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

Arguments nom-valeur

réduire tout

Spécifiez des paires d’arguments en option selon le modèle Name1=Value1,...,NameN=ValueN, où Name est le nom de l’argument et Value est la valeur correspondante. Les arguments nom-valeur doivent apparaître après les autres arguments, mais l’ordre des paires n’a aucune importance.

Avant R2021a, utilisez des virgules pour séparer les noms et les valeurs, et mettez Name entre guillemets.

Exemple : classificationLayer('Name','output') crée une couche de classification nommé 'output'

Nom de la couche, défini par un vecteur de caractères ou un string scalar. Pour le tableau de Layer en entrée, la fonction trainNetwork attribue automatiquement des noms aux couches avec le nom "".

L’objet ClassificationOutputLayer stocke cette propriété comme un vecteur de caractères.

Types de données : char | string

Poids des classes pour la perte d'entropie croisée pondérée, spécifiés en tant que vecteur de nombres positifs ou 'none'.

Pour le vecteur des poids de classe, chaque élément représente le poids de la classe correspondante dans la propriété Classes. Pour spécifier un vecteur de poids de classe, vous devez également spécifier les classes en utilisant l'option Classes.

Si la propriété ClassWeights est définie sur 'none', alors la couche applique la perte d’entropie croisée non pondérée.

Classes de la couche de sortie, définies par un vecteur catégoriel, un string array, un cell array de vecteurs de caractères ou "auto". Si Classes est défini sur "auto", alors le software définit automatiquement les classes au moment de l'apprentissage. Si vous spécifiez le string array ou le cell array de vecteurs de caractères str, le software définit les classes de la couche de sortie en tant que categorical(str,str).

Types de données : char | categorical | string | cell

Arguments de sortie

réduire tout

Couche de classification, renvoyée en tant qu'objet ClassificationOutputLayer.

Pour plus d'informations sur la concaténation des couches pour construire une architecture de réseau de neurones à convolution, consultez Layer.

En savoir plus

réduire tout

Références

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

Capacités étendues

développer tout

Historique des versions

Introduit dans R2016a

réduire tout