Compartir vía


Evitar el sobreajuste y los datos desequilibrados con el ML automatizado

El sobreajuste y los datos desequilibrados son un problema común al crear modelos de aprendizaje automático. De manera predeterminada, la característica ML automatizado de Azure Machine Learning proporciona gráficos y métricas que le ayudarán a identificar estos riesgos. Este artículo describe cómo puede implementar los procedimientos recomendados en el ML automatizado para ayudar a mitigar los problemas más comunes.

Identificación del sobreajuste

El sobreajuste en el aprendizaje automático se produce cuando un modelo se ajusta demasiado bien a los datos del entrenamiento. Como resultado, el modelo no puede realizar predicciones precisas en datos de prueba no vistos. El modelo memorizó patrones específicos y ruido en los datos del entrenamiento, y no es lo suficientemente flexible como para hacer predicciones sobre datos reales.

Examine los siguientes modelos entrenados y sus correspondientes precisiones de entrenamiento y prueba:

Modelo Precisión del entrenamiento Precisión de la prueba
A 99,9 % 95 %
B 87 % 87 %
C 99,9 % 45 %
  • Modelo A: la prueba de este modelo produce una precisión ligeramente menor que el entrenamiento del modelo. Hay una idea errónea común de que si la precisión de la prueba en los datos no vistos es menor que la precisión del entrenamiento, el modelo se sobreajusta. Sin embargo, la precisión de la prueba siempre debe ser menor que la precisión del entrenamiento. La distinción entre el sobreajuste y el ajuste adecuado de los datos se reduce a medir cuánto menos es la precisión.

  • Modelo A frente a modelo B: el modelo A es mejor porque tiene una mayor precisión en las pruebas. Aunque la precisión de la prueba es ligeramente inferior al 95 %, no es una diferencia significativa que sugiere que el sobreajuste está presente. No se prefiere el modelo B porque las precisiones de entrenamiento y prueba son similares.

  • Modelo C: este modelo representa un caso claro de sobreajuste. La precisión del entrenamiento es alta y la precisión de la prueba es baja. Esta distinción es subjetiva, pero procede del conocimiento de su problema y sus datos, y de cuáles son las magnitudes de error aceptables.

Evitación del sobreajuste

En los casos más notorios, un modelo sobreajustado supone que las combinaciones de valores de características visibles durante el entrenamiento dan siempre exactamente el mismo resultado para el destino. Para evitar sobreajustar los datos, se recomienda seguir los procedimientos recomendados de aprendizaje automático. Son varios métodos que puede configurar en la implementación del modelo. El ML automatizado también proporciona otras opciones de manera predeterminada para ayudar a evitar el sobreajuste.

En la tabla siguiente se resumen los procedimientos recomendados comunes:

Procedimiento recomendado Implementación Machine Learning Automatizado
Uso de más datos de entrenamiento y eliminación del sesgo estadístico X
Evitar la pérdida de destino X
Incorporación de menos características X
Compatibilidad con la regularización y la optimización de hiperparámetros X
Aplicación de limitaciones de complejidad del modelo X
Uso de la validación cruzada X

Aplicación de procedimientos recomendados para evitar el sobreajuste

En las secciones siguientes se describen los procedimientos recomendados que puede usar en la implementación del modelo de Machine Learning para evitar el sobreajuste.

Uso de más datos

Utilizar más datos es la forma más sencilla y mejor para evitar el sobreajuste, y este enfoque suele aumentar la precisión. Cuando se usan más datos, resulta más difícil para el modelo memorizar patrones exactos. El modelo se ve obligado a alcanzar soluciones más flexibles para adaptarse a más condiciones. También es importante reconocer el sesgo estadístico, para asegurarse de que los datos de entrenamiento no incluyen patrones aislados que no existen en los datos de predicción en directo. Este escenario puede ser difícil de resolver, ya que podría haber sobreajuste presente en comparación con los datos de prueba en directo.

Evitar la pérdida de destino

La pérdida de destino es un problema similar. Es posible que no vea sobreajuste entre los conjuntos de entrenamiento y prueba, pero el problema de pérdida aparece en tiempo de predicción. La pérdida de destino se produce cuando el modelo "hace trampa" durante el entrenamiento al tener acceso a datos que normalmente no debería tener en el momento de la predicción. Un ejemplo es que el modelo prediga el lunes cuál será el precio de la materia prima el viernes. Si las características incluyen accidentalmente datos de jueves, el modelo tiene acceso a los datos no disponibles en el momento de la predicción porque no puede ver en el futuro. La filtración del destino es un error fácil de pasar por alto. Suele ser visible cuando tiene una precisión anormalmente alta para su problema. Si intenta predecir el precio de las acciones y ha entrenado un modelo con una precisión del 95 %, es probable que se produzcan pérdidas de destino en alguna parte de las características.

Incorporación de menos características

La eliminación de características también puede ayudar con el sobreajuste, ya que impide que el modelo tenga demasiados campos para memorizar patrones específicos, lo que hace que sea más flexible. Puede ser difícil medir cuantitativamente. Si puede eliminar características y conservar la misma precisión, su modelo puede ser más flexible y reducir el riesgo de sobreajuste.

Revisar las características de ML automatizado para evitar el sobreajuste

En las siguientes secciones se describen los procedimientos recomendados proporcionados de manera predeterminada en el ML automatizado para ayudar a evitar el sobreajuste.

