Vous êtes sur la page 1sur 8

Artculo

Los rboles de decisin

ARTCULO

LOS ARBOLES DE DECISIN COMO ALTERNATIVA PARA LA AUTOMATIZACIN DE PROCESOS DE CLASIFICACIN


Por: Juan Jess Moncada Boln Felix Berzunza Saravia Jos Villasis Santos Jorge Moguel Dzul Jos Enrique Dzul Us Marcelo Rodrguez Caballero

Marzo de 1999 Modelo de clasificacin tambin conocido como ID3 que significa "induccin mediante rboles de decisin" que fue desarrollado por J. Ross Quinlan, capaz de tomar decisiones con gran precisin. Sistema de aprendizaje supervisado que aplica la estrategia "divide y vencers" para hacer la clasificacin, implementando mtodos y tcnicas para la realizacin de procesos inteligentes, representando as el conocimiento y el aprendizaje, con el propsito de automatizar tareas.

hecho tener mecanismos o procesos que se n la actualidad es ya comn or que la activan automticamente. palabra inteligente, o algn sinnimo Hasta la fecha la inteligencia no se ha podido de sta, se aplique a mquinas, sistemas, definir con exactitud, pero se puede decir que procesos y hasta a productos de uso es la facultad de entender o conocer, as pues domstico, dados a conocer en todo el mundo, y podemos entonces suponer que los procesos o cuyo origen se debe al surgimiento de la productos inteligentes son capaces de Inteligencia Artificial y de los Sistemas entender con qu cuentan y qu son capaces Expertos. La Inteligencia Artificial es una rama de lograr, es decir cmo de las ciencias reaccionan ante los La Inteligencia Artificial es una rama de computacionales que estmulos provenientes las ciencias computacionales que trata de trata de modelar el modelar el comportamiento humano por de su medio con base en comportamiento humano medio de la creacin de sistemas que sean la informacin que por medio de la creacin capaces de imitar la comprensin perciben. de sistemas que sean humana y que tambin sean capaces de Como ejemplo podemos capaces de imitar la aprender y reconocer mencionar un comprensin humana y limpiaparabrisas de un que tambin sean auto que se activa capaces de aprender y automticamente al percibir las primeras gotas reconocer. Entre las aplicaciones ms comunes de la lluvia; este proceso toma como entrada de esta ciencia podemos mencionar a las de informacin las gotas de la lluvia y en computadoras, los cajeros automticos, los consecuencia toma la "decisin" de activar el circuitos cerrados, los medicamentos, etc., los limpiaparabrisas. cuales son considerados "inteligentes" por el

Artculo

Los rboles de decisin

entradas objetos o situaciones que se A todo esto podemos decir que el ser humano ha caracterizan mediante un conjunto de puesto parte de su conocimiento a estos propiedades. El rbol proporciona como salida procesos o productos con el fin de automatizar una decisin que puede ser s o no, para las tareas de uso frecuente. funciones booleanas, aunque tambin es Por naturaleza el ser humano siempre se ha posible representar funciones con un mayor dedicado a buscar nuevas y mejores formas de rango de salidas. vida, ya sea para ahorrar tiempo, dinero, esfuerzo o simplemente para hacer mas cmoda La salida del algoritmo ID3 se representa su vida; avocndose a la investigacin y como un grafo en forma de rbol, cuyos procurando mejores alternativas de solucin a componentes son: sus problemas, implementando mtodos y Un nodo principal llamado raz en la parte tcnicas desarrollados por l mismo para la superior, de este realizacin de procesos nodo parten lneas inteligentes, representando Implementancin de mtodos y hacia otros nodos as el conocimiento y el tcnicas para la realizacin de inferiores, que a su aprendizaje, con el procesos inteligentes, representando vez, pueden hacer las propsito de automatizar as el conocimiento y el aprendizaje, veces de nodo raz. sus tareas. con el propsito de automatizar tareas Nodos terminales, como su nombre lo indica, son nodos Filosofia donde termina el flujo y que ya no son raz de ningn otro nodo. Estos nodos As, es J. Ross Quinlan quin primero present terminales deben contener una respuesta, o el "descubrimiento de reglas por induccin sea, la clasificacin a que pertenece el desde un gran nmero de ejemplos" y objeto que ha conducido hasta l. posteriormente desarroll el modelo ID3 que Los dems nodos representan preguntas significa induccin mediante rboles de con respecto al valor de uno de los decisin, que tambin es conocido como atributos. rboles de decisin. Las lneas representan las posibles respuestas que los atributos pueden tomar. El ID3 permite determinar el rbol de decisin mnimo, para un conjunto de objetos. Este rbol permite que la informacin se mantenga en forma organizada y entendible para cualquier persona, adems hace uso de una secuencia de preguntas, donde cada una de las preguntas es evaluada con el propsito de obtener la mejor respuesta posible. Este modelo es un algoritmo de aprendizaje inductivo, es decir, busca establecer leyes o principios generales sobre la base de la observacin de varios o todos los componentes de un conjunto o clase. Aplica la estrategia divide y vencers para hacer la clasificacin de los objetos y asociarlos a una clase, tomando en cuenta los valores de los atributos de los objetos. Un rbol de decisin toma como

