27
Desarrollo de una Herramienta Computacional de Programación Genética Aplicada a la Regresión Simbólica Pervys Rengifo Leonardo Jiménez Noviembre 16 de 2006 F. U. K. L. FUNDACIÓN UNIVERSITARIA KONRAD LORENZ FACULTAD DE MATEMÁTICAS E INGENIERÍAS PROGRAMA DE INGENIERÍA DE SISTEMAS GRUPO DE INVESTIGACIÓN EN INTELIGENCIA COMPUTACIONAL- PROMENTE LÍNEA DE INVESTIGACIÓN: SISTEMAS COMPUTACIONALES BIOINSPIRADOS

REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD LORENZ -FUKL

Embed Size (px)

DESCRIPTION

ESTA PRESENTACIÓN SE PREPARÓ COMO PARTE DE UNA JORNADA DE SOCIALIZACIÓN DE LOS RESULTADOS DEL PROCESOS INVESTIGATIVO REALIZADO EN EL PROGRAMA DE INGENIERÍA DE SISTEMAS DE LA FUNDACIÓN UNIVERSITARIA KONRAD LORENZ

Citation preview

Page 1: REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD  LORENZ -FUKL

Desarrollo de una Herramienta Computacional de Programación Genética Aplicada a la Regresión

Simbólica

Pervys Rengifo

Leonardo Jiménez

Noviembre 16 de 2006

F. U. K. L.

FUNDACIÓN UNIVERSITARIA KONRAD LORENZFACULTAD DE MATEMÁTICAS E INGENIERÍAS

PROGRAMA DE INGENIERÍA DE SISTEMAS

GRUPO DE INVESTIGACIÓN EN INTELIGENCIA COMPUTACIONAL-PROMENTE

LÍNEA DE INVESTIGACIÓN: SISTEMAS COMPUTACIONALES BIOINSPIRADOS

Page 4: REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD  LORENZ -FUKL

La Regresión

¿Cómo evidenciar las relaciones que existen entre una variable dependiente (Y) y una o más variables independientes (X1, ... , Xn)?

¿Cómo evidenciar las relaciones que existen entre una variable dependiente (Y) y una o más variables independientes (X1, ... , Xn)?

Para:PredecirPronosticarConocerControlar

Para:PredecirPronosticarConocerControlar

X Y

-2.83308301 -0.26250423-2.81140506 -0.25047367-2.79015438 -0.25249567

... ...-1.20842096 -0.33939681-1.15769186 -0.43758607-1.12866135 -0.41101900-1.12594982 -0.41997381-0.99460309 -0.42000773-0.83890773 -0.48780787-0.83662124 -0.40463053-0.81536601 -0.43173314-0.80970794 -0.42229634-0.78491938 -0.43632888-0.78422673 -0.42490195-0.77738345 -0.45909481-0.76852811 -0.45325278

... ...

Base de DatosBase de Datos

Page 5: REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD  LORENZ -FUKL

Solución Clásica: Regresión Numérica

Debido a simplicidad analítica, la forma funcional que más se utiliza

en la práctica son funciones lineales o linealizables

Ye=b0+b1F1(X)+...+bnFn(X)Ye=b0+b1F1(X)+...+bnFn(X)

Se postula una relación funcional entre las variables

Lineal

Polinómica

Logarítmica

Exponencial

Potencial

Logística...

La regresión clásica se limita a calcular los coeficientes a la relación

funcional propuesta (optimización numérica)

Ej:

Page 6: REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD  LORENZ -FUKL

Inconvenientes del Enfoque Clásico

Formas muy limitadas de la relación funcional.

La estructura de la relación funcional es fijada a priori.

No facilita el descubrimiento de la verdadera estructura

funcional de la relación entre las variables.

Los conocimientos y habilidades que exige su aplicación

No aprovechan todo el conocimiento disponible en los datos históricos

registrados.

Suposiciones que se hacen en cuanto a distribuciones de probabilidad y

en cuanto a linealidad y estacionariedad de los procesos

Page 7: REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD  LORENZ -FUKL

Objetivo del Proyecto

Generar un Aplicativo que permita hallar al mismo tiempo

tanto la forma funcional conveniente como los valores de los

coeficientes (Regresión Simbólica) empleando Programación

Genética

Page 8: REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD  LORENZ -FUKL

Ventajas de este enfoque

Permite obtener expresiones matemáticas que modelen el

comportamiento de un sistema únicamente a partir de un conjunto de tuplas

