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.

La Amazonía SageMaker El algoritmo de aprendizaje lineal proporciona una solución para los problemas de clasificación y regresión. Con el SageMaker con este algoritmo, puedes explorar simultáneamente diferentes objetivos de entrenamiento y elegir la mejor solución de un conjunto de validaciones. 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 El aprendizaje lineal 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 estás usandoCapacitación puntual gestionada, el algoritmo de aprendizaje lineal admite el uso depuntos de control para tomar una instantánea del estado del modelo.

Interfaz de entrada/salida para el algoritmo de aprendizaje lineal

La Amazonía SageMaker El algoritmo de aprendizaje lineal 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 lineal del alumno. Para obtener más información acerca de los formatos de inferencia, consulte Cuadernos de muestra para estudiantes de forma 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 con varias GPU sean más rápidas que las instancias con una sola GPU. Los resultados pueden variar, en función de su caso de uso específico.

Cuadernos de muestra para estudiantes de forma lineal

En la siguiente tabla se describen varios ejemplos de cuadernos que abordan distintos casos de uso de Amazon SageMaker algoritmo de aprendizaje lineal.

Título del cuaderno Descripción

Una introducción al conjunto de datos MNIST

Con el conjunto de datos MNIST, entrenamos un clasificador binario para que prediga un solo dígito.

¿Cómo construir un clasificador multiclase?

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

¿Cómo construir una canalización de Machine Learning (ML) para la inferencia?

Usando un contenedor Scikit-learn, demostramos cómo construir un end-to-end Tubería ML.

Para obtener instrucciones sobre cómo crear instancias de Jupyter Notebook y acceder a ellas, que puede utilizar para ejecutar el ejemplo en SageMaker, consulteAmazon SageMaker Instancias de portátiles. Cuando haya creado la instancia de la libreta, podrá elegir laSageMakerEjemplospestaña para ver la lista de las SageMaker las muestras. 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 Use (Usar) y elija Create copy (Crear copia).