next up previous contents
Next: 7.4 Regla de asignación Up: 7. Arboles de Clasificación Previous: 7.2 Construcción del árbol

Subsections

   
7.3 Selección de las particiones

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: 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:

1.
Para la selección de la mejor partición.
2.
Como criterio de parada, aunque no resulta muy recomendable, como veremos más adelante (sección 7.5).
Para responder adecuadamente a la pregunta que nos ocupa debemos resolver previamente dos cuestiones:
1.
¿Cómo se formulan las preguntas?
2.
¿Qué partición es la mejor?

7.3.1 Formulación de la regla de partición

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:

 
{  ¿ X $ \in$   A  ?},   A  $ \subset$  P (48)

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:

1.
Cada partición depende de un único atributo.

2.
Si Xi es un atributo categórico, que toma valores en en { c1, c2,..., cL}, Q incluye las preguntas:

 
¿ Xi $\displaystyle \in$ C ? (49)

donde C es un conjunto de entre los subconjuntos de { c1, c2,..., cL}.

Por ejemplo, si X2 toma valores en {Rojo, Verde, Azul}, las preguntas válidas son del tipo ¿ X2 $ \in$ {Rojo}?, ¿ X2 $ \in$ {Verde}?, etc.

3.
Si Xi es un atributo continuo, Q incluye preguntas del tipo:

 
¿ Xi  $ \leq$  v ? (50)

donde v es un valor real, teóricamente cualquiera. En CART, no obstante, v es el punto medio de dos valores consecutivos de Xi. Esta heurística simplifica enormemente los cálculos haciendo que los problemas sean tratables.

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 $ \leq$ (0.1 + 0.5)/2?, ¿ X1 $ \leq$ (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.

   
7.3.2 Criterios de partición

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 $ \phi$ definida sobre J-uplas de la forma (c1, c2,..., cJ) tales que: a) cj $ \geq$ 0 para j = 1, 2,..., J y b) $ \sum_{j}^{}$cj = 1, con las siguientes propiedades:

i)
$ \phi$ tiene un único máximo en ($ {\frac{1}{J}}$,$ {\frac{1}{J}}$,...,$ {\frac{1}{J}}$).
ii)
$ \phi$ alcanza su mínimo en

(1, 0, 0,..., 0),(0, 1, 0,..., 0),...,(0, 0, 0,..., 1)

y el valor del mínimo es 0.
iii)
$ \phi$ es una función simétrica de c1, c2,..., cJ

Relacionada con la función de impureza está la medida de impureza de un nodo. Dada una función de impureza $ \phi$, definimos la medida de impureza de cualquier nodo t, y se escribe i(t),como:

 
i(t)  =  $\displaystyle \phi$ ( p(1| t), p(2| t),..., p(J| t) ) (51)

donde p(j| t) es la probabilidad de que un caso del nodo t (un prototipo asociado al nodo t) sea de clase j. Estas probabilidades pueden calcularse empíricamente como la proporción de casos de clase j en el nodo t:

 
p(j| t)  =  $\displaystyle {\frac{N_j(t)}{N(t)}}$ (52)

La notación Nj(t) y N(t) ya es conocida por el lector (ver  este ejemplo).

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,

a)
p(j| t) $ \geq$ 0
b)
$ \sum_{j}^{}$p(j| t) =  $ \sum_{j}^{}$$ {\frac{N_j(t)}{N(t)}}$  =  $ {\frac{1}{N(t)}}$$ \sum_{j}^{}$Nj(t)  =  1
lo que garantiza que los componentes de la J-upla, calculados en términos de proporción relativa son válidos para evaluar la función de impureza. Por otro lado,
i)
La máxima impureza (resp. mínima pureza) se obtiene cuando todas las clases están igualmente representadas en t (recordar la situación inical del árbol de este ejemplo).
ii)
La mínima impureza (resp. máxima pureza) se obtiene cuando en t sólo hay casos de una sola clase (máxima homogeneidad).
iii)
Cualquier permutación de los cj produce el mismo resultado en el valor de impureza. Por ejemplo, para dos nodos tj $ \neq$ tk,
i(tj) = $ \phi$(0.7, 0.2, 0.1) = $ \phi$(0.2, 0.1, 0.7) = i(tk)

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.


  
Figura 87: La partición s divide t en tL y tR
\begin{figure}
\centerline{
\psfig{figure=figures_3/nodo.eps,height=2.2cm}}
\end{figure}