entrada-salida, sin presumir la estructura de la expresión.

Permite obtener tanto la estructura de la expresión como los coeficientes

numéricos de manera automática.

No requiere conocimiento del problema a solucionar.

Page 10: REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD  LORENZ -FUKL

Regresión Simbólica con Programación Genética

Programación GenéticaProgramación Genética

PG considera una población conformada por individuos, cada uno de los

cuales representa la estructura de interés (expresión matemática en el

caso de regresión simbólica)

PG utiliza los métodos evolutivos de la naturaleza.

Población de n IndividuosPoblación de n Individuos

Page 11: REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD  LORENZ -FUKL

Regresión Simbólica con Programación GenéticaProgramación Genética: Población InicialProgramación Genética: Población Inicial

El programa crea aleatoriamente una población inicial conformada por

individuos, sintácticamente correctosLos Individuos de población inicial se crean a partir de funciones

primitivas.

Funciones Primitivas

Funcion PesoTerminal Constante 0.1Terminal Variable 0.4

+ ...* .../ ...

exp ...ln ...

Sen ...Cos ...Tan ...

ArcSen ...ArcCos ...

... ...

*

cos +

x 7 x

Equivale a:Cos(x) * (7 + x)

Page 12: REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD  LORENZ -FUKL

Regresión Simbólica con Programación Genética

Programación Genética: Evaluación del IndividuoProgramación Genética: Evaluación del Individuo

Evaluación del Individuo:Cos(x) * (7 + x)

......

-2.96374574-0.27941987

-2.96462983-0.27937055

-2.97802995-0.27862448

-2.99004805-0.27795786

Y(Valor Deseado)X

......

-2.96374574-0.27941987

-2.96462983-0.27937055

-2.97802995-0.27862448

-2.99004805-0.27795786

Y(Valor Deseado)X

*

cos +

x 7 x

...

6.4599264

6.4600652

6.4621634

6.4640353

Y(Valor Estimado)

...

6.4599264

6.4600652

6.4621634

6.4640353

Y(Valor Estimado)

Función Aptitud

Page 13: REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD  LORENZ -FUKL

Regresión Simbólica con Programación Genética

Programación Genética: Operadores EvolutivosProgramación Genética: Operadores Evolutivos

A los individuos, se les aplica probabilísticamente un

operador evolutivo

Los operadores evolutivos toman individuos y crean nuevas

variedades de individuos, hasta renovar toda la población:

nueva generación.

Cruce

Mutación

Clonación

Page 14: REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD  LORENZ -FUKL

Regresión Simbólica con Programación Genética

Programación Genética: EvoluciónProgramación Genética: Evolución

Población Inicial (Generación Aleatoria):

Función de Aptitud

(Evaluación)

OperadoresEvolutivos

Nueva Generación:

¿Alguno Cumple Condición

Aptitud=UMBRAL?

Ciclo Evolutivo

*

cos +

x 7 x

+

exp seno

x /

x1

+

exp tan

*

3x

+

tanx

3

+

exp seno

x /

x1

*

invm

senh

*

3x

+

lnx

3

invm

+

lnx

3

Page 15: REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD  LORENZ -FUKL

Regresión Simbólica con Programación Genética

Programación Genética: Validación de la Mejor ExpresiónProgramación Genética: Validación de la Mejor Expresión

Se realiza VALIDACIÓN con un conjunto de datos de validación

Se realiza VALIDACIÓN con un conjunto de datos de validación

+

exp seno

x /

x1

Medidas estadísticascon datos de

validación

R2

Medidas del Error...

Medidas estadísticascon datos de

validación

R2

Medidas del Error...

Al final del proceso se obtiene una individuo (expresión matemática) que ajusta los datos, dentro de la tolerancia de error especificada.

¿MEMORIZACION?

¿APRENDIZAJE?

¿MEMORIZACION?

¿APRENDIZAJE?

Page 16: REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD  LORENZ -FUKL

Resultados Obtenidos

Informe de Investigación

Software

Marco Teórico

Algoritmos

Metodología de Desarrollo del Software

Solución de Problemas

Análisis de Soluciones Obtenidas

Conclusiones

Versión Inicial. Regresión Simple y Multivariada

Punto de Partida para Nuevas Investigaciones y Desarrollos

Uso en Ambiente Académico como Herramienta de Aprendizaje

Page 18: REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD  LORENZ -FUKL

Regresión Simbólica con Programación Genética

