¿Que es el entrenamiento?

 Entrenamiento de modelos de ML

El proceso de entrenamiento de un modelo de ML consiste en proporcionar datos de entrenamiento de los cuales aprender a un algoritmo de ML (es decir, el algoritmo de aprendizaje). El término modelo de ML se refiere al artefacto de modelo que se crea en el proceso de entrenamiento.

Los datos de entrenamiento deben contener la respuesta correcta, que se conoce como destino o atributo de destino. El algoritmo de aprendizaje encuentra patrones en los datos de entrenamiento que asignan los atributos de los datos de entrada al destino (la respuesta que desea predecir) y genera un modelo de ML que captura dichos patrones.

Puede utilizar el modelo de ML para obtener predicciones sobre datos nuevos para los que no se conoce la respuesta de destino. Por ejemplo, si desea entrenar un modelo de ML para que prediga si un mensaje de correo electrónico es spam o no. Le proporcionaría datos de entrenamiento a Amazon ML que contienen correos electrónicos para los que conoce el destino (es decir, una etiqueta que indica si un mensaje es spam o no). Amazon ML entrenaría un modelo de ML mediante la utilización de estos datos, lo que se traduce en un modelo que intenta predecir si los correos electrónicos nuevos son spam o no.

Para obtener información general sobre los modelos de ML y algoritmos de ML, consulte Conceptos del aprendizaje automático.

PROCESO DE FORMACIÓN

 
Para formar un modelo de ML, debe especificar lo siguiente:
Fuente de datos de formación de entrada
Nombre del atributo de datos que contiene el destino que se va a predecir
Instrucciones de transformación de datos necesaria
Parámetros de formación para controlar el algoritmo de aprendizaje
Durante el proceso de formación, Amazon ML selecciona automáticamente el algoritmo de aprendizaje correcto para usted, en función del tipo de destino que haya especificado en la fuente de datos de formación.



PARÁMETROS DE ENTRENAMIENTO
Normalmente, los algoritmos de aprendizaje automático aceptan parámetros que pueden utilizarse para controlar determinadas propiedades del proceso de aprendizaje y del modelo de ML resultante. En Amazon Machine Learning, se denominanParámetros de entrenamiento. Puede definir estos parámetros utilizando la consola, la API o la interfaz de línea de comandos (CLI) de Amazon ML. Si no configura ningún parámetro, Amazon ML utilizará los valores predeterminados que funcionan bien para una gran variedad de tareas de aprendizaje automático.
Puede especificar valores para los siguientes parámetros de entrenamiento:
Tamaño máximo del modelo
Número máximo de iteraciones en los datos de aprendizaje
Tipo de mezcla
Tipo de regularización
Cantidad de regularización
En la consola de Amazon ML, los parámetros de aprendizaje están establecidos de forma predeterminada. La configuración predeterminada es suficiente para la mayoría de problemas de ML, pero puede elegir otros valores para afinar el desempeño. Algunos otros parámetros de entrenamiento, como por ejemplo la tasa de aprendizaje, están configuradas automáticamente en función de los datos.
En las secciones siguientes se proporciona más información acerca de los parámetros de entrenamiento.

1.  Tamaño máximo del modelo
El tamaño máximo del modelo es el tamaño total, en unidades de bytes, de patrones que Amazon ML crea durante el entrenamiento de un modelo de ML.
De forma predeterminada, Amazon ML crea un modelo de 100 MB. Puede indicarle a Amazon ML que cree un modelo más grande o más pequeño especificando un tamaño diferente. Para el rango de tamaños disponibles, consulte Tipos de modelos de ML
Si Amazon ML no encuentra patrones suficientes para rellenar el tamaño del modelo, crea un modelo más pequeño. Por ejemplo, si especifica un tamaño máximo de modelo de 100 MB pero Amazon ML encuentra patrones que suman un total de 50 MB, el modelo resultante será de 50 MB. Si Amazon ML encuentra más patrones de los que cabrán en el tamaño especificado, impone un valor de corte máximo recortando los patrones que menos afectan a la calidad del modelo aprendido.
La elección del tamaño del modelo le permite controlar el equilibrio entre la calidad de predicción del modelo y el costo de su uso. Los modelos más pequeños pueden provocar que Amazon ML elimine muchos patrones para que quepan en el límite de tamaño máximo, hecho que afectará a la calidad de las predicciones. Los modelos más grandes, por otro lado, son más costosos de consultar para obtener predicciones en tiempo real.
nota
Si utiliza un modelo de ML para generar predicciones en tiempo real, producirá una pequeña carga de reserva de capacidad que se determina en función del tamaño del modelo. Para obtener más información, consulte Precios de Amazon ML.
Los conjuntos de datos de entrada grandes no generarán necesariamente modelos más grandes. ya que los modelos almacenan patrones y no datos de entrada; si los patrones son pocos y sencillos, el modelo resultante será pequeño. Los datos de entrada que tienen un gran número de atributos sin formato (columnas de entrada) o funciones derivados (salidas de las transformaciones de datos de Amazon ML) generarán probablemente más patrones y estos se almacenarán durante el proceso de entrenamiento. Es mejor realizar algunas pruebas antes de seleccionar el tamaño del modelo correcto para sus datos y problemas. El registro de aprendizaje del modelo de Amazon ML (que puede descargar a través de la consola o de la API) contiene mensajes sobre la cantidad que se ha recortado en el modelo (si procede) durante el proceso de entrenamiento, lo que le permite hacer una estimación de la calidad potencial de la predicción de acierto.

