Árbol de decisiones de aprendizaje automático (ID3, C4.5, CART)

[Aprendizaje automático] Árbol de decisiones (Parte 1) -ID3, C4.5, CART

El árbol de decisiones es un algoritmo de aprendizaje automático muy común y excelente. Es fácil de entender e interpretar. Se puede usar como un algoritmo de clasificación y también se puede usar para modelos de regresión.

Para el árbol básico, presentaré aproximadamente cada algoritmo de los siguientes cuatro aspectos: idea, estándar de división, estrategia de poda, ventajas y desventajas.

1. ID3

El algoritmo ID3 se basa en la navaja de Occam (con menos cosas, también puede hacer un buen trabajo): cuanto más pequeño es el árbol de decisiones, mejor es el árbol de decisiones grande.

1.1 Pensamiento

A partir del conocimiento de la teoría de la información, sabemos que cuanto mayor es la entropía de la información, menor es la pureza de la muestra. La idea central del algoritmo ID3 es medir la selección de características por ganancia de información y seleccionar la característica con la mayor ganancia de información para dividir. El algoritmo utiliza una búsqueda codiciosa de arriba hacia abajo para atravesar el espacio de posibles árboles de decisión (C4.5 también es una búsqueda codiciosa). Los pasos generales son:

  1. Inicialice el conjunto de características y el conjunto de datos;
  2. Calcule la entropía de información del conjunto de datos y la entropía condicional de todas las características, y seleccione la característica con la mayor ganancia de información como el nodo de decisión actual;
  3. Actualice el conjunto de datos y el conjunto de características (elimine la característica utilizada en el paso anterior y divida el conjunto de datos de diferentes ramas según el valor de la característica);
  4. Repita los pasos 2 y 3, si el valor del subconjunto contiene una sola característica, es un nodo de hoja de rama.

1.2 Criterios de clasificación

El estándar de clasificación utilizado por ID3 es la ganancia de información, que representa el grado en que se reduce la incertidumbre del conjunto de muestras al conocer la información de la característica A.

Entropía de información del conjunto de datos:

 

Donde representa el subconjunto de muestras pertenecientes a la k-ésima muestra en el conjunto D.

Para una determinada característica A, la entropía condicional del conjunto de datos D es:

 

Donde representa el subconjunto de muestra del i-ésimo valor de la característica A en D, y representa el subconjunto de muestra de la k-ésima categoría en.

Ganancia de información = entropía condicional de entropía de información:

 

Cuanto mayor sea la ganancia de información, mayor será la "mejora en la pureza" obtenida al usar la característica A para dividir.

1.3 Desventajas

  • ID3 no tiene una estrategia de poda y es fácil de sobreajustar;
  • El criterio de ganancia de información tiene preferencia por características con un gran número de valores posibles, y la ganancia de información de características similares a "número" es cercana a 1;
  • Solo se puede utilizar para tratar funciones distribuidas discretamente;
  • Los valores perdidos no se consideran.

2. C4.5

La característica más importante del algoritmo C4.5 es que supera la deficiencia del énfasis de ID3 en el número de funciones e introduce la tasa de ganancia de información como estándar de clasificación.

2.1 Pensamiento

En comparación con las deficiencias de ID3, C4.5 tiene las siguientes mejoras:

  • Introducir una estrategia de poda pesimista para la poda posterior;
  • Introducir la tasa de ganancia de información como estándar de la división;
  • Discretice la característica continua. Suponiendo que la característica continua A de n muestras tiene m valores, C4.5 los ordena y toma el promedio de los dos valores de muestra adyacentes, sumando m-1 puntos de división, y calcula los puntos de división respectivamente. ganancia de información de un punto de clasificación binario, y seleccione el punto con la ganancia de información más grande como el punto de clasificación discreto binario de la característica continua;
  • El tratamiento de los valores perdidos se puede dividir en dos subproblemas:
  • Pregunta 1: ¿Cómo seleccionar la función de división cuando falta el valor de la función? (Es decir, cómo calcular la tasa de ganancia de información de la función)
  • Pregunta 2: Seleccione la función de división, ¿cómo tratar la muestra que falta el valor de la función? (Es decir, en qué nodo dividir esta muestra)
  • En respuesta a la pregunta 1, el enfoque de C4.5 es: Para entidades con valores perdidos, use la proporción de subconjuntos de muestra que no faltan para convertir;
  • En respuesta a la segunda pregunta, el enfoque de C4.5 es dividir la muestra en todos los nodos secundarios al mismo tiempo, pero para ajustar el valor de ponderación de la muestra, de hecho, se divide en diferentes nodos con diferentes probabilidades.

