Main Content

RegressionOutputLayer

Capa de salida de regresión

No se recomienda el uso de regressionLayer. En su lugar, utilice la función trainnet y establezca la función de pérdida en "mse". Para obtener más información, consulte Historial de versiones.

Descripción

Una capa de regresión calcula la pérdida del error cuadrático medio dividido de las tareas de regresión.

Creación

Cree una capa de salida de regresión utilizando regressionLayer.

Propiedades

expandir todo

Salida de regresión

Nombres de las respuestas, especificados como un arreglo de celdas de vectores de caracteres o como un arreglo de cadena. En el momento del entrenamiento, el software establece automáticamente los nombres de respuestas de acuerdo con los datos del entrenamiento. El valor predeterminado es {}.

Tipos de datos: cell

Función de pérdida que utiliza el software para el entrenamiento, especificada como 'mean-squared-error'.

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 RegressionOutputLayer 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 salida de regresión.

Cree una capa de salida de regresión con el nombre 'routput'.

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

             Name: 'routput'
    ResponseNames: {}

   Hyperparameters
     LossFunction: 'mean-squared-error'

La función de pérdida predeterminada de la regresión es el error cuadrático medio.

Incluya una capa de salida de regresión en un arreglo de capas.

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

Más acerca de

expandir todo

Historial de versiones

Introducido en R2017a

contraer todo

R2024a: No recomendado

A partir de la versión R2024a, los objetos RegressionOutputLayer no están recomendados. En su lugar, utilice trainnet y establezca la función de pérdida en "mse".

No está previsto eliminar el soporte para los objetos RegressionOutputLayer. Sin embargo, en su lugar se recomienda la función trainnet, que tiene estas ventajas:

  • trainnet admite los objetos dlnetwork, que admiten una gama más amplia de arquitecturas de red que puede crear o importar desde plataformas externas.

  • trainnet le permite especificar fácilmente funciones de pérdida. Puede seleccionar entre funciones de pérdida integradas o especificar una función de pérdida personalizada.

  • trainnet produce como salida un objeto dlnetwork, que es un tipo de datos unificado que admite la creación de redes, la predicción, el entrenamiento integrado, la visualización, la compresión, la verificación y los bucles de entrenamiento personalizados.

  • trainnet suele ser más rápido que trainNetwork.

Esta tabla muestra algunos usos habituales de la función trainNetwork con los objetos RegressionOutputLayer y cómo actualizar el código para usar la función trainnet en su lugar.

No recomendadoRecomendado
net = trainNetwork(X,T,layers,options), donde layers contiene un objeto RegressionOutputLayer.

net = trainnet(X,T,layers,"mse",options);
En este ejemplo, layers especifica la misma red sin un objeto RegressionOutputLayer.

net = trainNetwork(data,layers,options), donde layers contiene un objeto RegressionOutputLayer.

net = trainnet(data,layers,"mse",options);
En este ejemplo, layers especifica la misma red sin un objeto RegressionOutputLayer.