En esta sección responderemos a la primera pregunta que nos planteamos en la sección 7.2:
¿De qué forma se hacen las particiones y se selecciona la mejor de entre las posibles en cada momento?
Antes, recordemos que una partición divide a un conjunto de prototipos en conjuntos disjuntos. En CART las particiones son binarias, resultado de evaluar una condición que tiene dos únicas respuestas: sí o no.
El objetivo de una partición es incrementar la homogeneidad (en términos de clase) de los subconjuntos resultantes, o lo que es lo mismo, que éstos sean más puros que el conjunto originario. Cada partición tiene asociada una medida de pureza, que se utiliza para:
En esta sección estudiaremos cómo se formulan las preguntas (en CART) que dan lugar a las particiones. En primer lugar fijaremos el marco teórico de trabajo. Sea Q el conjunto de preguntas binarias de la forma:
El conjunto Q genera un conjunto de particiones, s, en cada nodo, t y cada nodo t se particiona en tL (izquierdo) y tR (derecho) de manera que:
En CART se define el llamado conjunto estándar de preguntas de la siguiente forma:
Por ejemplo, si X2 toma valores en
{Rojo, Verde, Azul}, las preguntas válidas
son del tipo ¿
X2
{Rojo}?,
¿
X2
{Verde}?, etc.
Por ejemplo, si X1 es un atributo contínuo (real) cuyos valores son: 0.1, 0.5 y 1.0 las preguntas válidas que se evalúan son las siguientes:
¿
X1
(0.1 + 0.5)/2?, ¿
X1
(0.5 + 1.0)/2?
Como se puede deducir, el conjunto de preguntas que pueden formularse (y que evaluará CART), aunque puede ser muy amplio, está perfectamente definido y es sistemático.
Una vez que conocemos cómo se formulan las preguntas (cada una da lugar a una partición) se trata ahora de concretar cómo calcular la mejor partición entre todas las posibles.
Hemos venido utilizando el adjetivo puro asociándolo a un conjunto de prototipos (un nodo) sin formalizar el significado de pureza. No obstante, el lector no habrá tenido dificultad al interpretar su significado. Cada partición tiene asociada una medida de pureza y se tratará de incrementar la homogeneidad de los subconjuntos resultantes de la partición, esto es, que sean más puros que el conjunto originario. En esta sección formalizaremos estos conceptos.
Función de impureza y
medida de impureza
En primer lugar definiremos lo que se entiende por
función de impureza. Una función
de impureza es una función
definida
sobre J-uplas de la forma
(c1, c2,..., cJ)
tales que: a)
cj
0 para
j = 1, 2,..., J y
b)
cj = 1, con las siguientes
propiedades:
Relacionada con la función de impureza está
la medida de impureza de un nodo.
Dada una función de impureza
, definimos
la medida de impureza de cualquier
nodo t, y se escribe i(t),como:
Dicho de otra forma, la medida de impureza de un nodo es el resultado de evaluar la función de impureza sobre ese nodo tomando las proporciones relativas de cada clase como los cj. Observar que, por un lado,
Bondad de una partición
La bondad de una partición s en un nodo t debe estar relacionada con la impureza del nodo sobre el que se realiza la partición, t, y con la impureza de los nodos resultantes de la partición, tL y tR.
Supongamos una partición candidata, s, que divide t en tL y tR (ver figura 87) de forma que una proporción pL de los casos de t van a tL y una proporción pR van a tR.
La bondad de la partición s en un
nodo t,
(s, t), se define como el
decrecimiento en impureza conseguido
con ella:
Así, como conocemos cómo calcular i(t),
podemos calcular
(s, t) para cada partición
s y seleccionar la mejor paritición
como la que proporciona la mayor bondad
(s, t).
Para establecer el efecto que produce la selección de la mejor partición en cada nodo sobre el árbol final necesitamos una medida de la impureza global del árbol.
Impureza de un árbol
Supongamos construido un árbol binario T,
obtenido mediante una serie de particiones.
Sea
el conjunto de nodos terminales
del árbol T.
Sea I(t) = i(t)p(t), donde p(t) es la probabilidad de que un caso cualquiera esté en el nodo t. La impureza del árbol T, I(T), se define como:
En definitiva, la impureza de un árbol se calcula únicamente en base al conjunto de nodos terminales.Una conclusión fundamental a la que llegan Breiman y otros en [B.1], cuya demostración obviamos por su difucultad es la siguiente:
La selección continuada de las particiones que maximizanlo que significa que la estrategia de selección de la mejor partición en cada nodo conduce a la solución óptima considerando el árbol final.i(s, t) es equivalente a seleccionar las particiones que minimizan la impureza global I(T)
Criterios de medida de impureza
Para finalizar, presentaremos algunas de las funciones más importantes para la medida de la impureza de un nodo. Entre los criterios más utilizados se encuentran la medida de entropía y el índice de Gini.
Mide la entropía en un nodo t de acuerdo a la formulación clásica de la entropía:
Se asume que 0 log 0 = 0
Mide la diversidad de clases en un nodo.
Puede definirse otros criterios de impureza (ver [B.1]), aunque es importante destacar que Breiman y otros concluyen en [B.1], tras numerosos experimentos, que la elección del criterio de partición más adecuado depende del problema, aunque el clasificador generado no parece muy sensible a esta elección, como demuestra la experiencia.
En este ejemplo ilustramos el uso del índice de diversidad de Gini. Para ello utilizaremos dos nodos muy diferentes, t1 y t2 (ver figura 88). A priori, parece que el nodo t2 es más homogéneo o puro, o lo que es lo mismo, presenta menos diversidad.
La expresión para calcular el índice de diversidad de Gini dada en la ecuación 56 puede simplificarse como indicamos en la ecuación 57:
Según la ecuación 56 (o lo
que es igual, según el caso (1) de 57),
| i(t1) | = | p(1| t1)p(2| t1) + p(1| t1)p(3| t1) + p(2| t1)p(1| t1) + | |
| + p(2| t1)p(3| t1) + p(3| t1)p(1| t1) + p(3| t1)p(2| t1) = | |||
| = | 2p(1| t1)p(2| t1) + 2p(2| t1)p(3| t1) + 2p(3| t1)p(1| t1) = | ||
| = | 2 |
||