2.2 Criterios de clasificación

La tasa de ganancia de información se puede utilizar para superar las deficiencias de la ganancia de información, y la fórmula es

 

  Se llama valor intrínseco de la característica A.

Cabe señalar aquí que la tasa de ganancia de información tiene preferencia por características con menos valores (cuanto menor es el denominador, mayor es el total), por lo que C4.5 no se divide directamente por la característica con la mayor tasa de ganancia, sino que utiliza un método heurístico : primero busque la característica con mayor ganancia de información que el promedio de las características de la partición candidata y luego seleccione la que tenga la tasa de ganancia más alta.

2.3 Estrategia de poda

Por qué podar: El rendimiento del árbol con exceso de ajuste en la capacidad de generalización es muy deficiente.

2.3.1 Prepoda

Los métodos principales para determinar si continuar el crecimiento antes de dividir los nodos son los siguientes:

  • La muestra de datos en el nodo está por debajo de un cierto umbral;
  • Todas las características de los nodos se han dividido;
  • La tasa de precisión antes de dividir el nodo es más alta que después de dividir el nodo.

La prepoda no solo puede reducir el riesgo de sobreajuste sino que también reduce el tiempo de entrenamiento, sino que, por otro lado, se basa en la estrategia "codiciosa", que traerá el riesgo de desajuste.

2.3.2 Postpoda

La poda se realiza en el árbol de decisión generado para obtener una versión simplificada del árbol de decisión de poda.

El método de poda pesimista adoptado por C4.5 utiliza un método recursivo para evaluar cada nodo no hoja de abajo hacia arriba para evaluar si es beneficioso reemplazar el subárbol con un nodo hoja óptimo. Si la tasa de error después de la poda se mantiene o disminuye en comparación con antes de la poda, este subárbol se puede reemplazar. C4.5 Estime la tasa de error en muestras desconocidas por el número de clasificaciones erróneas en el conjunto de datos de entrenamiento.

El riesgo de no ajustar el árbol de decisiones después de la poda es muy pequeño, y el rendimiento de la generalización es a menudo mejor que el del árbol de decisiones prepodado. Pero al mismo tiempo su tiempo de entrenamiento será mucho mayor.

2.4 Desventajas

  • La estrategia de poda se puede optimizar;
  • C4.5 usa un polytree, que es más eficiente con un árbol binario;
  • C4.5 solo se puede utilizar para la clasificación;
  • El modelo de entropía utilizado en C4.5 tiene muchas operaciones logarítmicas, valores continuos y operaciones de clasificación que consumen mucho tiempo;
  • C4.5 En el proceso de construcción del árbol, los valores de los atributos numéricos deben ordenarse de acuerdo con su tamaño, y se selecciona un punto de división de él, por lo que solo es adecuado para el conjunto de datos que puede residir en la memoria. , cuando el conjunto de entrenamiento es demasiado grande para caber en la memoria, el programa no se puede ejecutar.

3. CARRITO

Aunque ID3 y C4.5 pueden extraer tanta información como sea posible en el aprendizaje del conjunto de muestras de entrenamiento, las ramas y escalas de los árboles de decisión generados son relativamente grandes. La dicotomía del algoritmo CART puede simplificar la escala del árbol de decisión y mejorar la generación de decisiones La eficiencia del árbol.

3.1 Pensamiento

CART incluye los procesos básicos de división, poda y selección de árboles.

  • División: El proceso de división es un proceso de división recursivo binario. Sus características de entrada y predicción pueden ser continuas o discretas. CART no tiene un criterio de detención y seguirá creciendo;
  • Poda: utilizando la poda de complejidad de costos , comenzando desde el árbol más grande, cada vez que se selecciona el nodo dividido con la menor contribución al rendimiento general de la entropía de datos de entrenamiento como el siguiente objeto de poda, hasta que solo quede el nodo raíz. CART generará una serie de árboles de poda anidados, a partir de los cuales se debe seleccionar un árbol de decisión óptimo;
  • Selección de árboles: evalúe el rendimiento de predicción de cada árbol podado con un conjunto de pruebas independiente (también se puede utilizar la validación cruzada).