SOFTWARE AMIGABLE PARA RESOLVER PROBLEMAS DE REGRESIÓN SIMPLE O MULTIVARIADA

SELECCIÓN DE ARCHIVO DE PARÁMETROSSELECCIÓN DE ARCHIVO DE DATOSSELECCIÓN DE ARCHIVO DE SALIDA

VISUALIZACIÓN DEL COMPORTAMIENTO DE LA EVOLUCIÓN (OPCIÓN PARA APRENDIZAJE)

INFORMES:MEJOR EXPRESIÓN MATEMÁTICAMEDIDA DE LA APTITUD Y R2

HISTÓRICO DEL PROCESO EVOLUTIVO

Page 19: REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD  LORENZ -FUKL

Aplicación de Regresión Simbólica

Conjunto de DatosExperimentales(150 entradas)

Problema a Solucionar

Datos Experimentales conruido de amplitud máxima 0.1

(error de medición)

Gráfico de la Función Buscada

-5

0

5

10

15

20

25

-3.0 -2.0 -1.0 0.0 1.0 2.0 3.0

X

Y

Gráfico de la Función Buscada - Ampliación en Rango [-0.5,0.5]

-1

1

2

3

-0.5 -0.4 -0.3 -0.2 -0.1 0.0 0.1 0.2 0.3 0.4 0.5

X

Y

X Y

-2.83308301 -0.26250423-2.81140506 -0.25047367-2.79015438 -0.25249567

... ...-1.20842096 -0.33939681-1.15769186 -0.43758607-1.12866135 -0.41101900-1.12594982 -0.41997381-0.99460309 -0.42000773-0.83890773 -0.48780787-0.83662124 -0.40463053-0.81536601 -0.43173314-0.80970794 -0.42229634-0.78491938 -0.43632888-0.78422673 -0.42490195-0.77738345 -0.45909481-0.76852811 -0.45325278

... ...

Page 20: REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD  LORENZ -FUKL

Aplicación de Regresión Simbólica

Conjunto de DatosExperimentales(150 entradas)

Solución clásica utilizando herramientas tradicionales

X Y

-2.83308301 -0.26250423-2.81140506 -0.25047367-2.79015438 -0.25249567

... ...-1.20842096 -0.33939681-1.15769186 -0.43758607-1.12866135 -0.41101900-1.12594982 -0.41997381-0.99460309 -0.42000773-0.83890773 -0.48780787-0.83662124 -0.40463053-0.81536601 -0.43173314-0.80970794 -0.42229634-0.78491938 -0.43632888-0.78422673 -0.42490195-0.77738345 -0.45909481-0.76852811 -0.45325278

... ...

Expresión: 3.000x+2.7247Coeficiente de determinación R^2 0.7136

Expresión: 1.0851*e1.0159x

R^2 0.8274

Expresión:

y = -0.0012x6 + 0.0391x5

+ 0.0687x4 - 0.2037x3 +

0.4465x2 + 2.2627x + 1.0345

R^2 0.9944

Regresión Lineal

Regresión Exponencial

Regresión Polinómica

Salida Deseada vs Obtenida (Regresión Polinómica)

R2 = 0.9944

-2

3

8

13

18

23

-2 3 8 13 18 23

Vr Deseado

Vr

Ob

ten

ido

Page 21: REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD  LORENZ -FUKL

Aplicación de Regresión Simbólica

Conjunto de DatosExperimentales(150 entradas)

Solución clásica utilizando herramientas tradicionales

X Y

-2.83308301 -0.26250423-2.81140506 -0.25047367-2.79015438 -0.25249567

... ...-1.20842096 -0.33939681-1.15769186 -0.43758607-1.12866135 -0.41101900-1.12594982 -0.41997381-0.99460309 -0.42000773-0.83890773 -0.48780787-0.83662124 -0.40463053-0.81536601 -0.43173314-0.80970794 -0.42229634-0.78491938 -0.43632888-0.78422673 -0.42490195-0.77738345 -0.45909481-0.76852811 -0.45325278

... ...

Gráfico de Residuales (Regresión Polinómica)

-1.5

-1.0

-0.5

0.0

0.5

1.0

1.5

-2 3 8 13 18 23

Pronosticado

Res

idua

l

Expresión: 3.000x+2.7247Coeficiente de determinación R^2 0.7136

Expresión: 1.0851*e1.0159x

R^2 0.8274

Expresión:

y = -0.0012x6 + 0.0391x5

