Vous êtes sur la page 1sur 41

0.1.

Arboles de decisi on. id3-c4.5

En esta secci on se explica el aprendizaje inductivo mediante arboles de decisi on. M as concretamente, los asuntos m as relevantes de los conocidos m etodos denominados id3 [Quinlan, 1986], su sucesor c4.5 [Quinlan, 1993] y algunas de las ampliaciones realizadas hasta la fecha. En la primera parte de este tema se comentar an los elementos b asicos m as relacionados con la versi on id3 y en sucesivas secciones se ir an analizando las limitaciones y mejoras, entre ellas las incorporadas por c4.5. n Motivacio Aunque no todas las tareas inductivas (p.ej., problemas de regresi on lineal) son tratables por el tipo de algoritmos aqu tratados, estos han resultado ser unos de los m as utilizados en el campo del aprendizaje autom atico. Ello se debe a sus destacables ventajas: aprenden funciones de valores discretos, admiten ejemplos con ruido y obtienen un conjunto de expresiones f acilmente transformable en un conjunto de reglas, que forman opciones alternativas (disyuntivas ) que cubren el espacio de ejemplos presentados. Por otro lado, las estrategias que se estudiar an en estos apartados tienen un alto rendimiento y se han aplicado a los m as variados dominios (p.ej., diagn ostico m edico, predicci on de fraudes en cr editos bancarios, organizaci on personalizada de eventos en una agenda, etc.). En este sentido, cabe destacar la aplicaciones realizadas en el campo de la miner a de datos, tal y como se reeja en la versi on comercial denominada c5.01 . Objetivos El objetivo b asico, al igual que en otros tantos algoritmos inductivos, es clasicar los ejemplos presentados en sus respectivas clases o categor as, manteniendo un alto grado de predicci on sobre los ejemplos no presentados. En concreto, en este caso se trata de obtener un arbol de decisi on simple que clasique correctamente los ejemplos presentados y sea capaz de predecir correctamente la clases de futuros ejemplos. En concreto, un arbol de decisi on es una estructura que pueden tener los
1

http://www.rulequest.com/

siguientes tipos de nodos: Nodo interno (o de decisi on ): Consiste en una pregunta o test relativa al valor de un atributo. De cada nodo interno parten tantas ramas como respuestas haya a la pregunta, que normalmente equivale al n umero de posibles valores que puede tener el atributo en cuesti on. Nodos hoja : En cada nodo hoja s olo puede haber instancias con un u nico valor de clase (aunque esto se puede generalizar en presencia de ruido como se tratar a en 0.1). Con este planteamiento, el objetivo podr a ser la b usqueda exhaustiva de un arbol lo m as simple y predictivo posible. Sin embargo, este es un problema cuya soluci on optima no puede garantizarse para la mayor a de los casos, dado que su complejidad es NP. Por ejemplo, para un problema en el que los ejemplos est en descritos por n atributos booleanos existir an 2n n combinaciones posibles, lo cual supondr a 22 funciones posibles. Si el n umero 9 de atributos fuera 5 habr a 4,3 10 funciones. Frente a este problema, la gran ventaja de id3 y sus sucesores (como c4.5) es que son capaces de obtener una buena soluci on que considera ambas cuestiones, aunque el algoritmo no garantice que la soluci on sea la optima.

Entradas y salidas Las entradas son un conjunto de ejemplos descritos mediante una serie de pares atributo-valor. El conjunto de atributos es igual para todos los ejemplos presentados y sus valores pueden ser discretos o num ericos. El tratamiento de estos u ltimos se estudiar a m as adelante al estudiar las ampliaciones del algoritmo b asico (sec. 0.1). Entradas: A, conjunto de atributos V , conjunto de valores posibles de los atributos C , conjunto de clases E , conjunto de instancias de entrenamiento descritas en t erminos de A, V y C

Salidas: un arbol de decisi on que separa a los ejemplos de acuerdo a las clases a las que pertenecen. En denitiva, el algoritmo responde a un esquema cl asico de clasicaci on en el que se distinguen dos requisitos para las clases: Clases predenidas : Se parte de un problema de aprendizaje supervisado en el que el atributo que hace las veces de clase est a perfectamente identicado de antemano. Clases discretas : Se exige que haya un conjunto preciso y discreto de clases que sirven para clasicar claramente todos los ejemplos presentados. El caso de las clases con valores continuos se estudia en el apartado dedicado al algoritmo m5 (sec. 0.2). Por otro lado, se supone que el n umero de ejemplos presentados tiene que ser muy superior al de posibles clases. Esto se debe a que el proceso de generalizaci on est a basado en un an alisis estad sitico que no podr a distinguir patrones de inter es a partir de coincidencias aleatorias. Un problema real puede requerir cientos o miles de ejemplos de entrenamiento. La esencia del algoritmo es considerar como estructura base para clasicar los ejemplos un arbol de decisi on (ad). Existen toda una familia de algoritmos que utilizan esta estructura entre los que se puede citar [Quinlan, 1986, Kononenko and Simec, 1995, Quinlan, 1993], consistente en un arbol con dos tipos distintos de nodos y una denici on recursiva. Por ejemplo, retomando el problema de personalizaci on de una agenda comentado previamente (sec. ??), un arbol de decisi on sencillo que reejar a el conocimiento aprendido podr a ser el de la gura 1. En el mismo se pueden distinguir dos nodos de decisi on que se corresponden con tres propiedades de los ejemplos presentados (si la reuni on es o no individual y qui en es el asistente a la reuni on) y cuatro nodos hojas que reejan las clases; en este caso, los distintos d as de la semana en que tienen lugar las reuniones correspondientes. Tarea Si se analiza el m etodo id3 desde el punto de vista de la b usqueda realizada, este se puede caracterizar como una b usqueda en un espacio de arboles

Individual? S No

Asistente Andrs

Mircoles

Elena

Pedro

Lunes

Mircoles

Jueves

Figura 1: Arbol sencillo de decisi on del d a de una reuni on donde Mi ercoles, ... son las clases, Individual y Asistente son los atributos relevantes seg un id3 para este ejemplo, y S , No, Andr es, ... son los valores de los atributos considerados. de decisi on. El algoritmo realiza una b usqueda en escalada en dicho espacio que comienza con el conjunto vac o y que avanza recursivamente en la elaboraci on de una hip otesis que consiste en un arbol de decisi on que clasique adecuadamente los ejemplos analizdos. Para los atributos dados, el espacio de hip otesis de id3 de todos los arboles de decisi on es un espacio completo de funciones discretas nitas. Esto es as gracias a que cualquier funci on discreta nita puede ser representada por alg un arbol de decisi on. En concreto, la b usqueda realizada sigue el principio de divide y vencer as, que en este caso se centra en la divisi on recursiva del arbol en sub arboles en los que se busca una mayor homogeneidad en las clases existentes, de tal forma que el proceso se realiza hasta que cada partici on contenga ejemplos que pertenezcan a un u nica clase o hasta que no haya posibilidad de

realizar nuevas particiones. La b usqueda es un proceso recursivo basado en una decisi on, en la que se determina, en cada momento, cu al es el atributo que origina sub arboles m as homog eneos; entendiendo por homogeneidad la creaci on de grupos de ejemplos que pertenezcan a una sola clase. El proceso de b usqueda se puede denir como sigue: Conjunto de estados: cada estado es un arbol de decisi on, en el que los nodos intermedios son preguntas sobre valores de los atributos, las ramas son los distintos valores posibles2 de dichos atributos y los nodos hoja identican un u nico valor de clase. Conjunto de operadores: el u nico operador es introducir en un nodo la pregunta del atributo correspondiente. Esto origina la expansi on de un nodo intermedio del arbol en construcci on en varios sucesores, uno por cada posible valor del atributo. Este operador no se puede aplicar cuando no hay ning un caso para analizar en dicho nodo o cuando no quedan m as atributos por seleccionar en la rama correspondiente. Estado inicial: arbol de decisi on vac o. Meta: arbol de decisi on que separa los ejemplos de entrenamiento dependiendo de su clase. Heur stica: elegir en cada nodo de decisi on aquel atributo que tenga mayor capacidad de discriminaci on sobre los ejemplos asociados al nodo. M as exactamente, aqu el que genere conjuntos disjuntos en los que se maximice la homogenedidad (o minimice la variaci on) interna con respecto a los valores de clase. Esta heur stica tiene la caracter stica tambi en de intentar encontrar el arbol de decisi on m as peque no (con menos nodos). Para ello se utiliza una funci on b asica de la teor a de la informaci on que mide el grado de desorden, o impureza, de cada una de las particiones generadas. De forma gen erica, dicha funci on determina el contenido de informaci on o entrop a de una fuente de informaci on. As , si se consideran los mensajes generados por la fuente, la informaci on transmitida
M as adelante se estudiar an los problemas que puede ocasionar que todos los valores de atributo se consideren relevantes (ver sec. 0.1).
2