CART ha realizado muchas mejoras sobre la base de C4.5.

  • C4.5 es un árbol de múltiples ramas con una velocidad de cálculo lenta y CART es un árbol binario con una velocidad de cálculo rápida;
  • C4.5 solo puede clasificarse, CART puede clasificarse o retroceder;
  • CART usa el coeficiente de Gini como la impureza de la variable, reduciendo muchas operaciones logarítmicas;
  • CART utiliza pruebas de proxy para estimar los valores perdidos, mientras que C4.5 se divide en diferentes nodos con diferentes probabilidades;
  • CART usa el método de "poda de complejidad basada en costos" para la poda, mientras que C4.5 usa el método de poda pesimista.

3.2 Criterios de clasificación

El modelo de entropía tiene muchas operaciones logarítmicas que consumen mucho tiempo, y el índice de Gini mantiene las ventajas del modelo de entropía mientras simplifica el modelo. El índice de Gini representa la impureza del modelo, cuanto menor es el coeficiente de Gini, menor es la impureza y mejores son las características. Esto es lo opuesto a la ganancia de información (tasa).

 

Donde k representa la categoría.

El índice de Gini refleja la probabilidad de que dos muestras se seleccionen al azar del conjunto de datos y sus etiquetas de categoría sean inconsistentes . Por lo tanto, cuanto menor sea el índice de Gini, mayor será la pureza del conjunto de datos. El índice de Gini está sesgado hacia características con más valores propios, similar a la ganancia de información. El índice de Gini se puede utilizar para medir cualquier distribución desigual, es un número entre 0 y 1. 0 es completamente igual y 1 es completamente desigual.

Además, cuando CART es una categoría de dos, su expresión es:

 

Podemos ver que en el caso del cuadrado y la clasificación binaria, la operación es más sencilla. Por supuesto, su rendimiento también está muy cerca del modelo de entropía.

Entonces aquí surge la pregunta: el rendimiento del índice de Gini es cercano al del modelo de entropía, pero ¿qué tan lejos está del modelo de entropía?

Lo sabemos

 

Podemos ver que el índice de Gini puede entenderse como la expansión de Taylor de primer orden del modelo de entropía. Aquí hay una imagen muy clásica:

3.3 Procesamiento de valores perdidos

Como se mencionó anteriormente, el manejo del modelo de los valores perdidos se dividirá en dos subproblemas:

  1. ¿Cómo seleccionar la función de división cuando falta el valor de la función?
  2. Después de seleccionar la función de partición, ¿cómo debería tratar el modelo las muestras que carecen del valor de la función?

Con respecto a la pregunta 1, CART requiere estrictamente que solo la parte de los datos que no tiene valores perdidos en la característica se use al evaluar características divididas. En versiones posteriores, el algoritmo CART usa un mecanismo de penalización para suprimir el valor de promoción, reflejando así el valor faltante La influencia del valor (por ejemplo, si falta una característica en el 20% de los registros del nodo, la característica se reducirá en un 20% u otros valores).

Para la pregunta 2, el mecanismo del algoritmo CART es encontrar un divisor proxy para cada nodo del árbol, independientemente de si el árbol obtenido en los datos de entrenamiento tiene valores perdidos o no. En el divisor de proxy, la puntuación de una característica debe superar el rendimiento de la regla predeterminada para calificar como proxy (es decir, el proxy debe reemplazar la característica de valor faltante como característica para dividir la característica). Cuando un valor faltante es encontrado en el árbol CART, esta instancia se divide en La izquierda o la derecha la determina el agente con la clasificación más alta. Si el valor de este agente también falta, se usa el agente de la segunda clasificación, y así sucesivamente. Si faltan todos los valores de proxy, entonces la regla predeterminada es dividir la muestra en la más alta, el nodo hijo más grande. El divisor de proxy puede garantizar que el árbol obtenido en los datos de entrenamiento sin datos faltantes se pueda utilizar para procesar nuevos datos que contengan valores exactos.

