Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

classificationLayer

Create classification output layer

Syntax

coutputlayer = classificationLayer()
coutputlayer = classificationLayer('Name',Name)

Description

coutputlayer = classificationLayer() returns a classification output layer for a neural network. The classification output layer holds the name of the loss function that the software uses for training the network for multi-class classification, the size of the output, and the class labels.

example

coutputlayer = classificationLayer('Name',Name) returns a classification layer with name specified by name.

Examples

collapse all

Create a classification output layer with the name 'coutput'.

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

            Name: 'coutput'
      ClassNames: {1x0 cell}
      OutputSize: 'auto'

   Hyperparameters
    LossFunction: 'crossentropyex'

The default loss function for classification is cross entropy for mutually exclusive classes.

Include a classification output layer in a Layer array.

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   ''   Convolution             20 5x5 convolutions with stride [1  1] and padding [0  0  0  0]
     3   ''   ReLU                    ReLU
     4   ''   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

Input Arguments

collapse all

Layer name, specified as a character vector. If Name is set to '', then the software automatically assigns a name at training time.

Data Types: char

Output Arguments

collapse all

Classification output layer, returned as a ClassificationOutputLayer object.

For information on concatenating layers to construct convolutional neural network architecture, see Layer.

More About

collapse all

Cross Entropy Function for k Mutually Exclusive Classes

For multiclass classification problems, the software assigns each input to one of the k mutually exclusive classes. The loss (error) function for this case is the cross entropy function for a 1-of-k coding scheme:

E(θ)=i=1nj=1ktijlnyj(xi,θ),

where θ is the parameter vector, tij is the indicator that the ith sample belongs to the jth class, and yj(xi,θ) is the output for sample i. The output yj(xi,θ) can be interpreted as the probability that the network associates ith input with class j, that is, P(tj=1|xi).

The output unit activation function is the softmax function:

yr(x)=exp(ar(x))j=1kexp(aj(x)),

where 0yr1 and j=1kyj=1.

References

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

Introduced in R2016a

Was this topic helpful?