I S C I A: Lgoritmo

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 15

Inteligencia Artificial

Algoritmo c4.5

INGENIERA EN SISTEMAS COMPUTACIONALES INTELIGENCIA ARTIFICIAL

~ ALGORITMO C4.5 ~
ING. BRUNO LPEZ TAKEYAS
ALUMNOS:

Jos Antonio Espino Lpez Javier Eduardo Tijerina Flores Manuel Cedano Mendoza Eleazar de la Fuente Amaya Juan Jos Prez Gonzlez Anbal Chias Carballo

Nuevo Laredo, Tamaulipas, Noviembre del 2005


Instituto Tecnolgico de Nuevo Laredo

Pg. 1

Inteligencia Artificial

Algoritmo c4.5

NDICE INTRODUCCIN 3 3 3 3 4 4 5 5 5 6 6 7 8 9 9 10 13 13 13 13 14 15

LA FAMILIA TDIDT

CONSTRUCCIN DE LOS RBOLES DE DECISIN ALGORITMO C4.5 ORIGEN CARACTERSTICAS DEL ALGORITMO C4.5 HEURSTICA ATRIBUTOS MEJORAS DEL ALGORITMO C4.5
SOBREAJUSTE (OVERFITTING) POST PRUNNING (POST PODA) ESTRUCTURAS UTILIZADAS EN EL ALGORITMO C4.5

EJEMPLO APLICADO DE RBOL DE DECISIN ADAPTADO PARA C4.5 PSEUDOCODIGO DE C4.5

DIAGRAMA GENRICO DE ALGORITMO C4.5 ESTIMACIN DE LA PROPORCIN DE ERRORES PARA LOS RBOLES DE DECISIN CONSTRUCCIN DE UN RBOL DE DECISIN UTILIZANDO EL C4.5 APLICACIONES ALGORITMO C4.5
SIMULADOR PARA VOLAR UN AVIN CESSNA APRENDIZAJE EN LA WWW GRA DE EMBARCACIN SISTEMAS EXPERTOS

BIBLIOGRAFA

Instituto Tecnolgico de Nuevo Laredo

Pg. 2

Inteligencia Artificial

Algoritmo c4.5

INTRODUCCIN
LA FAMILIA TDIDT
La familia de los Top Down Induction Trees (TDIDT) pertenece a los mtodos inductivos del Aprendizaje Automtico que aprenden a partir de ejemplos preclasificados. En Minera de Datos, se utiliza para modelar las clasificaciones en los datos mediante rboles de decisin.

CONSTRUCCIN DE LOS RBOLES DE DECISIN


Los rboles TDIDT, a los cuales pertenecen los generados por el ID3 y pos el C4.5, se construyen a partir del mtodo de Hunt. El esqueleto de este mtodo para construir un rbol de decisin a partir de un conjunto T de datos de entrenamiento es muy simple. Sean las clases {C1, C2,. . ., Ck}. Existen tres posibilidades: 1. T contiene uno o ms casos, todos pertenecientes a una nica clase Cj: El rbol de decisin para T es una hoja identificando la clase Cj. 2. T no contiene ningn caso: El rbol de decisin es una hoja, pero la clase asociada debe ser determinada por informacin que no pertenece a T. Por ejemplo, una hoja puede escogerse de acuerdo a conocimientos de base del dominio, como ser la clase mayoritaria. 3. T contiene casos pertenecientes a varias clases: En este caso, la idea es refinar T en subconjuntos de casos que tiendan, o parezcan tender hacia una coleccin de casos pertenecientes a una nica clase. Se elige una prueba basada en un nico

ALGORITMO C4.5 ORIGEN


El algoritmo c4.5 fue desarrollado por JR Quinlan en 1993, como una extensin (mejora) del algoritmo ID3 que desarrollo en 1986.

Instituto Tecnolgico de Nuevo Laredo

Pg. 3

Inteligencia Artificial

