Algoritmo de aprendizaje lineal - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Algoritmo de aprendizaje lineal

Los modelos lineales son algoritmos de aprendizaje supervisados que se utilizan para resolver problemas de clasificación o de regresión. Para la entrada, se dan los ejemplos etiquetados de modelo (x, y). x es un vector de gran dimensión e y es una etiqueta numérica. Para problemas de clasificación binaria, la etiqueta debe ser 0 o 1. Para problemas de clasificación multiclase, las etiquetas deben ir desde 0 hasta num_classes - 1. Para los problemas de regresión, y es un número real. El algoritmo aprende una función lineal o una función de umbral lineal para problemas de clasificación, y mapea un vector x a una aproximación de la etiqueta y.

El algoritmo de aprendizaje SageMaker lineal de Amazon ofrece una solución para los problemas de clasificación y regresión. Con el SageMaker algoritmo, puede explorar simultáneamente diferentes objetivos de entrenamiento y elegir la mejor solución de un conjunto de validación. También puede explorar una gran cantidad de modelos y elegir el mejor. El mejor modelo optimiza uno de los siguientes:

  • Objetivos continuos, como, por ejemplo, un error cuadrático medio, una pérdida de entropía cruzada o un error absoluto.

  • Objetivos discretos adecuados para clasificación, como, por ejemplo, medida F1, precisión, exhaustividad o exactitud.

En comparación con métodos que proporcionan una solución solo para objetivos continuos, el algoritmo de aprendizaje lineal de SageMaker proporciona un aumento significativo de la velocidad respecto a las técnicas de optimización de hiperparámetros naive. También es más práctico.

El algoritmo de aprendizaje lineal requiere una matriz de datos, con filas que representan las observaciones y columnas que representan las dimensiones de las características. También requiere una columna adicional que contiene las etiquetas que coinciden con los puntos de datos. Como mínimo, Amazon SageMaker Linear Learner requiere que especifique las ubicaciones de los datos de entrada y salida y el tipo de objetivo (clasificación o regresión) como argumentos. La dimensión de características es también obligatoria. Para obtener más información, consulte CreateTrainingJob. Puede especificar parámetros adicionales en el mapa de cadenas HyperParameters del cuerpo de la solicitud. Estos parámetros controlan el procedimiento de optimización o detalles específicos de la función objetivo que se capacita. Por ejemplo, el número de fechas de inicio, regularización y tipo de pérdida.

Si utiliza Managed Spot Training, el algoritmo de aprendizaje lineal admite el uso de puntos de control para tomar una instantánea del estado del modelo.

Interfaz de entrada/salida para el algoritmo de aprendizaje lineal

El algoritmo de aprendizaje SageMaker lineal de Amazon admite tres canales de datos: formación, validación (opcional) y prueba (opcional). Si proporciona datos de validación, el S3DataDistributionType debe ser FullyReplicated. El algoritmo registra pérdida de validación en cada fecha de inicio y utiliza una muestra de los datos de validación para calibrar y seleccionar el mejor modelo. Si no proporciona datos de validación, el algoritmo utiliza una muestra de los datos de capacitación para calibrar y seleccionar el modelo. Si proporciona datos de prueba, los registros de algoritmos incluyen la puntuación de prueba para el modelo final.

Para la capacitación, el algoritmo de aprendizaje lineal admite tanto los formatos recordIO-wrapped protobuf como CSV. Para el tipo de entrada application/x-recordio-protobuf, solo se admiten los tensores Float32. Para el tipo de entrada text/csv, se presupone que la primera columna es la etiqueta, que es la variable de destino para la predicción. Puede usar el modo de archivo o el modo de canalización para capacitar modelos de aprendizaje lineal con datos con formato recordIO-wrapped-protobuf o CSV.

Para la inferencia, el algoritmo de aprendizaje lineal admite los formatos application/json, application/x-recordio-protobuf y text/csv. Al realizar predicciones sobre nuevos datos, el formato de la respuesta depende del tipo de modelo. Para la regresión (predictor_type='regressor'), la score es la predicción producida por el modelo. Para la clasificación (predictor_type='binary_classifier' o predictor_type='multiclass_classifier'), el modelo devuelve una score y también una predicted_label. La predicted_label es la clase prevista por el modelo y la score mide la fuerza de esa predicción.

  • Para la clasificación binaria, predicted_label es 0 o 1, y score es un único número de punto flotante que indica en qué medida el algoritmo cree que la etiqueta debe ser 1.

  • Para la clasificación multiclase, la predicted_class será un número entero de 0 a num_classes-1, y la score será una lista de un número de punto flotante por clase.

Para interpretar la score en problemas de clasificación, tiene que tener en cuenta la función de pérdida utilizada. Si el valor del hiperparámetro loss es logistic para la clasificación binaria o softmax_loss para la clasificación multiclase, entonces la score se puede interpretar como la probabilidad de la clase correspondiente. Estos son los valores de pérdida utilizados por el de aprendizaje lineal cuando el valor loss es el valor predeterminado auto. Pero si la pérdida se establece en hinge_loss, entonces la puntuación no puede interpretarse como una probabilidad. Esto se debe a que la pérdida de bisagra corresponde a un Support Vector Classifier, que no produce cálculos de probabilidad.

Para obtener más información acerca de los formatos de archivo de entrada y salida, consulte Formatos de respuesta de aprendizaje lineal. Para obtener más información acerca de los formatos de inferencia, consulte Cuaderno de muestra de aprendizaje lineal.

Recomendación de instancia EC2 para el algoritmo de aprendizaje lineal

El algoritmo de aprendizaje lineal admite instancias de CPU y GPU para el entrenamiento y la inferencia. En el caso de la GPU, el algoritmo de aprendizaje lineal admite las familias de GPU P2, P3, G4dn y G5.

Durante las pruebas, no hemos encontrado pruebas sustanciales de que las instancias multi-GPU sean más rápidas que las instancias con GPU única. Los resultados pueden variar, en función de su caso de uso específico.

Cuaderno de muestra de aprendizaje lineal

En la siguiente tabla se describen varios ejemplos de libretas que abordan diferentes casos de uso del algoritmo de aprendizaje SageMaker lineal de Amazon.

Título del cuaderno Descripción

An Introduction with the MNIST dataset

Usando el conjunto de datos MNIST, entrenamos un clasificador binario para predecir un solo dígito.

How to Build a Multiclass Classifier?

Con el conjunto de datos Covertype del UCI, demostramos cómo entrenar un clasificador multiclase.

How to Build a Machine Learning (ML) Pipeline for Inference?

Con un contenedor Scikit-learn, demostramos cómo crear una canalización de aprendizaje automático. end-to-end

Para obtener instrucciones sobre cómo crear instancias de Jupyter Notebook y acceder a ellas, que puede utilizar para ejecutar el ejemplo, consulte. SageMaker Instancias de Amazon SageMaker Notebook Una vez que haya creado una instancia de bloc de notas y la haya abierto, seleccione la pestaña SageMakerEjemplos para ver una lista de todos los ejemplos. SageMaker Los blocs de notas de modelado de ejemplos que utilizan los algoritmos de aprendizaje lineal se encuentran en la sección de introducción a algoritmos de Amazon. Para abrir un bloc de notas, elija su pestaña Usar y elija Crear copia.