Algoritmo de aprendizaje lineal - Amazon SageMaker AI

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 lineal Amazon SageMaker AI proporciona una solución para los problemas de clasificación y regresión. Con el algoritmo de SageMaker IA, 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 los métodos que ofrecen una solución solo para objetivos continuos, el algoritmo de aprendizaje lineal de la SageMaker IA proporciona un aumento significativo de la velocidad en comparación con las técnicas ingenuas de optimización de hiperparámetros. 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, el aprendizaje lineal de Amazon SageMaker AI 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 lineal de Amazon SageMaker AI 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.

EC2recomendación de instancia para el algoritmo de aprendizaje lineal

El algoritmo de aprendizaje lineal admite tanto el entrenamiento como CPU las GPU instancias de inferencia. PuesGPU, el algoritmo de aprendizaje lineal es compatible con las familias P2, P3, G4dn y G5. GPU

Durante las pruebas, no hemos encontrado pruebas sustanciales de que las instancias múltiples sean más rápidas que las GPU instancias individuales. GPU 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 cuadernos que abordan diferentes casos de uso del algoritmo de aprendizaje lineal de Amazon SageMaker AI.

Título del cuaderno Descripción

Una introducción con el conjunto de datos MNIST

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

How to Build a Multiclass Classifier?

Con UCI el conjunto de datos Covertype, 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 puedes usar para ejecutar el ejemplo en IA, consulta. SageMaker Instancias de Amazon SageMaker Notebook Tras crear una instancia de bloc de notas y abrirla, selecciona la pestaña Ejemplos de SageMaker IA para ver una lista de todos los ejemplos de SageMaker IA. 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.