La bondad de la partición s en un nodo t, $ \Phi$(s, t), se define como el decrecimiento en impureza conseguido con ella:

 
$\displaystyle \Phi$(s, t)  =  $\displaystyle \Delta$i(s, t)  =  i(t) - pL i(tL) - pR i(tR) (53)

Así, como conocemos cómo calcular i(t), podemos calcular $ \Phi$(s, t) para cada partición s y seleccionar la mejor paritición como la que proporciona la mayor bondad $ \Phi$(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 $ \tilde{T}$ 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:

 
I(T)  =  $\displaystyle \sum_{t\in \tilde{T}}^{}$I(t)  =  $\displaystyle \sum_{t\in \tilde{T}}^{}$i(t)p(t) (54)

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 maximizan $ \Delta$i(s, t) es equivalente a seleccionar las particiones que minimizan la impureza global I(T)
lo 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.



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.

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.

 



Ejemplo  

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.


  
Figura 88: Dos nodos para calcular i(t)
\begin{figure}
\centerline{
\psfig{figure=figures_3/gini.eps,height=0.8cm}}
\end{figure}

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:

 
i(t1) = $\displaystyle \underbrace{\sum_{\stackrel{i,j = 1}
{i \neq j}}^{3}{p(i\vert t_1)\space p(j\vert t_1)}}\,$ = $\displaystyle \underbrace{1\space -\space \sum_{j = 1}^{3}{p(j\vert t_1)}^2}\,$ (57)
(1)                                                  (2)  

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$\displaystyle \left(\vphantom{\frac{5}{40}\frac{10}{40}}\right.$$\displaystyle {\textstyle\frac{5}{40}}$$\displaystyle {\textstyle\frac{10}{40}}$ $\displaystyle \left.\vphantom{\frac{5}{40}\frac{10}{40}}\right)$ + 2$\displaystyle \left(\vphantom{\frac{10}{40}\frac{25}{40}}\right.$$\displaystyle {\textstyle\frac{10}{40}}$$\displaystyle {\textstyle\frac{25}{40}}$ $\displaystyle \left.\vphantom{\frac{10}{40}\frac{25}{40}}\right)$ + 2$\displaystyle \left(\vphantom{\frac{25}{40}\frac{5}{40}}\right.$$\displaystyle {\textstyle\frac{25}{40}}$$\displaystyle {\textstyle\frac{5}{40}}$ $\displaystyle \left.\vphantom{\frac{25}{40}\frac{5}{40}}\right)$  = 0.5313  
       

y según el caso (2) de 57,

i(t1) = 1  -  (p(1| t1)2 + p(2| t1)2 + p(3| t1)2) =
= 1 - $\displaystyle \left(\vphantom{ {\left(\frac{5}{40}\right)}^2 +
{\left(\frac{10}{40}\right)}^2 +
{\left(\frac{25}{40}\right)}^2 }\right.$$\displaystyle \left(\vphantom{\frac{5}{40}}\right.$$\displaystyle {\textstyle\frac{5}{40}}$ $\displaystyle \left.\vphantom{\frac{5}{40}}\right)^{2{_}}_{}$ + $\displaystyle \left(\vphantom{\frac{10}{40}}\right.$$\displaystyle {\textstyle\frac{10}{40}}$ $\displaystyle \left.\vphantom{\frac{10}{40}}\right)^{2{_}}_{}$ + $\displaystyle \left(\vphantom{\frac{25}{40}}\right.$$\displaystyle {\textstyle\frac{25}{40}}$ $\displaystyle \left.\vphantom{\frac{25}{40}}\right)^{2{_}}_{}$$\displaystyle \left.\vphantom{ {\left(\frac{5}{40}\right)}^2 +
{\left(\frac{10}{40}\right)}^2 +
{\left(\frac{25}{40}\right)}^2 }\right)$ =

\begin{displaymath}= 1 - \frac{25 + 100 + 625}{1600}\ =\
1 - 0.4687\ =\ \mbox{\bf0.5313}
\end{displaymath}


La impureza del nodo t2 será:

i(t2) = 2p(1| t2)p(2| t2) + 2p(2| t2)p(3| t2) + 2p(3| t2)p(1| t2) =

\begin{displaymath}= 2 \left(\frac{2}{40}\frac{3}{40}\right) +
2 \left(\frac{3}...
...2 \left(\frac{35}{40}\frac{2}{40}\right)\ =\
\mbox{\bf0.2263}
\end{displaymath}


lo que demuestra, numéricamente, que el nodo t2 es menos impuro (más homogéneo) que el nodo t1.



next up previous contents
Next: 7.4 Regla de asignación Up: 7. Arboles de Clasificación Previous: 7.2 Construcción del árbol

2000-11-30