[MÚSICA] Bienvenidos a un nuevo video de nuestro curso minería de datos. En este video conversaremos sobre el concepto de sobre ajuste en el árbol de decisión. La principal motivación de este video es entender el concepto de sobre ajuste u overfitting y ver cómo puede afectarnos en la construcción de un árbol de decisión. En general, cuando entrenamos un modelo más de lo necesario, el modelo empieza a sobremodelar los datos de entrenamiento, lo que genera un resultado no deseado. En la imagen podemos ver dos modelos de clasificación distintos, uno representado por la línea negra y otro por la línea verde. La línea negra es un modelo que parece bastante razonable, you que tiene una forma suave, familiar a muchas de las funciones que you conocemos. La línea verde por otro lado, parece ser un modelo poco natural, como si a la fuerza está tratando de formar perfectamente todos los datos de ambas clases. En general, cuando entrenamos un modelo más de lo necesario, el modelo empieza a sobremodelar los datos de entrenamiento, lo que genera un resultado no deseado. En la imagen podemos ver dos modelos de clasificación distintos, uno representado por una línea negra y otro por una línea verde. La línea negra es un modelo que parece bastante razonable, you que tiene una forma suave, familiar a muchas de las funciones que you conocemos. La línea verde por otro lado parece ser un modelo poco natural, como si a la fuerza está tratando de modelar de forma perfecta todos los datos de ambas clases. Típicamente los sets de entrenamiento tienen errores, estos errores provienen de varias fuentes, por ejemplo errores que tienen que ver con algún tipo de ruido en los datos, o errores que tienen que ver con que el set de entrenamiento corresponde a una muestra sesgada, es decir poco representativa de los datos de la realidad. Si sobreentrenamos nuestro modelo, este empezará a aprender de error, lo que trae como consecuencia su peor resultado cuando usamos nuestro modelo en casos futuros, que es justamente el momento en que queremos que nuestro modelo funcione bien. A la capacidad de un modelo de funcionar bien en casos futuros, se le conoce como capacidad de generalización. La imagen de la diapositiva nos muestra un ejemplo de un conjunto de datos, imaginemos que queremos aprender un modelo que se ajuste a esos datos. Es decir, que aprenda a predecir el valor de Y dado el valor de X. Ahora vemos con una línea verde tres posibles modelos predicitivos. Yendo de izquierda a derecha, tenemos un modelo lineal simple, luego un modelo cuadrático y finalmente un modelo que corresponde a unir los puntos con líneas entre cada par de datos. Intuitivamente vemos que el modelo lineal es muy simple como para poder modelar los datos, es decir carece de la flexibilidad necesaria. En este caso decimos que el modelo tiene un alto bias o sesgo, lo más probable es que el modelo lineal no funcione también en los casos futuros por falta de complejidad. El caso de unir los puntos intuitivamente se está ajustando demasiado a los datos, su nivel de ajuste es tal que nos hace dudar sobre la calidad del modelo, you que es un modelo poco natural. Lo más probable es que cuando lleguen datos futuros, el modelo tenga un error muy alto por culpa del sobreajuste a los datos de entrenamiento. El modelo cuadrático es más cercano a ser el indicado en este ejemplo you que tiene un mejor balance entre la simplicidad y el nivel de ajuste. En general, gran parte de las técnicas del aprendizaje del área de máquinas tratan de encontrar modelos que controlen el trade off entre ajustarse a los datos, pero con el modelo más simple posible. Este trade off es también conocido como el bias variance trade off. El bias o sesgo como lo mencionamos antes tiene que ver con el grado de flexibilidad del modelo, mientras más simple es es menos flexible, por lo tanto tiene un mayor bias. El concepto de variance o varianza tiene que ver con cuánto cambiaría el modelo si lo hubiésemos ajustado a una muestra distinta a los datos de entrenamiento. Cuando el modelo es muy complejo o flexible, tiende a ser muy sensible a pequeños cambios en el set de datos con que se ajusta y varía mucho. Por eso es que decimos que un modelo muy complejo tiene un variance alto. Esa es la razón por la cual le llamamos bias variance trade off. En la figura, vemos que el punto ideal donde el error de generalización es mínimo, es cuando tenemos el punto donde el bias y el variance están al mínimo posible. Existe un principio filosófico detrás del control de sobreajuste, es conocido como el principio de la navaja de Ockham y dice en palabras simples que si tenemos dos modelos que tienen el mismo rendimiento, debemos elegir el modelo más simple. En los árboles de decisión también tenemos que preocuparnos de controlar la complejidad para que no nos sobreajustemos. En particular el análogo a unir los puntos en el caso del árbol sería como seguir construyendo el árbol hasta que se nos acaben los datos, es decir hasta que los criterios de detención del algoritmo de construcción se cumplan porque llegamos a tener un solo dato. Para evitar entonces que esto suceda, debemos controlar que cada vez que pongamos una hoja porque se cumplió alguno de los criterios de detención, estemos sustentando esa decisión en una cantidad razonable de datos. En otras palabras, debemos forzar la detención de la construcción y poner una hoja con la clase más frecuente de los datos que quedan. Si es que la cantidad de datos que quedan llegan al límite mínimo de datos que permitimos. Ese valor tenemos que predefinirlo. Por ejemplo, podemos decir que el mínimo de datos para poner una hoja en el árbol es de 50. Ese proceso es conocido como poda del árbol. Si lo miramos desde otro punto de vista, el detener la construcción del árbol es equivalente a podar el árbol, es decir tomar una rama, eliminar todo el sub árbol que cuelga desde esa rama y reemplazarlo por una hoja en la clase más frecuente de la sub base de datos que queda al seguir el camino hasta esa rama. Existen dos tipos de poda, la pre poda que corresponde a detener la construcción del árbol colocando una hoja en un instante dado. Esto también es conocido como Early Stopping en otros tipos de modelos de aprendizaje de máquinas. Por otro lado está la post poda que sería construir el árbol sin restricciones y después generar una poda de algunas ramas en forma aleatoria, eligiendo los cortes que generen un árbol con mejor rendimiento. En la práctica es más eficiente pre podar you que el proceso de post poda puede llegar a ser muy costoso. Veamos un ejemplo concreto de lo que sería pre podar el árbol. Supongamos que tenemos el conjunto de datos de entrenamiento que se ve en pantalla. Supongamos también que el mínimo de filas para seguir construyendo el árbol es 4. Los valores de ganancia e información son los mismos que obtuvimos en uno de los ejemplos anteriores. En este caso, la variable ingreso era la que tenía una mayor ganancia de información. Por eso es que se elige como nodo raíz. Recordamos en la figura como son los splits para los distintos valores de la variable ingreso. En la rama del nodo ingreso, cuando este está entre 100 y 200, vemos que tenemos solo 3 filas. Por lo tanto no estamos cumpliendo con el mínimo requerido por el criterio de poda. En este ejemplo ese mínimo es de 4 filas, debemos entonces poner una hoja con la clase mayoritaria. En esta situación sería la clase frecuente. No olvidar que si estuviéramos usando la poda, tendríamos que volver a elegir la mejor variable en vez de poner una hoja con la clase. En este video aprendimos el concepto de overfitting o sobreajuste. Además vimos cómo se interpretan en el modelo de arboles de decisión y cómo manejarlo durante el proceso de entrenamiento. [AUDIO_EN_BLANCO]