Compatibilidad con la regularización y el ajuste de hiperparámetros

La regularización es el proceso de minimizar una función de costo para penalizar modelos complejos y sobreajustados. Hay diferentes tipos de funciones de regularización. En general, todas las funciones penalizan el tamaño del coeficiente del modelo, la varianza y la complejidad. El aprendizaje automático automatizado usa L1 (Lasso), L2 (Ridge) y ElasticNet (L1 y L2 simultáneamente) en combinaciones diferentes con diferentes configuraciones de hiperparámetros del modelo que controlan el sobreajuste. El aprendizaje automático automatizado varía cuánto se regula un modelo y elegirá el mejor resultado.

Aplicación de limitaciones de complejidad del modelo

El aprendizaje automático automatizado también implementa limitaciones de complejidad del modelo explícitas para evitar el sobreajuste. En la mayoría de los casos, esta implementación es específicamente para algoritmos de árbol de decisión o bosque. La profundidad máxima del árbol individual está limitada y el número total de árboles utilizados en técnicas de bosque o conjunto son limitadas.

Uso de la validación cruzada

La validación cruzada (CV) es el proceso de tomar muchos subconjuntos de los datos de entrenamiento completos y entrenar un modelo en cada subconjunto. La idea es que un modelo puede tener "suerte" y lograr una gran precisión con un subconjunto, pero al usar muchos subconjuntos, el modelo no puede lograr siempre una gran precisión. Al realizar la CV, se proporciona un conjunto de datos de exclusión de la validación, se especifican los plegamientos de la CV (número de subconjuntos) y el aprendizaje automático automatizado entrena el modelo y ajusta los hiperparámetros para minimizar el error en el conjunto de validación. Se podría sobreajustar un plegamiento de la CV, pero mediante el uso de muchos de ellos, el proceso reduce la probabilidad de que el modelo final se sobreajuste. La contrapartida es que la CV genera tiempos de entrenamiento más largos y un costo mayor, porque entrena un modelo una vez por cada n en los subconjuntos de CV.

Nota:

La validación cruzada no está habilitada de forma predeterminada. Esta característica debe establecerse en la configuración del aprendizaje automático automatizado. Pero después de configurar la validación cruzada y proporcionar un conjunto de datos de validación, el proceso es automático.

Identificación de modelos con datos no equilibrados

Los datos no equilibrados suelen encontrarse en los datos de escenarios de clasificación de aprendizaje automático y hacen referencia a los datos que contienen una relación desproporcionada de observaciones en cada clase. Este desequilibrio puede dar lugar a un efecto positivo percibido de manera falsa de la precisión de un modelo, ya que los datos de entrada tienen un sesgo hacia una clase, lo que da lugar a que el modelo entrenado imite ese sesgo.

Además, los trabajos de ML automatizado generan automáticamente los gráficos siguientes. Estos gráficos ayudan a entender la corrección de las clasificaciones del modelo e identificar los modelos potencialmente afectados por los datos no equilibrados.

Gráfico Descripción
Matriz de confusión Evalúa las etiquetas clasificadas correctamente con respecto a las etiquetas reales de los datos.
Precisión-coincidencia Evalúa la proporción de etiquetas correctas con respecto a la de las instancias de etiquetas encontradas de los datos.
Curvas ROC Evalúa la proporción de etiquetas correctas con respecto a la de etiquetas de falsos positivos.

Manejo de datos no equilibrados

Como parte del objetivo de simplificar el flujo de trabajo del aprendizaje automático, el ML automatizado ofrece funcionalidades integradas para ayudar a tratar los datos desequilibrados:

  • El ML automatizado crea una columna de pesos como entrada para hacer que las filas de los datos se puedan subir o bajar, que se puede usar para que una clase sea más o menos "importante".

  • Los algoritmos que utiliza el ML automatizado detectan el desequilibrio cuando el número de muestras de la clase minoritaria es igual o inferior al 20 % del número de muestras de la clase mayoritaria. La clase minoritaria se refiere a la que tiene menos muestras y la mayoritaria a la que tiene más muestras. Posteriormente, el aprendizaje automático automatizado realiza un experimento con datos submuestreados para comprobar si usando ponderaciones de clase se puede remediar este problema y mejorar el rendimiento. Si determina un mejor rendimiento a través de este experimento, aplica el remedio.

  • Use una métrica de rendimiento que se ocupe mejor de los datos no equilibrados. Por ejemplo, AUC_weighted es una métrica primaria que calcula la contribución de cada clase en función del número relativo de muestras que representan esa clase. Esta métrica es más sólida frente al desequilibrio.

Las técnicas siguientes son otras opciones para controlar los datos desequilibrados fuera del ML automatizado:

  • Realice un nuevo muestreo para igualar el desequilibrio de clases. Puede aumentar el muestreo de las clases más pequeñas o reducir el de las clases más grandes. Estos métodos requieren conocimientos de proceso y análisis.

  • Revise las métricas de rendimiento de los datos desequilibrados. Por ejemplo, la puntuación F1 es la media armónica de precisión y coincidencia. La precisión mide la exactitud de un clasificador, donde una mayor precisión indica menos falsos positivos. La coincidencia mide la exhaustividad de un clasificador, donde una mayor coincidencia indica un menor número de falsos negativos.

Paso siguiente