Sobreajuste y Subajuste en Machine Learning
Cuando trabajamos con un conjunto de datos para predecir o clasificar un problema, tendemos a encontrar la precisión implementando el modelo con el conjunto de datos de entrenamiento y luego con el conjunto de datos de pruebas.
En caso de que la precisión sea satisfactoria, tendemos a aumentar la precisión de la predicción con el conjuntos de datos, ya sea aumentando o disminuyendo la selección de las característicos o modificando las condiciones de nuestro modelo de Machine Learning, pero con esto, en ocasiones, el modelo puede dar resultados pobres.
Pero, ¿por qué ocurre esto?
El pobre rendimiento del modelo puede deberse a que el modelo es demasiado simple para describir el objetivo o, por el contrario, que el modelo sea demasiado complejo par expresar el objetivo. Es en este momento que se debe tener claro los conceptos de sobreajuste y subajuste o “overfitting” y “underfitting”, como se le conoce en inglés.
Si observas el gráfico, en el lado izquierdo puedes predecir que la línea no cubre todos los puntos que se muestran en el gráfico, tal modelo tiende a causar un ajuste insuficiente de los datos, a esto también se le denomina alto bias o sesgo.
Por su parte, el gráfico del lado derecho, muestra que la línea predicha cubre todos los puntos del gráfico. En tal condición, puedes pensar que es un buen gráfico ya que cubre todos los puntos, pero eso no es cierto en realidad, la línea en el gráfico cubre también todos los puntos que son ruido y valores atípicos. Este modelo es responsable de predecir resultados deficientes debido a su complejidad, a esto también se le denomina alta varianza.
Ahora, observa el gráfico del medio, en este se muestra una línea predicha bastante buena, cubre la mayoría de los puntos en el gráfico y también mantiene el equilibrio entre la bias o sesgo y la varianza.
En Machine Learning, predecimos y clasificamos nuestros datos de forma más general, entonces, para resolver el problema de nuestro modelo que esta sobreajustado o subajustado, debemos verlos por separado uno por uno.
Subajuste
Se refiere a un modelo que no puede modelar los datos de entrenamiento no generalizar a nuevos datos, esto ocurre cuando el modelo de Machine Learning es muy simple.
El ajuste insuficiente destruye la precisión de nuestro modelo de Machine Learning. Su aparición simplemente significa que nuestro modelo o el algoritmo no se ajusta a los datos lo suficientemente bien. Suele suceder cuando tenemos menos datos para construir un modelo preciso y también cuando intentamos construir un modelo lineal con datos no lineales.
En tales casos, las reglas del modelo de Machine Learning son demasiado fáciles y flexibles para aplicarse a datos tan mínimos y, por lo tanto, es probable que el modelo haga muchas predicciones erróneas. La falta de adaptación se puede evitar utilizando más datos y también reduciendo las características por selección de características.
Sobreajuste
El sobreajuste se refiere a un modelo que modela los datos de entrenamiento demasiado bien.
Esto ocurre cuando un modelo aprende el detalle, incluyendo el ruido en los datos de entrenamiento en la medida en que tiene un impacto negativo en el rendimiento del modelo en datos nuevos. Esto significa que el ruido o las fluctuaciones aleatorias en los datos de entrenamiento son recogidos y aprendidos por el modelo. El problema es que estos conceptos no se aplican a los datos nuevos y afectan negativamente a la capacidad de los modelos para generalizar.
El sobreajuste es más probable con modelos no paramétricos y no lineales porque estos tipos de algoritmos de Machine Learning tienen más libertad para construir el modelo basado en el conjunto de datos , por lo tanto, pueden construir modelos poco realistas.
Un buen ajuste en Machine Learning
Idealmente, se desea seleccionar un modelo en el punto óptimo entre el ajuste insuficiente y el ajuste excesivo, este es el objetivo, pero es muy difícil de hacer en la práctica.
Existen varias maneras de evitar el sobreajuste de los modelos de Machine Learning, algunos de los cuales se mencionan a continuación:
Un buen ajuste en Machine Learning
Idealmente, se desea seleccionar un modelo en el punto óptimo entre el ajuste insuficiente y el ajuste excesivo, este es el objetivo, pero es muy difícil de hacer en la práctica.
Existen varias maneras de evitar el sobreajuste de los modelos de Machine Learning, algunos de los cuales se mencionan a continuación.
Usar más información para entrenamiento
El uso de un gran conjunto de datos de capacitación generalmente ayuda al modelo de Machine Learning a elegir la señal de manera eficiente, sin embargo, esta técnica puede no funcionar todas las veces. Si agregamos muchos datos ruidosos y los datos relevantes son escasos, incluso tener una gran cantidad de datos totales o ayudará al modelo a predecir con precisión los valores.
Técnica de validación cruzada
La validación cruzada es un estándar de oro en Machine Learning aplicado para estimar la precisión del modelo en datos no vistos. Si tienes los datos, usar un conjunto de datos de validación también es una práctica excelente. Una forma estándar de encontrar un error de predicción fuera de muestra es usar una validación cruzada de 5 veces.
Detección temprana
Cuando entrena iterativamente un modelo de Machine Learning, observaras que hasta cierto número de iteraciones, el rendimiento del modelo mejora. Después de cierto punto, si aumenta el número de iteraciones, el modelo tendrá un mejor rendimiento en el conjunto de datos de entrenamiento, pero el modelo se sobrecarga y tendrá un rendimiento bajo en los conjuntos de datos de prueba. Por lo tanto, debes detener las iteraciones de entrenamiento de su modelo antes de que exista un ajuste excesivo en el modelo.
Regularización
La regularización se hace para simplificar el modelo de Machine Learning y consiste en muchos métodos. La técnica de regularización utilizada para un modelo de Machine Learning depende del tipo de modelo, por ejemplo, si el modelo es un árbol de decisión, la regularización podría ser podar el árbol; si el modelo es un regresión puede agregar una penalización a la función de costo para la regularización.