Algoritmo c4.5

El algoritmo C4.5 genera un rbol de decisin a partir de los datos mediante particiones realizadas recursivamente. El rbol se construye mediante la estrategia de profundidad-primero (depth-first). El algoritmo considera todas las pruebas posibles que pueden dividir el conjunto de datos y selecciona la prueba que resulta en la mayor ganancia de informacin. Para cada atributo discreto, se considera una prueba con n resultados, siendo n el nmero de valores posibles que puede tomar el atributo. Para cada atributo continuo, se realiza una prueba binaria sobre cada uno de los valores que toma el atributo en los datos. En cada nodo, el sistema debe decidir cul prueba escoge para dividir los datos. Los tres tipos de pruebas posibles propuestas por el C4.5 son: La prueba "estndar" para las variables discretas, con un resultado y una rama para cada valor posible de la variable. Una prueba ms compleja, basada en una variable discreta, en donde los valores posibles son asignados a un nmero variable de grupos con un resultado posible para cada grupo, en lugar de para cada valor. Si una variable A tiene valores numricos continuos, se realiza una prueba binaria con resultados A <= Z y A > Z, para lo cual debe determinarse el valor lmite Z. Todas estas pruebas se evalan de la misma manera, mirando el resultado de la proporcin de ganancia, o alternativamente, el de la ganancia resultante de la divisin que producen. Ha sido til agregar una restriccin adicional: para cualquier divisin, al menos dos de los subconjuntos Ci deben contener un nmero razonable de casos. Esta restriccin, que evita las subdivisiones casi triviales, es tenida en cuenta solamente cuando el conjunto C es pequeo.

CARACTERSTICAS DEL ALGORITMO C4.5


Permite trabajar con valores continuos para los atributos, separando los posibles resultados en 2 ramas Ai<=N y Ai>N. Los rboles son menos frondosos, ya que cada hoja cubre una distribucin de clases no una clase en particular. Utiliza el mtodo "divide y vencers" para generar el rbol de decisin inicial a partir de un conjunto de datos de entrenamiento. Se basa en la utilizacin del criterio de proporcin de ganancia (gain ratio), definido como I(Xi,C)/H(Xi). De esta manera se consigue evitar que las variables con mayor nmero de posibles valores salgan beneficiadas en la seleccin. Es Recursivo.

HEURSTICA
Utiliza una tcnica conocida como Gain Ratio (proporcin de ganancia). Es una medida basada en informacin que considera diferentes nmeros (y diferentes probabilidades) de los resultados de las pruebas.

Instituto Tecnolgico de Nuevo Laredo

Pg. 4

Inteligencia Artificial

Algoritmo c4.5

ATRIBUTOS
Atributos de valores continuos: Inicialmente el algoritmo ID3 se plante para atributos que presentaban un nmero discreto de valores. Podemos fcilmente incorporar atributos con valores continuos, simplemente dividiendo estos valores en intervalos discretos, de forma que el atributo tendr siempre valores comprendidos en uno de estos intervalos. Medidas alternativas en la seleccin de atributos: Al utilizar la ganancia de informacin estamos introduciendo involuntariamente un sesgo que favorece a los atributos con muchos valores distintos. Debido a que dividen el conjunto de ejemplos en muchos subconjuntos, la ganancia de informacin es forzosamente alta. Sin embargo, estos atributos no son buenos predictores de la funcin objetivo para nuevos ejemplos. Una medida alternativa que se ha usado con xito es la "gain ratio". Atributos con valores perdidos: En ciertos casos existen atributos de los cuales conocemos su valor para algunos ejemplos, y para otros no. Por ejemplo una base de datos mdica en la que no a todos los pacientes se les ha practicado un anlisis de sangre. En estos casos lo ms comn es estimar el valor basndose en otros ejemplos de los que s conocemos el valor. Normalmente se fija la atencin en los dems ejemplos de ese mismo nodo. As, al ejemplo de valor desconocido se le da el valor que ms aparezca en los dems ejemplos. Atributos con pesos diferentes: En algunas tareas de aprendizaje los atributos pueden tener costes asociados. Por ejemplo, en una aplicacin mdica para diagnosticar enfermedades podemos tener atributos como temperatura, resultado de la biopsia, pulso, anlisis de sangre, etc., que varan significativamente en su coste, monetario y relativo a molestias para el paciente. Ventajas respecto al algoritmo ID3