Representacin de un rbol de decisin

Cada objeto se representa con una lista de valores el atributo y su valor, la cual constituye una descripcin conjuntiva de ese objeto. El objeto debe ser etiquetado con la clase a la que pertenece.

Artculo

Los rboles de decisin

La idea bsica del ID3 es de determinar, para un conjunto de ejemplos dado, el atributo ms importante, o sea, aquel que posea el mayor poder discriminatorio para dicho conjunto; ste atributo es usado para la clasificacin de la lista de objetos, basados en los valores asociados con l mismo. Despus de haber hecho la primera prueba de atributo, sta arrojar un resultado, el cual es en s mismo un nuevo problema de aprendizaje de rbol de decisin, con la diferencia que contar con menos ejemplos y un atributo menos, por lo que, cada atributo que se selecciona se descarta para la siguiente prueba. En este proceso de divisin se pueden presentar algunos casos especiales: Si existen objetos con clases diferentes, entonces para separarlos, se selecciona el que tenga la mayor informacin. Si los objetos restantes son todos de una sola clase, entonces los objetos se clasifican con esa clase. Si no quedan atributos, pero s objetos con sus respectivas clases, entonces hay problemas. Quiere decir que la descripcin de estos objetos es exactamente la misma hasta ese punto, pero su clasificacin es distinta. En este caso se dice que hay ambigedad en los datos. Tambin sucede cuando los atributos no proporcionan la suficiente informacin para describir completamente la situacin. Fundamentos El algoritmo ID3 se apoya en tcnicas matemticas y probabilsticas; introduce el concepto de entropa, la cual es una medida de incertidumbre o de desorden, y es usado para ayudar a decidir qu atributo debe ser el siguiente en seleccionarse. En general, un atributo que puede ayudar a discriminar ms objetos, tiende a reducir ms la entropa, y por tal motivo, debe ser seleccionado como un nodo de prueba o de seleccin para la siguiente subdivisin.

Para calcular la entropa de n clases se utiliza la formula:

Entropa ( S ) =
i =1

p log p
i 2

Donde S : es una coleccin de objetos Pi : es la probabilidad de los posibles valores i : las posibles respuestas de los objetos Para una muestra homognea la entropa es igual a 0, y por el contrario si la distribucin de objetos que pertenecen a una clase es la misma, entonces la entropa es igual a 1, o sea es la mxima incertidumbre. Si en el clculo de la entropa se presentara una proporcin 0.0, entonces se tomar la expresin 0 log2 0 como igual a 0. Tambin se introduce el concepto de ganancia de informacin, sta es una medida de discriminacin, un indicador del siguiente atributo a ser seleccionado para continuar con el proceso de divisin, discriminando el atributo seleccionado entre los dems atributos an no clasificados, y se calcula utilizando la formula:
GanInf ( S , A) = Entropa ( S )

vV ( A )

Sv S

Entropa ( Sv)

Donde S : es una coleccin de objetos A : son los atributos de los objetos V(A) : Conjunto de valores que A puede tomar Quinlan define el esquema del algoritmo ID3, el cual adopta los siguientes puntos: 1. Calcular la entropa para todas las clases. 2. Seleccionar el mejor atributo basado en la reduccin de la entropa. 3. Iterar hasta que todos los objetos sean clasificados.
3

Artculo

Los rboles de decisin

Diversos problemas pueden ser modelados y resueltos eficientemente con el uso de los rboles de decisin, para ello dichos problemas deben satisfacer las siguientes caractersticas: La descripcin de los objetos debe efectuarse en trminos de parejas, el atributo y su valor. Cada salida debe ser distinta, es decir, los nodos terminales deben contener una respuesta nica. Debe haber alternativas entre 2 o ms cosas, para hacer posible la clasificacin. El entrenamiento debe estar libre de errores, o sea, el problema a clasificar debe contener la informacin correcta, para que el resultado sea eficiente. El entrenamiento debe contener informacin suficiente para poder hacer la clasificacin.

