Fundamentos de la IA
¿Qué es un Árbol de Decisión?
¿Qué es un Árbol de Decisión?
Un árbol de decisión es un algoritmo de aprendizaje automático útil utilizado para tareas de regresión y clasificación. El nombre “árbol de decisión” proviene del hecho de que el algoritmo sigue dividiendo el conjunto de datos en porciones cada vez más pequeñas hasta que los datos se han dividido en instancias individuales, que luego se clasifican. Si visualizara los resultados del algoritmo, la forma en que se dividen las categorías se asemejaría a un árbol con muchas hojas.
Esa es una definición rápida de un árbol de decisión, pero analicemos a fondo cómo funcionan los árboles de decisión. Tener una mejor comprensión de cómo operan los árboles de decisión, así como sus casos de uso, le ayudará a saber cuándo utilizarlos en sus proyectos de aprendizaje automático.
Formato de un Árbol de Decisión
Un árbol de decisión es similar a un diagrama de flujo. Para utilizar un diagrama de flujo, comienza en el punto de partida o raíz del diagrama y luego, según cómo responda a los criterios de filtrado de ese nodo de inicio, se mueve a uno de los nodos posibles siguientes. Este proceso se repite hasta que se alcanza un final.
Los árboles de decisión operan de manera similar, con cada nodo interno en el árbol siendo algún tipo de criterio de prueba o filtrado. Los nodos externos, los puntos finales del árbol, son las etiquetas para el punto de datos en cuestión y se les llama “hojas”. Las ramas que van desde los nodos internos hasta el siguiente nodo son características o conjunciones de características. Las reglas utilizadas para clasificar los puntos de datos son los caminos que van desde la raíz hasta las hojas.

Algoritmos para Árboles de Decisión
Los árboles de decisión operan en un enfoque algorítmico que divide el conjunto de datos en puntos de datos individuales según diferentes criterios. Estas divisiones se realizan con diferentes variables o características del conjunto de datos. Por ejemplo, si el objetivo es determinar si se describe un perro o un gato con las características de entrada, las variables en las que se divide el dato podrían ser cosas como “garras” y “ladridos”.
¿Qué algoritmos se utilizan para dividir realmente los datos en ramas y hojas? Hay varios métodos que se pueden utilizar para dividir un árbol, pero el método más común de división es probablemente una técnica llamada “división binaria recursiva“. Cuando se realiza este método de división, el proceso comienza en la raíz y el número de características en el conjunto de datos representa el número posible de divisiones posibles. Se utiliza una función para determinar cuánta precisión sacrificará cada división posible, y la división se realiza utilizando el criterio que sacrifica la menor precisión. Este proceso se realiza de forma recursiva y se forman subgrupos utilizando la misma estrategia general.
Para determinar el costo de la división, se utiliza una función de costo. Se utiliza una función de costo diferente para tareas de regresión y clasificación. El objetivo de ambas funciones de costo es determinar qué ramas tienen los valores de respuesta más similares, o las ramas más homogéneas. Considere que desea que los datos de prueba de una clase determinada sigan ciertos caminos y esto tiene sentido intuitivo.
En cuanto a la función de costo de regresión para la división binaria recursiva, el algoritmo utilizado para calcular el costo es el siguiente:
sum(y – predicción)^2
La predicción para un grupo determinado de puntos de datos es el promedio de las respuestas de los datos de entrenamiento para ese grupo. Se ejecutan todos los puntos de datos a través de la función de costo para determinar el costo de todas las divisiones posibles y se selecciona la división con el menor costo.
Con respecto a la función de costo para la clasificación, la función es la siguiente:
G = sum(pk * (1 – pk))
Esta es la puntuación de Gini, y es una medición de la efectividad de una división, basada en la cantidad de instancias de diferentes clases que hay en los grupos resultantes de la división. En otras palabras, cuantifica lo mezclados que están los grupos después de la división. Una división óptima es cuando todos los grupos resultantes de la división consisten solo en entradas de una clase. Si se ha creado una división óptima, el valor “pk” será 0 o 1 y G será igual a cero. Podrías adivinar que la peor división es aquella en la que hay una representación 50-50 de las clases en la división, en el caso de clasificación binaria. En este caso, el valor “pk” sería 0,5 y G también sería 0,5.
El proceso de división se termina cuando todos los puntos de datos se han convertido en hojas y se han clasificado. Sin embargo, es posible que desee detener el crecimiento del árbol temprano. Los árboles complejos y grandes son propensos a sobreajuste, pero se pueden utilizar varios métodos diferentes para combatir esto. Un método para reducir el sobreajuste es especificar un número mínimo de puntos de datos que se utilizarán para crear una hoja. Otro método para controlar el sobreajuste es restringir el árbol a una profundidad máxima determinada, lo que controla cuán largo puede ser un camino desde la raíz hasta una hoja.
Otro proceso involucrado en la creación de árboles de decisión es la poda. La poda puede ayudar a mejorar el rendimiento de un árbol de decisión eliminando ramas que contienen características que tienen poco poder predictivo o poca importancia para el modelo. De esta manera, se reduce la complejidad del árbol, es menos probable que se sobreajuste y se mejora la utilidad predictiva del modelo.
Cuando se realiza la poda, el proceso puede comenzar en la parte superior del árbol o en la parte inferior del árbol. Sin embargo, el método más fácil de poda es comenzar con las hojas y tratar de eliminar el nodo que contiene la clase más común dentro de esa hoja. Si la precisión del modelo no se deteriora cuando se hace esto, entonces se mantiene el cambio. Hay otras técnicas utilizadas para realizar la poda, pero el método descrito anteriormente, la poda de error reducido, es probablemente el método más común de poda de árboles de decisión.
Consideraciones para Utilizar Árboles de Decisión
Los árboles de decisión son a menudo útiles cuando se debe realizar una clasificación pero el tiempo de cálculo es una restricción importante. Los árboles de decisión pueden hacer que quede claro qué características en los conjuntos de datos elegidos tienen el mayor poder predictivo. Además, a diferencia de muchos algoritmos de aprendizaje automático donde las reglas utilizadas para clasificar los datos pueden ser difíciles de interpretar, los árboles de decisión pueden proporcionar reglas interpretables. Los árboles de decisión también pueden utilizar variables categóricas y continuas, lo que significa que se necesita menos preprocesamiento en comparación con algoritmos que solo pueden manejar uno de estos tipos de variables.
Los árboles de decisión no funcionan muy bien cuando se utilizan para determinar los valores de atributos continuos. Otra limitación de los árboles de decisión es que, cuando se realiza una clasificación, si hay pocos ejemplos de entrenamiento pero muchas clases, el árbol de decisión tiende a ser inexacto.












