Un árbol de decisión alternante (ADTree) es un método de aprendizaje automático para la clasificación. Generaliza los árboles de decisión y tiene conexiones con el boosting .
Un árbol ADTree consta de una alternancia de nodos de decisión, que especifican una condición de predicado, y nodos de predicción, que contienen un único número. Un árbol ADTree clasifica una instancia siguiendo todos los caminos en los que todos los nodos de decisión son verdaderos y sumando los nodos de predicción recorridos.
Historia
Los árboles ADT fueron introducidos por Yoav Freund y Llew Mason. [ 1 ] Sin embargo, el algoritmo presentado contenía varios errores tipográficos. Posteriormente, Bernhard Pfahringer, Geoffrey Holmes y Richard Kirkby presentaron aclaraciones y optimizaciones. [ 2 ] Existen implementaciones disponibles en Weka y JBoost.
Motivación
Los algoritmos de boosting originales normalmente utilizaban árboles de decisión o árboles de decisión como hipótesis débiles. Por ejemplo, el boosting de árboles de decisión crea un conjunto detocones de decisión ponderados (donde es el número de iteraciones de boosting), que luego votan sobre la clasificación final de acuerdo con sus pesos. Los nodos de decisión individuales se ponderan según su capacidad para clasificar los datos.
Potenciar un aprendiz simple da como resultado un conjunto no estructurado deLas hipótesis dificultan la inferencia de correlaciones entre atributos. Los árboles de decisión alternados introducen estructura al conjunto de hipótesis al requerir que se basen en una hipótesis generada en una iteración anterior. El conjunto resultante de hipótesis puede visualizarse en un árbol según la relación entre una hipótesis y su "padre".
Otra característica importante de los algoritmos potenciados es que los datos reciben una distribución diferente en cada iteración. A las instancias mal clasificadas se les asigna un peso mayor, mientras que a las instancias clasificadas correctamente se les asigna un peso menor.
Estructura de árbol de decisión alternante
Un árbol de decisión alternante (ADTree) consta de nodos de decisión y nodos de predicción. Los nodos de decisión especifican una condición de predicado. Los nodos de predicción contienen un único número. Los ADTrees siempre tienen nodos de predicción como raíz y hojas. Un ADTree clasifica una instancia siguiendo todos los caminos en los que todos los nodos de decisión son verdaderos y sumando los nodos de predicción recorridos. Esto difiere de los árboles de clasificación binaria como CART ( árbol de clasificación y regresión ) o C4.5 , en los que una instancia sigue solo un camino a través del árbol.
Ejemplo
El siguiente árbol se construyó utilizando JBoost en el conjunto de datos spambase [ 3 ] (disponible en el repositorio de aprendizaje automático de la UCI). [ 4 ] En este ejemplo, el spam se codifica como1 y el correo electrónico regular está codificado como−1 .

La siguiente tabla contiene parte de la información correspondiente a una sola instancia.
La instancia se puntúa sumando todos los nodos de predicción por los que pasa. En el caso de la instancia anterior, la puntuación se calcula como
El resultado final de0,657 es positivo, por lo que la instancia se clasifica como spam. La magnitud del valor es una medida de confianza en la predicción. Los autores originales enumeran tres niveles potenciales de interpretación para el conjunto de atributos identificados por un ADTree:
- Cada nodo individual puede evaluarse en función de su propia capacidad predictiva.
- Los conjuntos de nodos en la misma ruta pueden interpretarse como si tuvieran un efecto conjunto.
- El árbol puede interpretarse como un todo.
Se debe tener cuidado al interpretar los nodos individuales, ya que las puntuaciones reflejan una ponderación diferente de los datos en cada iteración.
Descripción del algoritmo
Las entradas al algoritmo de árbol de decisión alternante son:
- Un conjunto de entradasdóndees un vector de atributos yes -1 o 1. Las entradas también se denominan instancias.
- Un juego de pesascorrespondiente a cada instancia.
El elemento fundamental del algoritmo ADTree es la regla. Una regla consta de una precondición, una condición y dos puntuaciones. Una condición es un predicado de la forma "atributo <comparación> valor". Una precondición es simplemente una conjunción lógica de condiciones. La evaluación de una regla implica un par de sentencias if anidadas:
1 si (precondición) 2 si (condición) 3 devolver puntuación_uno 4 de lo contrario 5 devuelve puntuación_dos 6 fin si 7 sino 8 devolver 0 9 fin si
El algoritmo también requiere varias funciones auxiliares:
- devuelve la suma de los pesos de todos los ejemplos etiquetados positivamente que satisfacen el predicado
- devuelve la suma de los pesos de todos los ejemplos etiquetados negativamente que satisfacen el predicado
- devuelve la suma de los pesos de todos los ejemplos que satisfacen el predicado
El algoritmo es el siguiente:
1 función ad_tree 2 entradas Conjunto de m instancias de entrenamiento 3 4 w i = 1/ m para todo i 5 6 R 0 = una regla con puntuaciones a y 0 , precondición "verdadera" y condición "verdadera". 7 8 el conjunto de todas las condiciones posibles 9 para 10 obtener valores que minimicen 11 12 13 14 R j = nueva regla con precondición p , condición c y pesos a 1 y a 2 15 16 fin para 17 conjunto de retorno de R j
El conjuntocrece mediante dos precondiciones en cada iteración, y es posible derivar la estructura de árbol de un conjunto de reglas tomando nota de la precondición que se utiliza en cada regla sucesiva.
Resultados empíricos
La figura 6 del artículo original [ 1 ] demuestra que los árboles ADTrees suelen ser tan robustos como los árboles de decisión potenciados y los árboles de decisión simples potenciados . Por lo general, se puede lograr una precisión equivalente con una estructura de árbol mucho más simple que los algoritmos de partición recursiva.
Referencias
- 1 2 Freund, Y.; Mason, L. (1999). "El algoritmo de aprendizaje de árboles de decisión alternados" (PDF) . Actas de la Decimosexta Conferencia Internacional sobre Aprendizaje Automático (ICML '99) . Morgan Kaufmann. págs. 124–133 . ISBN 978-1-55860-612-8.
- ↑ Pfahringer, Bernhard; Holmes, Geoffrey; Kirkby, Richard (2001). "Optimizing the Induction of Alternating Decision Trees" (PDF) . Advances in Knowledge Discovery and Data Mining. PAKDD 2001. Lecture Notes in Computer Science. Vol. 2035. Springer. pp. 477–487 . doi : 10.1007/3-540-45357-1_50 . ISBN 978-3-540-45357-4.
- ↑ "Conjunto de datos Spambase" . Repositorio de aprendizaje automático de la UCI . 1999.
- ↑ Dua, D.; Graff, C. (2019). "Repositorio de aprendizaje automático de la UCI" . Universidad de California, Irvine, Escuela de Ciencias de la Información e Informática.
Enlaces externos
- Introducción a Boosting y ADTrees (incluye numerosos ejemplos gráficos de árboles de decisión alternados en la práctica).
- Software JBoost que implementa árboles AD.
- Árboles de decisión
- Algoritmos de clasificación