Variable Ganancia de Informacin (Variable) Puntualidad y 1.56 - [4/7(1.5)+3/7(1.58)]=0.025 Asistencia Participacin 1.56 - [2/7(1.0)+3/7(1.58)+2/7(1.0)]=0.311 Aprovecham. 1.56 - [1/7(0)+2/7(1.0)+3/7(0.92)+1/7(0)=0.880

De donde:
Informacin de las clases: I(C) = 1.56
= 2/7 Exento = 3/7 Clase Final Extraordin ario = 2 / 7
I (2 7 , 3 7 , 2 7) = 2 7 log2 2 7 3 7 log2 3 7 2 7 log2 2 7 = 1.56

Puntualidad y Asistencia = {No asiste, Asiste}

PyA = No asiste
= 1/ 4 Exento = 2/4 NoAsiste Final Extraordin ario = 1 / 4
I (PyA = NoAsiste ) = I (1 4 , 2 4 ,1 4 ) = 1 4 log 2 1 4 2 4 log 2 2 4 1 4 log 2 1 4 = 1.50

Cabe mencionar que este modelo permite predecir qu actividad tomar sobre la base de la informacin que se tiene, adems posee una gran exactitud en su aplicacin. Para ejemplificar este modelo, presentaremos una tabla de registros y su correspondiente solucin en el rbol de decisin. Clasificacin de objetos mediante rboles de decisin mnimos
ATRIBUTOS
Alumno Puntualidad y Asistencia Participacin Aprovechamiento. Nota

PyA = Asiste
= 1/ 3 Exento = 1/ 3 AsisteFinal Extraordinario = 1 / 3
I (PyA = Asiste ) = I (1 3 ,1 3 ,1 3) = 1 3 log 2 1 3 1 3 log 2 1 3 1 3 log 2 1 3 = 1.58

1 2 3 4 5 6 7

No asiste Asiste No asiste No asiste Asiste Asiste No asiste

Media Alta Media Baja Alta Baja Media

Excelente Bueno Bueno Bueno Regular Deficiente Regular

Exento Exento Final Final Final Extraordinario Extraordinario

Participacin = {Baja, Media, Alta}

Part. = Baja
= 0/2 Exento Baja Final = 1/ 2 Extraordin ario = 1 / 2
I (Part = Baja ) = I (0 2 ,1 2 ,1 2 ) = 0 2 log 2 0 2 1 2 log 2 1 2 1 2 log 2 1 2 = 1.0

La rama del rbol ms larga puede tener a lo mucho n preguntas, donde n es el nmero de atributos. Se obtiene la ganancia de informacin de cada atributo

Part. = Media

Artculo

Los rboles de decisin

= 1/ 3 Exento Media Final = 1/ 3 Extraordin ario = 1 / 3


I ( Part . = Media ) = I (1 3 ,1 3 ,1 3) = 1 3 log 2 1 3 1 3 log 2 1 3 1 3 log 2 1 3 = 1.58

Tomando todos estos datos y calculando la ganancia de informacin de todos los atributos, nos damos cuenta que el atributo "Aprovechamiento" es el mejor atributo, dado que posee la mayor ganancia de informacin, de tal manera que se selecciona como un nodo de prueba. Quedando el rbol de la siguiente manera:
Aprovechamiento Deficiente Regular Bueno Exento Excelente

Part. = Alta
= 1/ 2 Exento Alta Final = 1/ 2 Extraordin ario = 0 / 2

I (Part = Alta ) = I (1 2 , 1 2 , 0 2 ) Extraordinario = 1 2 log 2 1 2 1 2 log 2 1 2 0 2 log 2 0 2 = 1 .0

Aprovechamiento = {Deficiente, Regular, Bueno, Excelente}

Aprovech.= Deficiente
= 0 /1 Exento Deficiente Final = 0 /1 Extraordin ario = 1 / 1

I ( Aprovech . = Deficiente ) = I (0 1 , 0 1 ,1 1) = 0 1 log 2 0 1 0 1 log 2 0 1 1 1 log 2 1 1 = 0 .0

Como los valores de "Bueno" y "Regular" todava no llegan a una respuesta, se necesita realizar de nuevo el clculo para ellos, pero ahora solo tomando los atributos "Puntualidad y Asistencia" y "Participacin", discriminando al atributo "Aprovechamiento" porque ya ha sido tomado como prueba. Entonces para "Aprovechamiento=Bueno" se tiene:
Variable Ganancia de Informacin (Variable) Puntualidad y 0.92 - [2/3(0)+1/3(0)]=0.92 Asistencia Participacin 0.92 - [1/3(0)+1/3(0)+1/3(0)]=0.92

Aprovech.= Regular
= 0/2 Exento R egular Final = 1/ 2 Extraordin ario = 1 / 2
.

I ( Aprovech . = R egular) = I (0 2,1 2 ,1 2) = 0 2 log2 0 2 1 2 log2 1 2 1 2 log2 1 2 = 1.0


.

Aprovech.= Bueno
= 1/ 3 Exento = 2/3 Bu eno Final Extraordinario = 0 / 3
.

Informacin de la clase: I(C) = 0.92

Exento Bueno Final

= 1/ 3 = 2/3

I ( Aprovech. = Bueno ) = I (1 3 , 2 3 , 0 3) = 1 3 log 2 1 3 2 3 log 2 2 3 0 3 log 2 0 3 = 0.92

I (1 3, 2 3) = 1 3log2 1 3 2 3log2 2 3 = 0.92


Puntualidad y Asistencia = {No asiste, Asiste}

Aprovech.= Excelente
= 1/1 Exento Excelente Final = 0 /1 Extraordin ario = 0 / 1
I ( Aprovech. = Excelente ) = I (1 1, 0 1, 0 1) = 1 1log 2 1 1 0 1log 2 0 1 0 1log 2 0 1 = 0.0

PyA = No asiste

I (PyA = NoAsiste ) = I (0 2 , 2 2 ) = 0 2 log 2 0 2 2 2 log 2 2 2 = 0.0

Exento NoAsiste Final

= 0/2 = 2/2

Artculo

Los rboles de decisin

PyA = Asiste

Exento Asiste Final

= 1/1 = 0 /1
2

Aprovechamiento Deficiente Regular


0 1 = 0 .0

Excelente Bueno Exento

I (PyA = Asiste ) = I (1 1 , 0 1 ) = 1 1 log 2 1 1 0 1 log

Extraordinario

Participacin = {Alta, Media, Baja} Punt. y Asist.


= 0 /1 = 1/1

Part. = Baja
Exento Baja Final

Punt. y Asist. No Asiste

No

Asiste

I (Part . = Baja ) = I (0 1 , 1 1) = 0 1 log 2 0 1 1 1 log 2 1 1 = 0.0


Part. = Media
Exento Media Final = 0 /1 = 1/1

Extraordinario

Final

Final

Exento

I (Part . = Media ) = I (0 1 , 1 1) = 0 1 log 2 0 1 1 1 log 2 1 1 = 0.0


Part. = Alta
Exento Alta Final = 1/1 = 0 /1

I (Part . = Alta ) = I (1 1 , 0 1) = 1 1 log 2 1 1 0 1 log 2 0 1 = 0.0

Implementamos este algoritmo para el reconocimiento ptico de caracteres. Dicha implementacin ser capaz de reconocer, dado un conjunto de entrenamiento y dado un dibujo del cdigo utilizado (P, Q, R, S, T, 1, 0). Realizado en el lenguaje de programacin C. La realizacin de la biblioteca encargada de implementar un clasificador basado en rboles de decisin, fue dividido en 2 etapas: Aprendizaje: Generada en base a un archivo de entrenamiento que contiene la siguiente informacin: Comentarios, identificados con el smbolo #. Encabezados que determinan cada bloque; encerrados entre [ ]. Cadenas que dado el bloque, es la informacin a guardar. De este archivo, se obtiene la informacin mediante listas circulares, a la que posteriormente se realiza un volcado a una estructura capaz de almacenar la informacin en un formato donde se pueda manipular la informacin.

Observando los resultados obtenidos, vemos que la ganancia de informacin de los 2 atributos Puntualidad y Asistencia y Participacin es 0.0 para ambos casos, por tal motivo la seleccin del nodo pregunta puede ser cualquiera de ellos. Observamos, haciendo una rpida revisin para Aprovechamiento=Regular, que tambin toma los mismos datos, por lo que, por convencin tomamos el atributo Puntualidad y Asistencia como nodo pregunta.

Hasta ah donde concluye el rbol de decisin, quedando de la siguiente manera:

Artculo

Los rboles de decisin

Ejemplo de archivo de entrenamiento:


# Ejemplo de formato # (comentario) [Atributos] PuntualidadAsistencia Participacion Aprovechamiento [Clases] Nota [Objetos] NoAsiste Medio Asiste Alto NoAsiste Medio Asiste Bajo Asiste Alto Asiste Bajo Extraordinario NoAsiste Medio Extraordinario Excelente Bueno Bueno Bueno Regular Deficiente Regular Exento Exento Final Final Final

Valores hace uso de un arreglo de

arreglos de punteros a cadenas para almacenar el posible valor que puede tomar el atributo. Una vez creada la estructura informativa del conjunto de aprendizaje, se procede a cambiar la tabla de aprendizaje, dada en cadenas por una tabla de las mismas dimensiones pero de enteros, para su manipulacin en la creacin del rbol de decisin. A partir del conjunto de aprendizaje se aplica el algoritmo ID3, en la cual se proporcionan vectores de columnas y vectores de renglones, as como la tabla numrica, la tabla informativa y el nodo a crear, para as crear el rbol de decisin mnimo. El algoritmo ID3 es esencialmente recursivo y hace uso de una estructura especial para crear rboles con n ramas posibles. Para sealar los ejemplos y los atributos que se utilizan en dicho algoritmo:
struct NodoArbol { enum { PREGUNTA, CLASE, } Tipo; int Cual; int TotalRespuestas; struct NodoArbol **Respuestas; };

# Fin de los datos

Definicin de la estructura para almacenar la informacin struct Informacion { int TotalAtributos; int TotalEjemplos; char **Encabezados; char **TotalValores; char ***Valores; }; Esta estructura almacena en sus variables TotalAtributos y TotalEjemplos el nmero de atributos utilizados por el conjunto de aprendizaje y el nmero de vectores de aprendizaje respectivamente. Dentro de la variable Encabezados, se us un arreglo dinmico de punteros a cadenas, tomando en cuenta el nmero de atributos y la clase para crear el mismo, en la cual se almacenan los encabezados de la tabla de aprendizaje. La variable TotalValores, es un arreglo dinmico de enteros, en la que se almacena el total de valores posibles que puede tomar un atributo. La variable

En donde la variable Tipo identifica el tipo de nodo, ya sea PREGUNTA o CLASE. La variable Cual indica el ndice de valor dado para esa pregunta. La variable TotalRespuestas guarda el nmero de ramas existentes para la pregunta y la variable Respuestas guarda un arreglo de tamao TotalRespuestas de apuntadores a estructuras de NodoArbol.

Artculo

Los rboles de decisin

Cabe mencionar que una vez creado el rbol, este se registra en 2 formatos, uno legible, adecuado para seguir dicha estructura y uno ilegible utilizado para su posterior lectura en la etapa de clasificacin. Clasificacin: En esta etapa se crea la estructura informativa y el rbol generado a partir del conjunto de aprendizaje. El clasificador se encargar dado un vector de tamao TotalAtributos de cadenas de convertirlo a un vector numrico que es proporcionado al clasificador, que haciendo uso del rbol generado, devuelve un ndice que indica la clase respuesta. Cabe mencionar que si dentro del conjunto de aprendizaje, alguna rama no tiene respuesta el clasificador devuelve el valor de 1. En conclusin se puede decir que el rbol de decisin guarda las siguientes caractersticas:

Facilita la interpretacin de la decisin a tomar. Explica el comportamiento de una tarea de decisin. Proporciona un alto grado de comprensin del conocimiento, utilizado en la toma de decisiones. Posee una gran precisin para la clasificacin.

Este sistema de aprendizaje, debe tener la capacidad de sortear problemas que afectan su desempeo y resulta de vital importancia el uso de variables cuantitativas, utilizadas en el mundo real para una clasificacin trivial.

REFERENCIAS

INTELIGENCIA ARTIFICIAL: UN ENFOQUE PRACTICO RUSSELL GRAN DICCIONARIO ENCICLOPEDICO ILUSTRADO Selecciones del Readers Digest http://www.pvv.unit.no/hgs/project/report/node36.html http://www.ai.bpa.arizona.edu/papers/mlir93/subsection3_7_1.html http://www.cis.temple.edu/ingargio/cis587/readings/id3-C45.html

Vous aimerez peut-être aussi