3.4 Estrategia de poda

Utilice un método de "poda basada en costos y complejidad" para la poda posterior. Este método generará una serie de árboles, cada uno de los cuales se realiza reemplazando uno o algunos subárboles del árbol anterior con un nodo de hoja. El resultado es que el último El árbol de la serie de árboles contiene solo un nodo de hoja para predecir la categoría. Luego, se utiliza un criterio de medición de la complejidad del costo para determinar qué subárbol debe reemplazarse por un nodo hoja que predice el valor de la categoría. Este método necesita utilizar un único conjunto de datos de prueba para evaluar todos los árboles y seleccionar el mejor árbol en función de su rendimiento de clasificación en la entropía del conjunto de datos de prueba.

Echemos un vistazo al algoritmo de reducción de la complejidad de costos en detalle:

En primer lugar, llamamos al árbol más grande. Esperamos reducir el tamaño del árbol para evitar el sobreajuste, pero nos preocupa que el error de predicción aumente después de eliminar los nodos, por lo que definimos una función de pérdida para lograr un equilibrio entre estos. dos variables. La función de pérdida se define de la siguiente manera:

 

  Es un subárbol arbitrario, es el error de predicción, es el número de nodos hoja del subárbol y es un parámetro que mide el grado de ajuste de los datos de entrenamiento, mide la complejidad del árbol y pesa el grado de ajuste y la complejidad del árbol.

Entonces, ¿cómo encontrar el adecuado para lograr el mejor equilibrio entre complejidad y ajuste? La mejor manera es tomar otro de 0 a infinito positivo. Para cada valor fijo, podemos encontrar el subárbol óptimo más pequeño. Cuando es muy pequeño, es el subárbol óptimo; cuando es el más grande, el nodo raíz único es un subárbol óptimo. Con el aumento, podemos obtener una secuencia de subárboles como esta: la generación del subárbol aquí se genera cortando un nodo interno del subárbol anterior.

Breiman demostró que: aumentará de pequeño, en cada intervalo, el subárbol es el mejor en este intervalo.

Esta es la idea central de la reducción de la complejidad de los costos.

Cada vez que podamos es para un cierto nodo no hoja, otros nodos permanecen sin cambios, por lo que solo necesitamos calcular la función de pérdida del nodo antes y después de la poda.

Para cualquier nodo interno t, el estado antes de la poda tiene un nodo hoja, y el error de predicción es; el estado después de la poda: solo hay un nodo hoja y el error de predicción es.

Por lo tanto, la función de pérdida del subárbol con t nodo como nodo raíz antes de la poda es:

 

La función de pérdida después de la poda es

 

Demuestre a través de Breiman que sabemos que debe haber tal que el valor sea:

 

  El significado de es que, en, el subárbol es el mejor en este intervalo. Cuando es mayor que este valor, debe haberlo, es decir, es mejor cortar este nodo que no cortarlo. Por lo tanto, cada subárbol óptimo corresponde a un intervalo y es óptimo en este intervalo.

Luego calculamos para cada nodo interno t en:

 

  Representa el umbral, por lo que restaremos el valor más pequeño cada vez.

3.5 Categorías desequilibradas

Una gran ventaja de CART es que no importa cuán desequilibrado esté el conjunto de datos de entrenamiento, puede eliminar sus subcongelaciones sin requerir otras acciones por parte del modelador.

CART utiliza un mecanismo a priori, que es equivalente a categorías de ponderación. Este mecanismo a priori está integrado en el cálculo del algoritmo CART para determinar los pros y los contras de la división. En el modo de clasificación predeterminado de CART, siempre se calcula la relación entre la frecuencia de categoría de cada nodo y el nodo raíz, que es equivalente para volver a ponderar automáticamente los datos., Para equilibrar las categorías.

Para un problema de clasificación binaria, el nodo nodo se divide en la categoría 1 si y solo si:

 

Por ejemplo, en la segunda categoría, hay 20 y 80 nodos raíz que pertenecen a la categoría 1 y la categoría 0, respectivamente. Hay 30 muestras en los nodos secundarios, de los cuales 10 y 20 pertenecen a la categoría 1 y la categoría 0, respectivamente. Si 10/20> 20/80, el nodo pertenece a la categoría 1.