2. Número máximo de iteraciones en los datos
Para obtener el mejor resultado, quizá sea necesario que Amazon ML realice varias repeticiones en los datos para descubrir patrones. De forma predeterminada, Amazon ML realiza 10 repeticiones pero puede cambiar el valor predeterminado estableciendo un número de hasta 100. Amazon ML lleva un seguimiento de la calidad de los patrones (convergencia del modelo) mientras va avanzando y detiene automáticamente el entrenamiento cuando no hay más puntos de datos o patrones por descubrir. Por ejemplo, si establece el número de peticiones a 20 pero Amazon ML descubre que no se pueden encontrar patrones nuevos después de 15 repeticiones, detendrá la formación a 15.
En general, los conjuntos de datos con solo unas cuantas observaciones suelen requerir más iteraciones en los datos para obtener una mayor calidad del modelo. Los conjuntos de datos grandes suelen contener muchos puntos de datos similares, hecho que elimina la necesidad de un gran número de iteraciones. El impacto de la elección de más iteraciones en los datos es doble: el aprendizaje del modelo necesita más tiempo y tiene un costo mayor.

3. Tipo de mezcla para los datos de entrenamiento
En Amazon ML, debe mezclar sus datos de entrenamiento. La mezcla desordena los datos, de modo que el algoritmo SGD no detecta un tipo de datos por demasiadas observaciones consecutivas. Por ejemplo, si está entrenando un modelo de ML para predecir un tipo de producto y los datos de entrenamiento incluyen tipos de producto como películas, juguetes y videojuegos, si ordena los datos por la columna del tipo de producto antes de cargarlos, el algoritmo ve los datos alfabéticamente por tipo de producto. El algoritmo observa primero todos los datos de películas y el modelo de ML comienza a aprender patrones para películas. A continuación, cuando el modelo encuentra los datos de juguetes, cada actualización que hace el algoritmo ajustaría el modelo al tipo de producto de juguete, incluso si estas actualizaciones degradasen los patrones que se ajustan a las películas. Este cambio repentino del tipo de películas a juguetes puede producir un modelo que no aprenderá a predecir los tipos de productos con precisión.
Debe mezclar sus datos de entrenamiento incluso si selecciona la opción de división aleatoria al dividir la fuente de datos de entrada en partes de formación y evaluación. La estrategia de división aleatoria elige un subconjunto aleatorio de los datos para cada fuente de datos, pero no cambia el orden de las filas en la fuente de datos. Para obtener más información acerca de la división de los datos, consulte División de datos.
Al crear un modelo de ML mediante la consola, Amazon ML mezcla los datos con una técnica de mezcla seudoaleatoria de manera predeterminada. Independientemente de la cantidad de aprobaciones establecidas, Amazon ML mezcla los datos solo una vez antes de entrenar el modelo de ML. Si mezcló los datos antes de proporcionarlos a Amazon ML y no desea que Amazon ML vuelva a mezclarlos de nuevo, puede establecer la opción deTipo de mezclaanone. Por ejemplo, si ha barajado aleatoriamente los registros de su archivo.csv antes de cargarlo en Amazon S3, utilice elrand()en la consulta SQL de MySQL al crear su fuente de datos a partir de Amazon RDS, o utilizar larandom()en la consulta SQL de Amazon Redshift al crear su fuente de datos desde Amazon Redshift, configurarTipo de mezclaanoneno afectará la precisión predictiva de su modelo ML. Mezclar los datos solo una vez reduce el tiempo de ejecución y el costo para la creación de un modelo de ML.


4. Tipo y cantidad de regularización
El desempeño predictivo de modelos de ML complejos (los que tienen muchos atributos de entrada) se ve perjudicado cuando los datos contienen demasiados patrones. Como aumenta el número de patrones, aumenta también la probabilidad de que el modelo aprenda artefactos de datos involuntarios en lugar de patrones de datos reales. En este caso, el modelo rinde muy bien con los datos de entrenamiento pero no puede generalizar bien los datos nuevos. Este fenómeno se conoce como sobreajuste de los datos de aprendizaje.
La regularización ayuda a prevenir que los modelos lineales realicen un sobreajuste de los ejemplos de datos de entrenamiento penalizando los valores de peso extremos. La regularización L1 reduce el número de funciones utilizadas en el modelo y aumenta el peso de características que, de otro modo, tendrían a cero los pesos muy reducidos. La regularización L1 produce modelos dispersos y reduce la cantidad de ruido en el modelo. La regularización L2 produce en general valores de peso más pequeños, lo que estabiliza las ponderaciones cuando hay gran correlación entre las funciones. Puede controlar la cantidad de regularización L1 o L2 mediante el parámetro Regularization amount. Especificar un valor extremadamente grande de Regularization amount puede provocar que todas las funciones tengan un peso igual a cero.
La selección y el ajuste del valor de regularización óptimo es un tema candente en la investigación del aprendizaje automático. Probablemente se beneficiará de seleccionar una cantidad moderada de regularización L2, que es la opción predeterminada en la consola de Amazon ML. Los usuarios avanzados pueden elegir entre tres tipos de regularización (ninguna, L1, o L2) y de cantidad. Para obtener más información sobre la regularización, consulte Regularization (mathematics) (en inglés).



Training Deep Learning

Optimizers
Learning Rate Schedule
Batch Normalizations
Batch Size Effects
Ragularizations