MEJORAS DEL ALGORITMO C4.5


Evitar Sobreajuste de los datos. Determinar que tan profundo debe crecer el rbol de decisin. Reducir errores en la poda. Condicionar la Post-Poda. Manejar atributos continuos. Escoger un rango de medida apropiado. Manejo de datos de entrenamiento con valores faltantes. Manejar atributos con diferentes valores. Mejorar la eficiencia computacional.

SOBREAJUSTE (OVERFITTING) A medida que se aaden niveles AD, las hiptesis se refinan tanto que describen muy bien los ejemplos utilizados en el aprendizaje, pero el error de clasificacin puede aumentar al evaluar los ejemplos. Es decir, clasifica muy bien los datos de entrenamiento pero luego no sabe generalizar al conjunto de prueba. Es debido a que aprende hasta el ruido del conjunto de entrenamiento, adaptndose a las regularidades del conjunto de entrenamiento.
Instituto Tecnolgico de Nuevo Laredo

Pg. 5

Inteligencia Artificial

Algoritmo c4.5

Este efecto es, por supuesto, indeseado. Hay varias causas posibles para que esto ocurra. Las principales son: Exceso de ruido (lo que se traduce en nodos adicionales) Un conjunto de entrenamiento demasiado pequeo como para ser una muestra representativa de la verdadera funcin objetivo.

Hay varias estrategias para evitar el sobreajuste en los datos. Pueden ser agrupadas en dos clases: Estrategias que frenan el crecimiento del rbol antes de que llegue a clasificar perfectamente los ejemplos del conjunto de entrenamiento. Estrategias que permiten que el rbol crezca completamente, y despus realizan una poda.

POST PRUNNING (POST PODA) Es una variante de la poda y es usada por el C4.5. Consiste en una vez generado el rbol completo, plantearse qu es lo que se debe "podar" para mejorar el rendimiento y de paso obtener un rbol ms corto. Pero adems el C4.5 convierte el rbol a un conjunto de reglas antes de podarlo. Hay tres razones principales para hacer esto: Ayuda a distinguir entre los diferentes contextos en los que se usa un nodo de decisin, debido a que cada camino de la raz a una hoja se traduce en una regla distinta. Deja de existir la distincin entre nodos que estn cerca de la raz y los que estn lejos. As no hay problemas para reorganizar el rbol si se poda un nodo intermedio. Mejora la legibilidad. Las reglas suelen ser ms fciles de entender.

ESTRUCTURAS UTILIZADAS EN EL ALGORITMO C4.5


El C4.5 forma parte de la familia de los TDIDT (Top Down Induction Trees), junto con antecesor el ID3. El C4.5 se basa en el ID3, por lo tanto, la estructura principal de ambos mtodos es la misma. El C4.5 construye un rbol de decisin mediante el algoritmo "divide y vencers" y evala la informacin en cada caso utilizando los criterios de Entropa, Ganancia o proporcin de ganancia, segn sea el caso. Por otra parte, los rboles de decisin pueden entenderse como una representacin de los procesos involucrados en las tareas de clasificacin. Estn formados por: Nodos: Nombres o identificadores de los atributos. Ramas: Posibles valores del atributo asociado al nodo. Hojas: Conjuntos ya clasificados de ejemplos y etiquetados con el nombre de una clase.

Instituto Tecnolgico de Nuevo Laredo

Pg. 6

Inteligencia Artificial

