Fundamentos de la IA
ÂŋQuÃĐ es el sobreajuste?
ÂŋQuÃĐ es el sobreajuste?
Cuando entrenas una red neuronal, debes evitar el sobreajuste. El sobreajuste es un problema dentro del aprendizaje automÃĄtico y la estadÃstica donde un modelo aprende los patrones de un conjunto de datos de entrenamiento demasiado bien, explicando perfectamente el conjunto de datos de entrenamiento pero fallando al generalizar su poder predictivo a otros conjuntos de datos.
Para ponerlo de otra manera, en el caso de un modelo con sobreajuste, a menudo mostrarÃĄ una precisiÃģn extremadamente alta en el conjunto de datos de entrenamiento pero una baja precisiÃģn en los datos recopilados y ejecutados en el modelo en el futuro. Esa es una definiciÃģn rÃĄpida del sobreajuste, pero veamos el concepto de sobreajuste en mÃĄs detalle. Veamos cÃģmo ocurre el sobreajuste y cÃģmo se puede evitar.
Entendiendo el âajusteâ y el subajuste
Es Útil examinar el concepto de subajuste y âajusteâ en general cuando se discute el sobreajuste. Cuando entrenamos un modelo, estamos tratando de desarrollar un marco que sea capaz de predecir la naturaleza o la clase de los elementos dentro de un conjunto de datos, en funciÃģn de las caracterÃsticas que describen esos elementos. Un modelo debe ser capaz de explicar un patrÃģn dentro de un conjunto de datos y predecir las clases de los puntos de datos futuros en funciÃģn de ese patrÃģn. Cuanto mejor explique el modelo la relaciÃģn entre las caracterÃsticas del conjunto de entrenamiento, mÃĄs âajustadoâ estarÃĄ nuestro modelo.

