P. 1
redes vs arboles

redes vs arboles

4.67

|Views: 1.146|Likes:
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
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

More info:

Published by: Programa Ingeniería de Sistemas on Mar 18, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

09/19/2014

pdf

text

original

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.

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 1 2 3 4 5 6 7 8 9 10 11 12 13 14

AMBIENTE soleado soleado nublado lluvioso lluvioso lluvioso nublado soleado soleado lluvioso soleado nublado nublado lluvioso

TEMPERATURA caliente caliente caliente moderada fría fría fría moderada fría moderada moderada moderada caliente moderada

HUMEDAD alta alta alta alta Normal Normal Normal alta Normal Normal Normal alta Normal alta

viento débil fuerte débil débil débil fuerte fuerte débil débil débil fuerte fuerte débil fuerte

Jugar tenis n n s s s n s n s s s s s n

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:

soleado 1 1 0 0 0 0
1

Ambiente nublado 0 0 1 0 0 0

lluvioso 0 0 0 1 1 1

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

0 1 1 0 1 0 0 0

1 0 0 0 0 1 1 0

0 0 0 1 0 0 0 1

alta 1 1 1 0 0 0 0 0 0 0 0 0 1 0

Temperatura moderada 0 0 0 1 0 0 0 1 0 1 1 1 0 1

baja 0 0 0 0 1 1 1 0 1 0 0 0 0 0

Humedad alta baja 1 0 1 0 1 0 1 0 0 1 0 1 0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0

Viento

fuerte 0 1 0 0 0 1 1 0 0 0 1 1 0 1

débil 1 0 1 1 1 0 0 1 1 1 0 0 1 0

Jugar Tenis 0 0 1 1 1 0 1 0 1 1 1 1 1 0

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

salida 0,0016799 -0,043144 10.221 0,927 0,99134 -0,0034466 0,98245 0,041324 0,99889 10,448 0,97676 0,96479 10,514 0,0066269

Jugar tenis 0 0 1 1 1 0 1 0 1 1 1 1 1 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.
Salida Deseada Simulada 0 0 0 0 1 1 1 1 1 1 0 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 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

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:

Salidas s 0 0 1 1 1 0 1 0 1 1 1 1 1 0 n 1 1 0 0 0 1 0 1 0 0 0 0 0 1

Entrenando de nuevo la red ahora con estos datos y con los mismos parámetros de entrenamiento se obtienen las siguientes salidas:

Salidas s 0 0 1 1 1 0 1 0 1 1 0 1 1 0 n 1 1 0 0 0 1 0 1 0 0 1 0 0 1

Salidas dato Deseada Simulada

1 2 3 4 5 6 7 8 9 10 11 12 13 14

s 0 0 1 1 1 0 1 0 1 1 1 1 1 0

n 1 1 0 0 0 1 0 1 0 0 0 0 0 1

S 0 0 1 1 1 0 1 0 1 1 0 1 1 0

n 1 1 0 0 0 1 0 1 0 0 1 0 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 características: 1) Hair 2) Feathers 3) Eggs 4) Milk 5) Airborne 6) Aquatic 7) Predator 8) Teeth 9) Backbone
2

los animales de acuerdo con las siguientes

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

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 los 50 datos de validación únicamente falló en 24.

con los datos de

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

3 4

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

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 activación purelin tansig logsig logsig purelin purelin purelin purelin

Numero de neuronas Iteraciones en la capa oculta 3 3 3 3

errores

Porcentaje de error

20000 20000 20000 40000

Entrenamiento Validación Entrenamiento Validación 5 15 9.8% 30.0% 5 12 9.8% 24.0% 5 12 9.8% 24.0% 5 12 9.8% 24.0%

purelin tansig logsig logsig purelin tansig logsig logsig

purelin purelin purelin purelin purelin purelin purelin purelin

4 4 4 4 5 5 5 5

20000 20000 20000 40000 20000 20000 20000 40000

2 2 34 4 1 4 2 1

17 11 11 8 12 9 12 9

3.9% 3.9% 66.7% 7.8% 2.0% 7.8% 3.9% 2.0%

34.0% 22.0% 22.0% 16.0% 24.0% 18.0% 24.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 error activació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 error activació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

Funciones de Numero de neuronas Iteraciones errores Porcentaje de error activacion 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. • 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.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->