Algoritmo c4.5

Raz

Rama NodoA NodoB

Set de posibles respuestas

Set de posibles respuestas

Ejemplo aplicado de rbol de Decisin adaptado para C4.5

Instituto Tecnolgico de Nuevo Laredo

Pg. 7

Inteligencia Artificial

Algoritmo c4.5

Outlook sunny sunny overcast rain rain rain overcast sunny sunny rain sunny overcast overcast rain

Temperature 85 80 83 70 68 65 64 72 69 75 75 72 81 71

Humidity 85 90 78 96 80 70 65 95 70 80 70 90 75 80

Windy false true false false false true true false false false true true false true

Play (positive) / Don't Play (negative) Don't Play Don't Play Play Play Play Don't Play Play Don't Play Play Play Play Play Play Don't Play

PSEUDOCODIGO DE C4.5
Funcin C4.5 R: conjunto de atributos no clasificadores, C: atributo clasificador, S: conjunto de entrenamiento, devuelve un rbol de decisin Comienzo Si S est vaco, Devolver un nico nodo con Valor Falla; para formar el nodo raiz Si todos los registros de S tienen el mismo valor para el atributo clasificador, Devolver un nico nodo con dicho valor; un unico nodo para todos Si R est vaco, Devolver un nico nodo con el valor ms frecuente del atributo Clasificador en los registros de S [Nota: habr errores, es decir, Registros que no estarn bien clasificados en este caso]; Si R no est vaco, D atributo con mayor Proporcin de Ganancia (D,S) entre los atributos de R; Sean {dj | j=1,2,...., m} los valores del atributo D; Sean {dj | j=1,2,...., m} los subconjuntos de S correspondientes a los valores de dj respectivamente; Devolver un rbol con la raz nombrada como D y con los arcos nombrados d1, d2,....,dm, que van respectivamente a los rboles C4.5(R-{D}, C, Sl), C4.5(R-{D}, C, S2), C4.5(R-{D}, C, Sm); Fin

Instituto Tecnolgico de Nuevo Laredo

Pg. 8

Inteligencia Artificial

Algoritmo c4.5

Diagrama genrico de algoritmo c4.5


Atributos: conjunto de atributos no clasificadores, C: atributo clasificador, Ejemplos: conjunto de ejemplos, devuelve un rbol de decisin

AtributoM atributo con mayor Proporcin de Ganancia(AtributoM,Ejemplos) entre los atributos de R; Devolver un rbol con la raz nombrada como AtributoM y con los arcos nombrados

C4.5(R-{D}, C, Sl), C4.5(R-{D}, C, S2), C4.5(R-{D}, C, Sm);

Estimacin de la Proporcin de Errores para los rboles de Decisin


Una vez podados, las hojas de los rboles de decisin generados por el C4.5 tendrn dos nmeros asociados: N y E. N es la cantidad de casos de entrenamiento cubiertos por la hoja, y E es la cantidad de errores predichos si un conjunto de N nuevos casos fuera clasificados por el rbol. La suma de los errores predichos en las hojas, dividido el nmero de casos de entrenamiento, es un estimador inmediato del error de un rbol podado sobre nuevos casos. El C4.5 es una extensin del ID3 que acaba con muchas de sus limitaciones. Por ejemplo, permite trabajar con valores continuos para los atributos, separando los posibles resultados en dos ramas: una para aquellos Ai<=N y otra para Ai>N. Adems, los rboles son menos frondosos porque cada hoja no cubre una clase en particular sino una distribucin de clases, lo cual los hace menos profundos y menos frondosos. Este algoritmo fue propuesto por Quinlan en 1993. El C4.5 genera un rbol de decisin a partir de los datos mediante particiones realizadas recursivamente, segn la estrategia de profundidad-primero (depth-first). Antes de cada particin de datos, el algoritmo considera todas las pruebas posibles que pueden dividir el conjunto de datos y selecciona la prueba que resulta en la mayor ganancia de informacin o en la mayor proporcin de ganancia de informacin. Para cada atributo discreto, se considera una prueba con n resultados, siendo n el nmero de valores posibles que puede tomar el atributo. Para cada atributo continuo, se realiza una prueba binaria sobre cada uno de los valores que toma el atributo en los datos.