+ 0.0687x4 - 0.2037x3 +

0.4465x2 + 2.2627x + 1.0345

R^2 0.9944

Regresión Lineal

Regresión Exponencial

Regresión Polinómica

Page 22: REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD  LORENZ -FUKL

Aplicación de Regresión Simbólica

Conjunto de DatosExperimentales(150 entradas)

Solución utilizando Regresión Simbólica con PG

X Y

-2.83308301 -0.26250423-2.81140506 -0.25047367-2.79015438 -0.25249567

... ...-1.20842096 -0.33939681-1.15769186 -0.43758607-1.12866135 -0.41101900-1.12594982 -0.41997381-0.99460309 -0.42000773-0.83890773 -0.48780787-0.83662124 -0.40463053-0.81536601 -0.43173314-0.80970794 -0.42229634-0.78491938 -0.43632888-0.78422673 -0.42490195-0.77738345 -0.45909481-0.76852811 -0.45325278

... ...

Salida Deseada vs Obtenida (Regresión Simbólica)

R2 = 1

-2

3

8

13

18

23

-2 3 8 13 18 23

Vr Deseado

Vr

Ob

ten

ido

Gráfico de Residuales (Regresión Simbólica)

0.00

0.02

0.04

0.06

0.08

0.10

0.12

-2 3 8 13 18 23

Pronosticado

Re

sid

ua

l

Page 23: REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD  LORENZ -FUKL

Aplicación de Regresión Simbólica

Conjunto de DatosExperimentales(150 entradas)

Solución utilizando Regresión Simbólica con PG

X Y

-2.83308301 -0.26250423-2.81140506 -0.25047367-2.79015438 -0.25249567

... ...-1.20842096 -0.33939681-1.15769186 -0.43758607-1.12866135 -0.41101900-1.12594982 -0.41997381-0.99460309 -0.42000773-0.83890773 -0.48780787-0.83662124 -0.40463053-0.81536601 -0.43173314-0.80970794 -0.42229634-0.78491938 -0.43632888-0.78422673 -0.42490195-0.77738345 -0.45909481-0.76852811 -0.45325278

... ...

Salida Deseada vs Obtenida (Regresión Simbólica)

R2 = 1

-2

3

8

13

18

23

-2 3 8 13 18 23

Vr Deseado

Vr

Ob

ten

ido

Gráfico de Residuales (Regresión Simbólica)

0.00

0.02

0.04

0.06

0.08

0.10

0.12

-2 3 8 13 18 23

Pronosticado

Re

sid

ua

l

Nivel de Ruido

Page 24: REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD  LORENZ -FUKL

Aplicación de Regresión Simbólica

Solución utilizando Regresión Simbólica con PGMejor Solución Encontrada

--------------------------------------------------EJECUCION: 5 de 5 - GENERACION: 299 de 300--------------------------------------------------Mejor Individuo: 591(seno((X0)^(-1))+exp(X0))

Numero de Aciertos: 118Aptitud Estándar: 0.4319299463860158Aptitud Ajustada: 0.6983581861136821Promedio Aptitud Ajustada de la Poblacion: 0.0248168460618023R Cuadrado: 0.9999747166486699Complejidad: 6Tiempo acumulado: 30 segundos--------------------------------------------------TERMINADA LA EVOLUCION--------------------------------------------------Semilla Inicial: 1173675008NO SE HAN UTILIZADO CONSTANTES

--------------------------------------------------INFORMACION SOBRE EL MEJOR INDIVIDUODE LA EJECUCION ACTUAL--------------------------------------------------NO SE HAN UTILIZADO CONSTANTESY( -2.8330829999999998 ) = (seno((X0)^(-1))+exp(X0)) = -0.2868572477306238Y( -2.7901543000000002 ) = (seno((X0)^(-1))+exp(X0)) = -0.2893675303350527Y( -2.7874352999999998 ) = (seno((X0)^(-1))+exp(X0)) = -0.2895276925346337...

--------------------------------------------------EJECUCION: 5 de 5 - GENERACION: 299 de 300--------------------------------------------------Mejor Individuo: 591(seno((X0)^(-1))+exp(X0))

Numero de Aciertos: 118Aptitud Estándar: 0.4319299463860158Aptitud Ajustada: 0.6983581861136821Promedio Aptitud Ajustada de la Poblacion: 0.0248168460618023R Cuadrado: 0.9999747166486699Complejidad: 6Tiempo acumulado: 30 segundos--------------------------------------------------TERMINADA LA EVOLUCION--------------------------------------------------Semilla Inicial: 1173675008NO SE HAN UTILIZADO CONSTANTES