A través de este método de cálculo, no es necesario administrar la verdadera distribución de categorías de los datos. Suponiendo que hay K categorías objetivo, podemos asegurarnos de que la probabilidad de cada categoría en el nodo raíz es 1 / K. Este modo predeterminado se llama "igualdad a priori".

La diferencia entre la configuración previa y la ponderación es que la anterior no afecta el número o el porcentaje de muestras de cada categoría en cada nodo. La influencia previa es la asignación de categoría de cada nodo y la opción de dividir durante el crecimiento del árbol.

3.6 árbol de regresión

CART (Classification and Regression Tree), por su nombre, se puede ver que puede usarse no solo para clasificación, sino también para regresión. El algoritmo para establecer el árbol de regresión es similar al del árbol de clasificación, a continuación se presenta una breve introducción a las diferencias.

3.6.1 Procesamiento de valor continuo

Para el procesamiento de valores continuos, el árbol de clasificación CART usa el tamaño del coeficiente de Gini para medir los puntos de división de la característica. En el modelo de regresión, usamos el método de medición de varianza de suma común. Para cualquier característica de partición A, el punto de partición arbitrario correspondiente s se divide en el conjunto de datos en ambos lados, y el error cuadrático medio de la suma se minimiza y el cuadrado medio error de la suma simultánea La característica y el punto de división del valor de la característica correspondiente a la suma más pequeña. La expresión es:

 

Entre ellos, se encuentra la media de salida muestral del conjunto de datos y es la media de salida muestral del conjunto de datos.

3.6.2 Método de pronóstico

Con respecto a la forma de hacer predicciones después de que se establece el árbol de decisión, mencioné anteriormente que el árbol de clasificación CART usa la categoría con la mayor probabilidad en el nodo hoja como la categoría predicha del nodo actual. La salida del árbol de regresión no es una categoría, utiliza la media o mediana de las hojas finales para predecir el resultado de la salida.

4. Resumen

Finalmente, compare las diferencias entre ID3, C4.5 y CART a modo de resumen.

Además de los estándares de división enumerados anteriormente, las estrategias de poda, los métodos de procesamiento de valor continuo, etc., introduciré algunas otras diferencias:

  • Diferencias en los criterios de clasificación: ID3 usa la ganancia de información para favorecer las características con muchos valores propios, C4.5 usa la tasa de ganancia de información para superar las deficiencias de la ganancia de información y favorece las características con valores propios pequeños, CART usa el índice de Gini para superar C4.5 que requiere un registro enorme La cantidad de cálculo está sesgada hacia características con más valores de característica.
  • Diferencias en los escenarios de uso: ID3 y C4.5 solo se pueden usar para problemas de clasificación, CART se puede usar para problemas de clasificación y regresión; ID3 y C4.5 son árboles múltiples, que son más lentos, y CART es un árbol binario con velocidad de cálculo;
  • Diferencias en los datos de la muestra: ID3 solo puede manejar datos discretos y es sensible a los valores perdidos, C4.5 y CART pueden manejar datos continuos y hay varias formas de lidiar con los valores perdidos; considerando el tamaño de la muestra, C4.5 se recomienda para pequeños muestras y muestras grandes Recomendar CART. Durante el procesamiento de C4.5, el conjunto de datos debe escanearse y clasificarse varias veces, y el costo de procesamiento es relativamente lento. Sin embargo, CART en sí es un método estadístico para muestras grandes, y el error de generalización es mayor en muestras pequeñas. procesamiento de muestras;
  • Diferencias en las funciones de muestra: solo se utiliza una función entre los niveles ID3 y C4.5, y CART puede reutilizar funciones varias veces;
  • Diferencias en la estrategia de poda: ID3 no tiene una estrategia de poda, C4.5 usa una estrategia de poda pesimista para corregir la precisión del árbol y CART usa la complejidad de costos para podar.

referencia

  1. "Aprendizaje automático" Zhou Zhihua

Supongo que te gusta

Origin blog.csdn.net/qq_36816848/article/details/114275193
Recomendado
Clasificación