Instituto Tecnolgico de Nuevo Laredo

Pg. 9

Inteligencia Artificial

Algoritmo c4.5

Construccin de un rbol de decisin utilizando el C4.5


Supongamos que queremos construir un rbol de decisin para los siguientes datos:
Estado Soleado Nublado Lluvia Lluvia Lluvia Nublado Soleado Soleado Lluvia Soleado Nublado Nublado Lluvia Humedad Alta Alta Alta Alta Normal Normal Normal Alta Normal Normal Normal Alta Normal Alta Viento Leve Fuerte Leve Leve Leve Fuerte Fuerte Leve Leve Leve Fuerte Fuerte Leve Fuerte Juego tenis No No Si Si Si No Si No Si Si Si Si Si Si

En este caso, la distribucin de datos para el atributo Estado es: Desconocido No 1 Si 0 Totales 1 Soleado 2 2 4 Nublado 0 4 4 Lluvia 1 4 5

Primero calculamos la entropa del conjunto. Recordemos que, como se explic en la seccin 4.4.2.2, no debemos tener en cuenta los atributos desconocidos. Entonces, trabajamos sobre un total de 13 casos, de los cuales 3 son positivos. Tendremos,

Calculamos ahora la entropa que tendran los conjuntos resultantes de la divisin de datos segn este atributo.

Ahora calculamos la ganancia resultante de dividir al subconjunto segn el atributo Estado, tendremos:

Instituto Tecnolgico de Nuevo Laredo

Pg. 10

Inteligencia Artificial

Algoritmo c4.5

Al calcular al informacin de la divisin, debemos tener en cuenta una categora extra para el valor desconocido para el atributo. La informacin de la divisin se calcula como:

Finalmente, calculamos la proporcin de ganancia.

De la misma manera en que calculamos la ganancia y la proporcin de ganancia para el caso anterior, calculamos para el atributo Humedad los siguientes valores: Ganancia=0.0746702 bits =0.0746702 bits Proporcin de ganancia

Para el caso del atributo Viento obtenemos los siguientes valores: Ganancia=0.00597769 bits Proporcin de ganancia =0.0060687 bits

Al igual que con el ID3, conviene dividir el conjunto segn el atributo Estado tanto si trabajamos con la ganancia como si trabajamos con la proporcin de ganancia. Al dividir los 14 casos para continuar con la construccin del rbol, los 13 casos para los que el valor de Estado es conocido, no presentan problemas y se reparten segn el valor de Estado. Mientras que el caso en que no se conoce el valor de Estado, se reparte entre los conjuntos que tienen Soleado, Nublado y Lluvia con los pesos 4/13, 4/16 y 5/13 respectivamente. Tomemos por ejemplo, la divisin de los datos para el valor Nublado del atributo Estado. Los datos que se tienen en cuenta en este caso son:
Estado Nublado Nublado Nublado Nublado Humedad Alta Alta Normal Alta Normal Viento Leve Leve Fuerte Fuerte Leve Juego tenis No Si Si Si Si Peso 4-13 1 1 1 1

La distribucin de datos para el atributo Humedad es:


No Si Totales Desconocido 0 0 0 Alta 0.3 2 2.3 Normal 0 2 2

Con estos datos obtenemos para la Humedad los siguientes valores: Ganancia=0.068 bits Proporcin de ganancia =0.068 bits

Instituto Tecnolgico de Nuevo Laredo

Pg. 11

Inteligencia Artificial

Algoritmo c4.5