La lÃnea azul representa las predicciones de un modelo que estÃĄ subajustando, mientras que la lÃnea verde representa un modelo con mejor ajuste. Foto: Pep Roca a travÃĐs de Wikimedia Commons, CC BY SA 3.0, (https://commons.wikimedia.org/wiki/File:Reg_ls_curvil%C3%ADnia.svg)
Un modelo que explica mal la relaciÃģn entre las caracterÃsticas de los datos de entrenamiento y, por lo tanto, no logra clasificar con precisiÃģn los ejemplos de datos futuros, estÃĄ subajustando los datos de entrenamiento. Si graficaras la relaciÃģn predicha de un modelo subajustado contra la intersecciÃģn real de las caracterÃsticas y las etiquetas, las predicciones se desviarÃan del objetivo. Si tuviÃĐramos un grÃĄfico con los valores reales de un conjunto de entrenamiento etiquetado, un modelo subajustado severamente perderÃa la mayorÃa de los puntos de datos. Un modelo con mejor ajuste podrÃa cortar un camino a travÃĐs del centro de los puntos de datos, con puntos de datos individuales que se desvÃan solo un poco de los valores predichos.
El subajuste puede ocurrir a menudo cuando no hay suficientes datos para crear un modelo preciso o cuando se intenta diseÃąar un modelo lineal con datos no lineales. MÃĄs datos de entrenamiento o mÃĄs caracterÃsticas a menudo ayudan a reducir el subajuste.
ÂŋPor quÃĐ no crearÃamos un modelo que explique cada punto en el conjunto de datos de entrenamiento perfectamente? Seguramente la precisiÃģn perfecta es deseable. Crear un modelo que ha aprendido los patrones de los datos de entrenamiento demasiado bien es lo que causa el sobreajuste. El conjunto de datos de entrenamiento y otros conjuntos de datos que se ejecutan en el modelo en el futuro no serÃĄn exactamente iguales. Probablemente serÃĄn muy similares en muchos aspectos, pero tambiÃĐn diferirÃĄn en aspectos clave. Por lo tanto, diseÃąar un modelo que explique el conjunto de datos de entrenamiento perfectamente significa que terminas con una teorÃa sobre la relaciÃģn entre las caracterÃsticas que no se generaliza bien a otros conjuntos de datos.
Entendiendo el sobreajuste
El sobreajuste ocurre cuando un modelo aprende los detalles dentro del conjunto de datos de entrenamiento demasiado bien, lo que hace que el modelo sufra cuando se realizan predicciones en datos externos. Esto puede ocurrir cuando el modelo no solo aprende las caracterÃsticas del conjunto de datos, sino que tambiÃĐn aprende fluctuaciones aleatorias o ruido dentro del conjunto de datos, otorgando importancia a estos eventos aleatorios o no importantes.
El sobreajuste es mÃĄs probable que ocurra cuando se utilizan modelos no lineales, ya que son mÃĄs flexibles al aprender caracterÃsticas de datos. Los algoritmos de aprendizaje automÃĄtico no paramÃĐtricos a menudo tienen varios parÃĄmetros y tÃĐcnicas que se pueden aplicar para limitar la sensibilidad del modelo a los datos y, por lo tanto, reducir el sobreajuste. Por ejemplo, los modelos de ÃĄrbol de decisiÃģn son muy sensibles al sobreajuste, pero se puede utilizar una tÃĐcnica llamada poda para eliminar aleatoriamente algunos de los detalles que el modelo ha aprendido.
Si graficaras las predicciones del modelo en ejes X e Y, tendrÃas una lÃnea de predicciÃģn que zigzaguea de un lado a otro, lo que refleja el hecho de que el modelo ha intentado demasiado ajustar todos los puntos en el conjunto de datos a su explicaciÃģn.
Controlando el sobreajuste
Cuando entrenamos un modelo, idealmente queremos que el modelo no cometa errores. Cuando el rendimiento del modelo converge hacia hacer predicciones correctas en todos los puntos de datos del conjunto de entrenamiento, el ajuste se vuelve mejor. Un modelo con buen ajuste es capaz de explicar casi todos los puntos del conjunto de entrenamiento sin sobreajuste.
A medida que un modelo se entrena, su rendimiento mejora con el tiempo. La tasa de error del modelo disminuirÃĄ a medida que pase el tiempo de entrenamiento, pero solo disminuirÃĄ hasta cierto punto. El punto en el que el rendimiento del modelo en el conjunto de prueba comienza a aumentar nuevamente es tÃpicamente el punto en el que ocurre el sobreajuste. Para obtener el mejor ajuste para un modelo, queremos detener el entrenamiento del modelo en el punto de menor pÃĐrdida en el conjunto de entrenamiento, antes de que el error comience a aumentar nuevamente. El punto de parada Ãģptimo se puede determinar trazando el rendimiento del modelo a lo largo del tiempo de entrenamiento y deteniendo el entrenamiento cuando la pÃĐrdida sea la mÃĄs baja. Sin embargo, un riesgo con este mÃĐtodo de control del sobreajuste es que especificar el punto final del entrenamiento en funciÃģn del rendimiento de la prueba significa que los datos de la prueba se incluyen en cierta medida en el procedimiento de entrenamiento y pierden su estado de âintocadosâ.
Hay un par de formas diferentes de combatir el sobreajuste. Un mÃĐtodo para reducir el sobreajuste es utilizar una tÃĄctica de muestreo, que opera estimando la precisiÃģn del modelo. TambiÃĐn puedes utilizar un conjunto de validaciÃģn ademÃĄs del conjunto de prueba y trazar la precisiÃģn de entrenamiento contra el conjunto de validaciÃģn en lugar del conjunto de prueba. Esto mantiene tu conjunto de prueba sin ver. Un mÃĐtodo de muestreo popular es la validaciÃģn cruzada de K-folds. Esta tÃĐcnica te permite dividir tus datos en subconjuntos que el modelo se entrena y luego analiza el rendimiento del modelo en los subconjuntos para estimar cÃģmo se desempeÃąarÃĄ el modelo en datos externos.
Utilizar la validaciÃģn cruzada es una de las mejores formas de estimar la precisiÃģn de un modelo en datos no vistos, y cuando se combina con un conjunto de validaciÃģn, el sobreajuste se puede mantener al mÃnimo.