por un mensaje dado depende de su probabilidad y puede medirse en bits mediante el logaritmo en base 2 de su probabilidad3 . Por ejemplo, si hubiera 16 mensajes equiprobables, la informaci on transmitida por 1 ), lo que supone 4 bits de informaci on. cualquiera de ellos ser a log2 ( 16 Si la probabilidad de que un ejemplo cualquiera pertenezca a una clase ck viene dada por la expresi on 1, la medida de informaci on Entrop a realiza una suma ponderada de la informaci on transmitida por cada clase por la proporci on de los elementos de la misma, tal y como se concreta en la expresi on 2. En esta medida se reeja la variabilidad existente, o el grado de desorden, en el conjunto de ejemplos presentados frente a las diferentes particiones o clases posibles. nk n (1)

donde nk es el n umero de ejemplos de la clase k y n es el n umero total de ejemplos. Entrop a (E, Ai , vj ) = nijk nijk log2 ( ) nij k=1 nij
C

(2)

donde Entrop a(E, Ai , vj ) es la entrop a de los ejemplos E cuando el atributo Ai tiene el valor vj , nijk es el n umero de ejemplos que tienen el valor vj del atributo Ai y pertenecen a la clase ck , nij es el n umero de ejemplos que tienen el valor vj del atributo Ai , y C es el n umero de clases. A lo largo del proceso recursivo se elige, en cada nodo de decisi on, el atributo que mayor ganancia de informaci on aporte. Para ello, tomando como referencia la anterior medida de entrop a, se calcula, para cada atributo, la informaci on esperada requerida si se eligiera dicho atributo como nodo de decisi on. En otras palabras, se calcula la reducci on en entrop a aportada al particionar los ejemplos utilizando los valores del atributo correspondiente. Para ello se realiza una suma ponderada de las entrop as resultantes en cada una de las particiones generadas por el atributo. La ponderaci on considera la proporci on de ejemplos de cada rama, tal y como se refeja en la expresi on (3).
La unidad de entrop a determina la base del logaritmo. En este texto se hablar a de bits de informaci on y, por tanto, la base es 2.
3

Ganancia (E, Ai ) = Entrop a (E )


vj Valores(Ai )

nij Entrop a (E, Ai , vj ) n (3)

Dado que se desea elegir el atributo para el que la ganancia es m axima, y, en esta f ormula Entrop a(E) es una constante con respecto al atributo Ai , es suciente con elegir aqu el atributo que minimice la f ormula de la expresi on 4. nij Entrop a (E, Ai , vj ) n (4)

vj Valores(Ai )

Para entender la variaci on de los valores de la entrop a pueden considerarse las situaciones en las que s olo hay dos valores de clase. En estos casos, los ejemplos presentados ser an los ejemplos y contraejemplos del concepto buscado (tal y como se analiz o en el cap tulo ??). Cuando la proporci on de ejemplos y contraejemplos sea la misma, entonces la entrop a medida por (1) tiene un valor m aximo igual a 1, dado que la probabilidad de ambas opciones ser a 0.5 y la incertidumbre sobre cu al podr a suceder ser a m axima. Si s olo hubiera ejemplos de una clase, la entrop a tendr a un valor m nimo igual a 0, dado que no habr a incertidumbre sobre el valor de clase.

n Descripcio La estrategia utilizada pertenece a la categor a de los m etodos que realizan una b usqueda voraz (greedy ) como escalada. En concreto, se busca un arbol de decisi on adecuado entre todos los posibles y no se considera m as que una hip otesis ( arbol) a lo largo del proceso. Para ello, el m etodo genera dicha hip otesis mediante la selecci on de un u nico atributo: aqu el que produzca una mejor partici on de los ejemplos restantes. Adem as, no se reconsidera la decisi on en pasos sucesivos. No hay, por tanto, ning un tipo de retroceso ni tampoco se consideran las consecuencias de las opciones no elegidas. Por ello, el algoritmo tiene los problemas de los m etodos que convergen hacia m aximos locales que no sean globalmente optimos. M as adelante veremos alguna ampliaci on que resuelve este problema por medio del retroceso (sec. 0.1). Por otro lado, el algoritmo id3 aprende un conjunto de disyunciones que se generan cada vez que se divide un nodo. Por ejemplo, en el arbol de

la gura 1, el conocimiento aprendido que determina las reuniones que se celebran los mi ercoles vendr a dado por la disyunci on de todas las ramas cuyas hojas terminan en dicho valor de clase (5).

(Individual? = S Asistente = Pedro) (Individual? = No)

(5)

Otra apreciaci on de inter es es que el m etodo realiza una b usqueda de lo m as general a lo m as espec co, a nadiendo nuevas particiones (sub arboles) a lo largo del proceso hasta que todos las ramas discriminan los distintos valores de clase. Este proceso se realiza mediante un m etodo de generaci on y prueba frente a los m etodos ya estudiados dirigidos por los ejemplos. Entre estos u ltimos se pueden citar el procedimiento de eliminaci on de candidatos q (sec. 0.1) o el a (sec. ??), en los que un ejemplo se utiliza como modelo para modicar las hip otesis elegidas. Por el contrar o, en id3 se consideran primero las distintas formas que podr an tomar la hip otesis y luego se elige entre estas en funci on del rendimiento sobre los ejemplos presentados. En este caso, el rendimiento se concreta en una menor entrop a sobre las particiones resultantes. Algoritmo El algoritmo id3 realiza un proceso recursivo sobre todas las ramas del rbol generado, tal y como se reeja en la gura 2. Inicialmente, se le llama a con el conjunto de ejemplos, el de atributos, y el nodo ra z del arbol de decisi on que estar a vac o. Como ya se ha comentado, el proceso se realiza hasta que todos los ejemplos de la rama en cuesti on pertenecen a una u nica clase. Sin embargo, esto no siempre es posible. En primer lugar, puede ocurrir que se hayan agotado todos los atributos y, sin embargo, sigan existiendo ejemplos con distintos valores de clase. De otra parte, tambi en puede suceder que, una vez elegido un atributo para un nodo de decisi on, no exista ning un ejemplo para una de las ramas generadas por dicho atributo. En esos casos, se etiqueta el nodo hoja con la clase mayoritaria. En los otros casos, se selecciona un atributo de acuerdo a la heur stica denida anteriormente. Por cada valor del atributo escogido se crea un nodo sucesor de N etiquetado con el valor correspondiente del atributo, a trav es de la funci on crear-nodo. Ese nodo se a nade al conjunto de nodos sucesores del nodo ra z N y, nalmente, se llama recursivamente a id3. La llamada recursiva se hace con el conjunto

de ejemplos que tienen ese valor concreto para el atributo escogido Ai , el conjunto de atributos menos el que acabamos de utilizar, y el nodo que acabamos de crear.

Funci on id3 (E, A, N ): N


E : conjunto de ejemplos A: conjunto de atributos con sus posibles valores N : nodo ra z del arbol de decisi on

Si (A := ) o todos los ejemplos de E pertenecen a la misma clase Entonces clase-nodo(N )=clase-mayoritaria(E ) Si no Ai =mejor-atributo(A) pregunta(N )=Ai Para cada valor v de Ai H =crear-nodo(Ai , v ) hijos(N )=hijos(N )+H Ei = {e E | valor(e, Ai ) = v } id3(Ei , A {Ai }, H ) Devolver N

Figura 2: Procedimiento id3.

Ejemplo ilustrativo Sup ongase que se dispone de datos sobre los clientes de una tienda en Internet dados por la tabla 0.1. Se dispone de informaci on relativa a los atributos (para abreviar se ha utilizado en algunos una codicaci on basada en tres valores, 0, 1 y 2): sitio de acceso (se ha codicado como 0, 1 y 2, que pueden ser diferentes proveedores de Internet, por ejemplo), primera cantidad gastada (se podr a haber discretizado como 0 menos de 10 euros, 1 entre 10 y 100 y 2 m as de 100), zona de la vivienda (por ejemplo podr a ser 0 internacional, 1 nacional y 2 local) y u ltima compra (libro o disco). Para cada ejemplo, se especica la clase a la que pertenece (bueno o malo). Esta

clase puede ser tambi en el resultado de un c omputo, como, por ejemplo, m as de 100 euros gastados en total (bueno) o menos de 100 (malo). Tabla 1: Ejemplos de entrada para id3. Ejemplo Sitio de 1a cantidad Vivienda Ultima acceso gastada (zona) compra A1 A2 A3 A4 1 0 2 Libro 1 0 1 Disco 1 2 0 Libro 0 2 1 Libro 1 1 1 Libro 2 2 1 Libro Clase

1 2 3 4 5 6

Bueno Malo Bueno Bueno Malo Malo

Dada esta tabla, id3 determinar a qu e atributo escoger de acuerdo a la heur stica relativa a la ganancia de informaci on. As , por ejemplo, los valores de los diferentes atributos ser an (se han calculado con mayor detalle para A1 ): I (A1 ) =
nv (A1 ) nij nij I = 3 j =1 j =1 6 Iij = n ij n10 1 11 12 I + n6 I11 + n6 I12 = 1 I +4 I +6 I12 6 10 6 10 6 11 n10k n10k 1 0 1 I10 = 2 log log2 log = 2 1 2 n10 k=1 n10 1 1 n11k n11k 2 2 2 2 I11 = k=1 n11 log2 n11 = 4 log2 4 4 log2 n12k n12k 0 0 1 I12 = 2 k=1 n12 log2 n12 = 1 log2 1 1 log2

0 1 2 4 1 1

=0 =1 =0

1 4 I (A1 ) = 1 I +4 I +6 I12 = 1 0+ 6 1+ 1 0 = 0, 66 6 10 6 11 6 6 3 1 I (A2 ) = 2 I +1 I +6 I22 = 2 1+ 6 0+ 3 ( 2 log2 2 1 log2 1 ) = 0, 79 6 20 6 21 6 6 3 3 3 3 1 4 1 I (A3 ) = 1 I +4 I +6 I32 = 1 0+ 6 ( 1 log2 1 3 log2 3 )+ 6 0 = 0, 54 6 30 6 31 6 4 4 4 4 5 3 I (A4 ) = 1 I +5 I =1 0+ 6 ( 3 log2 5 2 log2 2 ) = 0, 81 6 4Disco 6 4Libro 6 5 5 5

Con esto, id3 seleccionar a al atributo A3 , generando un arbol de decisi on mostrado en la gura 3. Las llamadas recursivas para los valores 0 y 2

generar an sendos nodos hoja, mientras que el valor 1 obligar a a encontrar un atributo para dividir los ejemplos con A3 = 1, dado que hay mezcla de clases en los ejemplos.

Vivienda (zona)? 0 ejemplo3 (B) Bueno 1 ejemplo2 (M) ejemplo4 (B) ejemplo5 (M) ejemplo6 (M) 2 ejemplo1 (B) Bueno

Figura 3: Arbol parcialmente construido por id3. Por tanto, se vuelven a calcular las ganancias de informaci on con los atributos restantes (al quitar el A3 ) y los ejemplos que ten an A3 = 1. Es decir, la nueva tabla de ejemplos ser a la mostrada en la tabla 0.1. Los resultados del c alculo ser an:
1 I (A1 ) = 1 I +2 I +4 I12 = 1 0+ 2 0+ 1 0=0 4 10 4 11 4 4 4 1 2 1 I (A2 ) = 4 I20 + 1 I +4 I22 = 4 0+ 1 0+ 2 1 = 0, 5 4 21 4 4 1 I (A4 ) = 1 I +3 I =1 0+ 3 ( 1 log2 3 2 log2 2 ) = 0, 23 4 4Disco 4 4Libro 4 4 3 3 3

Por lo que el arbol de decisi on nal generado ser a el mostrado en la gura 4.

Bias

Tabla 2: Ejemplos de entrada para la llamada recursiva a id3. Ejemplo Sitio de 1a cantidad Ultima acceso gastada compra A1 A2 A4 1 0 Disco 0 2 Libro 1 1 Libro 2 2 Libro Clase

2 4 5 6

Malo Bueno Malo Malo

La heur stica del id3 es de b usqueda y consiste en preferir arboles que tengan atributos con mayor informaci on m as cerca de la ra z, y arboles m as cortos. Esto sigue la hip otesis de la navaja de Occam (preferir siempre las hip otesis m as sencillas que describan los datos). Tambi en, por la heur stica que emplea, favorece atributos con muchos valores.

Entradas/salidas Representaci on de las entradas: igual que en el resto de los algoritmos inductivos, los ejemplos vienen en funci on de los valores de los atributos. En la versi on simple del id3, los atributos no pueden tener valores cont nuos (en los reales). Tratamiento de las entradas: de un s olo paso. El planteamiento es no incremental, por lo que todos los ejemplos se suponen que est an disponibles al principio (se comentar a una formulaci on incremental m as adelante). Preprocesamiento de las entradas: no Fuente de las entradas: externa Representaci on de las salidas: es un arbol de decisi on (m as adelante, se describir a c omo transformarlo a un conjunto de reglas)

Vivienda (zona)? 0 ejemplo3 (B) Bueno 0 ejemplo4 (B) Bueno 1 Sitio de acceso? 1 ejemplo2 (M) ejemplo5 (M) Malo 2 ejemplo1 (B) Bueno

2 ejemplo6 (M) Malo

Figura 4: Arbol nal resultado de id3.

Ruido Este m etodo es capaz de tratar ejemplos con ruido debido a que no es necesario que todos los ejemplos pertenezcan a la misma clase para generar un nodo hoja. Esto permite aplicar el m etodo a problemas en los que pueden aparecer espor adicamente ejemplos mal clasicados, atributos err oneos o valores ausentes de atributo o de clase. Posteriormente, se describir an mejoras sobre este algoritmo que realizan poda del arbol de decisi on en funci on de una serie de criterios relacionados con el ruido. En entradas: como se ha comentado, se permite el ruido.

En estructura: la salida de id3 es tolerante a fallos, debido a que si se elimina alg un nodo del arbol, todav a se podr a seguir clasicando las instancias con las ramas restantes.

Complejidad Espacio: el espacio ocupado por id3 es el ocupado por el arbol de decisi on. En el peor de los casos, habr a un nodo hoja por cada ejemplo, con un n umero de nodos intermedios igual al tama no del espacio de instancias. Esto se producir a, por ejemplo, cuando se le pasara como entrada todos los posibles ejemplos, cada uno con una clase diferente. Como intentar a encontrar una forma de separar todos los ejemplos, esto le llevar a a considerar todos las posibles combinaciones de valores de atributos (tama no de espacio de instancias). Evidentemente, esto no es un caso real. En el mejor de los casos (por ejemplo, todos los ejemplos pertenecen a la misma clase), habr a un u nico nodo. Tiempo: crece linealmente con el n umero de ejemplos de entrenamiento y exponencialmente con el n umero de atributos.

Fiabilidad Si los ejemplos no tienen ruido, id3 encuentra el arbol de decisi on que describe correctamente a todos los ejemplos. Si hay ruido, entonces depende de lo signicativos que sean los ejemplos como en el resto de algoritmos inductivos. Control de la tarea aprendida Cr tica/utilidad/valoraci on: id3 no realiza una cr tica de lo aprendido. Utilizacion de lo aprendido: la forma de utilizar lo aprendido consiste en llamar a un procedimiento clasificar con el ejemplo que se desee clasicar y el arbol de decisi on. La funci on clasificar ir a bajando

por el arbol de decisi on de acuerdo a las respuestas a las preguntas realizadas en los nodos intermedios. As , si en el caso del arbol de decisi on de la gura 4 se quisiera clasicar una instancia en la que el valor de A3 fuera 1 y el valor del A1 fuera 1, entonces, se clasicar a como de la clase Malo.

Dependencia del conocimiento del dominio No utiliza m as conocimiento de dominio que la denici on de los atributos y posibles valores de cada atributo.

Variantes La principal mejora sobre el algoritmo la realiz o el propio Quinlan y la escribi o en forma de libro con c odigo incluido [Quinlan, 1993]. Entre las mejoras que este algoritmo presentaba sobre id3 se pueden encontrar las siguientes: Tratamiento de los valores cont nuos de atributos: cuando se desea saber qu e atributo es mejor y se tiene uno (o varios) que son cont nuos, por cada uno de los cont nuos se crean articialmente nuevos atributos de la siguiente manera. Por cada atributo cont nuo, se ordenan los valores del atributo en los ejemplos de la tabla, y se especica la clase a la que pertenecen los ejemplos, eliminando los dem as atributos. Por ejemplo, la gura 5 muestra una tabla de ejemplos (ahora representados en las columnas) ordenados por el valor del atributo peso, as como la clase a la que pertenecen esos ejemplos (s o no).

peso 30 36 44 60 dod o no no s s

72 s

78 no

Figura 5: Tabla ordenada de ejemplos por el valor del atributo peso. Como se puede ver, hay dos puntos de corte en el valor de la clase entre los valores 36 y 44, y entre 72 y 78. A continuaci on, se calculan

los valores medios de cada punto de corte: 40 y 75. Entonces, hay dos formas de crear atributos articiales: dos atributos binarios (valor verdad o falso) nuevos: A1 =(peso < 40) y A2 =(peso < 75). El primer atributo tendr a valor verdad si la instancia a clasicar tiene el valor de peso menor que 45, y lo mismo ocurrir a con el segundo atributo respecto al corte 75. si hay k puntos de corte, se puede generar un atributo con k + 1 valores. En este caso, ser an los valores: (peso < 40), (40 < peso < 75) y (75 < peso). Las instancias a clasicar se ir an por un valor u otro dependiendo del valor del atributo peso. Normalmente, se escoge la primera opci on por lo que se a nadir an esos dos atributos al conjunto de posibles atributos a considerar, se evaluar an mediante la misma heur stica (ganancia) y si alguno sale vencedor, se crear a un nodo del arbol con esa pregunta. Atributos con muchos valores: id3 preere atributos con mayor n umero de valores (dado que tienden a separar m as los ejemplos). Por tanto, una estrategia consiste en desfavorecerles utilizando la medida Raz on de ganancia (GainRatio, GR): GR(Ai ) = G(Ai )
nv (Ai ) nij j =1 n nij n

log2

Un problema que tiene esta f ormula es que cuando nij tiende a n, el denominador se hace 0. Conversi on del arbol de decisi on a un conjunto de reglas. Cualquier arbol de decisi on se puede convertir a un conjunto de reglas. El algoritmo convertir- arbol toma como entrada un arbol de decisi on y genera como salida un conjunto de reglas. Por cada rama del arbol de decisi on, se recogen las preguntas sobre el valor de un atributo Ai y el valor v correspondiente (reejado en el sucesor que se ha seguido por esa rama). La conjunci on de estas preguntas Ai = v formar a la parte izquierda de la regla que representa a la rama. La etiqueta (clase) del nodo hoja de la rama ser a la parte derecha de la regla (clasicaci on). Por ejemplo, en el caso del ejemplo anterior, el conjunto de reglas equivalente ser a el mostrado en la gura 6.

Si Vivienda (zona)=0 Entonces Bueno Si Vivienda (zona)=1 y Sitio de acceso=0 Entonces Bueno Si Vivienda (zona)=1 y Sitio de acceso=1 Entonces Malo Si Vivienda (zona)=1 y Sitio de acceso=2 Entonces Malo Si Vivienda (zona)=2 Entonces Bueno

Figura 6: Conjunto de reglas equivalente al arbol de decisi on de la gura 4. Poda. Debido a que puede haber ruido en los ejemplos, se han dise nado varios mecanismos de poda, que se pueden subdividir en pre-poda y post-poda. La pre-poda permite no terminar de separar los ejemplos seg un su clase en una determinada rama del arbol si se produce una determinada condici on o, lo que es lo mismo, no seguir construyendo un arbol de decisi on a partir de ese nodo. La primera opci on consiste en utilizar el estimador estad stico 2 [Quinlan, 1986]. En el caso de que en un nodo no sea signicativa (de acuerdo al estimador) la diferencia que existe entre el n umero de ejemplos que pertenecen a las distintas clases, no se sigue separando los ejemplos; es decir, no se sigue generando un sub arbol por debajo del nodo correspondiente. As , si por ejemplo, en un nodo hay 1000 ejemplos de la clase C1 y 5 ejemplos de la clase C2 , el estimador devolver a que no es signicativa la diferencia. El problema que tiene esta soluci on es que suele ser muy conservadora y puede hacer que se pare de construir el arbol antes de lo que conviene. La segunda soluci on de pre-poda consiste en generar, cada vez que se expande un nodo del arbol de decisi on, la curva de error del arbol ge-

nerado hasta ese momento con el conjunto de test. Si despu es de haber expandido alg un nodo, el error que se produce con el arbol resultante es mayor que el error con el arbol sin expandir ese nodo, entonces el nodo no se expande (se poda). El segundo tipo de poda es la post-poda que se realiza una vez se ha generado todo el arbol de decisi on. Tambi en existen varias formas de realizarla de las que se comentar an dos: utilizando el arbol o utilizando las reglas. En el primer caso, se genera el arbol y, a continuaci on, se analiza recursivamente, y desde las hojas, qu e preguntas (nodos) se pueden eliminar sin que se incremente el error de clasicaci on con el conjunto de test. Es decir, sup ongase que se tiene un error calculado con todo el arbol de ea . Ahora, sup ongase que se elimina el nodo intermedio situado m as a la izquierda del arbol de decisi on cuyos sucesores son todos nodos hoja. Esto genera un nuevo arbol de decisi on a y se calcula el error que se comete con este arbol y el conjunto de test. Si ea ea , vale la pena eliminar el nodo y todos sus sucesores (que ser an nodos hoja). Se continua recursivamente realizando este an alisis hasta que no se puede eliminar ning un nodo m as sin incrementar el error. La segunda t ecnica de post-poda se realiza sobre las reglas generadas a partir del arbol de decisi on. Consiste en eliminar progresivamente condiciones de reglas o reglas enteras de forma que no se incremente el error de clasicaci on. El algoritmo se muestra en la gura 7. Otras variantes del id3 han tratado cuestiones como: Tratamiento de atributos con costes variables: hasta ahora se ha supuesto que conocer el valor de cada atributo es una constante. Sin embargo, en algunos dominios como el m edico [N un ez, 1991] o la rob otica [Tan and Schlimmer, 1989], conocer el valor de un atributo (por ejemplo, valor de la presi on sangu nea) puede no costar lo mismo que conocer el valor de otro atributo (como, por ejemplo, el resultado de un scanner). En esos casos, se puede utilizar la siguiente funci on como heur stica, en lugar de la ganancia de informaci on: Ganancia de informaci on k unidad de coste penalizando aquellos atributos con mayor coste.

Funci on post-poda (E, N ): R


E : conjunto de ejemplos de test N : nodo ra z del arbol de decisi on R: conjunto de reglas

R=convertir- arbol(N ) error = error-clasificaci on(R,E ) Para cada regla Ri R Para cada condici on pj (Ak = v ) condiciones(Ri ) R = R, eliminando la condici on pj de Ri nuevo-error = error-clasificaci on(R ,E ) Si nuevo-error error Entonces error = nuevo-error R=R Si condiciones(Ri )= Entonces R = R {Ri } Devolver R

Figura 7: Procedimiento de post-poda del c4.5.

Versiones incrementales. El id3 es un algoritmo en un s olo paso, dado que estudia todos los ejemplos al mismo tiempo. M as adelante, se han planteado versiones incrementales del algoritmo como son id4 [Schlimmer and Granger, 1986] e id5 [Utgo, 1989]. En el caso del id4, la reconstrucci on del arbol no se hace por cada clasicaci on err onea, sino por degradaci on de la consistencia. Mantienen estad sticas de la distribuci on de los valores de los atributos clasicados debajo de cada nodo y si el valor de informaci on de un atributo baja con respecto al de otro, el sub arbol se rehace. El algoritmo no asume perfecta consistencia con los datos. Desde el punto de vista de b usqueda tiene un operador de especializaci on (crecer un arbol) y un operador de generalizaci on (borrar un sub arbol). Esto realmente supone un retroceso simulado. En el caso del id5 en lugar de borrar o crecer sub arboles, los reorganiza

si determina que se ha degradado el sub arbol. Generalmente, necesita muchos menos ejemplos de entrenamiento.

Conclusiones Desde el punto de vista de la b usqueda, el id3 busca hip otesis en un espacio de b usqueda completo. En cada momento, mantiene una hip otesis u nica, disyunci on de conjunciones, frente al espacio de versiones que mantiene un conjunto. Esto le hace perder oportunidades, como, por ejemplo, c omo seleccionar el siguiente ejemplo, pero le hace ser m as eciente. Al utilizar escalada no realiza retroceso por lo que se pueden alcanzar m nimos locales. Sin embargo, si no se tiene ruido y se tienen todos los atributos relevantes, se llega al m nimo. Por otro lado, la heur stica se basa en la estad stica, lo que lo hace robusto al ruido: si un ejemplo es incorrecto, la estad stica suavizar a el efecto. Por todas estas caracter sticas, ha sido uno de las t ecnicas m as utilizadas en las aplicaciones de an alisis de datos (data mining) o de aprendizaje autom atico aplicado a tareas tan diversas como predicci on de enfermedades, control de robots, o caracterizaci on de clientes en bancos o entidades de seguros.

0.2.

Arboles de regresi on. m5

n Motivacio Los algoritmos que generan clasicadores que se han visto en los cap tulos previos suponen que las clases con discretas. Muchas veces lo que se pretende predecir son valores cont nuos, por lo que las clases son cont nuas. Esto hace que se tengan que modicar los algoritmos convenientemente. Cl asicamente, para resolver este problema se ha utilizado la regresi on, normalmente lineal. Si llamamos Aij al valor del atributo j para el ejemplo i si es cont nuo o la posici on que ocupa entre los valores del atributo si el atributo es discreto, se genera un modelo a priori denido por la ecuaci on:
a

ci = 0 +
j =1

j Aij

(6)

donde ci es la clase para el ejemplo i, j son los coecientes del modelo, y a es el n umero de atributos del dominio. El objetivo de estos m etodos es encontrar los valores de los j de forma que se minimice el error (por ejemplo, denido como el error cuadr atico medio) de las clasicaciones de los ejemplos de entrenamiento. Los principales problemas que tienen es que los atributos deben ser num ericos, y que los modelos obtenidos tambi en son num ericos (ecuaciones de rectas en a dimensiones). Breiman y otros [?] propusieron en los 80 el sistema cart, parecido al id3, que generaba en los nodos hoja valores num ericos en lugar de clases discretas. A este tipo de estructuras se las denomin o arboles de regresi on. M as tarde, Quinlan (el autor del id3) propuso una soluci on basada en cart con algunas mejoras y es el sistema m5 que se describir a en esta secci on. Al igual que cart, m5 genera arboles de decisi on similares a los producidos por id3. Quinlan los denomin o arboles de modelo (model trees en ingl es).

Objetivos El principal objetivo de este m etodo es encontrar un arbol de regresi on a partir de instancias de entrenamiento que sea capaz de predecir correctamente el valor num erico de la clase de una instancia futura. Entradas y salidas Las entradas son equivalentes a las de los dem as sistemas inductivos (clasicadores), salvo que el conjunto de clases, al ser una clase cont nua, no es una entrada. Como en los dem as sistemas, aparece asociada a cada uno de los ejemplos. Entradas: A, conjunto de atributos V , conjunto de valores posibles de los atributos E , conjunto de instancias de entrenamiento descritas en t erminos de A, V y un valor num erico Ci que representa la clase de cada ejemplo i E

Salidas: un arbol de regresi on que separa a los ejemplos de acuerdo a las clases a las que pertenecen. El algoritmo est a preparado para utilizar valores num ericos de atributos, as como la utilizaci on de las t ecnicas est andar para tratamiento de valores desconocidos tratadas anteriormente en este libro. Tarea En t erminos de b usqueda, m5 realiza tres b usquedas. La primera genera un arbol de regresi on a partir de los datos de entrada de forma an aloga a id3 y calcula un modelo lineal (como los modelos cl asicos de regresi on lineal descritos sucintamente en la introducci on) para cada nodo del arbol generado. La segunda b usqueda intenta simplicar el arbol de regresi on encontrado en el paso anterior (primera forma de post-poda), eliminando de los modelos lineales de los nodos aquellos atributos que no aumentan el error. La tercera b usqueda tiene por objeto reducir el arbol, manteniendo el mismo poder predictivo (segunda post-poda). La primera b usqueda se puede denir como: Conjunto de estados: cada estado es un arbol de regresi on, en el que los nodos intermedios son preguntas sobre valores de los atributos y todos los nodos tambi en tienen un modelo asociado de regresi on lineal (ecuaciones de hiperplanos con un subconjunto de los a atributos) que modelizan a los ejemplos que caen en esos nodos. Conjunto de operadores: el u nico operador es introducir la pregunta por un atributo en un nodo. Esto provoca la expansi on de un nodo intermedio del arbol de regresi on en construcci on en varios sucesores, uno por cada posible valor del atributo. Este operador no se puede aplicar cuando en un nodo hay muy pocos ejemplos (menos ejemplos que un umbral ), o cuando se parecen mucho (su desviaci on t pica es menor que un umbral ). Estado inicial: arbol de regresi on vac o. Meta: arbol de regresi on que separa los ejemplos de entrenamiento dependiendo de su clase, y tiene asociado en cada nodo un modelo lineal que calcula el valor de la clase dependiendo del valor de los atributos considerados.

Heur stica: elegir aquel atributo que minimice la variaci on interna de los valores de la clase dentro de cada subconjunto. En concreto, se elige aquel atributo que maximice la reducci on del error, de acuerdo a la siguiente ecuaci on: error = E
i

| Ei | Ei |E|

donde error es la diferencia de error entre dos arboles de regresi on, E es el conjunto de ejemplos en el nodo a dividir, Ei son los ejemplos con valor i del atributo a considerar, y X es la desviaci on t pica de los valores de la clase para los ejemplos en el conjunto X Pero, dado que el valor E es constante para cada atributo, s olo es necesario elegir aquel atributo que minimice la segunda componente seg un la ecuaci on 7: | Ei | Ei |E| (7)

El u ltimo paso de esta b usqueda consiste en crear un modelo lineal para cada nodo del arbol de regresi on creado. La segunda b usqueda se realiza utilizando la t ecnica de escalada y se describe de la siguiente forma: Conjunto de estados: cada estado es un arbol de regresi on. Conjunto de operadores: el operador es eliminar un atributo de un modelo lineal de un nodo. Esto provoca la simplicaci on de los modelos lineales de los nodos de un arbol de regresi on. Estado inicial: arbol de regresi on resultante de la primera b usqueda. Meta: arbol de regresi on simplicado.

Heur stica: para decidir si quitar o no un atributo se debe calcular el error de clasicaci on esperado antes y despu es. La f ormula de la estimaci on del error en posteriores instancias, calcula la media del error residual e(E, m) producido al clasicar con el modelo creado m cada instancia del conjunto E : e(E, m) = donde n =| E | es el n umero de instancias de entrenamiento, ci es la clase asociada a la instancia i, y c(m, i) es la clasicaci on que establece el modelo m de la instancia i Como esto se subestima el error en posteriores instancias, por lo que se multiplica por: n+ n donde es el n umero de atributos en el modelo m, de forma que cuantos m as atributos tenga el modelo, m as se incrementa el error, por lo que se preeren modelos con menos atributos. Esto consigue incrementar el error en modelos construidos con muchos par ametros y pocas instancias. La b usqueda se realiza por escalada incluso llegando a eliminar las referencias a todos los atributos en el modelo lineal, dejando s olo la constante 0 . La tercera b usqueda se describe de la siguiente forma: Conjunto de estados: cada estado es un arbol de regresi on. Conjunto de operadores: el operador es eliminar un sub arbol por debajo de un nodo. Esto provoca la poda de un arbol de regresi on. Estado inicial: arbol de regresi on resultante de la segunda b usqueda. 1 ci c(m, i) n iE (8)

Meta: arbol de regresi on que separa los ejemplos de entrenamiento dependiendo de su clase, y tiene asociado en cada nodo un modelo lineal que calcula el valor de la clase dependiendo del valor de los atributos considerados. Este arbol es el que se espera que tenga menor error de clasicaci on. Heur stica: dado que cada nodo interno del arbol tiene un modelo simplicado lineal y un modelo descrito por su sub arbol, se pueden realizar dos clasicaciones en cada nodo del arbol de regresi on, y, por tanto, calcular un error de clasicaci on con las instancias de test: una dada por el modelo lineal y otra por la utilizaci on del sub arbol. La heur stica dice que habr a que utilizar el operador de eliminar un sub arbol en un nodo si el error de clasicaci on que se produce con el sub arbol es mayor que el producido por el modelo lineal del nodo. Realmente, para ser ecientes, se pueden unir las dos u ltimas b usquedas en una s ola de forma que se recorra el arbol de regresi on una s ola vez, simplicando los modelos lineales de cada nodo al mismo tiempo que se simplican los nodos en s . n Descripcio Como se ha planteado anteriormente mediante las b usquedas, el m5 calcula primero un arbol de regresi on que minimice en los nodos hojas la variaci on de los valores de las clases de los ejemplos que caen en ellos. Posteriormente, genera un modelo lineal para cada nodo del arbol. En el siguiente paso, simplica los modelos lineales de cada nodo, borrando aquellos atributos del modelo lineal que no reduzcan el error de clasicaci on al eliminarlos. Por u ltimo, simplica el arbol de regresi on al borrar sub arboles por debajo de los nodos intermedios, cuyo error de clasicaci on sea mayor que el producido por la clasicaci on dada por el modelo lineal correspondiente a esos nodos intermedios. Algoritmo Una visi on general del procedimiento m5 aparece en la tabla 8. Este procedimiento incluye las tres b usquedas descritas, representadas por los algoritmos construir- arbol-regresi on, simplificar-modelos-lineales y

simplificar- arbol-regresi on. Llama en sucesi on a estas funciones despu es de crear un nodo del arbol de regresi on a trav es de la funci on crea-nodo- arbol-regresi on

Procedimiento m5 (E, A)
E : conjunto de ejemplos A: conjunto de atributos con sus posibles valores

R :=crea-nodo- arbol-regresi on R :=construir- arbol-regresi on(E, A, R) R :=simplificar-modelos-lineales(E, R) R :=simplificar- arbol-regresi on(E, R) Devolver R

Figura 8: Procedimiento m5. A continuaci on, se pasa a describir en m as detalle cada uno de los procedimientos correspondientes a cada una de las b usquedas. En la tabla 9 aparece la descripci on del algoritmo que construye en primera instancia el arbol de regresi on. La funci on mejor-atributo elige el atributo a que maximiza la reducci on del error esperado seg un la ecuaci on 7. A continuaci on, se estudian cada uno de los sucesores de ese nodo del arbol de regresi on, que corresponden a los diferentes valores del atributo a. Cada nodo guarda informaci on respecto al valor concreto i del atributo que trata (valor) y al atributo que utiliza para clasicar por debajo (test). Si la desviaci on t pica en alguno de los sucesores es menor que una determinada cantidad o el n umero de ejemplos en ese sucesor es menor que una determinada cantidad , entonces no se sigue generando un sub arbol por debajo de ese nodo y se convierte en un nodo hoja. Adem as, se calcula el modelo lineal correspondiente a los ejemplos que hayan caido en ese nodo. Si la reducci on del error no es mayor que , se llama recursivamente al algoritmo para que genere un sub arbol por debajo de aquellos sucesores del nodo R que no se hayan considerado nodos hoja. Al nalizar, se calcula un modelo lineal para el nodo R. En atributos-usados se guarda el conjunto de atributos que se han utilizado en nodos del sub arbol del nodo R. Esto

es necesario para calcular los modelos lineales de cada nodo, ya que estos modelos solo van a utilizar los atributos utilizados en el sub arbol del nodo correspondiente. Esto se hace para establecer una comparaci on correcta en el procedimiento simplificar- arbol-regresi on entre el error del modelo lineal de cada nodo y el error de clasicaci on utilizando el sub arbol por debajo de ese nodo.

rbol-regresio n (E, A, R): R Funci on construir-a


E : conjunto de ejemplos A: conjunto de atributos con sus posibles valores R: arbol de regresi on

a :=mejor-atributo(E, A) test(R):=a Por cada valor i del atributo a n:=crea-nodo- arbol-regresi on valor(n):=i Ei :=ejemplos-con-valor(E, a, i) n umero-ejemplos(n):=| Ei | Si n umero-ejemplos(n)< o Ei < Entonces atributos-usados(n):= modelo-lineal(n):=calcular-modelo-lineal(Ei , A) Si no construir- arbol-regresi on(Ei , A {a}, n) hijos(R):=hijos(R){n} atributos-usados(R):=atributos-usados(R)atributos-usados(n) modelo-lineal(R):=calcular-modelo-lineal(E ,atributos-usados(R)) Devolver R

rbol-regresio n. Figura 9: Procedimiento construir-a En la tabla 10 se muestra el procedimiento simplificar-modelos-lineales cuya funci on es la de eliminar de los modelos lineales de cada nodo aquellos atributos que no incrementen el error de predicci on del modelo lineal. Primero, simplica los modelos lineales de los nodos sucesores de un determinado

nodo. Despu es, realiza una b usqueda en escalada, de forma que en cada iteraci on elimina aquel atributo tal que, si se elimina, el modelo lineal restante minimiza el error de clasicaci on, siempre y cuando este error sea menor que el del modelo de la anterior iteraci on. Por u ltimo, el procedimiento simplificar- arbol-regresi on aparece descrito en la tabla 11. Su funci on es eliminar el sub arbol de regresi on por debajo de cada nodo del arbol de regresi on siempre y cuando el error de clasicaci on que produce ese sub arbol sea mayor o igual que el producido por el del modelo lineal asociado al nodo. Ejemplo ilustrativo Sup ongase un banco que desea construir un sistema que prediga el saldo que cada uno de sus clientes tendr an al a no siguiente en funci on de los datos que conoce sobre sus clientes. Para limitar el problema, se van a utilizar los siguientes atributos y valores: Sueldo anual en miles de euros, A1 : alto, bajo Saldo actual en miles de euros, A2 : alto, medio, bajo Saldo a no pasado en miles de euros, A3 : alto, medio, bajo Casado, A4 : s , no Obviamente, la clase es num erica (valor cont nuo). Los ejemplos E son los mostrados en la tabla 0.2. El algoritmo comienza construyendo un arbol de regresi on correspondiente a estos ejemplos. Para ello, en cada paso tiene que elegir aquel atributo que maximiza la reducci on esperada del error, o lo que es lo mismo, minimiza el error que produce, indicado por la ecuaci on 7. Para calcular este valor es necesario calcular la desviaci on t pica para cada subconjunto Ei en el que el atributo A1 divide al conjunto E , Ei . Esto se hace calculando primero las medias Ei . EA1 =alto = EA1 =bajo = 2300 + 3800 + 600 + 2800 = 2375 4 2500 + 90 + 2000 + 1500 = 1522 4

Funci on simplificar-modelos-lineales (E, R): R


E : conjunto de ejemplos R: arbol de regresi on

Por cada nodo hijo n hijos(R) n :=simplificar-modelos-lineales(n) error-reducido:=verdadero A :=atributos-usados(R) M :=modelo-lineal(R) mejor-modelo:=M min-error:=error-modelo(M, E ) Hasta que error-reducido=falso oA = Por cada atributo a A M :=calcular-modelo-lineal(E, A {a}) error:=error-modelo(M , E ) Si error<=min-error Entonces min-error:=error mejor-modelo:=M atributo-eliminado:=a Si M =mejor-modelo Entonces error-reducido:=falso Si no M :=mejor-modelo error-modelo-lineal(R):=min-error A := A {atributo-eliminado} modelo-lineal(R):=M Devolver R

Figura 10: Procedimiento simplificar-modelos-lineales.

rbol-regresio n (E, R): R Funci on simplificar-a


E : conjunto de ejemplos R: arbol de regresi on

Si hijos(R) = Entonces Por cada nodo hijo n hijos(R) simplificar- arbol-regresi on(n) Si error-modelo-lineal(R)<=error-sub arbol(R, E ) Entonces hijos(R):= Devolver R

rbol-regresio n. Figura 11: Procedimiento simplificar-a EA1 =alto = EA1 =bajo = (2300 2375)2 + (3800 2375)2 + (600 2375)2 + (2800 2375)2 = 2317 (2500 1522)2 + (90 1522)2 + (2000 1522)2 + (1500 1522)2 = 1799

El valor del error es, por tanto: errorA1 = 4 4 EA1 =alto + EA1 =bajo = 0,5 2317 + 0,5 1799 = 2058 8 8

As se calcular an tambi en las variaciones del error producidas por la clasicaci on utilizando los atributos A2 a A4 . Los valores obtenidos ser an: errorA2 = 689 errorA3 = 1401 errorA4 = 2097 Seg un esto, el mejor atributo es el atributo A2 . Por tanto, se crea un nodo ra z en el que se distingue por este atributo y que tiene tres sucesores etiquetados con los valores del atributo: alto, medio y bajo, dando como resultado el arbol mostrado en la gura 12.

Tabla 3: Ejemplos de entrada para el m5. Ejemplo 1 2 3 4 5 6 7 8 Sueldo anual Sueldo actual alto medio bajo medio alto alto alto bajo bajo bajo bajo medio alto alto bajo bajo Saldo pasado medio alto alto medio bajo bajo medio medio Casado Clase S 2300 S 2500 No 3800 S 600 No 90 No 2000 S 2800 S 1500

A2 valores: ejemplos: alto 3,7 medio 1,2,6 bajo 4,5,8

Figura 12: Arbol de regresi on formado al elegir el atributo A2 . Suponiendo que la m nima desviaci on t pica esperada para separar un nodo es = 500,4 y que el m nimo n umero de nodos para seguir subdividiendo es = 2 habr a que estudiar qu e sucesores hace falta seguir subdividiendo. Normalmente, un valor de = 2 es muy bajo porque puede generar nodos hoja con un s olo ejemplo. Esto causa que al calcular la funci on del error de la ecuaci on 8, y ser n = = 1, el error se haga innito. Por tanto, se suelen seleccionar valores m nimos mayores que 3. Al calcular la desviaci on t pica para cada sucesor del nodo ra z se tiene: A2 =alto = 707
Experimentalmente, hay algunos autores que encontraron que valores del 5 % del valor de la varianza en el nodo superior eran buenos.
4

A2 =medio = 356 A2 =bajo = 1010 por lo que habr a que seguir subdividiendo s olo los valores alto y bajo. Si se considera el valor alto, errorA1 = 707 errorA3 = 0 errorA4 = 0 En este caso, la divisi on por cualquiera de los dos atributos A3 o A4 llevar a a un error de 0. Se puede optar por una selecci on aleatoria. Si, por ejemplo, se selecciona el A4 , dar a lugar al arbol de regresi on mostrado en la gura 13.

A2 valores: ejemplos: A4 valores: ejemplos: s 7 no 3 alto 3,7 medio 1,2,6 bajo 4,5,8

Figura 13: Arbol de regresi on formado al elegir el atributo A4 . En el caso del valor bajo, errorA1 = 665 errorA3 = 424 errorA4 = 424 En este caso, la divisi on ser a por cualquiera de los dos atributos A3 o A4 . Si, por ejemplo, se selecciona otra vez el A4 , dar a lugar al arbol de regresi on mostrado en la gura 14.

A2 valores: ejemplos: alto 3,7 A4 n2 no 3 n6

n1 medio bajo 1,2,6 4,5,8 n3 n4 A4 s 4,8 n7 no 5 n8

valores: ejemplos:

s 7 n5

Figura 14: Arbol de regresi on formado al elegir el atributo A4 . Al calcular la desviaci on t pica para cada sucesor se tiene: A4 =s = 636 A4 =no = 0 y, por tanto, no habr a que seguir subdividiendo ninguno por ser menores que el umbral = 650. Ahora habr a que generar un modelo de regresi on lineal para cada nodo hoja del arbol, utilizando la ecuaci on 6 del principio de este tema. Sup ongase que el modelo lineal para cada hoja es el siguiente: n3 : n5 : n6 : n7 : n8 : c = 1800 200 A3 100 A4 c = 2800 c = 3800 c = 900 A2 300 c = 90

(9)

A continuaci on, habr a que calcular los modelos lineales en el resto de nodos. Para ello, se utilizan los atributos que aparezcan en los sub arboles por debajo de ellos. As , en los nodos n2 y n3 se utilizar a el A4 , y en el nodo ra z, n1 , el A2 y el A4 . As , podr an quedar los modelos lineales como:

n1 : n2 : n3 : n4 : n5 : n6 : n7 : n8 :

c= c = 1800 + 1000 A4 c = 1800 200 A3 100 A4 c= c = 2800 c = 3800 c = 900 A2 300 c = 90

(10)

A partir de este momento, se comienza la segunda b usqueda (funci on simplificar-modelos-lineales), que elimina en los modelos lineales construidos aquellos atributos tales que, al eliminarlos, no se incremente el error residual estimado de clasicaci on (ecuaci on 8). Por ello, lo primero que hay que calcular es dicho error para el modelo ( arbol de regresi on construido con los pasos anteriores). En este caso, el arbol de regresi on clasicar a correctamente todos los ejemplos de entrenamiento, con lo que el error ser a 0 y no se podr a mejorar aunque se eliminara alg un atributo de cualquier modelo lineal. El u ltimo paso del algoritmo consiste en simplicar (podar) el arbol seleccionando en cada nodo intermedio si interesa quedarse con el sub arbol por debajo de el o con el modelo lineal del nodo. Para ello, se calcula el error producido por el arbol total al considerar dicho arbol y el error eliminando dicho arbol y utilizando en ese nodo el modelo lineal. As , por ejemplo, en el nodo n2 si se elimina el sub arbol por debajo de el, el error que se comete tambi en es 0, por lo que conviene eliminar el sub arbol, quedando el arbol que aparece en la gura 15. En el caso del nodo n4 , sin embargo, el error producido es mayor que 0, por lo que no se puede eliminar dicho sub arbol, quedando denitivamente el arbol de regresi on de la gura 15.

Bias En el caso del m5, al igual que en el caso de muchos de los sistemas de aprendizaje descritos en este libro, sus bias son de b usqueda. Estas vienen determinadas por las heur sticas utilizadas a la hora de elegir qu e atributo es el mejor por medio de la ecuaci on 7, y el c omputo del error producido por un modelo (lineal o basado en un arbol). En el caso del m5 tambi en se produce

A2 valores: ejemplos: alto 3,7 n2

n1 medio bajo 1,2,6 4,5,8 n3 n4 A4 s 4,8 n7 no 5 n8

Figura 15: Arbol de regresi on despu es de eliminar el sub arbol por debajo del nodo n2 . un bias de lenguaje, al representar modelos lineales solamente. Podr a haber escogido para cada nodo la utilizaci on de modelos no lineales, como, por ejemplo, redes de neuronas, descritas en el cap tulo ?? de este libro.

Entradas/salidas Representaci on de las entradas: los ejemplos vienen en funci on de los valores de los atributos Tratamiento de las entradas: en un s olo paso Preprocesamiento de las entradas: no Fuente de las entradas: externa Representaci on de las salidas: es un arbol de regresi on, que tiene en cada nodo intermedio una pregunta sobre el valor de un atributo y en cada nodo hoja un modelo lineal para calcular la clase num erica

Ruido

En entradas: acepta ejemplos con ruido, que queda suavizado por el an alisis de los errores. Los modelos lineales son aproximaciones al valor de la clase, con lo que suavizan el efecto del ruido en la clasicaci on de los ejemplos. En estructura: la salida del m5 es tolerante a fallos, debido a que dispone de dos tipos de modelos en cada nodo intermedio (modelo lineal y modelo basado en arbol), por lo que si se elimina alg un nodo o alg un modelo de alg un nodo, se podr a seguir clasicando.

Complejidad y fiabilidad En relaci on con la complejidad: Espacio: el espacio ocupado por la salida del m5 es el ocupado por el arbol de regresi on. En el peor de los casos, en cada rama se utilizar an todos los atributos, aunque en la pr actica es inviable que esto suceda si se eligen convenientemente los par ametros y . Si los atributos en media tuvieran i valores, el n umero de nodos del arbol resultante ser a:
|A|

nodos =
j =0

ij

En el mejor de los casos, el arbol de regresi on quedar a reducido al nodo ra z con un modelo lineal que representar a a los ejemplos de entrenamiento. Tiempo: el tiempo por cada ejemplo depende del n umero de atributos, a =| A |, y del n umero de ejemplos n. As , en el primer proceso en el caso peor tendr a que generar un arbol de regresi on con todos los atributos en cada rama y generar un modelo lineal por cada nodo del arbol. Despu es tiene que recorrer todos los modelos lineales para simplicarlos (lineal en el n umero de nodos del arbol, lo que es exponencial respecto al n umero de atributos), y volver a recorrer todos los nodos para eliminar o no el sub arbol por debajo de cada nodo (lineal en el n umero de nodos).

El sistema de clasicaci on descrito por el arbol de regresi on ser a able, al igual que los dem as m etodos inductivos, en tanto los ejemplos de entrenamiento sean representativos de los futuros y se elijan convenientemente los valores de y .

Control de la tarea aprendida Cr tica/utilidad/valoraci on: la forma de realizar una valoraci on interna de lo aprendido por m5 es a trav es del c alculo del error, que se puede realizar con un conjunto externo de instancias. Utilizacion de lo aprendido: la forma de utilizar lo aprendido consiste en llamar a un procedimiento clasificar con el ejemplo que se desee clasicar e y el arbol de regresi on R devuelto por el proceso de entrenamiento por la funci on m5. La funci on clasificar, aparece descrita por el algoritmo de la tabla 16. Si el nodo en el que se va a clasicar el ejemplo es hoja, se calcula la clase con el modelo lineal asociado a ese nodo. Si no, primero se encuentra el nodo sucesor que tiene el mismo valor del atributo por el que se subdivide el nodo que el ejemplo a clasicar e (la funci on valor atributo devuelve verdadero cuando encuentra el nodo). Una vez encontrado, se llama recursivamente a la funci on clasificar, que devolver a la clase. Este es el valor que deber a devolver el proceso normal de clasicaci on. Sin embargo, se puede mejorar el poder de clasicaci on si se suaviza esa clasicaci on teniendo en cuenta las clasicaciones basadas en los modelos lineales de cada nodo intermedio. Eso es lo que logra la f ormula matem atica que aparece en el algoritmo que tiene en cuenta la clasicaci on basada en el sub arbol de regresi on ca y la clasicaci on basada en el modelo lineal del nodo cm . Esa f ormula utiliza un par ametro k que es una entrada al algoritmo.5 Este proceso de suavizado se ha encontrado m as u til cuando los nodos hoja se han construido con pocos ejemplos y las clasicaciones dadas por esos modelos en los nodos hoja no estaban muy de acuerdo con las clasicaciones de los modelos lineales m as arriba en el arbol de regresi on.
Se han encontrado experimentalmente como buenos valores los valores cercanos a k = 15, pese a que no se ha estudiado en profundidad la sensibilidad a ese par ametro.
5

Funci on clasificar (e, R, k ): clase


e: ejemplo a clasicar R: arbol de regresi on k : par ametro

Si hijos(R) = Entonces Devolver clase-modelo-lineal(modelo-lineal(R),e) Si no a:=test(R) Por cada nodo hijo n hijos(R) Si valor-atributo(e, a,valor(n)) Entonces ca :=clasificar(n) sucesor:=n ne:=n umero-ejemplos(sucesor) cm :=clase-modelo-lineal(modelo-lineal(sucesor),e) a + k cm Devolver nec ne+k

Figura 16: Procedimiento clasificar.

Dependencia del conocimiento del dominio No utiliza m as conocimiento de dominio que la denici on de los atributos y posibles valores de cada atributo.

Variantes Como ya se mencion o en la introducci on, m5 est a basado en cart. Existen varias diferencias entre los dos sistemas entre las que cabe citar: cart utiliza la heur stica de elegir aquel atributo que maximiza la reducci on esperada en varianza o en desviaci on absoluta, en lugar de reducir el error esperado; y los nodos hoja en el caso de cart son valores concretos, mientras que en el caso del m5 son modelos lineales que aproximan la clase por un hiperplano.

Algunos autores han hecho estudios con variaciones del algoritmo, como, por ejemplo, el que aparece en el libro [?]. Otros sistemas generan tambi en clasicadores num ericos: redes de neuronas (cap tulo ??), bacon [?] que realiza b usquedas en el espacio de las f ormulas matem aticas que mejor se ajusten a un conjunto de observaciones dadas, o mars [?] que utiliza un esquema similar al m5 con splines para suavizar la predicci on.

Conclusiones En este cap tulo se ha tratado un m etodo que permite construir modelos de clasicaci on cuando las clases a predecir son num ericas. Est a basado en la ccombinaci on de la construcci on de arboles de decisi on y la regresi on lineal multivariante cl asica. Las dos principales ventajas que ofrece sobre otras t ecnicas, es que maneja clases num ericas y que la salida es m as entendible que otras t ecnicas num ericas (como las redes de neuronas), pero, a un as , los modelos de regresi on lineal no son tan entendibles como las reglas o arboles generados por id3. A un as , constituyen una herramienta muy u til para proporcionar salidas con clases cont nuas entendibles.

Bibliograf a
[Kononenko and Simec, 1995] I. Kononenko and E. Simec. Induction of decision trees using relie, 1995. [N un ez, 1991] Marlon N un ez. The use of background knowledge in decision tree induction. Machine Learning, 6:231250, 1991. [Quinlan, 1986] J. Ross Quinlan. Induction of decision trees. Machine Learning, 1(1):81106, 1986. [Quinlan, 1993] J. Ross Quinlan. C4.5: Programs for Machine Learning. Morgan Kaufmann, San Mateo, CA, 1993. [Schlimmer and Granger, 1986] Jeery C. Schlimmer and Richard H. Granger. Incremental learning from noisy data. Machine Learning, 1(3):317354, 1986. [Tan and Schlimmer, 1989] M. Tan and J.C. Schlimmer. Cost-sensitive concept learning of sensor use in approach recognition. In Proceedings of the Sixth International Workshop on Machine Learning, Ithaca, NY (USA), 1989. [Utgo, 1989] Paul E. Utgo. Incremental induction of decision trees. Machine Learning, 4(2):161186, November 1989.

41

Vous aimerez peut-être aussi