Contenido principal

ClassificationOutputLayer

(No recomendado) Capa de clasificación de salida

Se recomiendan los objetos ClassificationOutputLayer. En su lugar, utilice la función trainnet y establezca la función de pérdida en "crossentropy". Para obtener más información, consulte Historial de versiones.

Descripción

Una capa de clasificación calcula la pérdida de entropía cruzada de las tareas de clasificación y clasificación ponderada con clases mutuamente excluyentes.

Creación

Cree una capa de clasificación con classificationLayer.

Propiedades

expandir todo

Clasificación de salida

Pesos de clase de la pérdida de entropía cruzada ponderada, especificados como un vector de números positivos o 'none'.

Cada elemento de los pesos de clase del vector representa el peso de la clase correspondiente en la propiedad Classes. Para especificar un vector de pesos de clase, debe especificar también las clases con la opción Classes.

Si la propiedad ClassWeights es 'none', la capa aplica la pérdida de entropía cruzada no ponderada.

Clases de la capa de salida, especificadas como un vector categórico, un arreglo de cadenas, un arreglo de celdas de vectores de caracteres o "auto". Si Classes es "auto", el software establece automáticamente las clases en el momento del entrenamiento. Si especifica el arreglo de cadenas o el arreglo de celdas de vectores de caracteres str, el software establece las clases de la capa de salida en categorical(str,str).

Tipos de datos: char | categorical | string | cell

Esta propiedad o parámetro es de solo lectura.

Tamaño de la salida, especificado como entero positivo. Este valor es el número de etiquetas en los datos. Antes del entrenamiento, el tamaño de la salida se establece en 'auto'.

Esta propiedad o parámetro es de solo lectura.

Función de pérdida para el entrenamiento, especificada como 'crossentropyex', que significa función de entropía cruzada para k clases mutuamente excluyentes.

Capa

Nombre de la capa, especificado como un vector de caracteres o un escalar de cadena. Para entradas en forma de arreglo Layer, la función trainNetwork asigna automáticamente nombres a las capas con el nombre "".

El objeto ClassificationOutputLayer almacena esta propiedad como un vector de caracteres.

Tipos de datos: char | string

Número de entradas a la capa, devuelto como 1. Esta capa solo admite una entrada.

Tipos de datos: double

Nombres de entrada, devueltos como {'in'}. Esta capa solo admite una entrada.

Tipos de datos: cell

Número de salidas de la capa, devuelto como 0. Esta capa no tiene salidas.

Tipos de datos: double

Nombres de las salidas de la capa, devuelto como {}. Esta capa no tiene salidas.

Tipos de datos: cell

Ejemplos

contraer todo

Cree una capa de clasificación.

Cree una capa de clasificación con el nombre 'output'.

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

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

   Hyperparameters
    LossFunction: 'crossentropyex'

Incluya una capa de clasificación de salida en un arreglo 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

Más acerca de

expandir todo

Referencias

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

Historial de versiones

Introducido en R2016a

expandir todo