Ajuste del modelo - Equilibrio entre sesgo y sobreajuste

Ajuste del modelo – Equilibrio entre sesgo y sobreajuste

Bienvenidos a el Podcast de Inteligencia Artificial

Si se acuerdan los que vienen escuchando el podcast desde hace un tiempo, hubo un episodio teórico donde hablamos de una de las formas más rudimentarias de hacer aprendizaje automático que era el árbol de decisión. A raíz de ese episodio muchos me pidieron que de vez en cuando metamos algún tema teórico. Y como en ese episodio habíamos terminado mencionando el sobreajuste pero no lo explicamos, me pareció bueno retomarlo, ya que es un tema muy básico ya no solo para el árbol de decisión, sino para cualquier algoritmo o red neuronal que vayamos a implementar.

Bien, entonces sí hacemos memoria en ese ejercicio de árbol de decisión lo que estábamos resolviendo era un problema de clasificación de propiedades de Nueva York y San Francisco. Y lo que había pasado, es que al hacer crecer la profundidad del árbol para lograr el 100% de precisión con los datos de entrenamiento, luego, al usar los datos de prueba la precisión era muy baja.

El sobreajuste, también llamado Overfitting

árbol de decisión profundo

Ese es un claro ejemplo de overfitting que es cómo se le llama al sobreajuste. Y lo que pasó es que habíamos ajustado tanto el modelo para que pueda clasificar correctamente el 100% de los datos de entrenamiento, que lo ajustamos tanto, tanto, que perdió la capacidad de generalizar.

Y esa palabra es la clave de todo. Generalizar. Siempre, pero siempre vamos a querer generar modelos que puedan generalizar. O sea, que puedan tratar de la mejor manera tanto los datos conocidos, que son con los que lo entrenamos, como los datos desconocidos para él.

¿qué hubiera pasado en el ejercicio si usábamos muchos menos datos de entrenamiento?

El sesgo producto del subajuste

Es probable que el árbol hubiese quedado con una profundidad mucho menor y que al hacer pasar datos de prueba también fallara y seguramente mucho más. Esto que es lo contrario al caso anterior, se llama underfitting o subajuste. Y lo que provoca es que al estar tan poco entrenado el modelo tampoco sea capaz de generalizar.

Si hubieramos dejado por ejemplo solo la primera división que hicimos, que decía que las casas que estaban a más de 73 metro de altura debían ser clasificadas como San Francisco y el resto como Nueva York, tendríamos un modelo binario que sería muy propenso a errores debido al sesgo.

Y un modelo con demasiado sesgo, ignora los detalles importantes y se equivoca consistentemente debido a las suposiciones que hace.

Así que como vemos:

La clave del Machine Learning es Generalizar.

 

Ahora si volvemos al ejercicio del árbol de decisión, ¿que podríamos hacer específicamente para intentar solucionar el sobreajuste?

Lo claro es que tendriamos que “simplificar” el modelo sacando ramas al árbol. Pero ¿cuales sacamos?

Tamaño mínimo del nodo

Hay un concepto cuando se trabaja con árboles de decisión que se llama tamaño mínimo de nodo. En el ejercicio, nuestro árbol tenía un tamaño mínimo de nodo igual a 1. O sea que había un camino que estaba hecho para que solo pase una casa.

Ahí lo que hicimos fue hacerle pensar al modelo que ese único ejemplo debía ser tomado como un patrón y al usarlo para generalizar lo que terminó haciendo fue generar errores de clasificación.

Entonces el tamaño mínimo de nodo es uno de los parámetros que podemos ir ajustando para que el modelo generalice mejor.

A medida que vayamos agrandando el tamaño mínimo del nodo el modelo va a ir generalizando mejor, pero va a llegar un punto que en que la precisión se va a ir deteriorando debido a que el modelo se vuelve muy simplista y empieza a producir errores por sesgo.

Equilibrio de un modelo de machine learning

Una buena forma de visualizar esto es en un gráfico de dos dimensiones donde en el eje x tenes la complejidad del modelo y en el eje y pones la tasa de errores tanto por sesgo como por sobreajuste. Se los dejo en las notas para que lo vean.

Punto mínimo de errores de sesgo y sobreajuste
Punto mínimo de errores de sesgo y sobreajuste

La idea es encontrar ese punto donde la complejidad sea la necesaria para que la suma de errores de sesgo y sobreajuste sea la mínima posible.

Y bueno como vemos la clave va a ser encontrar ese equilibrio para no tener ni un modelo muy simplista ni un modelo demasiado complejo, ya que no queremos que aprenda a manejar cada uno de los datos de entrenamiento como si fuera una generalización.

Esto que nos pasó en el ejercicio no fue un caso aislado. Sino que es lo normal y es lo que va a pasar con cualquier conjunto de datos de entrenamiento. Nuestro trabajo va a consistir en ir probando y buscando el ajuste del modelo que resulte más equilibrado.

Y para ir terminando quiero dejar en claro que si bien los árboles de decisión son de los modelos más fáciles de entender, no son de los que tengan mejor rendimiento. Y además el mundo real es mucho más complejo que un montón de condiciones si tal cosa entonces tal otra.

Hasta aquí el programa de hoy, pero antes de despedirme les quería contar que estoy en Instagram como podcast.ia

Cómo siempre se agradecen las reseñas en iTunes y los me gusta y comentarios en iVoox.

Dejar recomendación en iTunes


Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *