redes vs arboles

17
FUNDACION UNIVERSITARIA KONRAD LORENZ TRABAJO FINAL DE SISTEMAS BASADOS EN EL CONOCIMIENTO 2 PREVYS RENGIFO RENGIFO DOCENTE DIEGO ALEJANDRO ESPITIA VILLALOBOS 643003 MATEMATICAS

description

Trabajo final presentado por Diego Alejandro Espitia en el Curso Sistemas Basados en el Conocimiento II. Facultad de Matemáticas e Ingenierías. Fundación Universitaria Konrad Lorenz

Transcript of redes vs arboles

Page 1: redes vs arboles

FUNDACION UNIVERSITARIA KONRAD LORENZ

TRABAJO FINAL DE SISTEMAS BASADOS EN EL

CONOCIMIENTO 2

PREVYS RENGIFO RENGIFO

DOCENTE

DIEGO ALEJANDRO ESPITIA VILLALOBOS

643003

MATEMATICAS

Bogotá D.C. 3 de Diciembre de 2007.

Page 2: redes vs arboles

REDES NEURONALES vs. ÁRBOLES DE DESICION

El propósito del presente trabajo es observar, estudiar y analizar como se

comporta una red neuronal frente a un problema de asignación de reglas, cómo

trabaja sabiendo que las redes se utilizan principalmente para problemas de

clasificación. Para esto se proceder a estudiar dos ejemplos: uno con pocos

datos relativamente sencillo de trabajar y el otro con muchos más datos y datos

de validación para determinar si la red efectivamente está aprendiendo y está

aprendiendo las reglas de fondo o si por el contrario simplemente está

“memorizando” la información presentada.

El primer problema es el siguiente:

Se desea construir un árbol de decisión que permita determinar si se juega o

no tenis, a partir del valor de los atributos: Ambiente, Temperatura, Humedad y

Viento, teniendo en cuenta que se han observado y registrado los siguientes

casos:

PATRON AMBIENTE TEMPERATURA HUMEDAD viento Jugar tenis1 soleado caliente alta débil n2 soleado caliente alta fuerte n3 nublado caliente alta débil s4 lluvioso moderada alta débil s5 lluvioso fría Normal débil s6 lluvioso fría Normal fuerte n7 nublado fría Normal fuerte s8 soleado moderada alta débil n9 soleado fría Normal débil s

10 lluvioso moderada Normal débil s11 soleado moderada Normal fuerte s12 nublado moderada alta fuerte s13 nublado caliente Normal débil s14 lluvioso moderada alta fuerte n

Page 3: redes vs arboles

El cual, mediante el método de construcción del árbol de decisión ha

presentado el siguiente resultado:1

Es decir, que los datos presentados fueron reducidos a 5 reglas de decisión

que son:

1) SI AMBIENTE =SOLEADO Y HUMEDAD=ALTA, ENTONCES NO JUGAR TENIS.

2) SI AMBIENTE =SOLEADO Y HUMEDAD=NORMAL, ENTONCES SI JUGAR TENIS.

3) SI AMBIENTE =NUBLADO, ENTONCES SI JUGAR TENIS.

4) SI AMBIENTE =LLUVIOSO Y VIENTO=FUERTE, ENTONCES NO JUGAR TENIS.

5) SI AMBIENTE =LLUVIOSO Y VIENTO=DEBIL, ENTONCES SI JUGAR TENIS.

Lo cual es una ganancia significativa en cuanto a que para tomar nuevas

decisiones simplemente se debe seguir las reglas.

Para la red neuronal se ha decidido realizar la siguiente codificación de los

datos:

Ambientesoleado nublado lluvioso

1 0 01 0 00 1 00 0 10 0 10 0 1

1 Árbol realizado con el applet de http://www.cs.ubc.ca/nest/lci/CIspace/Version4/dTree/.

Page 4: redes vs arboles

0 1 01 0 01 0 00 0 11 0 00 1 00 1 00 0 1

Temperaturaalta moderada baja1 0 01 0 01 0 00 1 00 0 10 0 10 0 10 1 00 0 10 1 00 1 00 1 01 0 00 1 0

Humedadalta baja1 01 01 01 00 10 10 11 00 10 10 11 00 11 0

Viento

Page 5: redes vs arboles

fuerte débil0 11 00 10 10 11 01 00 10 10 11 01 00 11 0

Jugar Tenis00111010111110

Donde 1 significa que se presenta el atributo y 0 que no se presenta; además,

para la decisión de Jugar Tenis se ha decidido que 1 significa que se juega

tenis y 0 que la decisión es que no se debe jugar.

Primero se ha decidido utilizar una red que consta de 1 capa oculta formada

por 3 neuronas y una sola neurona de salida; la función de activación que se

utilizó para la primera capa es la función logística y la función para la segunda

capa es la función identidad; la red se entrenó con el método del gradiente y se

han producido las siguientes salidas:

simulada

Page 6: redes vs arboles

salida Jugar tenis0,0016799 0-0,043144 0

10.221 10,927 1

0,99134 1-0,0034466 0

0,98245 10,041324 00,99889 110,448 1

0,97676 10,96479 110,514 1

0,0066269 0

Los resultados obtenidos por la red son los presentados al lado izquierdo de la

anterior tabla, mientras que los datos del lado derecho se han hecho según la

siguiente regla:

Si el valor presentado por la red es menor que 0.5 entonces la decisión es 0, en

caso contrario la decisión es 1.

SalidaDeseada Simulada

0 00 01 11 11 10 01 10 01 11 11 11 11 10 0

Si se observa las tablas de la salida esperada y de la salida obtenida, se ve

que la red ha encontrado satisfactoriamente todos los resultados;

desgraciadamente, como el ejemplo posee pocos datos no se puede hacer

algún tipo de validación de los resultados obtenidos, es decir que no se puede

verificar si la red efectivamente extrajo los patrones que poseen estos datos o

Page 7: redes vs arboles

si los memorizo. Sin embargo, se puede observar en un primer intento de hacer

que una red reemplace a un árbol de decisión se ha logrado.

Ahora se presenta el problema de entrenar la red con 2 neuronas de salida, por

lo cual estos datos se han clasificado de la siguiente manera:

Salidass n0 10 11 01 01 00 11 00 11 01 01 01 01 00 1

Entrenando de nuevo la red ahora con estos datos y con los mismos

parámetros de entrenamiento se obtienen las siguientes salidas:

Salidass n0 10 11 01 01 00 11 00 11 01 00 11 01 00 1

Salidasdato Deseada Simulada

Page 8: redes vs arboles

  s n S n1 0 1 0 12 0 1 0 13 1 0 1 04 1 0 1 05 1 0 1 06 0 1 0 17 1 0 1 08 0 1 0 19 1 0 1 0

10 1 0 1 011 1 0 0 112 1 0 1 013 1 0 1 014 0 1 0 1

Si se observa la tabla se podrá ver que en el dato numero 11 la red no clasifico

bien la información presentada, por lo tanto se puede pensar que al cambiar los

datos de espacio, el problema se complica para la red y no le permite procesar

debidamente esta información y llegar a una respuesta adecuada.

Se debe entonces analizar que tal se comporta una red si el problema es más

complejo.

Se presenta ahora el siguiente problema2:

Se desea clasificar de 1 a 7 los animales de acuerdo con las siguientes

características:

1) Hair

2) Feathers

3) Eggs

4) Milk

5) Airborne

6) Aquatic

7) Predator

8) Teeth

9) Backbone

2 Tomado de http://www.cs.ubc.ca/nest/lci/CIspace/Version4/dTree/

Page 9: redes vs arboles

10)Breathes

11)Venemous

12)Fins

13)Legs

14)Tails

15)Domestic

16)Catsize

Atributos que se clasifican como 1 si poseen esa característica o 0 si no la

poseen, aunque el atributo 13 se clasifica con el número de patas que posea el

animal (p.e.: 2 si es bípedo, 4 si es cuadrúpedo, etc.).

Los datos que se presentan son 51 de entrenamiento y 50 de validación. Como

en el primer ejemplo al generar el árbol de decisión con el método de ganancia

de información se obtuvo la siguiente respuesta3:

Al comprobar como se comporta el árbol de decisión con los datos de

validación se obtiene que la efectividad de éste fue de 96%, es decir, que de

los 50 datos de validación únicamente falló en 24.

3 Árbol generado con el applet de la página http://www.cs.ubc.ca/nest/lci/CIspace/Version4/dTree/ 4 Resultados obtenidos de la página http://www.cs.ubc.ca/nest/lci/CIspace/Version4/dTree/

Page 10: redes vs arboles

Para resolver este problema por medio de redes neuronales se ha decidido

entrenarlas por medio de MatLab de manera análoga al ejemplo anterior, con el

método de entrenamiento del gradiente mejorado (traingda) debido a que al

entrenar la red con el método trainlm se obtiene el error de que la matriz de

entrada de los datos esta mal condicionada, es decir que es casi singular.

Se obtuvieron los siguientes resultados:

Red Neuronal con entradas discretas (0 o 1) y 7 neuronas en la capa de

salida con valor discreto (0 o 1).

Funciones de Numero de neuronas Iteraciones errores Porcentaje de error activación

  en la capa oculta   Entrenamiento Validación Entrenamiento Validaciónpurelin purelin 3 20000 5 15 9.8% 30.0%tansig purelin 3 20000 5 12 9.8% 24.0%logsig purelin 3 20000 5 12 9.8% 24.0%logsig purelin 3 40000 5 12 9.8% 24.0%

Page 11: redes vs arboles

purelin purelin 4 20000 2 17 3.9% 34.0%tansig purelin 4 20000 2 11 3.9% 22.0%logsig purelin 4 20000 34 11 66.7% 22.0%logsig purelin 4 40000 4 8 7.8% 16.0%purelin purelin 5 20000 1 12 2.0% 24.0%tansig purelin 5 20000 4 9 7.8% 18.0%logsig purelin 5 20000 2 12 3.9% 24.0%logsig purelin 5 40000 1 9 2.0% 18.0%

Red Neuronal con entradas continúas y una neurona en la capa de

salida con valor continuo.

Funciones de Numero de neuronas Iteraciones errores Porcentaje de erroractivación en la capa oculta   Entrenamiento Validación Entrenamiento Validación

purelin purelin 2 20000 2 12 3.9% 24.0%tansig purelin 2 20000 0 13 0.0% 26.0%logsig purelin 2 20000 0 14 0.0% 28.0%logsig purelin 2 40000 0 11 0.0% 22.0%purelin purelin 3 20000 2 14 3.9% 28.0%tansig purelin 3 20000 0 13 0.0% 26.0%logsig purelin 3 20000 0 7 0.0% 14.0%logsig purelin 3 40000 0 12 0.0% 24.0%purelin purelin 4 20000 2 12 3.9% 24.0%tansig purelin 4 20000 0 10 0.0% 20.0%logsig purelin 4 20000 0 12 0.0% 24.0%logsig purelin 4 40000 0 12 0.0% 24.0%

Red Neuronal con entradas continuas, 7 neuronas en la capa de salida

con valor discreto (0 o 1).

Funciones de Numero de neuronas Iteraciones errores Porcentaje de erroractivación en la capa oculta   Entrenamiento Validación Entrenamiento Validación

purelin purelin 3 20000 5 12 9.8% 24.0%tansig purelin 3 20000 10 17 19.6% 34.0%logsig purelin 3 20000 9 16 17.6% 32.0%purelin purelin 4 20000 2 13 3.9% 26.0%tansig purelin 4 20000 2 12 3.9% 24.0%logsig purelin 4 20000 2 13 3.9% 26.0%purelin purelin 5 20000 1 11 2.0% 22.0%tansig purelin 5 20000 1 12 2.0% 24.0%logsig purelin 5 20000 1 11 2.0% 22.0%

Red neuronal con entradas discretas y una neurona en la capa de salida

Page 12: redes vs arboles

Funciones de Numero de neuronas Iteraciones errores Porcentaje de erroractivacion en la capa oculta   Entrenamiento Validación Entrenamiento Validación

purelin purelin 3 20000 2 12 3.9% 24.0%tansig purelin 3 20000 0 11 0.0% 22.0%logsig purelin 3 20000 0 9 0.0% 18.0%log sig purelin 3 40000 0 13 0.0% 26.0%purelin purelin 4 20000 2 12 3.9% 24.0%tansig purelin 4 20000 0 10 0.0% 20.0%logsig purelin 4 20000 0 12 0.0% 24.0%purelin purelin 5 20000 2 12 3.9% 24.0%tansig purelin 5 20000 0 10 0.0% 20.0%logsig purelin 5 20000 0 10 0.0% 20.0%loigsig purelin 5 40000 0 5 0.0% 10.0%

Como se observa en las anteriores tablas el modelo que mejor se aproxima a la

inferencia hecha por el árbol de decisión es cuando se entrena la red con

valores discretos y salida continua, con 5 neuronas en la capa oculta y con

funciones de activación logsig y purelin; sin embargo, se observa también que

el error de los datos de validación con el árbol de decisión es menor que el

error obtenido por el método de la red, aunque la diferencia no es muy grande,

lo cual sugiere que si se realizan más iteraciones o se aumenta el número de

capas ocultas de la red puede que se obtenga un error aún más pequeño.

Conclusiones

Aunque no se puede generalizar los resultados obtenidos en los

anteriores ejemplos, se puede percibir que mediante una red neuronal

es posible aproximar la salida producida mediante un árbol de decisión

de una manera exitosa siempre y cuando el problema sea relativamente

sencillo.

Cuando el problema que se trabaja es complejo se puede encontrar una

red que aproxime adecuadamente la inferencia realizada por el árbol de

decisión, y si bien no siempre se podrá encontrar una red que no deje

errores, si existe la probabilidad de que exista una red que por lo menos

iguale el error cometido por el árbol.

Page 13: redes vs arboles

Al observar los errores generados por las redes neuronales se puede ver

que se obtienen los errores más pequeños cuando las salidas son

continuas que cuando son discretas; por lo tanto, en algunas ocasiones

el trasladar los datos del espacio en que se encuentran a uno de mayor

dimensión puede provocar que el problema se vuelva mas complicado

de resolver para la red, debido a que , si bien se tiene mayor libertad, se

debe ahora entrenar la red para que se acomode a una mayor cantidad

de restricciones; luego, debe hacerse esta transformación siempre y

cuando se esté suficientemente seguro que en este espacio el problema

se facilitará y por consiguiente la solución se obtendrá de una manera

más sencilla.