I S C I A: Lgoritmo
I S C I A: Lgoritmo
I S C I A: Lgoritmo
Algoritmo c4.5
~ 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
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
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
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.
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.
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.
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
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.
Pg. 6
Inteligencia Artificial
Algoritmo c4.5
Raz
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
Pg. 8
Inteligencia Artificial
Algoritmo c4.5
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
Pg. 9
Inteligencia Artificial
Algoritmo c4.5
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:
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:
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
Con estos datos obtenemos para la Humedad los siguientes valores: Ganancia=0.068 bits Proporcin de ganancia =0.068 bits
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:
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)
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.
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
Pg. 15