--------------------------------------------------INFORMACION SOBRE EL MEJOR INDIVIDUODE LA EJECUCION ACTUAL--------------------------------------------------NO SE HAN UTILIZADO CONSTANTESY( -2.8330829999999998 ) = (seno((X0)^(-1))+exp(X0)) = -0.2868572477306238Y( -2.7901543000000002 ) = (seno((X0)^(-1))+exp(X0)) = -0.2893675303350527Y( -2.7874352999999998 ) = (seno((X0)^(-1))+exp(X0)) = -0.2895276925346337...

Page 25: REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD  LORENZ -FUKL

Aplicación de Regresión Simbólica

Solución utilizando Regresión Simbólica con PG

Mejor Solución Encontrada:

Otras Soluciones:

ex + seno (1 / x)ex + seno (1 / x)

R2 = 0.999974R2 = 0.999974

Apt. Ajustada: 0.698Apt. Ajustada: 0.698

Expresión R2

(atan(seno(X))+exp(X)) 0.994570119

(seno(seno(X))+exp(X)) 0.994157937

(seno(((seno(exp(seno(seno(seno(seno(exp(seno(((seno(seno(seno(seno(exp(seno(seno(seno(X)))))))))/(seno(seno(seno(seno(seno(seno(seno(seno(seno(((((X)/(X)))/(exp(seno(seno(((seno(exp(X)))/(seno(X))))))))))))))))))))))))))))/(X)))+exp(X))

0.99997193

Page 26: REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD  LORENZ -FUKL

Resultados Obtenidos

0.9992Compleja25010020Problema de la Tensión Arterial12

0.9966Compleja25020020Problema Movilidad de Electrones11

0.8624Compleja25020020Problema del IPC10

0.9876Compleja25020020Problema de Moody9

*****Efecto del Ruido8

0.9942Y = e -1 - e-expX50015020Integral: Area bajo distribución normal7

112/5*X/(8/5*X/(-X-13/10)+8/5)50015020y = v0*t+ (a*t2)/26

1(x / cos(x)2 - x ) / x5001505tan2x5

0.9857log10(e(X1+X0)-1)50025020Y = (cosX0-cosX1) / (X0-X1)4

0.9978Compleja40020020Sucesión (1+1/X)X3

1.6 E-7Compleja25015020Valor Pi2

1Compleja2501502Y = eX + seno( 1/X )1

R2SoluciónPoblaciónGeneracionesCorridasEvaluación

0.9992Compleja25010020Problema de la Tensión Arterial12

0.9966Compleja25020020Problema Movilidad de Electrones11

0.8624Compleja25020020Problema del IPC10

0.9876Compleja25020020Problema de Moody9

*****Efecto del Ruido8

0.9942Y = e -1 - e-expX50015020Integral: Area bajo distribución normal7

112/5*X/(8/5*X/(-X-13/10)+8/5)50015020y = v0*t+ (a*t2)/26

1(x / cos(x)2 - x ) / x5001505tan2x5

0.9857log10(e(X1+X0)-1)50025020Y = (cosX0-cosX1) / (X0-X1)4

0.9978Compleja40020020Sucesión (1+1/X)X3

1.6 E-7Compleja25015020Valor Pi2

1Compleja2501502Y = eX + seno( 1/X )1

R2SoluciónPoblaciónGeneracionesCorridasEvaluación

Page 27: REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD  LORENZ -FUKL

CONCLUSIONES

La regresión simbólica permite una aproximación hacia el descubrimiento científicos asistido por computador

La idea detrás de la PG, puede aplicarse a cualquier población de individuos, en donde estos individuos pueden ser poemas, canciones, melodías, estructuras o redes hidráulicas de un edificio, redes neuronales ,etc. Lo que se necesita es una representación conveniente, la definición adecuada de los operadores(cruce o mutación) y el establecimiento de una medida de desempeño.

La PG, ha trascendido lo puramente académico y se ha convertido en una técnica para la solución de problemas reales

Una variación natural de La PG, es su hibridación con otras técnicas de inteligencia artificial , ya que la PG utiliza algoritmos genéticos para la búsqueda, pero podrían ser utilizados otros algoritmos como simulated annealing, algoritmos inmunológicos, tabú, GRASP, PSO, ACO, algoritmos meméticos o algoritmos culturales,etc