Para el caso del atributo Viento obtenemos los siguientes valores: Ganancia=0.068 bits Proporcin de ganancia =0.068 bits En este caso, vemos que la divisin del conjunto de datos no ofrece ninguna mejora, por lo tanto, colapsamos el rbol a la hoja Si, que es la que mayor peso tiene. La cantidad de casos cubiertos por la hoja, es decir, el N asociado a la misma, es 4.3. Y la cantidad de casos cubiertos incorrectamente, o el E asociado a la hoja, por la hoja son 0.3. La figura 4.4 muestra un esquema de todos los pasos para la construccin del rbol de decisin en este caso. A continuacin se muestra el rbol obtenido.
Estado = Nublado: Si (4.3/0.3) Estado = Lluvia: Si (5.4/1.4) Estado = Soleado: Humedad = Alta: No (2.3) Humedad = Normal: Si (2.0)

Recordemos que el C4.5 analiza los errores predichos en cada uno de los subrboles y ramas del rbol generado para analizar si es conveniente simplificarlo. En este caso, el error total predicho para el rbol estar dado por:

Instituto Tecnolgico de Nuevo Laredo

Pg. 12

Inteligencia Artificial

Algoritmo c4.5

Ahora, calculamos el error total predicho de simplificar el rbol por la hoja Si:

El error predicho para el rbol simplificado es menor que el error predicho para el rbol generado. Entonces, el C4.5 poda el rbol a la siguiente hoja:
Si (14.0/5.76)

Aplicaciones algoritmo C4.5


Simulador Para Volar un Avin Cessna Los datos se obtuvieron de 3 pilotos experimentados. Haciendo un plan de vuelo asignado 30 veces. Cada accin del piloto creaba un ejemplo. Se usaron 90,000 ejemplos descritos por 20 atributos. Se uso C4.5 que genero un rbol y se convirti a C. Se insert en el simulador y logro volar. Los resultados fueron sorprendentes en el sentido de que aparte de aprender a volar a veces tomaba decisiones mejores que las de sus ``maestros'' Aprendizaje en la WWW WebWatcher es un sistema de ayuda de localizacin de informacin. Aprender las preferencias de un usuario. Se registra, cada vez que el usuario selecciona informacin de la pgina, o enlaces. Esta informacin est descrita por 530 atributos bolanos indicando si una palabra en particular aparece o no en el texto. Gra de embarcacin Manejar una gra (6 variables, 450,000 ejemplos)

Instituto Tecnolgico de Nuevo Laredo

Pg. 13

Inteligencia Artificial

Algoritmo c4.5

Imgenes de alta calidad generadas en tiempo real. Grficos 3D. Texturas fotogrficas obtenidas en el escenario real de trabajo. Informacin para el usuario y el instructor en pantalla. Secuencia de arranque y parada de la gra real. Estiba y desestiba en bodega con grapn. Trabajo con varios tipos de materiales, con diferentes densidades y comportamientos. Sistemas expertos Cine. Mecnica. Autos. Diagnostico medico.

Instituto Tecnolgico de Nuevo Laredo

Pg. 14

Inteligencia Artificial

Algoritmo c4.5

Bibliografa
Teora: http://www2.cs.uregina.ca/~dbd/cs831/notes/ml/dtrees/c4.5/tutorial.html http://www.cs.us.es/~delia/sia/html98-99/pag-alumnos/web2/con_teor.html http://ciberconta.unizar.es/Biblioteca/0007/arboles.html http://www.cis.temple.edu/~ingargio/cis587/readings/id3-c45.html http://www.usc.edu/dept/ancntr/Paris-in-LA/Analysis/c45.html http://www.sc.ehu.es/ccwbayes/docencia/mmcc/docs/t11arbolesslides.pdf Demos: http://www2.cs.uregina.ca/~hamilton/courses/831/notes/ml/dtrees/c4.5/tutorial.html

Instituto Tecnolgico de Nuevo Laredo

Pg. 15

También podría gustarte