183
cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS DE MAESTRÍA EN CIENCIAS Análisis y Visualización de Datos para Interpolación N-dimensional presentada por Héctor Ulloa Montoya Ing. en Computación por la Facultad de Ingeniería de la UNAM Como requisito para la obtención del grado de: Maestría en Ciencias en Ciencias de la Computación Director de tesis: Dr. José Ruiz Ascencio Co-Director de tesis: Dr. Manuel Mejía Lavalle Cuernavaca, Morelos, México. 29 de febrero de 2008

TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Embed Size (px)

Citation preview

Page 1: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

cenidet

Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales

TESIS DE MAESTRÍA EN CIENCIAS

Análisis y Visualización de Datos para Interpolación N-dimensional

presentada por

Héctor Ulloa Montoya Ing. en Computación por la Facultad de Ingeniería de la UNAM

Como requisito para la obtención del grado de:

Maestría en Ciencias en Ciencias de la Computación

Director de tesis: Dr. José Ruiz Ascencio

Co-Director de tesis: Dr. Manuel Mejía Lavalle

Cuernavaca, Morelos, México. 29 de febrero de 2008

Page 2: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

cenidet

Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales

TESIS DE MAESTRÍA EN CIENCIAS

Análisis y Visualización de Datos para Interpolación N-dimensional

presentada por

Héctor Ulloa Montoya Ing. en Computación por la Facultad de Ingeniería de la UNAM

Como requisito para la obtención del grado de:

Maestría en Ciencias en Ciencias de la Computación

Director de tesis: Dr. José Ruiz Ascencio

Co-Director de tesis: Dr. Manuel Mejía Lavalle

Jurado:

Dr. Gerardo Reyes Salgado – Presidente Dr. Raúl Pinto Elías – Secretario Dr. Manuel Mejía Lavalle – Vocal

Cuernavaca, Morelos, México 29 de febrero de 2008

Page 3: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

DEDICATORIA

A mis padres:

Héctor y Ana María, sin ustedes nada de esto habría sido posible.

A Cindy por tu comprensión, cariño y apoyo en los momentos más difíciles.

A todas las personas que de alguna forma contribuyeron en este trabajo de investigación.

Page 4: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

AGRADECIMIENTOS Al Consejo Nacional de Ciencia y Tecnología (CONACYT) por el apoyo económico que me otorgaron para realizar los estudios de maestría. A la Dirección General de Educación Superior Tecnológica (DGEST) por la extensión de beca que hizo posible cumplir los objetos de esta investigación. Al Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET) por permitirme realizar los estudios de maestría. Al Dr. José Ruiz Ascencio por sus consejos para alcanzar los objetivos planteados, por su tiempo, por los conocimientos brindados y por su amistad. Al Dr. Manuel Mejía Lavalle por sus valiosos comentarios que enriquecieron este trabajo, por sus consejos, por los conocimientos dados y por su amistad. A mis revisores: Dr. Raúl Pinto Elías y Dr. Gerardo Reyes Salgado por sus comentarios y observaciones que guiaron esta investigación. A mis compañeros de generación, especialmente a Cindy, Gerardo, Jesús, Edna, Erwin, Rubén, Eric F., Elvia, Arturo, Azucena, Ricardo, Daniel, Adriana, Lirio, Eduardo, Erick L. y Pedro. A los compañeros de la generación 2006-2008: Wilfrido, José Luis, Silvia, Richard, Deysi, Jorge, Alejandro, Ebenezer y Diana. Al Ing. Mario Moreno por el servicio bibliotecario y por su amistad.

Page 5: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

i

CONTENIDO 1. Introducción………………………………………………………………………………………..1 1.1. Motivación ............................................................................................................................2 1.2. Antecedentes........................................................................................................................2 1.3. Descripción del problema.....................................................................................................4 1.4. Objetivos...............................................................................................................................4 1.5. Organización de la tesis .......................................................................................................5 2. Estado del arte……………………………………………………………………………………...7 2.1. Interpolación .........................................................................................................................8

2.1.1. Métodos de interpolación exacta ........................................................................... 8 2.1.2. Métodos de interpolación aproximada ................................................................... 9 2.1.3. Trabajos relacionados con la interpolación............................................................ 9

2.2. Análisis multidimensional ...................................................................................................10 2.2.1. Trabajos relacionados con el análisis multidimensional ...................................... 11

2.3. Visualización.......................................................................................................................13 2.3.1. Datos multivariantes, multivariables y multidimensionales .................................. 14 2.3.2. Trabajos relacionados con visualización de alta dimensionalidad....................... 14 2.3.3. Comparación de métodos de visualización de alta dimensionalidad................... 23

2.4. Discusión ............................................................................................................................23 3. Interpolación en sistemas dinámicos y visión artificial………………………………….. 24 3.1. Sintonización de sistemas difusos empleando el método de gradiente descendente [Nomura, 1992][Castillo, 1999]..................................................................................................25 3.2. Sistemas dinámicos ...........................................................................................................30

3.2.1. Identificación........................................................................................................ 32 3.2.2. Control ................................................................................................................. 33

3.3. Sistemas de visión artificial ................................................................................................34 3.4. Discusión ............................................................................................................................35 4. Métodos propuestos para el análisis multidimensional…………………………………..36 4.1. Método para la detección de regiones sobre-muestreadas o desprovistas de datos ......37 4.2. Pruebas del método de detección de regiones sobre-muestreadas o desprovistas de datos ..........................................................................................................................................41

4.2.1. Prueba con un conjunto de datos de 2 dimensiones........................................... 41 4.2.2. Prueba con un conjunto de datos de 4 dimensiones........................................... 42

4.3. Método propuesto de calificación de regiones por posibilidad de inversión.....................44 4.4. Método de búsqueda propuesto para encontrar una solución cuando la función es multivaluada...............................................................................................................................53 4.5. Pruebas de los métodos de calificación de regiones por posibilidad de inversión y búsqueda para encontrar una solución cuando la función es multivaluada ............................54

4.5.1. Pruebas con funciones algebraicas de dos dimensiones .................................... 55 4.5.1.1. Parábola y recta............................................................................................. 55

4.5.2. Sistemas dinámicos............................................................................................. 58 4.5.2.1. Sistema de segundo orden no lineal.............................................................. 58

Page 6: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

ii

4.6. Discusión ............................................................................................................................60 5. Métodos propuestos para la visualización de alta dimensionalidad 63 5.1. Métodos de visualización de alta dimensionalidad ...........................................................64

5.1.1. Matriz de dispersión del consecuente.................................................................. 64 5.1.2. Conjunto de diagrama de dispersión en tres dimensiones .................................. 67 5.1.3. Gráfico comparativo del consecuente real e interpolado..................................... 69 5.1.4. Combinación de diagramas de dispersión en tres dimensiones y código de color....................................................................................................................................... 72

5.2. Discusión ............................................................................................................................75 6. Visualización de sistemas dinámicos y sistemas de visión artificial…………………..76 6.1. Pruebas con datos provenientes de sistemas dinámicos .................................................77

6.1.1. Identificación........................................................................................................ 77 6.1.1.1. Sistema de primer orden lineal …………………………………………………. 78 6.1.1.2. Sistema de segundo orden lineal……………………………………………….. 84 6.1.1.3. Caos de Lorenz …………………………………………………………………... 91

6.1.2. Control ................................................................................................................. 97 6.1.2.1 Sistema de primer orden no lineal ……………………………………………… 98 6.1.2.2 Sistema de segundo orden no lineal …………………………………………... 105

6.1.3. Resultados de las pruebas del caso “sistemas dinámicos” ............................... 110 6.2. Pruebas con datos provenientes de sistemas de visión artificial ....................................112

6.2.1. Sistema de 4 dimensiones (R, G, B, pertenencia)............................................. 112 6.2.2. Sistema de 5 dimensiones (R, G, B, intensidad promedio de máscara, pertenencia) ................................................................................................................. 117 6.2.3. Sistema de 5 dimensiones (R, G, B, intensidad promedio de puntos cardinales, pertenencia) ................................................................................................................. 119 6.2.4. Resultados de las pruebas del caso “sistemas de visión” ................................ 121

6.3. Discusión ..........................................................................................................................122 7. Conclusiones y trabajos futuros……………………………………………………………. 123 7.1. Objetivos cubiertos ...........................................................................................................124 7.2. Aportaciones.....................................................................................................................125 7.3. Trabajos futuros................................................................................................................125 7.4. Lecciones aprendidas ......................................................................................................126 Referencias………………………………………………………………………………………… 128 Anexo A. Manual de usuario……………………………………………………………………..133 A.1. Detección de cúmulos y vacíos .......................................................................................134 A.2. Sintonizar interpolación ...................................................................................................135 A.3. Obtener datos interpolados .............................................................................................139 A.4. Posibilidad de inversión en las regiones .........................................................................142 A.5. Búsqueda sin controlador ................................................................................................145 A.6. Visualización multidimensional ........................................................................................147

Page 7: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

iii

Anexo B. Demostración del método de detección de regiones sobre-muestreadas o desprovistas de datos…………………………………………………………………………… 157 Anexo C. Diagramas de simulación…………………………………………………………. 164 C.1. Diagrama de adquisición .................................................................................................164 C.2. Diagrama de identificación ..............................................................................................165 C.3. Diagrama de control ........................................................................................................166

Page 8: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

iv

LISTA DE FIGURAS

Capítulo 2 Fig. 2.1. Curva de Andrews del punto (-5, 3, 4, -2, 6, 1). Fig. 2.2. Diagrama de dispersión en dos dimensiones de un conjunto de datos de 4 dimensiones,

mostrándose las dos primeras. Fig. 2.3. Diagrama de dispersión en tres dimensiones de un conjunto de datos de 4 dimensiones,

mostrándose las tres primeras. Fig. 2.4. Matriz de dispersión para datos de 4 dimensiones. Fig. 2.5. Puntos (1, 3, 4, 8) y (2, 6, 7, 3) graficados en coordenadas paralelas. Fig. 2.6. Datos mapeados a coordenadas paralelas (izquierda) y a coordenadas paralelas

extrudidas (derecha) [Wegenkittl, 1997]. Fig. 2.7. Coordenadas paralelas en tres dimensiones para un sistema de cuatro dimensiones, a

la derecha se muestran los planos traslapados [Wegenkittl, 1997]. Fig. 2.8. Extensión en 3 dimensiones de coordenadas paralelas y aparición de los glifos estrella

[Fanea, 2005]. Capítulo 3 Fig. 3.1. Representación de un conjunto difuso con valores de pertenencia de [0, 1]. Fig. 3.2. Relación entrada-salida. Fig. 3.3. Selección de variables a considerar para la identificación de un sistema de orden n. Fig. 3.4. Control utilizando el modelo de planta inversa. Fig. 3.5. Selección de variables durante el control de una planta de orden n. Fig. 3.6. Sistema de visión para clasificación de manzanas. Capítulo 4 Fig. 4.1. Regiones formadas al dividir a cada dimensión en 3 partes, se muestra el número de

división por dimensión y el número de región. Fig. 4.2. Diagrama de flujo del método de detección de cúmulos y vacíos. Fig. 4.3. Conjunto de datos de dos dimensiones y regiones que forman las particiones. Fig. 4.4. Para transitar a xi(t+∆t)=80 a partir de X(t)=[1, 2]T es posible hacerlo con dos entradas

distintas por lo que el dato es multivualuado y no tiene posibilidad de inversión. Fig. 4.5. Pasos para detectar regiones con datos multivaluados. Fig. 4.6. Los puntos blancos los cuales tienen un cambio de dirección, corresponden a máximos

o mínimos. Fig. 4.7. Gráfica en la que se muestran los rangos multivaluado y cubierto, se presenta los

puntos etiquetados como multivaluados en color negro y los no multivaluados en color blanco así como el punto que se visita.

Fig. 4.8. Diagrama de flujo de la búsqueda de puntos multivualuados. Fig. 4.9. Puntos multivaluados (negros) y no multivaluados (blanco), entre las líneas punteadas

se buscan valores de entrada (u) que sean iguales a los valores máximo o mínimo del estado siguiente.

Fig. 4.10. Algoritmo de bisección [Chapra, 1999]. Fig. 4.11. Algoritmo de bisección modificado. Fig. 4.12. Región con datos multivaluados con el mismo valor de estado siguiente, los puntos

Page 9: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

v

negros pertenecen a la región multivaluada, el ajuste del rango se lleva acabo entre las líneas punteadas.

Fig. 4.13. Algoritmo para refinar los rangos de las regiones multivaluadas. Fig. 4.14. Gráfica de puntos multivaluados (rojo) y no multivaluados (azul). Fig. 4.15. Pasos del método de una búsqueda para encontrar si una solución si la función es

multivaluada. Fig. 4.16. Regiones multivaluadas (puntos rojos), regiones no multivaluadas puntos azules) de

una combinación parábola – recta. Fig. 4.17. Acercamiento al máximo absoluto de la gráfica donde se observa que dicho punto es no

multivaluado. Fig. 4.18. Visualización de la tercera región multivaluada. Fig. 4.19. Señal de entrada aplicada al sistema de segundo orden no lineal, para generar los

datos de entrenamiento. Fig. 4.20. Regiones multivaluadas (puntos rojos), regiones no multivaluadas puntos azules) de un

sistema dinámico de segundo orden no lineal. Capítulo 5 Fig. 5.1. Matriz de dispersión del consecuente de la identificación de un sistema de segundo

orden no lineal, las cruces rojas corresponden a los datos interpolados, los círculos azules a los datos de entrenamiento y los celestes a la función interpoladora completa.

Fig. 5.2 Pasos del método matriz de dispersión del consecuente. Fig. 5.3. Conjunto de diagramas de dispersión en tres dimensiones de la identificación de un

sistema dinámico de segundo orden no lineal, las cruces rojas corresponden a los datos interpolados, los círculos azules a los datos de entrenamiento y los celestes a la función interpoladora completa

Fig. 5.4. Conjunto de diagramas de dispersión en tres dimensiones la identificación de un sistema dinámico de segundo orden no lineal, las cruces rojas corresponden a los datos interpolados, los azules a los datos de entrenamiento, no se despliega la función interpoladora.

Fig. 5.5. Pasos del método conjunto de diagramas de dispersión en tres dimensiones. Fig. 5.6. Algoritmo para formar las combinaciones de pares de antecedentes. Fig. 5.7. Gráficos de línea discreto de un sistema de segundo orden no lineal, las cruces rojas

corresponden a los datos interpolados, los azules a los datos de entrenamiento. Fig. 5.8. Pasos del método gráfico comparativo del consecuente real e interpolado. Fig. 5.9. Escala de colores azul a rojo. Fig. 5.10. Escala de azul saturado. Fig. 5.11. Escala Jet. Fig. 5.12. Escala Jet reducida. Fig. 5.13. Combinación de diagrama de dispersión en tres dimensiones y código de color de un

sistema de segundo orden lineal, en el cual el valor del consecuente se visualiza como código de color.

Fig. 5.14. Pasos del método combinación de diagramas de dispersión en tres dimensiones y código de color.

Fig. 5.15. Algoritmo para obtener las combinaciones de tres antecedentes.

Page 10: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

vi

Capítulo 6 Fig. 6.1. Diagrama empleado para la validación, mostrando el lazo de retroalimentación, útil para

capturar la dinámica de una planta P de primer orden. La entrada es u(t), la salida que se desea obtener corresponde a la salida del sistema xr(t) la cual se compara con la salida del sistema difuso x(t).

Fig. 6.2. Etapas para obtener y evaluar una función interpoladora que identifique a un sistema dinámico.

Fig. 6.3. Señal de entrada aplicada al sistema de primer orden lineal, para generar los datos de entrenamiento.

Fig. 6.4. Matriz de dispersión del consecuente de la identificación de un sistema de primer orden lineal, después de 10 épocas de entrenamiento, las cruces rojas corresponden a los datos interpolados, los círculos azules a los datos de entrenamiento y los puntos celestes a la función interpoladora completa.

Fig. 6.5. Diagramas de dispersión en tres dimensiones de un sistema de primer orden lineal, después de 5 épocas de entrenamiento, las cruces rojas corresponden a los datos interpolados, los círculos azules a los datos de entrenamiento y los puntos celestes a la función interpoladora completa.

Fig. 6.6. Matriz de dispersión del consecuente de la identificación de un sistema de primer orden lineal, después de 276 épocas de entrenamiento, las cruces rojas corresponden a los datos interpolados, los círculos azules a los datos de entrenamiento y los puntos celestes a la función interpoladora completa.

Fig. 6.7. Diagramas de dispersión en tres dimensiones de un sistema de primer orden lineal, después de 276 épocas de entrenamiento, las cruces rojas corresponden a los datos interpolados, los círculos azules a los datos de entrenamiento y los puntos celestes a la función interpoladora completa.

Fig. 6.8. Comparativo de la salida de la planta de primer orden lineal (línea roja) y la salida sistema difuso (línea negra) como respuesta a la señal que se aplicó en la etapa de adquisición. En este caso ambas salidas se traslapan.

Fig. 6.9. Error entre la salida de la planta de primer orden lineal y la salida del sistema difusocomo respuesta a la señal que se aplicó en la etapa de adquisición.

Fig. 6.10. Señal de entrada triangular aplicada a la planta de primer orden lineal y al sistema difuso.

Fig. 6.11. Comparativo de la salida de la planta de primer orden lineal (línea roja) y la salida sistema difuso (línea negra) como respuesta a una señal triangular. Ambas salidas se traslapan.

Fig. 6.12. Error entre la salida de la planta de primer orden lineal y la salida del sistema difuso como respuesta a una señal triangular.

Fig. 6.13. Señal escalón aplicada a la planta de primer orden lineal y al sistema difuso. Fig. 6.14. Comparativo de la salida de la planta de primer orden lineal (línea roja) y la salida

sistema difuso (línea negra) como respuesta a una señal escalón. Ambas salidas se traslapan.

Fig. 6.15. Error entre la salida de la planta de primer orden lineal y la salida del sistema difuso como respuesta a una señal escalón.

Fig. 6.16. Señal de entrada aplicada a la planta de segundo orden lineal para generar los datos de entrenamiento.

Fig. 6.17. Diagrama de dispersión en tres dimensiones de los antecedentes 1, 2 y el consecuente del sistema difuso uno para la identificación de un sistema de segundo orden lineal, se observan los datos de entrenamiento (cruces rojas) y los datos interpolados (círculos azules).

Fig. 6.18. Diagrama de dispersión en tres dimensiones de los antecedentes 1, 3 y el consecuente del sistema difuso uno para la identificación de un sistema de segundo orden lineal, se observan los datos de entrenamiento (cruces rojas) y los datos interpolados (círculos

Page 11: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

vii

azules). Fig. 6.19. Diagrama de dispersión en tres dimensiones de los antecedentes 2, 3 y el consecuente

del sistema difuso uno para la identificación de un sistema de segundo orden lineal, se observan los datos de entrenamiento (cruces rojas) y los datos interpolados (círculos azules).

Fig. 6.20. Diagrama de dispersión en tres dimensiones de los antecedentes 1, 2 y el consecuente del sistema difuso dos para la identificación de un sistema de segundo orden lineal, se observan los datos de entrenamiento (cruces rojas) y los datos interpolados (círculos azules).

Fig. 6.21. Diagrama de dispersión en tres dimensiones de los antecedentes 1, 3 y el consecuente del sistema difuso uno para la identificación de un sistema de segundo orden lineal, se observan los datos de entrenamiento (cruces rojas) y los datos interpolados (círculos azules).

Fig. 6.22. Diagrama de dispersión en tres dimensiones de los antecedentes 2, 3 y el consecuente del sistema difuso dos para la identificación de un sistema de segundo orden lineal, se observan los datos de entrenamiento (cruces rojas) y los datos interpolados (círculos azules).

Fig. 6.23. Comparativo de la salida de la planta de segundo orden lineal (línea roja) y la salida sistema difuso (línea negra) como respuesta a la señal que se utilizó en la etapa de adquisición. Ambas salidas se traslapan.

Fig. 6.24. Error entre la salida de la planta de segundo orden lineal y la salida del sistema difuso como respuesta a la señal que se utilizó en la etapa de adquisición.

Fig. 6.25. Señal senoidal aplicada a la planta de segundo orden lineal y al sistema difuso Fig. 6.26. Comparativo de la salida de la planta de segundo orden lineal (línea roja) y la salida

sistema difuso (línea negra) como respuesta a una señal senoidal. Fig. 6.27. Error entre la salida de la planta de segundo orden lineal y la salida del sistema difuso

como respuesta a una señal senoidal. Fig. 6.28. Comparativo de la salida de la planta de segundo orden lineal (línea roja) y la salida

sistema difuso (línea negra) como respuesta a una señal escalón. Ambas salidas se traslapan.

Fig. 6.29. Error entre la salida de la planta de segundo orden lineal y la salida del sistema difuso como respuesta a una señal escalón.

Fig. 6.30. Diagrama para la validación del caos de Lorenz, las salidas que se desean aproximar corresponden a las variables de estado xr(t+∆t), yr(t+∆t) y zr(t+∆t), las cuales se comparan con la salida de cada sistema difuso: x(t+∆t), y(t+∆t) y z(t+∆t).

Fig. 6.31. Serie de tiempo correspondiente al sistema difuso uno que identifica la variable x(t+?t) del caos de Lorenz, donde se muestran los datos interpolados (cruces rojas), los datos de entrenamiento (círculos azules) y la línea de error (línea verde).

Fig. 6.32. Comparativo de la salida de la planta que simula el caos de Lorenz (línea roja) y la salida sistema difuso uno (línea negra).

Fig. 6.33. Error entre la salida de la planta que simula el caos de Lorenz y la salida del sistema difuso uno.

Fig. 6.34. Diagrama de dispersión en tres dimensiones de los antecedentes 1, 2 y el consecuente del sistema difuso dos para la identificar la variable y(t+∆t) del caos de Lorenz, se observan los datos de entrenamiento (cruces rojas) y los datos interpolados (círculos azules).

Fig. 6.35. Diagrama de dispersión en tres dimensiones de los antecedentes 1, 3 y el consecuente del sistema difuso dos para la identificar la variable y(t+∆t) del caos de Lorenz, se observan los datos de entrenamiento (cruces rojas) y los datos interpolados (círculos azules).

Fig. 6.36. Diagrama de dispersión en tres dimensiones de los antecedentes 2, 3 y el consecuente del sistema difuso dos para la identificar la variable y(t+∆t) del caos de Lorenz, se

Page 12: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

viii

observan los datos de entrenamiento (cruces rojas) y los datos interpolados (círculos azules).

Fig. 6.37. Comparativo de la salida de la planta que simula el caos de Lorenz (línea roja) y la salida sistema difuso dos (línea negra).

Fig. 6.38. Error entre la salida de la planta que simula el caos de Lorenz y la salida del sistema difuso dos.

Fig. 6.39. Serie de tiempo correspondiente al sistema difuso tres que identifica la variable z(t+∆t)del caos de Lorenz, donde se muestran los datos interpolados (cruces rojas), los datos de entrenamiento (círculos azules) y la línea de error (línea verde).

Fig. 6.40. Comparativo de la salida de la planta que simula el caos de Lorenz (línea roja) y la salida sistema difuso tres (línea negra).

Fig. 6.41. Error entre la salida de la planta que simula el caos de Lorenz y la salida del sistema difuso tres.

Fig. 6.42. Diagrama para la validación del caos de Lorenz, los sistemas difusos comparten las variable xr(t+∆t) por lo que se desea aproximar las variables yr(t+∆t) y zr(t+∆t), las cuales se comparan con la salida de cada sistema difuso: y(t+∆t) y z(t+∆t).

Fig. 6.43. Comparativo de la salida de la planta que simula el caos de Lorenz (línea roja) y la salida sistema difuso dos (línea negra) al compartir la variable xr(t+∆t).

Fig. 6.44. Error entre la salida de la planta que simula el caos de Lorenz y la salida del sistema difuso dos al compartir la variable xr(t+∆t).

Fig. 6.45. Comparativo de la salida de la planta que simula el caos de Lorenz (línea roja) y la salida sistema difuso dos (línea negra) al compartir la variable xr(t+∆t).

Fig. 6.46. Error entre la salida de la planta que simula el caos de Lorenz y la salida del sistema difuso dos al compartir la variable xr(t+∆t).

Fig. 6.47. Etapas para obtener y evaluar una función interpoladora que controle a un sistema dinámico.

Fig. 6.48. Controlador difuso CD basado en modelo inverso aplicado a una planta de primer orden en una configuración de lazo cerrado. Señal de referencia ref, señal de control u(t) y salida x(t). La línea punteada representa el inverso de la planta P, el cual corresponde al control difuso.

Fig. 6.49. Diagrama de dispersión en tres dimensiones de la identificación inversa de un sistema de primer orden no lineal, se observan los datos de entrenamiento (cruces rojas), los datos interpolados (círculos azules) y la función interpoladora (plano celeste).

Fig. 6.50. Acercamiento del diagrama de dispersión en tres dimensiones de la identificación inversa de un sistema de primer orden no lineal, se observan los datos de entrenamiento (cruces rojas), los datos interpolados (círculos azules) y la función interpoladora (plano celeste).

Fig. 6.51. Comparativo de la señal de referencia triangular (línea roja) y la salida la planta de primer orden no lineal (línea negra).

Fig. 6.52. Error entre la señal de referencia triangular y la salida de la planta de primer orden no lineal.

Fig. 6.53. Señal de control obtenida por el controlador de un sistema de primer orden no lineal para seguir una referencia triangular.

Fig. 6.54. Comparativo de la señal de referencia senoidal (línea roja) y la salida la planta de primer orden no lineal (línea negra).

Fig. 6.55. Error entre la señal de referencia senoidal y la salida de la planta de primer orden no lineal.

Fig. 6.56. Señal de control obtenida por el controlador del sistema de primer orden no lineal para seguir una referencia senoidal.

Fig. 6.57. Escalón de amplitud 0.6 agregado como perturbación a la entrada de la planta de primer orden no lineal.

Fig. 6.58. Comparativo de la señal de referencia triangular (línea roja) y la salida la planta de

Page 13: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

ix

primer orden no lineal (línea negra) con una perturbación agregada a los 6 s. Fig. 6.59. Error entre la señal de referencia triangular y la salida de la planta de primer orden no

lineal con una perturbación agregada a los 6 s. Fig. 6.60. Señal de control obtenida por el controlador del sistema de primer orden no lineal para

seguir una referencia triangular al aplicar una perturbación. Fig. 6.61. Escalón de amplitud -0.7 agregado como perturbación a la planta de primer orden no

lineal. Fig. 6.62. Comparativo de la señal de referencia senoidal (línea roja) y la salida la planta de

primer orden no lineal (línea negra) con una perturbación agregada a los 5 s. Fig. 6.63. Error entre la señal de referencia senoidal y la salida de la planta de primer orden no

lineal con una perturbación agregada a los 5 s. Fig. 6.64. Señal de control obtenida por el controlador del sistema de primer orden no lineal para

seguir una referencia senoidal al aplicar una perturbación. Fig. 6.65. Señal base para obtener los datos de entrenamiento del sistema de segundo orden no

lineal. Fig. 6.66. Entrada aplicada a la planta de segundo orden no lineal para generar los datos de

entrenamiento. Fig. 6.67. Gráfico comparativo del consecuente real e interpolado ordenado de forma ascendente

de la identificación inversa de un sistema de segundo orden no lineal, donde se muestran los datos interpolados (cruces rojas), los datos de entrenamiento (círculos azules) y la línea de error (línea verde).

Fig. 6.68. Comparativo de la señal de referencia triangular (línea roja) y la salida la planta de segundo orden no lineal (línea negra).

Fig. 6.69. Error entre la señal de referencia triangular y la salida de la planta de segundo orden no lineal.

Fig. 6.70. Señal de control obtenida por el controlador del sistema de segundo orden no lineal para seguir una referencia triangular.

Fig. 6.71. Comparativo de la señal de referencia senoidal (línea roja) y la salida la planta de segundo orden no lineal (línea negra).

Fig. 6.72. Error entre la señal de referencia senoidal y la salida de la planta de segundo orden no lineal.

Fig. 6.73.

Señal de control obtenida por el controlador del sistema de segundo orden no lineal para seguir una referencia senoidal.

Fig. 6.74. Escalón de amplitud 0.4 agregado como perturbación a la planta de segundo orden no lineal.

Fig. 6.75. Comparativo de la señal de referencia triangular (línea roja) y la salida la planta de segundo orden no lineal (línea negra) con una perturbación agregada a los 6 s.

Fig. 6.76. Error entre la señal de referencia triangular y la salida de la planta de segundo orden no lineal con una perturbación agregada a los 6 s.

Fig. 6.77. Señal de control obtenida por el controlador del sistema de primer orden no lineal para seguir una referencia triangular al aplicar una perturbación.

Fig. 6.78. Matriz de dispersión del consecuente de un sistema de visión para clasificación de manzanas de 4 dimensiones después de 5 épocas de entrenamiento, las cruces rojas corresponden a los datos interpolados, los círculos azules a los datos de entrenamiento y los puntos celestes a la función interpoladora.

Fig. 6.79. Combinación de diagramas de dispersión de 3 dimensiones de un sistema de visión para clasificación de manzanas después de 5 épocas de entrenamiento, las cruces rojas corresponden a los datos interpolados, los círculos azules a los datos de entrenamiento.

Fig. 6.80. Matriz de dispersión del consecuente de un sistema de visión para clasificación de manzanas de 4 dimensiones después de 400 épocas de entrenamiento, se muestran

Page 14: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

x

los datos interpolados (cruces rojas) y los datos de entrenamiento (círculos azules), en este caso se omite visualizar las proyecciones de la función interpoladora para mejorar la visualización.

Fig. 6.81 Combinación de diagramas de dispersión de 3 dimensiones de un sistema de visión de 4 dimensiones para clasificación de manzanas después de 400 épocas de entrenamiento, se muestran los datos interpolados (cruces rojas) y los datos de entrenamiento (círculos azules).

Fig. 6.82. Combinación de diagrama de dispersión de tres dimensiones y código de color de los datos de entrenamiento de un sistema de visión de 4 dimensiones, las cruces rojas representan el valor de cero en el consecuente y los círculos azules representan el valor de uno.

Fig. 6.83. Combinación de diagrama de dispersión de tres dimensiones y código de color de los datos aproximados de un sistema de visión de 4 dimensiones, el valor del consecuente se representa con código de colores.

Fig. 6.84. Matriz de dispersión del consecuente de un sistema de visión para clasificación de manzanas de 5 dimensiones, se muestran los datos interpolados (cruces rojas) y los datos de entrenamiento (círculos azules).

Fig. 6.85. Combinación de diagramas de dispersión de 3 dimensiones de un sistema de visión de 5 dimensiones para clasificación de manzanas, se muestran los datos interpolados (cruces rojas) y los datos de entrenamiento (círculos azules).

Fig. 6.86. Combinación de diagramas de dispersión de tres dimensiones y código de color de los datos aproximados de un sistema de visión de 5 dimensiones, el valor del consecuente se representa con código de colores.

Fig. 6.87. Matriz de dispersión del consecuente de un sistema de visión para clasificación de manzanas de 5 dimensiones, se muestran los datos interpolados (cruces rojas) y los datos de entrenamiento (círculos azules).

Fig. 6.88. Combinación de diagramas de dispersión de 3 dimensiones de un sistema de visión de 5 dimensiones para clasificación de manzanas, se muestran los datos interpolados (cruces rojas) y los datos de entrenamiento (círculos azules).

Fig. 6.89. Combinación de diagramas de dispersión de tres dimensiones y código de color de los datos aproximados de un sistema de visión de 5 dimensiones, el valor del consecuente se representa con código de colores.

Anexo A Fig. A.1. Inicio de la aplicación. Fig. A.2. Menú principal de la aplicación.

Fig. A.3. Selección del archivo que contiene los datos cuyas regiones sobre-muestreadas y desprovistas de datos se detectarán.

Fig. A.4. Ingreso del número de divisiones por dimensión. Fig. A.5. Cuenta de puntos por regiones. Fig. A.6. Menú “Sintonizar interpolación”. Fig. A.7. Selección del archivo que contiene los datos de entrenamiento. Fig. A.8. Selección de la carpeta donde se almacenarán los archivos sintonizados. Fig. A.9. Ingreso del número de conjuntos difusos por antecedente. Fig. A.10. Ingreso de todos los parámetros para sintonizar el sistema difuso. Fig. A.11. Selección de la forma de espaciar los conjuntos difusos. Fig. A.12. Ingreso del número de épocas en que se sintonizará el sistema difuso.

Page 15: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

xi

Fig. A.13. Termino de la sintonización del sistema difuso. Fig. A.14. Selección del directorio que contiene los archivos sintonizados. Fig. A.15. Menú “Obtener datos interpolados”. Fig. A.16. Ingreso del número de puntos por división.

Fig. A.17. Selección de la carpeta e ingreso del nombre del archivo donde se almacenarán los archivos que resulten de la interpolación.

Fig. A.18. Contenido del archivo donde se almacenó el resultado de la interpolación, la última columna corresponde a la dimensión interpolada.

Fig. A.19. Selección del archivo que contiene los datos a interpolar. Fig. A.20. Ingreso de los datos a interpolar y despliegue del resultado. Fig. A.21. Menú “Posibilidad de inversión”. Fig. A.22. Ingreso de la dimensión de la entrada, los valores de las distintas componentes y

despliegue de las regiones que no tienen posibilidad de inversión por ser multivaluadas.Fig. A.23. Gráfica de puntos multivaluados (rojo) y no multivaluados (azul). Fig. A.24. Ingreso de la entrada anterior, la componente del estado deseado y despliegue de las

entradas que hacen transitar al sistema dinámico al estado deseado y la entrada más cercana a la anterior.

Fig. A.25. Ingreso del número de divisiones por componente y despliegue de las regiones que no tienen posibilidad de inversión.

Fig. A.26. Ingreso de las componentes del estado actual, del valor de la componente del estado deseado, el porcentaje de error y el número de variaciones de la entrada.

Figff. A.27. Entradas para transitar al estado siguiente, utilizando la notación (u(t), x1(t), x2(t))? componente del estado deseado, donde x1(t) y x2(t) son las componentes del estado actual.

Fig. A.28. Gráfica para visualizar si el estado siguiente que se desea es alcanzable, las líneas rojas punteadas representan la región del valor del estado deseado considerando la tolerancia dada por el porcentaje de error.

Fig. A.29. Menú “Visualización multidimensional”. Fig. A.30. Menú “Visualización bondad de ajuste”. Fig. A.31. Opciones de visualización de los métodos diagrama de dispersión del consecuente y

combinación de diagramas de dispersión en tres dimensiones. Fig. A.32. Matriz de dispersión del consecuente de la identificación de un sistema de segundo

orden lineal, las cruces rojas corresponden a los datos interpolados, los círculos azules a los datos de entrenamiento.

Fig. A.33. Selección de la proyección independiente que se desea visualizar. Fig. A.34. Visualización de una proyección independiente del método de conjunto de diagramas

de dispersión en tres dimensiones. Fig. A.35. Conjunto de diagramas de dispersión en tres dimensiones correspondientes a la

identificación de un sistema de segundo orden lineal, se observan los datos de entrenamiento (cruces rojas) y los datos interpolados (círculos azules).

Fig. A.36. Selección de un diagrama de dispersión en tres dimensiones. Fig. A.37. Visualización de un diagrama de dispersión en tres dimensiones independiente. Fig. A.38. Opciones de visualización del método gráfico comparativo del consecuente real e

interpolado. Fig. A.39. Gráfico comparativo del consecuente real e interpolado de la identificación de una

variable de estado de un sistema de segundo orden lineal, donde se muestran los datos interpolados (cruces rojas), los datos de entrenamiento (círculos azules) y la línea de

Page 16: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

xii

error (línea verde).

Fig. A.40. Forma de ordenar los datos en el gráfico comparativo del consecuente real e interpolado.

Fig. A.41. Gráfico comparativo del consecuente real e interpolado de la identificación de una variable de estado de un sistema de segundo orden no lineal, con los datos ordenados de forma ascendente, se muestran los datos interpolados (cruces rojas), los datos de entrenamiento (círculos azules) y la línea de error (línea verde).

Fig. A.42. Menú “Diagramas de dispersión 3D + Color”. Fig. A.43. Opciones del método de visualización combinación de diagramas de dispersión en tres

dimensiones y código de color. Fig. A.44. Combinación de diagrama de dispersión de tres dimensiones y código de color de los

datos de entrenamiento de un sistema de visión de 5 dimensiones, las cruces rojas representan el valor de cero en el consecuente y los círculos azules representan el valor de uno.

Fig. A.45. Diagrama de dispersión independiente del método combinación de diagramas de dispersión en tres dimensiones y código de color.

Fig. A.46. Combinación de diagrama de dispersión de tres dimensiones y código de color de los datos aproximados de un sistema de visión de 5 dimensiones, el valor del consecuente se representa con código de colores.

Fig. A.47. Diagrama de dispersión independiente de la función interpoladora visualizada con el método de combinación de diagramas de dispersión en tres dimensiones y código de color.

Anexo B Fig. B.1. Arreglo para almacenar el conteo de puntos, cada posición contiene la cuenta de una

región. Fig. B.2. Contenido del arreglo después de contar el punto (1, 2, 3). Fig. B.3. Contenido del arreglo después de contar los puntos (1, 2, 3) y (1.7, 3.1, 1.5). Fig. B.4. Contenido del arreglo después de contar los puntos (1, 2, 3), (1.7, 3.1, 1.5) y (2, 4, -1). Anexo C Fig. C.1. Diagrama de simulación para la adquisición de datos de un sistema de segundo orden

no lineal. Fig. C.2. Diagrama de simulación para comprobar la etapa de validación y generalización de la

identificación de un sistema de segundo orden lineal. Fig. C.3. Diagrama de simulación para comprobar la etapa de generalización del control de un

sistema de segundo orden no lineal.

Page 17: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

xiii

LISTA DE TABLAS

Capítulo 2 Tabla 2.1. Comparación de métodos de visualización de alta dimensionalidad. Capítulo 6 Tabla 6.1. Características de las funciones interpoladoras para controlar al sistema de

segundo orden no lineal. La función que se describe en el renglón con fondo gris es la que presenta los menores errores.

Tabla 6.2. Resultados de la visualización de la bondad de ajuste, las simulaciones de la validación y la generalización de las pruebas de identificación de sistemas dinámicos.

Tabla 6.3. Resultados de la visualización de la bondad de ajuste y la simulación de la etapa de generalización de las pruebas de control de sistemas dinámicos.

Anexo B Tabla B.1. Valores para calcular la tupla de divisiones del punto (1, 2, 3).

Page 18: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

1. Introducción

1

1. Introducción

1. Introducción

CAPÍTULO 1

Introducción Los datos multidimensionales se encuentran en diversas áreas (ingeniería, matemáticas, meteorología, física, astronomía, medicina, finanzas, sismología, metalurgia, entre otras). La información contenida en este tipo de datos es densa y por tanto difícil de entender si no se cuenta con las herramientas o medios necesarios. La visualización es uno de los medios más efectivos para lograr este fin [Jirka, 2003]. Las técnicas de la inteligencia artificial manejan datos en un espacio de N-dimensiones, generalmente con N mayor que tres. En el dominio de las señales continuas en el tiempo, la inteligencia computacional se plantea el análisis y procesamiento de imágenes, la identificación, modelado, simulación y control de sistemas dinámicos, y el procesamiento estadístico de datos poblacionales y de encuestas. En estos ámbitos, surge la necesidad de interpolar datos, es decir, obtener nuevos datos a partir de los ya existentes, por lo que es necesario informar si en una determinada región del N-espacio existen muchos o pocos datos. Las regiones que presentan muchos datos (conglomerados) de manera local tienen buena aproximación, en cambio la interpolación en regiones que presentan pocos o ningún dato no es confiable. Interesa entonces examinar la bondad del ajuste de una función interpoladora o aproximadora respecto a los datos de entrenamiento. Dicho ajuste es posible medirlo con el error cuadrático medio, pero la visualización es una mejor forma de notarlo. La tarea de visualización es sencilla de resolver cuando se tienen 1, 2 ó 3 dimensiones, pero es compleja cuando el número de dimensiones es mayor a 3. En las áreas de inteligencia artificial y control inteligente existe la necesidad de visualizar datos en más de tres dimensiones, por lo que este trabajo es útil para estas ramas.

Page 19: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

1. Introducción

2

En el área de control inteligente, es común obtener controladores mediante el método de planta inversa el cual consiste en realizar un modelo (identificación) inverso de un comportamiento dinámico; para que dicho modelo sea válido es necesario cumplir la condición que para una entrada se obtenga sólo una salida. Por lo que es de interés un método en el que a partir de un modelo directo de un sistema dinámico se detecten regiones invertibles y no invertibles. En la sección 1.1 se presenta la motivación de este trabajo de investigación. En la sección 1.2 se exponen los trabajos desarrollados en CENIDET (Centro Nacional de Investigación y Desarrollo Tecnológico) que motivaron a realizar este trabajo de tesis. En la sección 1.3 se describe el problema que se buscó resolver en esta investigación. En la sección 1.4 se presentan los objetivos general y particulares de este trabajo. En la sección 1.5 se muestra la descripción por capítulo de este trabajo de tesis.

1.1. Motivación En CENIDET se han desarrollado trabajos en los Departamentos de Ciencias Computacionales e Ingeniería Mecatrónica en los que se analizan sistemas dinámicos (modelado, identificación y control) utilizando la función de transición de estados, esta forma de análisis no es muy común ya que la transición de un estado a otro se caracteriza a través de datos. En control convencional existen técnicas clásicas para realizar estas tareas como el análisis de las señales en el tiempo, transformadas en el dominio complejo como Laplace, diagramas de Bode etc. La visualización ha sido útil para comprender que tan bien identificado o controlado es un sistema dinámico por la función de transición de estados, dicha función se caracteriza a partir de datos adquiridos de una simulación, pero la visualización se emplea hasta el espacio de tres dimensiones. La mayor parte de los casos interesantes se encuentran en el espacio de más de tres dimensiones. Aún para el caso de dos o tres dimensiones no han sido sistematizadas las técnicas de visualización para trabajos que empleen la función de transición de estados. Por tanto interesa ordenar los métodos de visualización y extenderlos, en lo posible, a dimensiones mayores a tres.

1.2. Antecedentes A continuación se describen trabajos desarrollados en el CENIDET en los cuales se obtienen funciones interpoladoras mediante redes neuronales y lógica difusa, las cuales aproximan datos provenientes de sistemas dinámicos. La tesis “Sintonización de controladores difusos basada en el método de gradiente descendente” [Castillo, 1999] desarrollada en el Departamento de Ciencias Computacionales en la cual se implementó una metodología basada en el método de gradiente descendente descrito en [Nomura, 1992] que es capaz de sintonizar tanto

Page 20: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

1. Introducción

3

conjuntos como reglas difusas, lo cual permite automatizar el diseño de controladores difusos de un sistema dinámico a través del proceso de sintonización de sus parámetros en forma sistemática, evitando la dependencia del conocimiento del experto humano. Las pruebas consistieron en modelar sistemas algebraicos e identificar y controlar sistemas dinámicos; se observó que el sistema difuso sintonizado actúa como un interpolador. La tesis “Implementación de una red neuronal holográfica para el control de un brazo robot articulado” [Hernández, 2003] desarrollada en el Departamento de Ciencias Computacionales donde mediante una red neuronal holográfica se controla un manipulador para un brazo de robot planar de dos grados de libertad. El aprendizaje de la red neuronal se hizo con muestras de datos entrada-salida, siendo posible obtener un modelo inverso el cual es el controlador. El modelo que se obtuvo de la red neuronal holográfica presenta la capacidad de generalización, por lo que es un interpolador. Se hizo una comparación del control del brazo con el paradigma backpropagation [Hilera, 1995] y se observó que ambas redes tienen un buen desempeño, pero el tiempo de aprendizaje de la red holográfica es menor. La tesis “Construcción de un brazo robótico de tres grados de libertad y su control mediante el núcleo híbrido de transición de estados” [Jiménez, 2005] desarrollada en el Departamento de Ingeniería Mecatrónica, donde se construyó un robot de tres grados de libertad con arquitectura PUMA (Programmable Universal Manipulator for Assembly) [Leahy, 1989]. El controlador del brazo es difuso y se obtuvo mediante el método de planta inversa. Los parámetros del controlador fueron sintonizados con el algoritmo de gradiente descendente [Nomura, 1992], cuyos datos de entrenamiento se obtuvieron a partir de un control convencional de posición PID (Proporcional-Integral-Derivativo). En este trabajo se muestra la capacidad de un sistema difuso de controlar un sistema dinámico no lineal. La tesis “Control inteligente del frenado en propulsión eléctrica con regeneración” [Cholula, 2005] desarrollada en el Departamento de Ingeniería Mecatrónica, en la cual se usa el control inteligente para controlar mediante planta inversa un motor de inducción jaula de ardilla acoplado a un volante de inercia con freno mecánico. Mediante un control convencional se obtienen los datos de entrenamiento que son las entradas y salidas de la planta, con la ayuda de la lógica difusa se pretende obtener la correspondencia de las entradas y las salidas, a partir de los datos de entrenamiento, para obtener esta relación se usó el algoritmo ANFIS (Adaptive Neuro-Fuzzy Inference Systems) [Jang, 1993]. Al tener la relación de entradas y salidas, se tiene un modelo que al invertirse da como resultado el controlador. En estos cuatro trabajos se resiente el hecho de poder visualizar los datos y la función interpoladora sólo para el caso más sencillo que es el sistema dinámico de primer orden, el cual se describe mediante tres dimensiones: el estado actual x(t), la entrada actual u(t), y el estado siguiente x(t+∆t). La evolución de un sistema de segundo orden ya no se puede visualizar debido a que se tienen por lo menos cuatro dimensiones, sin hablar de órdenes superiores. Además el control que se obtiene en estos trabajos es mediante planta inversa, por lo que sería de utilidad un método que detecte regiones invertibles y no invertibles a partir de la identificación del sistema dinámico hecha por la función interpoladora. Estas carencias son lo que motivó la presente tesis. En [May, 2004], [Vergara, 2003] y [Ortíz, 2007] se presentan trabajos del área de Visión Artificial, en el primero se trata de reconocer objetos deformables considerando color y

Page 21: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

1. Introducción

4

textura, el segundo es sobre reconocimiento de texturas artificiales, caracterizándolas por métodos estadísticos y de reconocimiento de patrones, el último trabajo se trata sobre inspección de calidad de manzanas a través de sus características visuales como color y textura. Debido a que el color se puede ver como un vector de 3 dimensiones y la textura va a requerir al menos una dimensión más, una función de color y textura estaría en por lo menos 5 dimensiones (4 entradas y 1 salida), la cual sería conveniente visualizar, con el objetivo de descubrir alguna característica inherente a los datos difícil de detectar si sólo se estudian conjuntos numéricos, por lo que este trabajo sería de utilidad en estos casos.

1.3. Descripción del problema En algunos trabajos que se presentaron en la sección 1.2 se utilizan lógica difusa o redes neuronales para obtener una función interpoladora en el espacio de N-dimensiones, por lo que este trabajo de investigación abordó el análisis y visualización de datos en dicho espacio, siendo de especial interés los casos donde N es mayor que tres. Entre los problemas elementales del análisis de datos multidimensionales está la descripción grosso modo de su ubicación:

• La existencia de conglomerados. Estos pueden representar una clase de objetos, por ejemplo, "las manzanas de color aceptable". Pero si estamos analizando un sistema dinámico, un conglomerado puede representar una región sobre-muestreada que distorsione una función interpoladora por su peso.

• La existencia de vacíos: Estos vacíos permiten separar clases, pero en el caso de

tratar de interpolar representan áreas con datos insuficientes. Incluso pueden señalar valores que el estado de un sistema dinámico no puede tomar.

En algunos trabajos que se mencionaron en la sección 1.2 se utilizan controladores obtenidos por medio de planta inversa por lo que otro problema que es conveniente resolver es la detección de regiones con posibilidad de inversión de una función interpoladora que identifica un sistema dinámico. Otro problema es encontrar métodos adecuados para una visualización de muestras de datos en el espacio de N-dimensiones provenientes de sistemas dinámicos y de visión que sean interpretables, es decir que se puedan observar características inherentes a los datos siendo de interés visualizar la bondad de ajuste de la función interpoladora.

1.4. Objetivos Los objetivos de este trabajo de tesis son los siguientes: Objetivo general Desarrollar o adaptar herramientas computacionales para el análisis y visualización de características básicas de conjuntos de datos en N-dimensiones, así como las funciones computacionales que los interpolan o modelan.

Page 22: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

1. Introducción

5

Objetivos particulares Análisis:

• Localizar regiones compactas desprovistas de datos en el espacio de N-dimensiones.

• Localizar regiones sobre-muestreadas, es decir donde los datos abundan.

• Calificar las regiones de datos por posibilidades de inversión, es decir si es o no

posible obtener la función inversa en dicha región respecto a alguna de las N-variables.

• Implementar métodos de búsqueda para tratar de encontrar una solución que

cumpla con algún criterio, cuando la función obtenida del modelo de aproximación o interpolación es multivaluada.

Interpolación:

• Obtener funciones para interpolar datos en el espacio de N-dimensiones. Visualización:

• Visualizar los datos multidimensionales y la bondad de ajuste de las funciones que

los interpolen.

1.5. Organización de la tesis El documento de tesis está organizado de la siguiente manera: En el capítulo 2 se presentan conceptos y se hace una revisión de trabajos relacionados con la interpolación, análisis y visualización de datos en el espacio de N dimensiones En el capítulo 3 se describe el método de sintonización de sistemas difusos empleando gradiente descendente y se presentan conceptos relacionados a sistemas dinámicos y sistemas de visión artificial. En el capítulo 4 se exponen los métodos que se utilizaron para resolver los problemas del análisis multidimensional: detección de cúmulos y vacíos, detección de regiones con posibilidad de inversión y búsqueda de una solución cuando la función interpoladora es multivaluada; en este capítulo también se presentan las pruebas de estos métodos. En el capítulo 5 se describen los métodos de visualización multidimensional útiles para observar la bondad de ajuste de la función interpoladora. En el capítulo 6 se presentan pruebas de los métodos de visualización multidimensional y mediante simulaciones se comprueba la capacidad de generalización de distintas funciones interpoladoras.

Page 23: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

1. Introducción

6

En el capítulo 7 se ofrecen las conclusiones finales de este trabajo de investigación, los objetivos cubiertos y los trabajos por realizar en el futuro. En el anexo A se describe el manual de usuario de la aplicación que se implementó en el desarrollo de esta investigación. En el anexo B se hace una demostración del método de detección de regiones sobre-muestreadas o desprovistas de datos que se presenta en la sección 4.1. En el anexo C se presentan diagramas de simulación hechos en Simulink de Matlab, para adquirir datos, identificar y controlar sistemas dinámicos.

Page 24: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

2. Estado del arte

7

2.Estado del arte

CAPÍTULO 2

Estado del arte En este capítulo se presentan conceptos sobre interpolación, análisis y visualización multidimensional y algunos trabajos que pueden contribuir a cumplir los objetivos de esta investigación. En la sección 2.1 se presentan conceptos relacionados a interpolación, métodos para obtener funciones interpoladoras y algunos trabajos en los cuales se realiza interpolación utilizando técnicas de inteligencia artificial. En la sección 2.2 se exponen las características de interés del análisis multidimensional así como trabajos relacionados. En la sección 2.3 se tratan conceptos relacionados a visualización, se presentan distintos métodos de visualización y se realiza una comparación entre éstos usando como criterio su capacidad para visualizar la bondad de ajuste de una función interpoladora respecto a los datos de entrenamiento. La sección 2.4 presenta la discusión del capítulo.

Page 25: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

2 .Estado del arte

8

2.1. Interpolación Interpolar significa estimar el valor desconocido de una función en un punto, en base a valores conocidos [Mathews, 2000]. Existen dos tipos de interpolación, la exacta y la aproximada [Llanas, 2006]. En la interpolación exacta la función interpoladora debe pasar de forma exacta por todos los puntos dados, mientras que en la interpolación aproximada existe una diferencia entre los puntos dados y su correspondiente valor interpolado, a esta diferencia se le llama error de interpolación [Llanas, 2006]. En las siguientes dos secciones se presentan métodos de interpolación exacta y aproximada.

2.1.1. Métodos de interpolación exacta Algunos de los métodos usados para interpolación exacta son los siguientes: Interpolación lineal: se obtiene una recta que pasa por dos puntos dados. Interpolación polinomial: consiste en obtener un polinomio que pase por todos los puntos dados. Existen varios métodos para llevar a cabo este tipo de interpolación como las series de potencias, los métodos de Lagrange y de Newton. El polinomio que se obtiene es de grado N-1 donde N es el número de datos, este polinomio es único [Nakamura, 1992]. Interpolación con splines1 cúbicos: se usa un polinomio cúbico en cada intervalo entre dos puntos consecutivos, este polinomio tiene cuatro coeficientes, por lo que requiere cuatro condiciones. Dos de ellas provienen de la restricción de que el polinomio debe pasar por los puntos en los dos extremos del intervalo. Las otras dos son las condiciones de que la primera y segunda derivadas del polinomio sean continuas en cada uno de los puntos dados [Nakamura, 1992]. Los métodos de interpolación exacta que se presentaron tienen desventajas, en los métodos de interpolación polinomial es necesario llevar a cabo un gran número de cálculos, por lo que su costo computacional es alto y en el caso específico de los métodos de Lagrange y Newton los errores tienden a crecer al hacer mayor el orden del polinomio. En la interpolación mediante splines cúbicos aunque su costo computacional es menor que los métodos polinomiales, es necesario resolver un sistema de ecuaciones simultáneas cuyo error de redondeo en el resultado afecta la interpolación. Otra desventaja de la interpolación exacta es que si se aplica a datos con errores provocados por perturbaciones o que son inherentes a una medición, la función interpoladora hereda estos errores. 1 En [Chapra, 1999] el término spline se traduce como “función de interpolación segmentaria”; esta función es un polinomio de orden inferior que se usa para interpolar un intervalo de un conjunto de datos. Para poder interpolar el dominio completo de los datos se usa un conjunto de polinomios.

Page 26: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

2 .Estado del arte

9

2.1.2. Métodos de interpolación aproximada Enseguida se presentan algunos métodos de interpolación aproximada. Regresión lineal: consiste en encontrar una función lineal que se ajuste a los puntos dados usando el método de mínimos cuadrados [Nakamura, 1992]. El método de mínimos cuadrados consiste en encontrar una función aproximadora que minimice el error cuadrático medio (RMS) entre los datos reales y los aproximados [Mathews, 2000]. El RMS se calcula con la ecuación (2.1).

2

1

1 | ( ) |n

k kk

RMS f x yn =

= −∑ (2.1)

Donde n es el número de puntos reales dados, f(xk) es el valor aproximado por la función interpoladora f y yk es el valor real correspondiente. Una desventaja del método de regresión lineal, es que sólo funciona bien si los datos dados son lineales intrínsicamente [Nakamura, 1992]. Ajuste de curvas con un polinomio: es una extensión del ajuste de recta mediante mínimos cuadrados, el número de puntos que se ajustan es generalmente mucho más grande que el orden del polinomio, una desventaja de este método es que la ecuación lineal asociada es demasiado vulnerable a errores de redondeo [Nakamura, 1992]. Debido a las desventajas que presentan los métodos clásicos de interpolación exacta y aproximada, en los trabajos relacionados se analizan otros métodos provenientes de la inteligencia artificial.

2.1.3. Trabajos relacionados con la interpolación A continuación se presentan trabajos en los cuales se realizan interpolaciones por medio de redes neuronales y sistemas difusos, o una combinación de ambos. El artículo “A Learning Method of Fuzzy Inference by Descendent Methods” [Nomura, 1992] presenta un método para obtener de manera automática las reglas de inferencia que expresan la relación entrada-salida de los datos. Esto se logra con un método de gradiente descendente, que sintoniza de manera automática las bases y los centros de las funciones de pertenencia triangulares de los antecedentes (entradas) y el número real que describe el consecuente de las reglas difusas (salida). Se prueba su capacidad de generalización (aproximación) con un sistema de ecuaciones no lineales y con el control de un robot en movimiento. El artículo “ANFIS: Adaptive-Network-Based Fuzzy Inference System” [Jang, 1993] presenta un sistema neurodifuso llamado ANFIS, el cual construye un mapa de entrada-salida mediante un mecanismo de aprendizaje híbrido que se basa en conocimiento humano proporcionado mediante reglas if-then y un conjunto de datos entrada-salida. En este trabajo se modelaron aproximaciones a funciones no lineales, se linealizaron

Page 27: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

2 .Estado del arte

10

componentes no lineales de un sistema de control y se predijeron series de tiempo, obteniéndose buenos resultados. El artículo “Fuzzy Systems as Universal Approximators” [Kosko, 1994] demuestra que un sistema difuso es capaz de aproximar una función real continua en un dominio compacto cubriendo su gráfica con “parches” difusos en el espacio entrada-salida. Cada “parche” se define por una regla difusa, la aproximación mejora si se tiene un mayor número de “parches” de menor tamaño, pero el costo computacional aumenta. El artículo “Constructive approximate interpolation by neural networks” [Llanas, 2006] presenta una red neuronal con conexión hacia adelante de una capa oculta y función de activación sigmoidal denominada ai-net, capaz de hacer interpolaciones aproximadas de funciones continuas de una variable que se pueden reutilizar para construir aproximaciones de funciones continuas de muchas variables. Se basan en la idea, la cual demuestran, que n neuronas ocultas pueden aprender n muestras distintas con error cero y a partir de ésta construyen la red ai-net la cual es capaz de interpolar sin entrenamiento. A continuación se presenta una discusión sobre los trabajos relacionados con los métodos de interpolación. Los trabajos descritos demuestran que es posible obtener funciones interpoladoras mediante métodos de la inteligencia artificial, además no se restringen a aproximar datos provenientes de un dominio específico. El tipo de interpolación que realizan es aproximada, lo cual es una ventaja ya que la interpolación exacta adquiere los errores de los datos cuya función interpoladora se desea obtener. El método que se eligió para obtener funciones interpoladoras es el de sintonización de sistemas difusos empleando el método de gradiente descendente descrito en [Castillo, 1999] mencionado en la sección 1.2, este trabajo se basa en el artículo [Nomura, 1992] presentado en la sección anterior. Se eligió este método debido a que es un trabajo que se desarrolló en CENIDET, por lo que se dispone del programa y código fuente, las pruebas demostraron que es un buen interpolador y se usó para aplicaciones específicas como en [Jiménez, 2005] donde obtuvieron buenos resultados. En la siguiente sección se presenta el estado del arte relacionado al análisis multidimensional.

2.2. Análisis multidimensional En el análisis multidimensional, de acuerdo a la descripción del problema (sección 1.2), interesan las siguientes características:

A) Localizar regiones compactas desprovistas de datos o regiones sobre-muestreadas, es decir donde los datos abundan en el espacio de N-dimensiones.

B) Calificar las regiones de datos por posibilidades de inversión, es decir si es o no

posible obtener la función inversa en dicha región respecto a alguna de las N variables previamente especificadas.

Page 28: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

2 .Estado del arte

11

C) Implementar métodos de búsqueda para tratar de encontrar una solución que cumpla con algún criterio, cuando la función obtenida del modelo de interpolación es multivaluada.

A continuación se presentan los trabajos relacionados a las características de interés.

2.2.1. Trabajos relacionados con el análisis multidimensional A) Localización de regiones sobre-muestreadas o desprovistas de datos En la búsqueda de la literatura para detectar regiones sobre-muestreadas o desprovistas de datos se encontraron las medidas de dispersión las cuales dan una idea de la forma de los datos, se estudian tres medidas: la amplitud total, la desviación media y la desviación típica o estándar. Estas medidas son parámetros de la distribución de frecuencias que caracterizan la variabilidad de la distribución [Yamane, 1979]. A continuación se definirán dichas medidas. La amplitud total es la medida más sencilla pero la más limitada, es la diferencia entre los valores máximos y mínimos de los datos, al tomar solo valores extremos se desconoce el comportamiento de los datos que están entre dichos valores [Yamane, 1979]. Se conoce como desviación a la diferencia entre un valor de un dato xi y la media x . La desviación media como su nombre lo indica es la media de la desviación a partir de algún valor central, tal como la media o la mediana de una distribución, cuando se utiliza la mediana se habla de desviación mediana [Yamane, 1979]. Para N observaciones se calcula con la siguiente expresión:

N

xxmediaDesviación

N

ii∑

=

−= 1

|| (2.2)

Antes de definir a la desviación típica o estándar es necesario conocer la varianza la cual es el promedio de las desviaciones al cuadrado [Yamane, 1979] y se expresa por:

2

1( )

N

ii

x xVarianza

N=

−=∑

(2.3)

En la varianza se tienen desviaciones al cuadrado. Para superar esta insuficiencia se calcular la raíz cuadrada de la varianza la cual es la desviación típica o estándar [Yamane, 1979] cuya fórmula es:

2

1

( )N

ii

x xDesviación estándar

N=

−=∑

(2.4)

Page 29: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

2 .Estado del arte

12

Las medidas de dispersión miden la distribución respecto a un promedio, pero no proporcionan mucha información acerca de la diseminación de los datos, el promedio no es representativo cuando se tiene una dispersión amplia. Otra desventaja es que dan información acerca de todo el conjunto de datos y en el caso de este trabajo se requiere observar la distribución pero por regiones para detectar cúmulos y vacíos. En el caso específico de localización de regiones sobre-muestreadas se estudiaron métodos de clustering los cuales tienen como objetivo obtener grupos o conjuntos (clusters) de tal manera que los elementos asignados al mismo grupo sean similares [Orallo, 2004]. Estos métodos se descartaron debido a que los clusters no son precisamente regiones sobre-muestreadas es decir cúmulos de datos en un espacio. B) Calificación de regiones de datos por posibilidad de inversión Para saber si una región tiene posibilidad de inversión, es necesario conocer el criterio de invertibilidad de una función, el cual se considera como un trabajo relacionado. A partir de la definición de relación pasando por los de función, función inyectiva, suprayectiva y biyectiva se llegará al concepto de función inversa, las definiciones se obtuvieron de [Johnsonbaugh, 1999]. Una relación R de X en Y es un subconjunto del producto cartesiano X x Y con los siguientes dominio y rango:

dominio R = {x Є X | (x, y) Є R para alguna y Є Y}

rango R = {y Є y | (x, y) Є R para alguna x Є X} Una función f de X en Y que se denota como f: X Y es una relación de X en Y con las siguientes propiedades:

1. El dominio de f es X. 2. Si (x, y), (x, y’) Є f, entonces y = y’

Función inyectiva: una función f: X Y es uno a uno (o inyectiva) si para cada y Є Y existe a lo más una x Є X tal que f(x) = y. Función suprayectiva: sea f: X Y y el rango de f son todos los elementos de Y, decimos que la función es sobre Y (o una función suprayectiva). Función biyectiva: Una función que es inyectiva y suprayectiva es una biyección. Función inversa: sea f: X Y una función biyectiva, la relación inversa

{(y, x) | (x, y) Є f} (2.5)

Page 30: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

2 .Estado del arte

13

Es una función f-1: Y X. Está nueva función denotada por f-1 es llamada f inversa. En el caso que f no fuese biyectiva, f--1 no es una función, por tanto f no tiene posibilidad de inversión. C) Búsqueda de una solución cuando la función interpoladora es multivaluada El criterio que se utiliza para seleccionar una solución cuando una función es multivaluada depende del dominio del problema. En el caso de este trabajo se analizan funciones interpoladoras que identifican a un sistema dinámico, se establece que estas funciones son multivaluadas si permiten transitar a un sistema dinámico a un determinado estado utilizando dos o más entradas distintas. En la literatura no se encontró un criterio para seleccionar una entrada cuando la función es multivaluada por lo que dicho criterio se propone en la sección 4.4.

2.3. Visualización La visualización es el uso de una representación de datos visual, interactiva y soportada por una computadora para amplificar la cognición. La cognición es la adquisición o uso del conocimiento. La visualización se divide en dos subcampos: visualización científica y visualización de la información [Card, 1999]. La visualización científica se aplica a datos científicos físicos (el cuerpo humano, la tierra, etc.) [Card, 1999]. La visualización de la información se aplica a datos abstractos los cuales no tienen un mapeo espacial claro, por ejemplo datos financieros y documentos [Card, 1999]. En [Thory, 2004] se establece que esta subdivisión aunque simple es ambigua ya que la visualización de ciertos conjuntos de datos no es posible establecer a que subcampo pertenece, por ejemplo los datos abstractos matemáticos y secuencias genéticas los cuales son científicos, por tanto pertenecen a visualización científica, pero no son físicos entonces pertenecen a visualización de la información. La taxonomía clásica de la visualización ha dado lugar a debates como el que se presenta en [Rhyne, 2003] donde Johnson establece que la información científica por lo general tiene muchas dimensiones, al visualizarla aplicando técnicas tradicionales de visualización científica no se obtienen resultados satisfactorios, en visualización de la información existen métodos para manejar este tipo de información por lo que se recurre a ellos creándose sistemas de visualización “científica-información” a los cuales pertenece este trabajo. En la actualidad existen muchos métodos para visualizar datos multidimensionales, pero su elección depende del tipo de dato y las características a visualizar. Respecto a los tipos de datos los términos multidimensional, multivariante y multivariable se emplean como sinónimos de manera errónea por lo que se tratan en la siguiente sección.

Page 31: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

2 .Estado del arte

14

2.3.1. Datos multivariantes, multivariables y multidimensionales En visualización los términos multidimensional, multivariante y multivariable se emplean con frecuencia por lo que se definen a continuación [Rodrigues, 2004]: Datos multivariantes: son datos que contienen muchas variables dependientes, correlacionadas en algún grado. Generalmente están asociados a modelos de datos discretos. Datos multidimensionales: son datos que contienen variables independientes fáciles de identificar y una o más variables dependientes asociadas a éstas. Se asocia con modelos de datos continuos. Datos multivariables: conjunto de datos que puede ser multivariante o multidimensional. Este conjunto es particularmente llamado de alta dimensionalidad si contiene más de tres variables (dependientes o independientes). En este trabajo se visualizaron datos multidimensionales debido a que se obtuvieron de funciones que tienen variables dependientes e independientes, siendo de interés los de alta dimensionalidad. En la siguiente subsección se describen métodos de visualización para datos de alta dimensionalidad.

2.3.2. Trabajos relacionados con visualización de alta dimensionalidad En esta sección se describen métodos de visualización para datos de alta dimensionalidad y se hacen comentarios respecto a que tan útiles son para resolver el problema de visualizar la bondad de ajuste de una función interpoladora. Gröller et al. [Gröller, 1999] dividen a los métodos de visualización de alta dimensionalidad en cuatro categorías: mapeo de atributos, códigos geométricos, reducción de dimensiones y coordenadas paralelas. A) Mapeo de atributos En esta categoría se visualizan en dos o tres dimensiones primitivas geométricas como puntos, líneas o planos; los atributos de las primitivas se usan para visualizar las dimensiones faltantes, el atributo que más se usa es el color [Gröller, 1999] a lo que se denomina codificación en color. Codificación en color El color generalmente se utiliza para agregar una dimensión a casi cualquier técnica de visualización, la ventaja de la codificación en color es su facilidad de interpretación por lo que muchas personas están familiarizadas con este método [Wegenkittl, 1997]. Una desventaja de esta técnica es que los colores no tienen un orden natural, por lo que para representar datos con un orden ya sea numéricos o categóricos es posible utilizar la

Page 32: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

2 .Estado del arte

15

saturación [Spears, 1999] o proponer un orden dependiendo de las características que se deseen visualizar. Comentarios Para visualizar la bondad de ajuste de una función interpoladora, es conveniente colocar en la gráfica los datos de entrenamiento y sus correspondientes datos interpolados así como la función interpoladora, estos datos se podrían diferenciar por medio de codificación en color, la cual es posible utilizar en casi cualquier método de visualización. B) Códigos geométricos En esta categoría se visualizan datos de alta dimensionalidad en un espacio de dos o tres dimensiones transformando los datos a atributos de diferentes objetos geométricos [Gröller, 1999]. En esta categoría los métodos más conocidos son los glifos e iconos. Glifos Los glifos son entidades gráficas cuya forma o apariencia se modifica para mapear valores de datos [Gröller, 1999]. Dos de los glifos más populares son glifos estrella y caras de Chernoff. Caras de Chernoff: en este método cada dato se representa con un dibujo de una cara humana. El tamaño, forma, y separación de las partes de la cara (por ejemplo el tamaño y forma de sus ojos o su separación) representa la magnitud de las diferentes variables [Spears, 1999]. Debido a la capacidad del cerebro humano de reconocer rostros, con este método es posible detectar clusters y outliers [Wegenkittl, 1997]. Un outlier es un dato que no sigue el comportamiento general o modelo del resto de los datos [Han, 2006]. La desventaja de este método es que la claridad de las caras se degrada cuando se incrementa el número de muestras a visualizar [He, 2005]. Glifos estrella: son puntos con “rayos” saliendo de los mismos separados por el mismo ángulo. Para representar un punto de N dimensiones se utilizan N rayos, la longitud de cada rayo representa la magnitud de las distintas dimensiones [Spears, 1999]. Una desventaja de este método es que es difícil de interpretar cuando el conjunto de datos es grande, otra desventaja es la dificultad de comparar dos o más glifos estrella no adyacentes [Wegenkittl, 1997]. Iconos En visualización de alta dimensionalidad un icono es una generalización del concepto de píxel a un espacio de alta dimensionalidad, un icono contiene atributos perceptibles como color, forma y textura los cuales se usan para representar las distintas dimensiones de un dato [Gröller, 1999]. En el despliegue de los iconos existe poco o nulo espacio entre éstos lo que resulta en un gráfico denso [Gristein, 2001].

Page 33: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

2 .Estado del arte

16

Comentarios De esta categoría las caras de Chernoff y los glifos estrella son los más convenientes para visualizar el ajuste de una función interpoladora, debido a que es posible notar la diferencia entre un dato de entrenamiento y su respectivo dato interpolado mediante un atributo distinto de la cara o un rayo que tenga diferente longitud. Para una mejor comparación es conveniente colocar en forma adyacente los glifos estrellas o caras de Chernoff que representen a un dato de entrenamiento y su correspondiente dato interpolado, para diferenciarlos se podría aplicar codificación en color. Este método no es útil para muchos datos ya que al incrementar las muestras se reduce el espacio de visualización y los atributos de los glifos no se perciben bien, lo que da como consecuencia que una diferencia pequeña entre un dato de entrenamiento y su valor interpolado sea difícil de notar. Por otra parte una comparación visual de una gran cantidad de glifos provocaría cansancio al usuario. C) Reducción de dimensiones Esta categoría agrupa los métodos en los cuales se muestra sólo una parte del conjunto de datos de alta dimensionalidad, lo que se logra seleccionando subconjuntos y/o proyectando los datos a un espacio de dos o tres dimensiones [Gröller, 1999]. A continuación se presentan métodos de esta categoría. Curvas de Andrews Las curvas de Andrews [Andrews, 1978] mapean cada punto de alta dimensionalidad a una curva en dos dimensiones, esto se logra transformado cada dato x = (x1, x2, …, xk) a una función de la forma:

fx(t) = x1/ 2 + x2 sen t + x3 cos t + x4 sen 2 t + x5 cos 2t + … (2.6)

Esta función se dibuja en el rango de –π < t < π. Esta técnica es muy usada porque los puntos multidimensionales que se encuentran agrupados en conjunto también lo estarán en la curva [Spears, 1999], lo que hace posible la detección de clusters. Para representar el punto (-5, 3, 4, -2, 6, 1) en curvas de Andrews primero se obtiene la función, la cual es la siguiente:

fx(t) = -5/ 2 + 3 sen t +4cos t - 2sen 2 t + 6 cos 2t + 1sen3t (2.7) La curva se muestra en la figura 2.1.

Page 34: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

2 .Estado del arte

17

-4 -3 -2 -1 0 1 2 3 4-15

-10

-5

0

5

10

t

f(t)

Fig. 2.1. Curva de Andrews del punto (-5, 3, 4, -2, 6, 1).

Este método es útil sólo cuando el número de datos a visualizar no es muy grande [Andrews, 1978]. Diagramas de dispersión en dos y tres dimensiones Los diagramas de dispersión son uno de los métodos más antiguos y más usados para visualizar datos de alta dimensionalidad en un espacio de dos o tres dimensiones [He, 2005]. Los diagramas de dispersión en dos dimensiones [Rodrigues, 2004] son proyecciones en coordenadas cartesianas de dos variables elegidas de manera arbitraria de los datos originales (véase figura 2.2). Los diagramas de dispersión en tres dimensiones [Rodrigues, 2004] son una extensión de los diagramas de dispersión en dos dimensiones, a los cuales se les agrega una dimensión (véase figura 2.3). En este último método para obtener una mejor visualización es necesario agregar más interactividad como la operación de rotación. En estos métodos se pueden aplicar muchas transformaciones. Los datos pueden contener diversos atributos como color, tamaño, forma, textura y aún sonido con los cuales sería posible visualizar más dimensiones [Gristein, 2001].

Page 35: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

2 .Estado del arte

18

Fig. 2.2. Diagrama de dispersión en dos dimensiones de un conjunto de datos de 4 dimensiones,

mostrándose las dos primeras.

Fig. 2.3. Diagrama de dispersión en tres dimensiones de un conjunto de datos de 4 dimensiones,

mostrándose las tres primeras. Los diagramas de dispersión en dos dimensiones son muy eficientes para revelar estructuras y relaciones entre las variables [Rodrigues, 2004]. Los diagramas de dispersión en tres dimensiones hacen posible identificar correlaciones entre tres variables [Rodrigues, 2004]. Las desventajas de ambos diagramas de dispersión es que es difícil descubrir relaciones entre un número de variables mayor a su dimensión y las vistas están limitadas a ser ortogonales [He, 2005]. Otra desventaja de los diagramas de

Page 36: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

2 .Estado del arte

19

dispersión en tres dimensiones es que es difícil distinguir los puntos cuando el número de datos es grande [Rodrigues, 2004]. Matriz de dispersión Una matriz de dispersión es un conjunto de diagramas de dispersión en dos dimensiones arreglados en forma matricial, en la cual se despliegan todas las posibles combinaciones de dos dimensiones. Para datos en n dimensiones se forman n(n-1)/2 combinaciones pero se despliegan n2 diagramas para mostrar la matriz completa [Gristein, 2001]. En la figura 2.4 se muestra una matriz de dispersión para datos de 4 dimensiones, por lo que se muestran 16 diagramas.

Fig. 2.4. Matriz de dispersión para datos de 4 dimensiones.

En la diagonal principal de la matriz debido a que las abcisas y ordenadas pertenecen a la misma dimensión, se forma una recta con pendiente 1, los diagramas del triángulo superior e inferior de la matriz, tienen el mismo par de dimensiones pero invertidas. Este método tiene las mismas ventajas y desventajas que los diagramas de dispersión en dos dimensiones, una desventaja adicional es que cuando el número de dimensiones aumenta el espacio para visualizar cada proyección se reduce, por lo que la matriz de dispersión es más eficiente para un número pequeño de dimensiones [He, 2005].

Page 37: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

2 .Estado del arte

20

Comentarios Con el método de curvas de Andrews para visualizar que tan bien ajustada está una función interpoladora de los datos de entrenamiento sólo se colocarían en la gráfica las curvas que representan los datos de entrenamiento y los interpolados, diferenciándolas por un color distinto. La bondad de ajuste se observaría por la cercanía que existe entre la “curva de entrenamiento” y la “curva interpolada”. Este método es útil sólo para una pequeña cantidad de datos, debido a que con muchos datos es difícil de interpretar. En el caso de los diagramas de dispersión y matriz de dispersión se retoma la idea de las curvas de Andrews de mostrar datos de entrenamiento y datos interpolados para visualizar la bondad de ajuste de la función interpoladora, pero en este caso cada entidad es sólo un punto por lo que aún con muchos datos la gráfica es interpretable. En el caso de la matriz de dispersión es conveniente mostrar sólo el renglón o la columna que contiene la variable dependiente, es decir la dimensión interpolada, si en todas las proyecciones los datos reales son cercanos a los interpolados la función interpoladora tiene un buen ajuste. Un procedimiento similar se puede aplicar a los diagramas de dispersión en tres dimensiones, es decir visualizar todas las proyecciones de tres dimensiones que contengan a la dimensión interpolada. D) Coordenadas paralelas En coordenadas paralelas [Inselberg, 1990] se usan ejes verticales paralelos para representar las dimensiones de los datos, estos ejes son perpendiculares a un eje de referencia horizontal, tienen la misma longitud y están espaciados de manera uniforme. Cada punto de N-dimensiones se representa por una polilínea (formada por N-1 líneas) que conecta a los ejes en los valores apropiados. En la figura 2.5 se visualizan dos puntos de cuatro dimensiones por medio de coordenadas paralelas.

Fig. 2.5. Puntos (1, 3, 4, 8) y (2, 6, 7, 3) graficados en coordenadas paralelas.

Page 38: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

2 .Estado del arte

21

Una de las ventajas de este método es que la transformación de coordenadas cartesianas a paralelas es altamente estructurada desde el punto de vista matemático, por ejemplo los puntos de inflexión en coordenadas cartesianas son vértices en coordenadas paralelas, la rotación en coordenadas cartesianas corresponde a una traslación en coordenadas paralelas [Inselberg, 1990]. Otra ventaja es la posibilidad de detectar clusters y outliers usando operaciones de interactividad como selección y borrado de polilíneas [Wegenkittl, 1997]. La principal desventaja de este método es la dificultad de visualizar las polilíneas cuando se tienen un gran número de datos, otra desventaja es la dificultad de observar correlaciones entre dimensiones no adyacentes, además cuando el número de dimensiones aumenta el espacio entre los ejes paralelos se reduce lo que dificulta la detección de patrones o clusters [He, 2005]. A continuación se presentan algunas variantes del método de coordenadas paralelas. Coordenadas paralelas extrudidas El método de coordenadas paralelas extrudidas se presenta en [Wegenkittl, 1997] donde se utiliza para visualizar el comportamiento de sistemas dinámicos de más de tres dimensiones. En este método los datos se dibujan como en el método de coordenadas paralelas enseguida se mueven los ejes paralelos al tercer eje espacial z, por lo que el conjunto de polilíneas forma una superficie compleja. El procedimiento se muestra en la figura 2.6.

Fig. 2.6. Datos mapeados a coordenadas paralelas (izquierda) y a coordenadas paralelas extrudidas

(derecha) [Wegenkittl, 1997]. En la figura anterior, los ejes paralelos representan variables de estado de un sistema dinámico, por lo que cada polilínea xtn representa el estado del sistema en el tiempo n, en este caso el tercer eje espacial en que se mueven los ejes paralelos corresponde al tiempo. La desventaja de este método es que la gráfica es difícil de interpretar si el número de dimensiones y puntos es muy grande [He, 2005]. Coordenadas paralelas en tres dimensiones En coordenadas paralelas cada eje representa una dimensión, en coordenadas paralelas en tres dimensiones [Wegenkittl, 1997] se combinan dos ejes para formar un plano bidimensional en el cual se observa una proyección en dos dimensiones de los datos de alta dimensionalidad. Los planos se muestran en un espacio tridimensional y se unen por superficies que conectan las proyecciones bidimensionales de los datos. Es posible mover o rotar los planos para facilitar su visualización (véase figura 2.7).

Page 39: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

2 .Estado del arte

22

Fig. 2.7. Coordenadas paralelas en tres dimensiones para un sistema de cuatro dimensiones, a la derecha se

muestran los planos traslapados [Wegenkittl, 1997]. Glifos paralelos Los glifos paralelos [Fanea, 2005] son una combinación de coordenadas paralelas y glifos estrella. En este método las coordenadas paralelas se extienden a tres dimensiones para resolver el problema de traslape entre polilíneas, esto se logra desdoblando las coordenadas alrededor del eje de referencia, al aplicar este desdoblamiento aparecen los glifos estrella (véase figura 2.8), teniéndose uno por dimensión.

Fig. 2.8. Extensión en 3 dimensiones de coordenadas paralelas y aparición de los glifos estrella [Fanea,

2005]. Para comparar glifos estrella es posible cambiarlos de posición y rotarlos; en el caso de las coordenadas paralelas se puede seleccionar un grupo de polilíneas y desplazarlas al frente para fines de comparación. Comentarios En el método de coordenadas paralelas las polilíneas que corresponden a un dato de entrenamiento y su valor interpolado sólo son diferentes en el segmento de línea que conecta a la dimensión interpolada, por lo que el grado de traslape de estos segmentos proporciona la bondad de ajuste de la función interpoladora, para notarlo es necesario poder visualizar de forma clara cada polilínea. La bondad de ajuste es difícil de visualizar para muchos datos, ya que se produce traslape y las polilíneas no se distinguen de forma independiente. Esto en parte es resuelto por los métodos de coordenadas paralelas extrudidas y glifos paralelos al desdoblar o rotar los ejes coordenados, pero aún es difícil distinguir de manera clara cada polilínea por lo que la bondad de ajuste es difícil de observar.

Page 40: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

2 .Estado del arte

23

2.3.3. Comparación de métodos de visualización de alta dimensionalidad En la tabla 2.1 se muestra una comparación de los métodos estudiados en la sección anterior con los cuales es factible visualizar la bondad de ajuste de una función interpoladora de alta dimensionalidad. La escala es: muy fácil, fácil, regular, difícil y muy difícil; la calificación se asigna en base a los comentarios que se hicieron en la sección previa.

Tabla 2.1. Comparación de los métodos de visualización de alta dimensionalidad.

Método Visualización de la bondad de ajuste de la interpolación

Diagramas de estrella Difícil Caras de Chernoff Difícil Curvas de Andrews Muy difícil Matriz de dispersión Regular Diagramas de dispersión en tres dimensiones

Fácil

Coordenadas paralelas Muy difícil Coordenadas paralelas extrudidas Difícil Glifos paralelos Difícil

Los dos métodos con la mejor calificación son matriz de dispersión y diagramas de dispersión en tres dimensiones.

2.4. Discusión Para obtener funciones interpoladoras en este trabajo se eligió una técnica proveniente de la inteligencia artificial: el método de sintonización de sistemas difusos empleando gradiente descendente, debido a que en CENIDET ha tenido un profundo estudio. En las características de interés del análisis multidimensional, para la detección de cúmulos y vacíos en la literatura no se encontró un método que ayude a resolver el problema por lo que en el capítulo 4 se propone un método semiautomático. En los métodos que se estudiaron para visualizar datos de alta dimensionalidad, en la tabla 2.1 se observa que matriz de dispersión y diagramas de dispersión en tres dimensiones son los más aptos para visualizar la bondad de ajuste de una función interpoladora; esto se debe a que ambos métodos contienen la primitiva gráfica que ocupa menos espacio para representar datos: el punto, por tanto se obtiene la mejor visualización para un gran número de datos.

Page 41: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

3. Interpolación en sistemas dinámicos y visión artificial

24

3. Interpolación en sistemas dinámicos y visión artificial

CAPÍTULO 3

Interpolación en sistemas dinámicos y visión artificial En el capítulo anterior para obtener funciones interpoladoras se eligió el método de sintonización de sistemas difusos empleando gradiente descendente; las funciones que se obtienen no son analíticas sino sistemas difusos. En este trabajo los datos de entrenamiento para sintonizar los sistemas difusos se obtuvieron de sistemas dinámicos y sistemas de visión. En este capítulo se explican conceptos relacionados a este tipo de sistemas. En la sección 3.1 se explica el funcionamiento del método de sintonización de sistemas difusos empleando gradiente descendente. En la sección 3.2 se presentan conceptos relacionados a sistemas dinámicos así como la forma de seleccionar las variables de los datos de entrenamiento para obtener funciones interpoladoras que identifiquen y controlen a un sistema dinámico. En la sección 3.3 se expone el concepto de sistema de visión artificial y se describe un sistema para clasificar manzanas cuyos datos se visualizan en el capítulo 6. En la sección 3.4 se presenta la discusión del capítulo.

Page 42: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

3. Interpolación en sistemas dinámicos y visión artificial

25

3.1. Sintonización de sistemas difusos empleando el método de gradiente descendente [Nomura, 1992][Castillo, 1999] En esta sección se describe el método para obtener funciones interpoladoras que se eligió en el capítulo anterior, las funciones que se obtienen son sistemas difusos y no expresiones analíticas. Un sistema difuso es un conjunto de reglas difusas de tipo if-then que van a mapear variables de entrada (antecedentes) con su salida (consecuente) correspondiente [Kosko, 1994]. Un sistema difuso consta de 4 partes [Yu, 2002]:

1. Interfaz de fusificación: convierte los valores de entrada precisos a valores de pertenencia de los conjuntos difusos.

2. Base de reglas: es una colección de reglas if-then difusas que van a relacionar las entradas y salidas del sistema difuso.

3. Motor de inferencia: mapea conjuntos difusos en un espacio de entrada a conjuntos difusos en el espacio de salida. El motor de inferencia obtiene un valor difuso para cada regla (también llamado grado de disparo en [Castillo, 1999]).

4. Interfaz de defusificación: convierte las salidas difusas a valores de tipo precisos en el dominio correspondiente, en base al grado de disparo de cada regla calculado por el motor de inferencia.

El método de gradiente descendente obtiene de manera automática las reglas difusas sintonizando de manera automática la función de pertenencia del antecedente y el número real que describe el consecuente. Se usan funciones de pertenencia con forma de triangulo isósceles como la que se muestra en la figura 3.1, por lo que se sintonizarán sus centros (aij) y el ancho de sus bases (bij).

Fig. 3.1. Representación de un conjunto difuso con valores de pertenencia de [0, 1].

Las reglas de inferencia son de tipo Sugeno [Takagi, 1985] de orden cero las cuales poseen en sus antecedentes conjuntos difusos y en su consecuente un escalar wi, un ejemplo de estas reglas es la siguiente:

Page 43: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

3. Interpolación en sistemas dinámicos y visión artificial

26

: ( , , )1 1 1… = …i m im iRegla i If x is A and and x is A THEN y is w i n (3.1) Donde las entradas o antecedentes son x1, x2, …, xm y la salida o consecuente es y, i es el número de regla, Aij, …, Aim son las funciones de pertenencia de la parte de los antecedentes y wi es un número real o peso asociado al consecuente, aij son los centros y bij las bases de las funciones de pertenencia. Etapa de fusificación: en [Nomura, 1992], los grados de pertenencia Aij están en el rango [-1, 1] la ecuación de fusificación es:

| |( ) j ij

ij iij

x aA x

b⋅ −

= −2

1 (j = 1, …, m) (3.2)

En [Castillo, 1999] los rangos de pertenencia Aij cambian a [0,1] por lo que se sustituye la ecuación (3.2) por la (3.3).

| |( )

, ,...,, ,...,

j ij ij ijij j ij

ijij j

x a b bsi a x a

bA xde otra manera

j mi n

⋅ −⎧− − < ≤ +⎪= ⎨

⎪⎩

==

21

2 20

1 21 2

(3.3)

donde j = 1,2,….,m es el número de antecedentes e i = 1,2, …,n es el número de reglas difusas. Etapa de inferencia: consiste en calcular el grado de disparo de cada regla (µi), el cual está dado por la ecuación (3.4):

( ) ( ) ( )m

i i i im m iji

A x A x A x Aμ=

= ⋅ ⋅ ⋅ =∏1 1 2 21

K (3.4)

Etapa de defusificación: se utiliza la fórmula del promedio de pesos descrita en la ecuación (3.5):

mnn

ij ii ii ji

n mn

iji i j

A wwy

i A

μ

μ

= ==

= = =

⎛ ⎞⋅⎜ ⎟⋅

⎝ ⎠= =⎛ ⎞⎜ ⎟⎝ ⎠

∑ ∏∑

∑ ∑ ∏

1 11

1 1 1

(3.5)

Sintonización El método de gradiente descendente es un proceso iterativo el cual consiste en buscar un vector Z el cual minimice una función objetivo E(Z), donde Z es un vector p-dimensional Z=(z1, z2, …, zp).

Page 44: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

3. Interpolación en sistemas dinámicos y visión artificial

27

En este método el vector el cual decrece el valor de una función objetivo E(Z) es dado por

⎟⎠⎞

⎜⎝⎛

∂∂−

∂∂−

∂∂−

pzE

zE

zE ,,,

21K y la regla de aprendizaje con la cual al variar Z, el valor

de la función objetivo E(Z) converge a un mínimo local es la siguiente:

( )( ) ( )i ii

E Zz t z t Kz

∂+ = − ⋅

∂1 (i = 1, …, p) (3.6)

Donde t es el número de iteraciones de aprendizaje y K es una constante de aprendizaje. La función objetivo E a minimizar, es el error de inferencia de la salida deseada yr y la salida del razonamiento difuso y, dicha función es la siguiente:

( )rE y y= − 212

(3.7)

Sustituyendo las ecuaciones de fusificación (3.3) e inferencia (3.4) en (3.7), la función objetivo E se expresa como:

mn

ij ii j r

mn

iji j

A wE y

A

= =

= =

⎛ ⎞⎛ ⎞⋅⎜ ⎟⎜ ⎟

⎜ ⎟⎝ ⎠= −⎜ ⎟⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠⎝ ⎠

∑ ∏

∑ ∏

2

1 1

1 1

12

(3.7’)

De la última ecuación se observa que la función objetivo E consiste en sintonizar los parámetros aij, bij y wi (i = 1, …, n, j = 1, …, m), por tanto el vector Z que minimiza la función objetivo E(Z) se puede definir de la siguiente forma:

( , , ) ( , , , , , , , , )p nm nm nz z z a a b b w w=1 1 11 11 1K K K K donde p = 2nm + n (3.8) A partir de la ecuación (3.7) se derivan las siguientes ecuaciones que expresan las reglas difusas simplificadas:

( ) ( )ij ij aij

Ea t a t Ka∂

+ = − ⋅∂

1 (3.9)

( ) ( )ij ij bij

Eb t b t Kb∂

+ = − ⋅∂

1 (3.10)

( ) ( )i i wi

Ew t w t Kw∂

+ = − ⋅∂

1 (3.11)

Las ecuaciones (3.9) a (3.11) muestran los respectivos (t+1) valores de parámetros sintonizados; Ka, Kb y Kw son constantes.

Page 45: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

3. Interpolación en sistemas dinámicos y visión artificial

28

El gradiente de la función objetivo ⎟⎟⎠

⎞⎜⎜⎝

∂∂

−∂∂

−∂∂

−ijiji w

EbE

aE ,, de las ecuaciones (3.9) a (3.11)

se puede calcular usando las ecuaciones de fusificación (3.3), defusificación (3.5), y la función objetivo (3.7) y se expresa de la siguiente forma:

rii j ijn

ij ij ij ji

i

E ( y y ) ( w y ).sgn( x a )a b A ( x )

μ

μ=

∂= ⋅ − ⋅ − − ⋅

∂ ⋅∑1

2 (3.12)

( )

( ) ( ).( )ij jri

inij ij j ij

ii

A xE y y w yb A x b

μ

μ=

−∂= ⋅ − ⋅ − ⋅

∂ ∑1

1 1 (3.13)

( )rin

ii

i

E y yw

μ

μ=

∂= ⋅ −

∂ ∑1

(3.14)

Donde la función sgn(z) es el signo positivo o negativo de z. Sustituyendo las ecuaciones (3.12) a (3.14) en las ecuaciones (3.9) a (3.11) se obtienen las reglas de aprendizaje del razonamiento difuso simplificado las cuales se aplican cuando 0)( ≠jij xA .

ra iij ij i j ijn

ij ij ji

i

Ka ( t ) a ( t ) ( y y ) ( w ( t ) y ).sgn( x a ( t ))b ( t ) A ( x )

μ

μ=

⋅+ = − ⋅ − ⋅ − − ⋅

⋅∑1

21 (3.15)

( )

( ) ( ) ( ) ( ( ) ).( ) ( )ij jrb i

ij ij inij j ij

ii

A xKb t b t y y w t yA x b t

μ

μ=

−⋅+ = − ⋅ − ⋅ − ⋅

∑1

1 11 (3.16)

( ) ( ) ( )rw ii i n

ii

Kw t w t y yμ

μ=

⋅+ = − ⋅ −

∑1

1 (3.17)

Usando las reglas de aprendizaje descritas en las ecuaciones (3.15) a (3.17), los parámetros sintonizados son optimizados para minimizar el error de inferencia entre la salida deseable yr y la salida del razonamiento difuso y, por lo que el sistema difuso resultante actúa como un aproximador de los datos de entrenamiento [Castillo, 1999]. En [Castillo, 1999] se considera que la posición inicial de los triángulos será considerando los centros aij igualmente espaciados a lo largo del rango de xj y traslapando las bases entre conjuntos adyacentes, en el caso de las reglas difusas todas serán iniciadas con wi=0.5 y los factores de aprendizaje Ka, Kb y Kw se inician con el valor de 3.

Page 46: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

3. Interpolación en sistemas dinámicos y visión artificial

29

Los pasos para realizar la sintonización son los siguientes [Castillo, 1999] [Nomura, 1992]:

1. Contar con una base de datos entrada-salida, cada uno con la forma (x1, …xm, yr).

2. A partir de los datos de entrada (x1, …xm, yr) calcular el valor de pertenencia µi de cada regla de inferencia y la salida del razonamiento difuso y usando las ecuaciones de fusificación (3.3), inferencia (3.4) y defusificación (3.5).

3. Calcular la aportación de cada uno de los datos de entrenamiento (x1, …xm, yr)

hacia cada uno de los pesos de la regla wi usando la ecuación (3.17).

4. Calcular el promedio de todas las aportaciones a los pesos de las reglas del sistema difuso, tal como una votación por parte de cada dato de entrenamiento hacia la dirección que habrán de seguir los parámetros; esto hace más dirigido el proceso de sintonización [Castillo, 1999]. El paso original planteado en [Nomura, 1992] no realiza una votación de todos los datos de entrenamiento, ya que cada uno de ellos afecta en forma independiente los parámetros del sistema. Esta política no asegura una dirección de modificación de parámetros bien planteada.

5. Aplicar el incremento promedio en cada peso de las reglas wi

6. Realizar los pasos 2 a 4 considerando como parámetros a sintonizar los centro aij

y las bases bij de los antecedentes, usando las ecuaciones (3.15) y (3.16).

7. Calcular los resultados de la función de costo EC utilizando los nuevos valores de los parámetros, la función de costo es la siguiente:

( )2

1

12 =

= −∑ND

rk k

kEC y y (3.18)

donde ND es el número de datos de entrenamiento.

8. Si EC > ε regresar al paso 2, en caso contrario se ha obtenido la solución de los

parámetros del sistema. El parámetro de usuario ε ≥ 0 se utiliza como condición de paro en la etapa de entrenamiento, aunque también se puede utilizar como condición de paro el número de iteraciones. Debido a que el sistema difuso actúa como un aproximador de los datos de entrenamiento se puede considerar a la función de costo EC como una medida del error de aproximación. Para proporcionar más información en este trabajo se calcula otra medida del error de aproximación que se denomina error promedio el cual es la distancia promedio absoluta entre el valor de salida deseado (yr) y el valor aproximado por el sistema difuso (y). Este error se calcula utilizando la ecuación (3.19).

Page 47: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

3. Interpolación en sistemas dinámicos y visión artificial

30

1

NDr

k kk

y yError promedio

ND=

−=∑

(3.19)

El sistema difuso resultante es de tipo MISO (múltiples entradas – una salida), por lo que aproxima sólo una dimensión. En la sección A.2 del anexo A se muestra la forma de sintonizar un sistema difuso, el resultado de la sintonización se almacena en cinco archivos que contienen la siguiente información: DATOS.DAT: Contiene los datos con los que fue sintonizado el sistema difuso. DBCONJ.DAT: Contiene el valor de las bases y los centros de los conjuntos difusos de cada antecedente. DBREGLA.DAT: Contiene el peso para cada una de las reglas del sistema difuso. DLIMIT.DAT: Contiene los valores máximos y mínimos de cada antecedente y del consecuente. DNCONJ.DAT: Contiene el número de conjuntos difusos de cada antecedente. Al método de sintonización de sistemas difusos empleando gradiente descendente en lo sucesivo se denominará SGD. En esta investigación se obtuvieron empleando el SGD funciones interpoladoras de datos provenientes de sistemas dinámicos y sistemas de visión artificial, por lo que en las siguientes dos secciones se presentan conceptos relacionados a estos temas.

3.2. Sistemas dinámicos Un sistema es una relación entre entradas y salidas [Canales, 1980]. Si representamos a las entradas como u y la salida como y, un sistema podría denotarse matemáticamente por la relación [Canales, 1980]:

][uSy = (3.20) La cual se muestra de forma gráfica en la figura 3.2.

Fig. 3.2. Relación entrada-salida.

y u Sentrada salida

Page 48: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

3. Interpolación en sistemas dinámicos y visión artificial

31

Dentro de la clasificación de sistemas, se dice que un sistema es causal si su salida en un instante dado no depende del valor de la entrada en instantes posteriores y es determinístico si a una entrada le corresponde una y sólo una salida [Ogata, 1993]. Los sistemas dinámicos son sistemas que son a la vez causales y determinísticos cuya evolución en el tiempo a partir de un estado inicial se determina por un conjunto de reglas [Canales, 1980][Gröller, 1999]. En este trabajo en las pruebas se utilizaron datos provenientes de sistemas dinámicos lineales y no lineales. Un sistema dinámico es lineal si cumple el principio de superposición [Canales, 1980], dicho principio cumple dos propiedades: aditividad y homogeneidad [Chen, 1990]. La propiedad de aditividad establece que la respuesta de un sistema provocado por dos o más entradas independientes es igual a la suma de las respuestas producidas por cada entrada de forma independiente. La homogeneidad determina que si todas las entradas de un sistema son multiplicadas por una constante, la respuesta será multiplicada por la misma constante. En esta investigación se experimentó también con un sistema caótico (sección 6.1.1.3). El caos se refiere a un fenómeno inusual que es desordenado e irregular [Chen, 1998]. En física el caos es un comportamiento moderadamente aleatorio que a diferencia de un comportamiento aleatorio completo contiene patrones complejos, la mayoría desconocidos [AAE, 1986]. Los sistemas caóticos son sistemas dinámicos que tienen las siguientes características:

• Sensibilidad extrema a cambios en las condiciones iniciales. En este contexto el término condición inicial se entiende como la condición que tiene el sistema cuando se introduce un disturbio o un error en un tiempo que podría ser diferente de cero [Chen, 1998]. Acerca de esta característica Poincaré establece que pequeñas diferencias en la condiciones iniciales de un sistema producen grandes cambios al final del fenómeno, un pequeño error “anterior” producirá un enorme error “posterior” [Crutchfield, 1986].

• Presentan una gran variedad de oscilaciones cuasiperiódicas. Se entiende por

oscilación cuasiperiódica a una mezcla de oscilaciones periódicas que tienen distintas frecuencias fundamentales [Ott, 1993].

El estado de un sistema dinámico es el conjunto más pequeño de variables internas tales que el conocimiento de tales variables en el tiempo inicial t=t0, conjuntamente con el conocimiento de la entrada para tiempos futuros, determinan completamente el comportamiento del sistema en cualquier tiempo posterior [Ogata, 1993]. Por tanto el estado X(t) de un sistema dinámico es un vector cuyas componentes son las distintas variables de estado xn(t), es decir X(t)=[x1(t), x2(t), …, xn(t)]T donde la T significa transposición. El orden de un sistema dinámico es igual al número de variables de estado que determinan su comportamiento, por ejemplo si un sistema dinámico es descrito por dos variables de estado este sistema es de segundo orden. Para el estudio de sistemas dinámicos en este trabajo se aproximó la Función de Transición de Estados (FTE), la cual es una función Φ que relaciona el estado de un sistema en un instante con el estado del sistema en otro posterior cuando se le aplica un

Page 49: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

3. Interpolación en sistemas dinámicos y visión artificial

32

segmento de entrada entre estos dos tiempos. Dicha función tiene como argumentos el tiempo inicial t0, el tiempo final t1, el estado inicial X(t0), la entrada u en el rango [t0, t1] representada por u[t0, t1]. La expresión para determinar el estado siguiente X(t1) se muestra a continuación [Canales, 1980]:

1 1 0 0 1 0( ) ( , ( ), [ , ], )X t t X t u t t t= Φ (3.21)

La ventaja de esta descripción es que es posible determinar la salida del sistema en cualquier instante, si se conoce el estado en que se encuentra y el segmento de entrada que se aplicará a partir de entonces [Canales, 1980]. En esta investigación los datos para obtener funciones interpoladoras provienen de sistemas dinámicos invariantes en el tiempo, es decir su salida es independiente del tiempo en el que se aplica la entrada [Ogata, 1993]. En este tipo de sistemas, si la adquisición de datos se hace mediante muestreo periódico y el tiempo de muestreo es ∆t, es posible reescribir la FTE como [Cholula, 2005] [Jiménez, 2005]:

( ) ( ( ), [ , ])X t t X t u t t t+ Δ = Φ + Δ (3.22) En este trabajo se obtuvieron funciones interpoladoras para identificar y controlar sistemas dinámicos utilizando la estructura de la FTE.

3.2.1. Identificación La identificación de sistemas dinámicos consiste en estimar el valor de ciertos parámetros desconocidos de un dispositivo denominado planta, basándose en el conocimiento de sus entradas y salidas [Canales, 1980]. Una planta es cualquier objeto físico que deba controlarse o identificarse [Ogata, 1993]. En muchos casos la identificación se logra obteniendo un modelo matemático basándonos en la dinámica del sistema, pero existen casos en lo que esto no es posible, por lo que se hace uso de métodos de inteligencia artificial como la lógica difusa y las redes neuronales artificiales [Castillo, 1999]. El primer paso que sigue para obtener la función interpoladora que identifique a un sistema dinámico es contar con una planta P, a ésta se le aplica una señal de entrada u, enseguida realizar el muestreo de los valores de entrada y salida de la planta durante un intervalo de tiempo t, para obtener los datos de entrenamiento. Las variables muestreadas que se tomarán como antecedentes y consecuentes para un sistema dinámico de orden n que sigan la estructura de la FTE (ecuación (3.22)) se muestran en la figura 3.3.

Page 50: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

3. Interpolación en sistemas dinámicos y visión artificial

33

Fig. 3.3. Selección de variables a considerar para la identificación de un sistema de orden n.

Los datos de entrenamiento tienen la siguiente estructura (x1, x2, …, xn, yr), donde los valores xi contienen los valores de los antecedentes y yr representa la salida deseada o consecuente.

3.2.2. Control Uno de los procesos principales en teoría de sistemas, consiste en el control de sistemas dinámicos. El problema de control tipo regulación consiste en mantener la planta en un estado prefijado [Canales, 1980]. Un buen sistema de control debe seguir estrechamente las señales de referencia (estado prefijado), pero no debe ser sensible a perturbaciones o variaciones de parámetros externos [Ogata, 1993]. Una perturbación es una señal que tiende a afectar adversamente el valor de salida de un sistema [Ogata, 1993]. La forma convencional de obtener un controlador lleva consigo una gran cantidad de planteamientos y cálculos matemáticos, en muchos casos resultan controladores que aproximan burdamente el modelo de la planta [Castillo, 1999]. Los métodos basados en inteligencia artificial como las redes neuronales y la lógica difusa presentan características adecuadas a este tipo de problemas, debido a su capacidad de construcción y su capacidad de generalización. Para obtener una función interpoladora que modele el comportamiento del controlador de una planta mediante SGD se utilizó el modelo de planta inversa. Lo que explica el concepto de inversión es que al invertir la relación entre entrada y salida permite determinar que acción es necesaria en la entrada para obtener el comportamiento de salida deseado [Cholula, 2005]. En el modelo de planta inversa con los datos de entrenamiento de la planta P se obtiene una función interpoladora que realice una identificación inversa P-1 de la dinámica de la planta P a controlar, enseguida se conectan en cascada colocando primero P-1 y conectando su salida a la entrada de P como se muestra en la figura 3.4, si se obtuvo una

.:

x1(t+∆t)

xn(t+∆t)

u(t) x1(t) x2(t) .

: xn(t)

.:

.:

u(t) x1(t) x2(t) .

: xn(t)

Page 51: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

3. Interpolación en sistemas dinámicos y visión artificial

34

identificación inversa ideal al aplicar como entrada a P-1 una señal de referencia ref, resultaría y=ref.

Fig. 3.4. Control utilizando el modelo de planta inversa.

El diagrama de la figura 3.4. se encuentra en lazo abierto, es decir la salida y no se mide ni se retroalimenta para compararla con la entrada ref, la desventaja de esta configuración es que la salida del sistema es muy sensible a perturbaciones, por lo en este trabajo se utilizó la configuración de lazo cerrado para evitar estos inconvenientes. La selección de variables para obtener los datos de entrenamiento de la función interpoladora que realice la identificación inversa de una planta de orden n se muestra en la figura 3.5.

Fig. 3.5. Selección de variables durante el control de una planta de orden n. La configuración del diagrama de selección de variables para control se puede interpretar como “encontrar la entrada u(t) que haga transitar a la componente del estado siguiente xk(t+∆t) a partir del estado actual X(t)”. La componente del estado siguiente xk(t+∆t) es la señal de referencia que el controlador debe seguir.

3.3. Sistemas de visión artificial Los sistemas de visión artificial (SVA) son sistemas capaces de simular de forma precisa el sistema de visión humano, apoyando al hombre en alguna tarea donde el cansancio es el principal inconveniente [Cruz, 2004]. En esta investigación se trabajó con los datos de un SVA para clasificar manzanas descrito en [López, 2008]. Dicho sistema tiene como objetivo la clasificación de los píxeles de una manzana en sanos y defectuosos por medio de una función interpoladora denominada función de color, la cual se obtiene por medio del SGD.

Control Planta

P-1u y ref

entrada salida

P

.:

u(t)

xk(t+∆t)

x1(t) x2(t)

. :

xn(t) Antecedentes Consecuente

Page 52: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

3. Interpolación en sistemas dinámicos y visión artificial

35

La función de color tiene un consecuente binario, 1 que representa sano y 0 defectuoso, cabe mencionar que el SGD obtiene funciones interpoladoras continuas, por lo que el valor del consecuente aproximado podría tomar un valor intermedio como 0.5. Para obtener la función interpoladora se usaron como antecedentes las componentes de color R, G y B, para mejorar el resultado de la función se agregó una cuarta dimensión que corresponde a la luminosidad I (véase figura 3.6). En [López, 2008] se obtuvieron diferentes funciones interpoladoras las cuales se visualizan en el capítulo 6.

Fig. 3.6. Sistema de visión para clasificación de manzanas.

3.4. Discusión En este capítulo se presentó a detalle el SGD así como conceptos relacionados a sistemas dinámicos, se mostró la versión de la FTE para sistemas invariantes en el tiempo cuyos datos se adquieren con muestreo periódico y se presentaron los diagramas de selección de variables para obtener funciones interpoladoras que identifiquen o controlen a un sistema dinámico utilizando la estructura de la FTE, esta forma de seleccionar variables se usa en capítulos posteriores para su análisis y visualización. También se describió el sistema de visión artificial que se utiliza en el capítulo 6 para visualizar datos y analizar sus características.

Sistema difuso

Función de color

R

G

B

I

Antecedentes Consecuente

0 (defectuoso)

1 (sano)

Page 53: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

36

4. Métodos propuestos para el análisis multidimensional

CAPÍTULO 4

Métodos propuestos para el análisis multidimensional En este capítulo se exponen los métodos para resolver los problemas de interés del análisis multidimensional, también se presentan las evaluaciones con datos provenientes de distintas fuentes. En la sección 4.1 se expone el método semiautomático de detección de regiones sobre-muestreadas o desprovistas de datos. En la sección 4.2 se presentan las pruebas del método semiautomático de detección de regiones sobre-muestreadas o desprovistas de datos aplicado a conjuntos de datos de dos y cuatro dimensiones. En la sección 4.3 se trata el método de clasificación de regiones por posibilidad de inversión cuyo objetivo es detectar en que regiones de datos provenientes de la identificación de un sistema dinámico es posible obtener un controlador de planta inversa. En la sección 4.4 se expone el método de búsqueda para encontrar una solución cuando la función es multivaluada el cual usa el resultado del método de clasificación de regiones por posibilidad de inversión. En la sección 4.5 se presentan de manera conjunta las pruebas de los métodos de clasificación de regiones por posibilidad de inversión y de búsqueda para encontrar una solución cuando la función es multivaluada, con datos provenientes de funciones algebraicas de dos dimensiones y de la identificación de sistemas dinámicos. La sección 4.6 presenta la discusión del capítulo.

Page 54: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

37

4.1. Método para la detección de regiones sobre-muestreadas o desprovistas de datos En el estado del arte que se presentó en el capítulo 2 no se encontraron trabajos que ayuden a resolver el problema de detectar regiones sobre-muestreadas o desprovistas de datos por lo que se propone un método semiautomático. En el método propuesto el usuario elige un número de divisiones para cada dimensión, por lo que se forman regiones, en caso de tener dos dimensiones las regiones forman rectángulos o cuadrados, para tres forman prismas rectangulares o cuboides, para más de tres dimensiones forman “hipercuboides”. El número de regiones es igual al producto de las divisiones por dimensión, cada región se describe por sus límites por dimensión. El resultado del método es el número de puntos en cada región y el porcentaje que representa respecto al total, como se muestra enseguida:

Región 1 [0, 4)[0, 2] = 2 puntos 10% Región 2 [0, 4)[2, 4] = 0 puntos 0%

Las regiones presentadas pertenecen a un espacio de dos dimensiones, enseguida del número de región se presenta sus fronteras por dimensión. Para poder hacer el conteo de puntos de una determinada región es necesario saber a qué número de división por dimensión pertenece cada región, por ejemplo si se tienen 2 dimensiones, donde cada dimensión se divide en 3, se forman 9 regiones las cuales son el producto cruz de las divisiones por dimensión, estas regiones se muestran en la figura 4.1.

Fig. 4.1. Regiones formadas al dividir a cada dimensión en 3 partes, se muestra el número de división por

dimensión y el número de región.

El número de división de las regiones que se forman son las siguientes:

Región 1: (1, 1) Región 6: (2, 3) Región 2: (1, 2) Región 7: (3, 1) Región 3: (1, 3) Región 8: (3, 2) Región 4: (2, 1) Región 9: (3, 3)

Región 5: (2, 2)

Page 55: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

38

Para fines de aclaración, la región 6 la forman la división 2 de la dimensión 1 y la división 3 de la dimensión 2 como se observa en la figura 4.1. Para saber a qué número de división de una determinada dimensión d pertenece un punto, se obtiene con la ecuación (4.1) la cual es válida para máximod≠mínimod y coordenadad≠ máximod

1d dd d

d d

coordenada mínimodivPunto función piso numDivisionesmáximo mínimo

⎛ ⎞⎛ ⎞−= +⎜ ⎟⎜ ⎟⎜ ⎟−⎝ ⎠⎝ ⎠

(4.1)

donde la función piso es el mayor número entero menor o igual a su argumento, coordenadad es el valor de la coordenada del punto en la dimensión d, mínimod y máximod son los valores mayores y menores de los datos en la dimensión d y numDivisionesd es el número de divisiones que el usuario eligió para la dimensión d. El resultado divPuntod es un número entero mayor o igual a uno. Si máximod=mínimod entonces divPuntod=1, si coordenadad=máximod entonces divPuntod=numDivisionesd. Si a partir de la tupla de divisiones (divPunto1, divPunto 2, …, divPunto N) de un punto que se obtiene usando la ecuación (4.1) se calcula el número de región, la cuenta de puntos se puede almacenar en un arreglo. El número de región o índice r del arreglo se obtiene usando la ecuación (4.2).

1 221

1

1

1 ( 1) ( 1) ...

( 1)

mm

NN

Nm

numRegiones numRegionesr divPunto divPuntonumDivisiones numDivisiones

numRegiones divPuntonumDivisiones

=

=

= + − + − +

+ −

(4.2)

donde:

1 21

( )( ) ( )k

m km

numDivisiones numDivisiones numDivisiones numDivisiones=

=∏ K (4.3)

numRegiones es el número de regiones, N es el total de dimensiones de los datos, divPuntod es el número de división al que pertenece el punto en la dimensión d el cual se obtiene con la ecuación (4.1). Para mostrar los resultados es necesario convertir el índice r del arreglo que contiene el número de puntos por región a los rangos o fronteras reales de cada región, esto se logra convirtiendo el índice r a la tupla de divisiones por dimensión (divPunto1, divPunto 2, …, divPunto N) y enseguida se transforma esta tupla a los valores reales de las fronteras de cada región. Para transformar el índice r a la tupla de divisiones se usan las siguientes ecuaciones:

Page 56: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

39

11

r numDivisionesdivPunto función techonumRegiones

⎛ ⎞⋅= ⎜ ⎟

⎝ ⎠ (4.4)

2

12 1

1

( 1)Re

mm

numDivisionesnumRegionesdivPunto función techo r divPunto

numDivisiones num giones=

⎛ ⎞⎜ ⎟⎛ ⎞⎜ ⎟= − −⎜ ⎟⎜ ⎟⎝ ⎠⎜ ⎟⎝ ⎠

∏(4.5)

1 221

13 3

1

( 1) ( 1)

Re

mm

mm

numRegiones numRegionesr divPunto divPuntonumDivisiones numDivisiones

divPunto función techonumDivisiones

num giones

=

=

⎛ ⎞⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟− − − −⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠⎜ ⎟=⎜ ⎟⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠⎝ ⎠

(4.6)

M

1 221

1 1

11

1

( 1) ( 1)

Re... ( )

N

m mm m

N

NN

mm

numRegiones numRegionesr divPunto divPuntonumDivisiones numDivisiones numDivisiones

divPunto función techonum giones numRegidivPuntonumDivisiones

= =

−−

=

⎛ ⎞− − − − −⎜ ⎟⎜ ⎟⎜ ⎟= ⎜ ⎟⎜ ⎟−⎜ ⎟⎜ ⎟⎝ ⎠

∏ ∏

∏ones

⎛ ⎞⎜ ⎟⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠⎜ ⎟⎝ ⎠

(4.7)

donde la función techo es el menor número entero mayor o igual a su argumento; a partir de la tupla de divisiones (divPunto1, divPunto2,…, divPuntoN) es posible obtener los límites reales de una región los cuales son sus fronteras por dimensión. Las fórmulas para calcular las fronteras son:

dddd nesnumDivisiomínimomáximoincremento /)( −= (4.8)

( )d d d dFrontera superior mínimo incremento divPunto= + (4.9)

d d dFrontera inferior Frontera superior incremento= − (4.10) donde incrementod es la magnitud de cada división en la dimensión d, Frontera superiord y Frontera inferiord son los límites máximos y mínimos del rango de una región en la dimensión d. El diagrama de flujo del proceso completo se muestra en la figura 4.2, en el anexo B se presenta una demostración del método siguiendo el diagrama de flujo. Este método se programó en Matlab 7.0 y el código se encuentra en el CD-ROM que se anexa a este trabajo.

Page 57: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

40

Seleccionar el conjunto de datos

Ingresar el número de

divisiones por dimensión

¿ número de puntos?

Obtener punto

Calcular la tupla de divisiones a la que

pertenece el punto usando la ecuación

(4.1)

Convertir la tupla de divisiones del punto al número de región usando la ecuación

(4.2)

Sumar 1 a la cuenta de puntos

de la región

¿ <= número de regiones?

Fin

Convertir a la tupla de divisiones usando las ecuaciones (4.4)

a (4.7)

Convertir la tupla de divisiones a las fronteras

reales de la región usando las ecuaciones

(4.8) a (4.10)

Desplegar las fronteras, el número

de puntos y el porcentaje de la

región

no sí

no

Inicio

Fig. 4.2. Diagrama de flujo del método de detección de cúmulos y vacíos.

Page 58: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

41

4.2. Pruebas del método de detección de regiones sobre-muestreadas o desprovistas de datos Para comparar los resultados del método propuesto las pruebas se realizan en 2 y 4 dimensiones con 30 datos; la cantidad reducida de puntos se debe a que para comparar los resultados del método propuesto el conteo de puntos por región se hizo de forma manual.

4.2.1. Prueba con un conjunto de datos de 2 dimensiones Este conjunto contiene 30 datos de dos dimensiones, los rangos por dimensión son los siguientes: [-10, 10], [-20, 20]. Los datos se muestran a continuación:

(-10, -20) (-3.2, -15.6) (3.7, 7.4) (-9.3, 18.3) (-2.7, -5.8) (4.9, 11.2) (-9.2, -0.9) (-2.4, 10.2) (6.5, -15.8) (-8.7, -17.5) (-1.4, -1.9) (6.8, -5.9) (-8.3, -3.7) (-0.3, -8.6) (7.4, -19.5) (-7.6, -12.4) (0.5, 0.9) (7.6, 15.4) (-6.5, -10) (1.6, -2.6) (8.1, -17.2) (-5, -19.2) (2.1, -7.1) (9.2, 19.1) (-5, 1.5) (2.4, 3.8) (9.3, -9.4) (-4.8, -7.7) (3.6, -11.3) (10, 20)

Se dividió a cada dimensión en 2 partes, los rangos de las divisiones son los siguientes: Divisiones de la dimensión 1: [-10, 0), [0, 10] Divisiones de la dimensión 2: [-20, 0), [0, 20] Las regiones se forman por el producto cruz de estas divisiones, por lo que se forman 4 regiones: Región 1: [-10, 0)[-20, 0) Región 2: [-10, 0)[0, 20] Región 3: [0, 10)[-20, 0) Región 4: [0, 10)[0, 20) Estas regiones se muestran en la figura 4.3 donde se observa que la región 1 contiene 12 puntos, la región 2 tiene 3 puntos, la región 3 contiene 8 puntos y la región 4 tiene 7 puntos.

Page 59: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

42

Fig. 4.3. Conjunto de datos de dos dimensiones y regiones que forman las particiones.

La forma de hacer el conteo de puntos por regiones en la aplicación se describe en la sección A.1, los resultados se muestran a continuación. Resultados por regiones: Región 1 [-10, 0)[-20, 0) = 12 puntos 40.00% Región 2 [-10, 0)[0, 20] = 3 puntos 10.00% Región 3 [0, 10][-20, 0) = 8 puntos 26.67% Región 4 [0, 10][0, 20] = 7 puntos 23.33% El resultado de la aplicación es correcto, por lo que el método de conteo de puntos por regiones funciona para datos de dos dimensiones. En este caso no existen regiones vacías, la región 1 es la más apta para ser calificada como sobre-muestreada debido a que presenta una mayor cantidad de puntos que las regiones restantes.

4.2.2. Prueba con un conjunto de datos de 4 dimensiones Este conjunto contiene 30 datos de 4 dimensiones, los rangos de cada dimensión son los siguientes: [-5, 5], [-2, 3], [-7, 10], [-6, 9]. Los datos se presentan a continuación.

(-5, -2, -7, -6) (-2, -1.5, 1.1, 7) (0.4, 0.9, 1.4, -4.2) (-5, 0.7, 2.8, -3.1) (-1, 1.1, 4.4, -4.9) (0.7, 0.2, -3.8, 6.9) (-4.5, -0.5, -5.5, 4.7) (-0.75, 2, -2.8, -2.7) (1.3, -0.4, 1.2, 8.9) (-4.4, 1.5, -1.6, -5.2) (-0.4, -1.7, -3.8, 6.1) (2.1, 2.6, -3.3, -5) (-3.8, 0.4, -4.3, 8.1) (-0.37, 1.7, 0.3, -3.8) (2.5, -1, 1, 3.9) (-3.5, 0.6, 1.1, -1.2) (-0.3, 0.8, -4.6, -5.4) (2.9, -1.1, -4.1, 7.1)

Page 60: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

43

(-2.8, 0.5, 1.2, -2.3) (-0.3, 2.1, 8.2, 7.7) (3.1, -2, -1.7, 4.5) (-2.7, 2.8, 9.9, -2) (-0.3, 2.5, -5.1, -4.75) (4.3, 0, -6.8, 8.2) (-2.5, 0.9, -6.2, -1.1) (-0.1, 2.9, -3.2, -4.9) (4.8, -1.7, -5.3, 5.6) (-2.1, -1.4, -3.5, -2.1) (0.1, -1.8, 3.7, 2.9) (5, 3, 10, 9)

Se hicieron 3 divisiones para la dimensión 4 y 2 para las dimensiones restantes, las divisiones por cada dimensión son las siguientes: Divisiones de la dimensión 1: [-5, 0)[0, 5] Divisiones de la dimensión 2: [-2, 0.5)[0.5, 3] Divisiones de la dimensión 3: [-7, 1.5)[1.5, 10] Divisiones de la dimensión 4: [-6, -1)[-1, 4)[4, 9] Las regiones que se analizan se forman por el producto de las divisiones, por tanto en esta prueba se forman 24 regiones. Los resultados obtenidos haciendo el conteo de puntos por región de forma manual y excluyendo las regiones vacías son los siguientes:

[-5, 0)[-2, 0.5)[-7, 1.5)[-6, -1) = 2 puntos [0, 5][-2, 0.5)[-7, 1.5)[-1, 4) = 1 punto [-5, 0)[-2, 0.5)[-7, 1.5)[4, 9] = 4 puntos [0, 5][-2, 0.5)[-7, 1.5)[4, 9] = 6 puntos [-5, 0)[0.5, 3][-7, 1.5)[-6, -1) = 9 puntos [0, 5][-2, 0.5)[1.5, 10][-1, 4) = 1 puntos [-5, 0)[0.5, 3][1.5, 10][-6, -1) = 3 puntos [0, 5][0.5, 3][-7, 1.5)[-6, -1) = 2 puntos [-5, 0)[0.5, 3][1.5, 10][4, 9] = 1 punto [0, 5][0.5, 3][1.5, 10][4, 9] = 1 punto

La aplicación proporciona el siguiente resultado: Resultados por regiones: Región 1 [-5, 0)[-2, 0.5)[-7, 1.5)[-6, -1) = 2 puntos 6.67% Región 2 [-5, 0)[-2, 0.5)[-7, 1.5)[-1, 4) = 0 puntos 0.00% Región 3 [-5, 0)[-2, 0.5)[-7, 1.5)[4, 9] = 4 puntos 13.33% Región 4 [-5, 0)[-2, 0.5)[1.5, 10][-6, -1) = 0 puntos 0.00% Región 5 [-5, 0)[-2, 0.5)[1.5, 10][-1, 4) = 0 puntos 0.00% Región 6 [-5, 0)[-2, 0.5)[1.5, 10][4, 9] = 0 puntos 0.00% Región 7 [-5, 0)[0.5, 3][-7, 1.5)[-6, -1) = 9 puntos 30.00% Región 8 [-5, 0)[0.5, 3][-7, 1.5)[-1, 4) = 0 puntos 0.00% Región 9 [-5, 0)[0.5, 3][-7, 1.5)[4, 9] = 0 puntos 0.00% Región 10 [-5, 0)[0.5, 3][1.5, 10][-6, -1) = 3 puntos 10.00% Región 11 [-5, 0)[0.5, 3][1.5, 10][-1, 4) = 0 puntos 0.00% Región 12 [-5, 0)[0.5, 3][1.5, 10][4, 9] = 1 puntos 3.33% Región 13 [0, 5][-2, 0.5)[-7, 1.5)[-6, -1) = 0 puntos 0.00% Región 14 [0, 5][-2, 0.5)[-7, 1.5)[-1, 4) = 1 puntos 3.33% Región 15 [0, 5][-2, 0.5)[-7, 1.5)[4, 9] = 6 puntos 20.00% Región 16 [0, 5][-2, 0.5)[1.5, 10][-6, -1) = 0 puntos 0.00% Región 17 [0, 5][-2, 0.5)[1.5, 10][-1, 4) = 1 puntos 3.33% Región 18 [0, 5][-2, 0.5)[1.5, 10][4, 9] = 0 puntos 0.00% Región 19 [0, 5][0.5, 3][-7, 1.5)[-6, -1) = 2 puntos 6.67% Región 20 [0, 5][0.5, 3][-7, 1.5)[-1, 4) = 0 puntos 0.00% Región 21 [0, 5][0.5, 3][-7, 1.5)[4, 9] = 0 puntos 0.00% Región 22 [0, 5][0.5, 3][1.5, 10][-6, -1) = 0 puntos 0.00% Región 23 [0, 5][0.5, 3][1.5, 10][-1, 4) = 0 puntos 0.00% Región 24 [0, 5][0.5, 3][1.5, 10][4, 9] = 1 puntos 3.33%

Page 61: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

44

Los resultados de la aplicación y los que se obtuvieron de forma manual concuerdan, del conteo de puntos por región se deduce que existen dos regiones que pueden ser calificadas como sobre-muestreadas: la 7 y la 15, además existen 14 regiones desprovistas de datos.

4.3. Método propuesto de calificación de regiones por posibilidad de inversión El objetivo de este método es detectar a partir de datos provenientes de la identificación de un sistema dinámico cuya estructura se mostró en la figura 3.3 qué regiones son invertibles, es decir qué datos pueden tomar la estructura de control de planta inversa que se mostró en la figura 3.5. Como se vio en el capítulo 3, la identificación de un sistema dinámico se hace mediante la FTE, por tanto los datos tienen la siguiente estructura:

]),[),(()( tttutXttX Δ+Φ=Δ+ (4.11)

A partir de la identificación se quiere obtener un control por planta inversa, pero en la figura 3.5 se observa que este modelo sólo considera una componente del estado siguiente, por tanto en la identificación no inversa se tendrá que hacer la misma consideración, por lo que la FTE cambia a la siguiente forma:

]),[),(()( tttutXttx ii Δ+Φ=Δ+ (4.12) En la cual sólo se considera una componente del estado siguiente (xi(t+∆t)). El control de planta inversa resuelve el siguiente problema: dado un estado actual X(t) ¿qué entrada se debe aplicar para transitar a la componente del estado siguiente xi(t+∆t)? Por tanto lo que se busca es una función g que cumpla con lo siguiente:

))(),((],[ ttxtXgtttu i Δ+=Δ+ (4.13) Las regiones que no tienen posibilidad de inversión son aquéllas en las que a partir de un estado actual X(t) es posible transitar a la componente del estado siguiente xi(t+∆t) con dos o más entradas u[t+∆t] distintas. A continuación se muestra el análisis para llegar a esta conclusión. En el análisis se parte de un estado actual dado X(t), por lo que es posible reescribir la función (4.12) como:

( ) ( , [ , ])i ix t t constante u t t t+ Δ = Φ + Δ (4.14) En (4.14) se observa que la única variable de iΦ es la entrada u[t, t+∆t]. Por tanto a partir de (4.14) es posible obtener la siguiente función equivalente.

]),[()( ' tttuttx ii Δ+Φ=Δ+ (4.15)

Page 62: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

45

Haciendo un análisis similar es posible reescribir a (4.13) como:

))(('],[ ttxgtttu i Δ+=Δ+ (4.16) De (4.15) y (4.16) se observa que g’=( '

iΦ )-1 por tanto hay que analizar las regiones donde 'iΦ es invertible, es decir detectar en qué regiones se cumple que es biyectiva.

Como se vio en el inciso b) de la sección 2.2.1 para que una función sea biyectiva tiene que ser inyectiva y suprayectiva. Para que la función '

iΦ sea inyectiva debe cumplir que

para todo a1, a2 Є u[t+∆t] si 'iΦ (a1)= '

iΦ (a2) entonces a1=a2. Por tanto las regiones inyectivas son aquellas en las que a partir de un estado actual X(t) es posible transitar al estado siguiente con una entrada única. Para que la función '

iΦ sea suprayectiva su rango debe ser completamente cubierto, es

decir no deben existir discontinuidades, pero dado que 'iΦ en este trabajo corresponde a

una función interpoladora, la cual es capaz de aproximar cualquier valor que se encuentre en el rango de los datos de entrenamiento, no existen discontinuidades por lo que '

iΦ es suprayectiva. Por lo que se demuestra que las regiones que no tienen posibilidad de inversión son aquéllas en las que a partir de un estado actual X(t) es posible transitar a un determinado valor de la componente del estado siguiente con dos o más entradas distintas. En la figura 4.4 se observa que a partir de X(t)=[1,2]T es posible llegar a xi(t+∆t)=80 con dos entradas distintas por lo que el dato es multivaluado y no tiene posibilidad de inversión.

Fig. 4.4. Para transitar a xi(t+∆t)=80 a partir de X(t)=[1, 2] T es posible hacerlo con dos entradas distintas por lo

que el dato es multivualuado y no tiene posibilidad de inversión.

Page 63: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

46

Para simplificar las notaciones en lo sucesivo a la entrada en el rango de tiempo [t+∆t] denotada por u[t, t+∆t] se representará solamente por u. Para detectar regiones de datos multivaluados se siguen los pasos que se muestran en la figura 4.5.

Fig. 4.5. Pasos para detectar regiones con datos multivaluados.

A continuación se explica cada paso. Paso 1.- Selección de archivos sintonizados En este paso el usuario indica el directorio donde se encuentran los archivos sintonizados, es decir la descripción del sistema difuso que se usará como función interpoladora. La forma de realizar este paso se explica en la sección A.4. Paso 2.- Introducción de la dimensión de la entrada u y el estado actual X(t) El usuario introduce el número de dimensión en que se encuentra la entrada u y los valores de las distintas componentes del estado actual X(t), el cual permanecerá constante en las etapas posteriores. La forma de ingresar estos datos se presenta en la sección A.4. Paso 3.- Cálculo de puntos Con la función interpoladora se calculan 3000 puntos, dividiendo el rango de la entrada u en partes equidistantes y manteniendo constante el valor del estado actual X(t). Paso 4.- Refinamiento de máximos y mínimos locales y absolutos Se localizan los puntos que son máximos y mínimos locales, es decir aquéllos que presentan un cambio de dirección como los de la figura 4.6, donde los puntos blancos son los máximos o mínimos.

1. Selección de archivos sintonizados

2. Introducción de la dimensión de la entrada u y el estado actual X(t).

3. Cálculo de puntos.

4. Refinamiento de máximos y mínimos locales y absolutos.

5. Búsqueda de puntos multivaluados.

6. Formación de regiones multivaluadas.

7. Refinamiento de rangos de entrada u de las regiones multivaluadas.

8. Despliegue de resultados.

Page 64: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

47

Fig. 4.6. Los puntos blancos los cuales tienen un cambio de dirección, corresponden a máximos o mínimos. Entre los puntos extremos (puntos negros de la figura 4.6), se calculan 40 nuevos datos, si se encuentra alguno que sea mayor al máximo o menor al mínimo se asigna como máximo o mínimo respectivamente. Paso 5.- Búsqueda de puntos multivaluados En este paso se recorre o visita cada punto y se etiqueta como multivaluado o no multivaluado. Se utilizan dos rangos: el rango cubierto y el multivaluado. El rango cubierto se define por los valores máximos y mínimos de la ordenada (xi(t+∆t)) de los datos ya recorridos. El rango multivaluado se define por los valores máximos y mínimos de xi(t+∆t) de los datos que ya se han etiquetado como multivaluados. Estos rangos se muestran en la figura 4.7 donde los puntos negros son multivaluados y los blancos no multivaluados.

Fig. 4.7. Gráfica en la que se muestran los rangos multivaluado y cubierto, se presentan los puntos

etiquetados como multivaluados en color negro y los no multivaluados en color blanco así como el punto que se visita.

En una explicación general en este método se visita cada punto, si el valor de su ordenada xi(t+∆t) no pertenece al rango cubierto se rotula como no multivaluado y se actualiza el rango cubierto; en caso de que el valor de la ordenada de un punto pertenezca al rango cubierto, se etiqueta como multivaluado y se actualiza el rango multivaluado. Si el punto actual que se visita se etiqueta como no multivaluado y el punto anterior fue multivaluado o si el punto actual se etiqueta como multivaluado y es el último dato, es necesario recorrer todos los puntos no multivaluados ya visitados debido a que habría por lo menos uno que pertenezca al rango multivaluado por lo que su etiqueta cambiaría a multivaluado. En figura 4.8 se muestra el diagrama de flujo de la búsqueda de puntos multivaluados.

Page 65: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

48

Fig. 4.8. Diagrama de flujo de la búsqueda de puntos multivualuados.

Page 66: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

49

Paso 6.- Formación de regiones multivaluadas Se localizan los distintos conjuntos de puntos adyacentes etiquetados como multivaluados, los cuales forman las regiones multivaluadas, se almacenan los valores iniciales y finales de la dimensión de entrada u y los valores máximo y mínimo de la componente del estado siguiente xi(t+∆t) de cada región multivaluada. Paso 7.- Refinamiento de rangos de entrada u de las regiones multivaluadas En este paso se hace una aproximación más precisa de los rangos de la entrada u de las regiones multivaluadas con base a los datos obtenidos en el paso 6: los valores iniciales y finales de la entrada u y los valores máximos y mínimos de la componente del estado siguiente xi(t+∆t) de cada región multivaluada. El refinamiento de rangos parte de la idea de que los valores interpolados de los valores de las entradas iniciales y finales deben ser iguales a los valores máximos o mínimos de xi(t+∆t) según sea el caso. Esta idea se muestra en la figura 4.9 donde se presentan puntos multivaluados (negro) y no multivaluados (blanco), en este caso particular se busca entre la entrada inicial y el punto más cercano no multivaluado un valor de u cuyo consecuente interpolado sea igual al valor mínimo del estado siguiente y entre la entrada final y el punto no multivaluado más cercano se busca un valor de u cuyo resultado interpolado sea igual al valor máximo del estado siguiente. Los valores que se buscan definen un rango más exacto de la región multivaluada.

Fig. 4.9. Puntos multivaluados (negros) y no multivaluados (blanco), entre las líneas punteadas se buscan

valores de entrada (u) que sean iguales a los valores máximo o mínimo del estado siguiente.

Para poder refinar los rangos de las entradas de las regiones multivaluadas se usó el método de bisección, el cual es un método incremental que se utiliza para encontrar la

Page 67: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

50

raíz o cero de una función f(x), analizando un intervalo de xl a xu, la condición para poder aplicarlo es que f(xl) y f(xu) tengan signos opuestos. En este método el intervalo se divide siempre en dos, si la función cambia de signo sobre un intervalo, se evalúa el valor de la función en el punto medio. La posición de la raíz se determina situándola en el punto medio del subintervalo dentro del cual ocurre un cambio de signo. El proceso se repite hasta obtener una mejor aproximación [Chapra, 1999]. El algoritmo [Chapra, 1999] se muestra en la figura 4.10.

Fig. 4.10. Algoritmo de bisección [Chapra, 1999].

(4.17) Este algoritmo finaliza hasta encontrar la raíz o cero de la función, pero existen casos en el que la condición de paro f(xl)f(xr)=0 no se cumple en ninguna iteración debido a que la precisión numérica de las computaras se limita a cierto número de decimales. Por esto existen diversos criterios de paro en base a errores, en este trabajo se usó el error absoluto que se define de la siguiente forma:

u lerror absoluto x x= − (4.18) Una de las ventajas de usar este error es que el número de iteraciones se puede calcular a priori; esto es antes de empezar las iteraciones, sólo se tiene que proporcionar el error absoluto deseado, el número de iteraciones se calcula con la siguiente fórmula [Chapra, 1999]:

2log u inicial l inicialx xnúmero de iteraciones =

error absoluto deseado−⎛ ⎞

⎜ ⎟⎝ ⎠

(4.19)

Este método se implementó en Matlab 7.0, por lo que el error absoluto deseado corresponde al valor de la variable eps la cual es la menor diferencia posible entre dos valores de doble precisión, por default este valor es 2.2204x10-16 [Hanselman, 2005].

1. Elija los valores iniciales inferior xl y superior xu, de forma tal que la función cambie de signo

sobre el intervalo. Esto se puede verificar asegurándose de que f(xl)f(xu)<0. 2. La primera aproximación de la raíz xr se determina como:

2ul

rxx

x+

= (4.17)

3. Realice las siguientes evaluaciones para determinar en qué subintervalo cae la raíz:

a) Si f(xl)f(xr) < 0, entonces la raíz se encuentra dentro del subintervalo inferior. Por lo tanto, tome xu = xr y continúe con el paso 2.

b) Si f(xl)f(xr) > 0, entonces la raíz se encuentra dentro del subintervalo superior. Por lo tanto, resuélvase xl = xr y continúe con el paso 2.

4. Si f(xl)f(xr)=0, la raíz es igual a xr; termina el cálculo.

Page 68: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

51

En este caso la variable independiente es la entrada u, por lo que el rango de búsqueda de la raíz es [ul, uu] y la variable dependiente es la componente del estado siguiente xi(t+∆t) la cual se calcula con la función interpoladora. El valor del estado siguiente xi(t+∆t) que se busca al que denotaremos por VB corresponde al máximo o mínimo de la región cuyos rangos se desea refinar; este valor por lo general es distinto de cero, por lo que es necesario para poder usar el método de bisección restar al valor del resultado de la función interpoladora fi el valor de VB. A continuación se presenta el algoritmo de bisección modificado, el cual es una aportación.

Fig. 4.11. Algoritmo de bisección modificado.

Existe un caso especial que no es resuelto por el algoritmo anterior (figura 4.11) en el que todos los puntos que pertenecen a cierta región multivaluada tienen el mismo valor en xi(t+∆t), como se muestra en la figura 4.12. En este caso se busca en las regiones que aparecen entre las líneas punteadas el dato que pertenezca a la región multivaluada más cercano a los puntos no multivaluados.

Fig. 4.12. Región con datos multivaluados con el mismo valor de estado siguiente, los puntos negros

pertenecen a la región multivaluada, el ajuste del rango se lleva acabo entre las líneas punteadas.

1. Elija los valores iniciales inferior ul y superior uu, de forma tal que la función cambie de signo sobre el intervalo. Esto se puede verificar asegurándose de que (fi(ul)-VB)(fi(uu)- VB)<0.

2. Calcular con la ecuación (4.19) el número de iteraciones. 3. La primera aproximación de la raíz ur se determina con la ecuación (4.17). 4. Realice las siguientes evaluaciones para determinar en qué subintervalo cae la raíz:

a) Si (fi(ul)-VB)(fi(ur)-VB) < 0, entonces la raíz se encuentra dentro del subintervalo inferior. Por lo tanto, tome uu=ur y continúe con el paso 2.

b) Si (fi(ul)-VB)(fi(ur)-VB) > 0, entonces la raíz se encuentra dentro del subintervalo superior. Por lo tanto, resuélvase ul=ur y continúe con el paso 2.

5. Terminar el cálculo hasta que se realicen todas las iteraciones calculadas en el paso 2.

Page 69: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

52

Para hacer esta búsqueda de nuevo se utiliza el algoritmo de bisección (figura 4.11), pero modificando la condición para hacer el cambio del intervalo en el paso 4, tomando como criterio la pertenencia o no pertenencia de f(ur) a la región multivaluada es decir si f(ur) es o no igual al valor constante (VC) de xi(t+∆t) de la región multivaluada. En este caso el rango de búsqueda se denota por [um, unm] donde um es la entrada que pertenece a la región multivaluada y unm es un valor de entrada que no pertenece a dicha región. Con las consideraciones anteriores sobre el paso 4, el algoritmo para refinar los rangos de entrada de las regiones multivaluadas se muestra en la figura 4.13.

Fig. 4.13. Algoritmo para refinar los rangos de las regiones multivaluadas.

Paso 8.- Despliegue de resultados Se muestran al usuario los límites inferior y superior de la entrada u de las regiones multivaluadas, así como los valores máximo y mínimo de la componente xi(t+∆t) del estado siguiente; también se muestra una gráfica que muestra los puntos multivaluados en color rojo y los no multivaluados en color azul (ver figura 4.14).

1. Elija los valores iniciales inferior ul y superior uu, de forma tal que la función cambie de signo sobre el intervalo. Esto se puede verificar asegurándose de que (fi(ul)-VB)(fi(uu)- VB)<0.

2. Calcular con la ecuación (4.19) el número de iteraciones. 3. La primera aproximación de la raíz ur se determina con la ecuación (4.17). 4. Realice las siguientes evaluaciones para determinar en qué subintervalo cae la raíz:

4.1. Si xi(t+∆t) tiene un valor constante:

4.1.1. Si fi(ur)=VC, tome um=ur y continúe con el paso 2. 4.1.2. Si fi(ur)≠VC, tome unm=ur y continúe con el paso 2.

4.2. Si xi(t+∆t) no tiene un valor constante:

4.2.1. Si (fi(ul)-VB)(fi(ur)-VB) < 0, entonces la raíz se encuentra dentro del

subintervalo inferior. Por lo tanto, tome uu=ur y continúe con el paso 2. 4.2.2. Si (fi(ul)-VB)(fi(ur)-VB) > 0, entonces la raíz se encuentra dentro del

subintervalo superior. Por lo tanto, resuélvase ul=ur y continúe con el paso 2. 5. Terminar el cálculo hasta que se realicen todas las iteraciones calculadas en el paso 2.

Page 70: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

53

Fig. 4.14. Gráfica de puntos multivaluados (rojo) y no multivaluados (azul).

4.4. Método de búsqueda propuesto para encontrar una solución cuando la función es multivaluada En el método de calificación de regiones por posibilidad de inversión, se detectan conjuntos de datos en los cuales a partir de un estado actual X(t) es posible transitar a la componente xi(t+∆t) del estado siguiente mediante dos o más entradas u distintas, por lo que se dice que en estas regiones la función es multivaluada. La búsqueda de la solución cuando la función es multivaluada debe responder a la pregunta ¿Cuál de los distintos valores de u es el más adecuado? En este trabajo se tomó como criterio que el valor más adecuado de u es el que haga transitar al sistema dinámico por menos estados para llegar al estado actual, por tanto el valor de u que se elige es el más cercano a la última entrada aplicada, es decir el valor de u que hizo transitar al sistema dinámico al estado actual X(t), el cual se denotará como uanterior. Los pasos del método de búsqueda se describen en la figura 4.15

Page 71: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

54

Fig. 4.15. Pasos del método de una búsqueda para encontrar una solución si la función es multivaluada.

(4.20) En la siguiente sección se presentan las pruebas de los métodos propuestos para el análisis multidimensional.

4.5. Pruebas de los métodos de calificación de regiones por posibilidad de inversión y búsqueda para encontrar una solución cuando la función es multivaluada Los métodos de detección de regiones con posibilidad de inversión y de búsqueda de una solución cuando la función es multivaluada se programaron en Matlab 7.0, el código fuente se encuentra en el CD-ROM anexo a este trabajo; las pruebas de ambos métodos se hacen de manera conjunta debido a que el segundo utiliza los resultados del primero. Las pruebas se aplican a datos provenientes de funciones algebraicas de dos dimensiones y de la identificación de sistemas dinámicos. Los sistemas dinámicos por lo general se modelan respecto al tiempo con ecuaciones diferenciales, pero en este trabajo los datos tienen la estructura de la FTE de la ecuación (4.11) la cual es compleja de obtener en forma analítica, sin la expresión analítica no es posible conocer con exactitud que regiones tienen o no posibilidad de inversión. Por lo tanto en la primera parte de las pruebas se usaron funciones algebraicas de dos dimensiones definidas por su expresión analítica, mediante la cual se puede saber qué regiones tienen o no posibilidad de inversión y hacer una comparación con los resultados de la aplicación. Las funciones

1. Ingresar el valor de la última entrada uanterior que llevó al sistema dinámico al estado actual X(t).

2. Ingresar el valor de la componente xi(t+∆t) del estado siguiente al que se desea

transitar.

3. Revisar si la componente del estado siguiente al que se desea llegar se puede alcanzar a partir del estado actual, esta tarea se realiza en base al valor máximo y mínimo de la componente del estado siguiente.

4. Realizar la búsqueda entre pares de puntos, hasta encontrar dos entre los

cuales se encuentre el valor del estado siguiente deseado.

5. Calcular por el método de bisección la mejor entrada u que se aproxime al estado siguiente deseado.

6. Repetir el paso 4 hasta terminar de analizar todos los puntos.

7. Calcular la distancia absoluta entre las entradas encontradas en el paso 5 y la

entrada uanterior que llevó al sistema al estado actual con la ecuación (4.20).

encontrada anteriordistancia u u= − (4.20)

8. Mostrar como resultado la entrada que tenga la menor distancia.

Page 72: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

55

algebraicas son de dos dimensiones debido a que es el espacio en el que se aplican los métodos. En la segunda parte de las pruebas se aplican los métodos a datos provenientes de la identificación de sistemas dinámicos con el objetivo de informar en qué regiones es posible obtener un control por medio de planta inversa. Cabe recordar que en las pruebas se usan las funciones interpoladoras que aproximan a las funciones algebraicas y la FTE de los sistemas dinámicos. La función interpoladora se obtiene usando el método de sintonización de sistemas difusos empleando gradiente descendente (SGD). El proceso a seguir para obtener la función interpoladora consiste en generar datos de las funciones algebraicas o de la identificación del sistema dinámico usando la estructura de la figura 3.3, estos datos son denominados en conjunto datos de entrenamiento. Es necesario también considerar un número de conjuntos difusos para dividir el área de distribución de los datos de cada variable independiente (antecedentes), el número de conjuntos difusos es un parámetro proporcionado por el usuario. El proceso de sintonizar las bases y los centros de los conjuntos difusos se denomina etapa de aprendizaje o entrenamiento. La condición de salida de la etapa de aprendizaje está dada principalmente por un número determinado de iteraciones que actualizan los parámetros del sistema difuso, que en lo sucesivo se denominarán épocas. En la sección 3.1 se mencionó que los parámetros del sistema difuso Ka, Kb y Kw se inician en 3 y wi en 0.5, a estos valores a partir de ahora se denominarán parámetros preestablecidos, los cuales pueden ser cambiados por el usuario. Los errores de la función interpoladora se obtienen en la etapa de entrenamiento, estos errores son la función de costo (EC) descrito en la ecuación (3.18) y el error promedio que se obtiene con la ecuación (3.19).

4.5.1. Pruebas con funciones algebraicas de dos dimensiones En esta sección se utilizan datos provenientes de una función algebraica que es aproximada por una función interpoladora por lo que se espera que los resultados no sean exactos pero si cercanos.

4.5.1.1. Parábola y recta En esta prueba se usa una función definida por dos rangos, el primero se define por una

parábola invertida y el segundo por una recta. La expresión analítica de la función ' ( )uiΦ es la siguiente:

[ ][ ]

2' ( 1) 8 1, 4

( ) ( )2 7 4, 5i i

u ux t t u

u u

⎧− − + ∈ −⎪+ Δ = Φ = ⎨− + ∈⎪⎩

(4.21)

Page 73: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

56

Se obtuvieron 601 datos de entrenamiento, incrementando el valor de u en 0.01 a partir de u=-1. La sintonización del sistema difuso de un antecedente y un consecuente para obtener la función interpoladora se llevó a cabo utilizando 18 conjuntos difusos para dividir a la variable independiente, que en este caso es la entrada u. El entrenamiento se hizo durante 2000 épocas obteniendo los siguientes errores: EC=0.07551, error promedio=0.01154. La aplicación reporta que las siguientes 3 regiones no tienen posibilidad de inversión: Entrada: [-1.0000000000, 1.0506835612] Estado siguiente: [3.9808777132, 8.0042402122] Entrada: [1.0546848950, 3.0013337779] Estado siguiente: [3.9886780067, 8.0041386186] Entrada: [4.7193439556, 4.7443195735] Estado siguiente: [-2.4947348828, -2.4947348828] En el resultado se muestra el rango de entrada y los valores máximos y mínimos de la componente del estado siguiente de cada región multivaluada. En la figura 4.16 se muestra la gráfica de las regiones multivaluadas (puntos rojos) y no multivaluadas (puntos azules), donde se observa sólo una región multivaluada.

Fig. 4.16. Regiones multivaluadas (puntos rojos), regiones no multivaluadas (puntos azules) de una

combinación parábola – recta. Si se hacen acercamientos y se aumenta el tamaño de los puntos es posible ver en la figura 4.17 que el máximo absoluto de la función es no multivaluado, por lo que se forman dos regiones multivaluadas en la parte de la parábola. El valor del máximo absoluto es (1.054, 8.004).

Page 74: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

57

Fig. 4.17. Acercamiento al máximo absoluto de la gráfica donde se observa que dicho punto es no

multivaluado. En la figura 4.18 se observa que existe una tercera región multivaluada en un valor de entrada cercano a 4.7, en la cual los datos tienen el mismo valor en la componente del estado siguiente, cabe mencionar que esta región es muy pequeña.

Fig. 4.18. Visualización de la tercera región multivaluada.

Si se analiza la expresión analítica (4.21) se observa que sólo existen dos regiones multivaluadas:

Page 75: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

58

Entrada: [-1, 1) Estado siguiente: [4, 8) Entrada: (1, 3] Estado siguiente: [4, 8) La función (4.21) tiene un máximo absoluto en (1, 8) y en la aplicación el máximo fue (1.054, 8.004) El rango de las regiones multivaluadas y el máximo que reportó la aplicación son muy aproximados a los valores reales, las diferencias se deben al error de interpolación. Para la prueba del método de búsqueda de una solución cuando la función es multivaluada supóngase que la entrada anterior, es decir el valor de u que hizo transitar al sistema al estado actual fue 4, el valor de la componente siguiente al que se quiere transitar es 6. En la figura 4.16 se observa que hay dos valores distintos de u con los que es posible llegar al estado deseado. La aplicación obtiene los siguientes resultados: Entradas para transitar a la componente del estado siguiente 6.000000000: -0.4178371957 2.4066355452 La entrada más cercana a la anterior es: 2.4066355452 Se observa que la entrada más cercana al valor de 4 que el sistema reportó es correcta. El valor real de la entrada que hace transitar al estado siguiente 6 es 1± 2 es decir 2.41423 y -0.414213, el valor que reporta la aplicación se aproxima a estos valores, pero la diferencia se debe al error inherente de la función interpoladora.

4.5.2. Sistemas dinámicos En esta sección se presenta la aplicación de los métodos a datos provenientes de la identificación de un sistema dinámico de segundo orden no lineal usando la estructura de la figura 3.3. Para simular el comportamiento del sistema dinámico se usó el software Simulink de Matlab 7.0, en el anexo C se muestran algunos diagramas de simulación.

4.5.2.1. Sistema de segundo orden no lineal El objetivo de esta prueba es mostrar en qué regiones de la identificación de un sistema de segundo orden no lineal es posible obtener un control por planta inversa. El sistema de segundo orden no lineal se define por el siguiente conjunto de ecuaciones:

3 3''( ) 2 ( ) 1.5 '( ) ( )( ) ( )

x t u t x t x ty t x t

= − −=

(4.22)

donde y(t) es la salida del sistema y en este caso corresponde a la variable de estado x(t). La no linealidad se presenta por el valor de 1.5x’(t)3. Al ser un sistema de segundo orden,

Page 76: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

59

el vector de estados está formado por dos componentes las cuales son X(t)=[x(t), x’(t)]T. En este caso se hace la identificación para la segunda componente (x(t)’), por tanto para obtener la función interpoladora las variables independientes o antecedentes son u(t), x(t) y x’(t), la variable a interpolar o consecuente es x’(t+∆t). El diagrama de simulación para obtener los datos de entrenamiento se muestran en la sección C.1. La señal de entrada u(t) que se elija debe distribuir lo mejor posible a los datos de entrenamiento en el espacio de trabajo [Castillo, 1999], por lo que en esta prueba dicha señal consiste en una combinación entre una señal escalón y un diente de sierra de amplitud 2 modulada en amplitud por una señal senoidal de amplitud ±0.5 con frecuencia de 0.8 rad/s; a la señal modulada se le suma el producto entre señal de ruido aleatorio y una rampa cuya pendiente es 0.02. La señal resultante se muestra en la figura 4.19.

Fig. 4.19. Señal de entrada aplicada al sistema de segundo orden no lineal, para generar los datos de

entrenamiento. La señal de entrada se aplicó durante 90 segundos (s), el tiempo de muestreo fue de 0.2 s obteniéndose un total de 451 datos. En la etapa de entrenamiento el número de conjuntos difusos fue de 3 para cada antecedente, para sintonizar sus bases y centros se modificaron los parámetros preestablecidos a los siguientes valores Ka=0.593, Kb=0.75, Kw=3 y el peso inicial de las reglas mantiene su valor es decir wini=0.5. La sintonización se llevó a cabo en 3000 épocas obteniendo los siguientes errores: EC=0.22799, error promedio=0.02423. Una vez obtenido el sistema difuso que modela a la función interpoladora se obtienen las regiones con posibilidad de inversión a partir del estado X(t)=[-1, -1.6]T, las regiones que no tienen posibilidad de inversión por ser multivaluadas proporcionadas por la aplicación son las siguientes: Entrada: [-2.6276000000, 0.3034153384] Estado siguiente: [-1.0294139037, -0.9224743067] Entrada: [0.3073895965, 0.5518064688] Estado siguiente: [-1.0294802720, -0.9230726599]

Page 77: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

60

En la figura 4.20 se observa que las regiones sin posibilidad de inversión fueron detectadas de forma correcta.

Fig. 4.20. Regiones multivaluadas (puntos rojos), regiones no multivaluadas (puntos azules) de un sistema

dinámico de segundo orden no lineal. Para la prueba del método de búsqueda de una solución cuando la función es multivaluada se supone un valor de entrada anterior igual a -0.7 y se desea transitar a un valor de estado siguiente igual a -0.95 a partir de X(t)=[-1, -1.6]T. Los resultados de la aplicación son los siguientes: Ingrese el valor de la entrada que lo llevó al estado actual: -0.7 Ingrese el valor del estado siguiente: -0.95 Entradas para transitar a la componente del estado siguiente -0.95000000: -1.9024220949 0.4911990330 La entrada más cercana a la anterior es: 0.4911990330 De las dos entradas con las que se es posible transitar al estado deseado se observa que 0.4911990330 es la más cercana a -0.7 por lo que el resultado es correcto.

4.6. Discusión En este capítulo se describieron y evaluaron los métodos que se diseñaron para cubrir los objetivos del análisis multidimensional. Para obtener el conteo de puntos en el método de detección de regiones sobre-muestreadas o desprovistas de datos se hacen múltiples conversiones: del punto p a la tupla de divisiones (divPunto1, divPunto2, …, divPuntoN), de

Page 78: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

61

la tupla de divisiones al número de región r, para mostrar el resultado se hace la conversión inversa a partir de r. El objetivo de estas conversiones es generalizar el método para N dimensiones. En las pruebas que se hicieron para conjuntos de datos de dos y cuatro dimensiones se concluye que la cuenta de puntos es correcta para todas las regiones, con lo cual es posible detectar regiones sobre-muestreadas o desprovistas de datos. El método de clasificación de regiones por posibilidad de inversión se basa en la idea la cual se formalizó en la sección 4.3 de que los datos en los cuales a partir de un estado actual se puede transitar a un estado siguiente con dos o más entradas distintas no tiene posibilidad de inversión, es decir no es posible obtener un controlador por planta inversa. En el caso de funciones algebraicas de dos dimensiones se conoce con precisión cuáles son las regiones multivaluadas y no multivaluadas por los que al compararlos con el resultado del método propuesto se observa que existe poca diferencia la cual se debe al error de interpolación. En el caso de la prueba de datos provenientes de la identificación de un sistema dinámico la precisión de la detección de las regiones multivaluadas se evalúa de forma visual. El método de búsqueda de una solución cuando la región es multivaluada parte de los resultados del método de clasificación de regiones por posibilidad de inversión, el resultado que reporta este método es la entrada más cercana a la entrada anterior que haga transitar al sistema dinámico al estado que se desea, en las pruebas se observa que este criterio se aplica de manera correcta. Aunque la convención que se use para elegir la entrada más adecuada depende del problema, se reportan todas las entradas posibles para una mejor elección.

Page 79: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

4. Métodos propuestos para el análisis multidimensional

62

Page 80: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

5. Métodos propuestos para la visualización de alta dimensionalidad

63

5. Métodos propuestos para la visualización de alta dimensionalidad

CAPÍTULO 5

Métodos propuestos para la visualización de alta dimensionalidad En este capítulo se describen los métodos de visualización de alta dimensionalidad para visualizar la bondad de ajuste de una función interpoladora (obtenida mediante el método de sintonización de sistemas difusos empleando gradiente descendente (SGD)) y otras características inherentes a los datos. En la sección 5.1 se presentan los cuatro métodos de visualización de alta dimensionalidad que se diseñaron. En la sección 5.2 se expone la discusión de este capítulo.

Page 81: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

5. Métodos propuestos para la visualización de alta dimensionalidad

64

5.1. Métodos de visualización de alta dimensionalidad Cabe recordar que en este trabajo de investigación el objetivo de los métodos de visualización de alta dimensionalidad es visualizar la bondad de ajuste de la función interpoladora respecto a los datos de entrenamiento. En la tabla 2.1 que se mostró en la sección 2.3.3 se observa que de los métodos de visualización que se estudiaron los que más se acercan a cumplir el objetivo planteado son matriz de dispersión y diagramas de dispersión en tres dimensiones, en base a estos se diseñaron dos métodos de visualización para observar la bondad de ajuste de la función interpoladora denominados matriz de dispersión del consecuente y conjunto de diagramas de dispersión en tres dimensiones. Se diseñó un tercer método para visualizar la bondad de ajuste llamado gráfico comparativo entre consecuente real e interpolado, en el cual se observa de una forma directa la bondad de ajuste de la interpolación. Se implementó un cuarto método de visualización para observar otras características de los datos siendo de especial interés los que provienen de sistemas de visión artificial. Los cuatro métodos de visualización se implementaron en Matlab 7, el código fuente se encuentra en el CD-ROM que se anexa a este trabajo. La descripción de los métodos se expone a continuación.

5.1.1. Matriz de dispersión del consecuente Este método se usa para visualizar la bondad de ajuste de la función interpoladora o aproximadora, se basa en el método de matriz de dispersión, pero sólo se visualiza el renglón el cual contiene la dimensión interpolada o consecuente. Para datos en N dimensiones, se despliegan N-1 diagramas de dispersión en dos dimensiones. Con este método se visualizan los datos de entrenamiento, los datos aproximados y de manera opcional la proyección en dos dimensiones de la función interpoladora. La bondad de ajuste de la función interpoladora se visualiza por la cercanía que existe entre los datos de entrenamiento y los aproximados, los cuales se muestran con colores y formas distintas. En la figura 5.1 se muestra un ejemplo de este método de visualización con datos provenientes la identificación de un sistema dinámico de segundo orden no lineal por lo que se tienen 3 antecedentes (u(t), x1(t), x2(t)) y un consecuente (x1(t+∆t)), la función interpoladora se representa con puntos celestes, los datos de entrenamiento con círculos azules y sus valores interpolados con cruces rojas.

Page 82: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

5. Métodos propuestos para la visualización de alta dimensionalidad

65

Fig. 5.1. Matriz de dispersión del consecuente de la identificación de un sistema de segundo orden no lineal, las cruces rojas corresponden a los datos interpolados, los círculos azules a los datos de entrenamiento y los

celestes a la función interpoladora completa.

En este método es posible reducir el rango de datos de cada dimensión y se puede elegir un determinado diagrama de dispersión para visualizarlo de manera independiente. Matlab proporciona las operaciones de zoom y selección de un punto para conocer sus coordenadas. La forma de visualizar datos mediante matriz de dispersión del consecuente se describe en la sección A.6. Los pasos que sigue este método se muestran en la figura 5.2.

Fig. 5.2. Pasos del método matriz de dispersión del consecuente.

Enseguida se explicará cada paso.

1. Seleccionar la carpeta que contiene los archivos con la información del sistema difuso sintonizado (función interpoladora).

2. Reducir el rango de alguna dimensión y/o visualizar la proyección de la

función interpoladora.

3. Obtener la función interpoladora y la aproximación del consecuente de los datos de entrenamiento.

4. Almacenar los antecedentes en un arreglo.

5. Colocar las gráficas en el área de visualización. 6. Desplegar las gráficas. 7. Visualizar una proyección específica.

Page 83: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

5. Métodos propuestos para la visualización de alta dimensionalidad

66

Paso 1. Seleccionar la carpeta que contiene los archivos con la información del sistema difuso sintonizado (función interpoladora) En este paso se selecciona la carpeta que contiene los archivos con la información referente al sistema difuso sintonizado, la forma de llevar a cabo esta operación se muestra en la sección A.2. Paso 2. Reducir el rango de alguna dimensión y/o visualizar la proyección de la función interpoladora El usuario elige reducir o no el rango de valores de alguna dimensión y/o de visualizar la proyección de la función interpoladora, la forma de realizar esta operación se muestra en la sección A.6 Paso 3. Obtener la función interpoladora y la aproximación del consecuente de los datos de entrenamiento Se obtienen los valores aproximados de los datos de entrenamiento los cuales se encuentran en el archivo DATOS.DAT, en caso de que el usuario eligiera visualizar la proyección de la función interpoladora se aproximan 64,000 puntos distribuidos de manera uniforme en todas las dimensiones. Paso 4. Almacenar los antecedentes en un arreglo En este paso se colocan los antecedentes en un arreglo de tamaño N-1, donde N es el número de dimensiones, es decir en la posición 1 del arreglo se coloca el antecedente1, en la posición el antecedente 2 y así sucesivamente. Paso 5. Colocar las gráficas Se colocan las gráficas de 2 dimensiones (antecedentex, consecuente) en el área de visualización (figura 5.1), el número de gráficas será es a N-1 y se colocan en un solo renglón. Paso 6. Desplegar las gráficas Se despliega las gráficas como se muestra en la figura 5.1, en este caso Matlab permite realizar las operaciones de zoom y selección de un punto para conocer los valores de sus coordenadas. Paso 7. Visualizar una proyección específica. La aplicación proporciona al usuario la opción de visualizar una determinada gráfica o proyección, este paso se explica de forma más detallada en la sección A.6.

Page 84: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

5. Métodos propuestos para la visualización de alta dimensionalidad

67

5.1.2. Conjunto de diagrama de dispersión en tres dimensiones En este método se visualizan los diagramas de dispersión en tres dimensiones correspondientes a las combinaciones de tres variables que contienen al consecuente. Para datos de N dimensiones se visualizan (N-1)(N-2)/2 diagramas. Al igual que el método anterior y usando la misma representación se visualizan los datos de entrenamiento y aproximados y de manera opcional la proyección en tres dimensiones de la función interpoladora como se observa en la figura 5.3. La bondad de ajuste de la función interpoladora se visualiza por la proximidad entre los datos de entrenamiento y los aproximados, en la figura 5.4 esto se observa mejor debido a que no se muestra la función interpoladora.

Fig. 5.3. Conjunto de diagramas de dispersión en tres dimensiones de la identificación de un sistema

dinámico de segundo orden no lineal, las cruces rojas corresponden a los datos interpolados, los círculos azules a los datos de entrenamiento y los celestes a la función interpoladora completa.

Page 85: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

5. Métodos propuestos para la visualización de alta dimensionalidad

68

Fig. 5.4. Conjunto de diagramas de dispersión en tres dimensiones de la identificación de un sistema dinámico de segundo orden no lineal, las cruces rojas corresponden a los datos interpolados, los azules a los datos de

entrenamiento, no se despliega la función interpoladora.

Este método soporta la reducción de rangos por dimensión y la elección de un diagrama para visualizarlo de forma independiente. Matlab proporciona las operaciones de rotación, selección de un punto para determinar sus coordenadas y zoom. En la sección A.6 se muestra la forma de llevar a cabo la visualización con este método. Los pasos del método se presentan en la figura 5.5.

Fig. 5.5. Pasos del método conjunto de diagramas de dispersión en tres dimensiones.

1. Seleccionar la carpeta que contiene los archivos con la información del sistema difuso sintonizado (función interpoladora).

2. Reducir el rango de alguna dimensión y/o visualizar la proyección de la

función interpoladora.

3. Obtener la función interpoladora y la aproximación del consecuente de los datos de entrenamiento.

4. Formar las combinaciones de los pares de antecedentes.

5. Colocar las gráficas en el área de visualización. 6. Desplegar las gráficas. 7. Visualizar una proyección específica.

Page 86: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

5. Métodos propuestos para la visualización de alta dimensionalidad

69

El algoritmo es muy similar al del método de matriz de dispersión del consecuente (figura 5.2), sólo existen diferencias en los pasos 4 y 5. Paso 4. Formar las combinaciones de los pares de antecedentes En este paso se forman las combinaciones de los pares de antecedentes que se colocarán en cada gráfica, en una matriz de (N-1)(N-2)/2 renglones y 2 columnas, donde N es el número de dimensiones. La forma de llevar a cabo estás combinaciones se muestra en la figura 5.6.

Fig. 5.6. Algoritmo para formar las combinaciones de pares de antecedentes. Paso 5. Colocar las gráficas En este paso se colocan las gráficas de 3 dimensiones (antecedentex, antecedentey, consecuente) en el área de visualización (figuras 5.3 y 5.4), en las gráficas se colocan los datos de entrenamiento con círculos azules, los datos interpolados con cruces rojas y en caso de querer visualizar la función interpoladora los datos que pertenecen a ésta se representan con puntos celestes. El número de gráficas es igual al número de renglones que tiene la matriz donde se almacenaron las combinaciones de pares de antecedentes. En cada renglón del área de visualización se colocan 3 gráficas.

5.1.3. Gráfico comparativo del consecuente real e interpolado Se denomina consecuente real a la dimensión que corresponde al consecuente de los datos de entrenamiento. En el método de gráfico comparativo del consecuente real e interpolado la bondad de ajuste de la función interpoladora se observa de forma más directa que en los métodos anteriores. Este método se representa con ejes cartesianos de dos dimensiones, en las abcisas se encuentra el número de dato que se grafica y en las ordenadas el valor del consecuente. Para cada dato de entrenamiento se gráfica el valor del consecuente real y su correspondiente valor interpolado diferenciándolos por forma y color. Los datos interpolados se representan con cruces rojas y los de entrenamiento con círculos azules, lo que se observa en la figura 5.7 donde se muestra además una línea verde continua denominada línea de error la cual se coloca de forma opcional y corresponde al valor absoluto de la diferencia entre el consecuente real y su correspondiente valor aproximado.

contador = 0 Para i = 1 hasta N - 2 Para j = i + 1 hasta N - 1 contador = contador + 1 matriz[contador, 1] = i matriz[contador, 2] = j

Page 87: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

5. Métodos propuestos para la visualización de alta dimensionalidad

70

Fig. 5.7. Gráficos comparativo del consecuente real e interpolado de un sistema de segundo orden no lineal,

las cruces rojas corresponden a los datos interpolados, los azules a los datos de entrenamiento. La secuencia predeterminada para colocar los datos en el gráfico es el orden que tienen en el conjunto de entrenamiento. Dicho orden puede ser cambiado por el usuario a ascendente o descendente respecto al valor del consecuente real. Cuando los datos provienen de sistemas dinámicos el orden en que se encuentran en el conjunto de entrenamiento se determina por el tiempo, en este caso particular cuando el gráfico comparativo de consecuente real e interpolado se visualiza usando el orden predeterminado se convierte en una serie de tiempo. Al igual que los métodos anteriores, la bondad de ajuste de la función interpoladora se determina por la cercanía de los datos de entrenamiento y los aproximados, lo cual en este método es más directo de observar. Para este método Matlab proporciona las operaciones de selección de un punto para determinar sus coordenadas y zoom. La desventaja de este método es que sólo se visualizan los valores del consecuente, por lo que no se pueden observar formas, correlaciones con las otras dimensiones y outliers. La forma de visualizar datos con este método se explica de forma detallada en la sección A.6. Los pasos que este método sigue se muestran en la figura 5.8.

Page 88: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

5. Métodos propuestos para la visualización de alta dimensionalidad

71

Fig. 5.8. Pasos del método gráfico comparativo del consecuente real e interpolado.

En la figura 5.8 el paso 1 es el mismo que en el método matriz de dispersión del consecuente (figura 5.2). Paso 2. Reducir el rango de alguna dimensión y/o visualizar la línea de error En este paso el usuario puede reducir el rango de alguna dimensión y elegir la opción de visualizar o no la línea de error, es decir la línea que indica el valor absoluto de la diferencia entre el consecuente real y el interpolado. Paso 3. Obtener la aproximación del consecuente de los datos de entrenamiento Se obtienen los valores aproximados de los datos de entrenamiento. Paso 4. Colocar los datos en el área de visualización En este paso se colocan en el área de visualización (figura 5.7) los datos de entrenamiento representados con círculos azules de acuerdo al orden que tengan en el archivo DATOS.DAT y los valores interpolados que les corresponden representados con cruces rojas, si el usuario eligió desplegar la línea de error, ésta se representa con una línea verde continua. Paso 5. Desplegar la gráfica Se despliega una gráfica como la que se mostró en la figura 5.7 en la que es posible llevar a cabo la operación de zoom y desplegar las coordenadas de un determinado punto. Paso 6. Visualizar la gráfica en un orden determinado Después de desplegar la gráfica es posible visualizar otra gráfica con los datos en un orden determinado que puede ser ascendente o descendente respecto al valor del consecuente de los datos de entrenamiento, esta opción se explica con más detalle en la sección A.6.

1. Seleccionar la carpeta que contiene los archivos con la información del sistema difuso sintonizado (función interpoladora).

2. Reducir el rango de alguna dimensión y/o visualizar la línea de error.

3. Obtener la aproximación del consecuente de los datos de entrenamiento. 4. Colocar los datos en el área de visualización. 5. Desplegar la gráfica. 6. Visualizar la gráfica en un orden determinado.

Page 89: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

5. Métodos propuestos para la visualización de alta dimensionalidad

72

5.1.4. Combinación de diagramas de dispersión en tres dimensiones y código de color Este método se utiliza para visualizar características intrínsecas de los datos, como son traslapes entre puntos que pertenecen a distintas clases o correlaciones entre las dimensiones. El método es parecido al de conjunto de diagramas de dispersión en tres dimensiones con la diferencia de que sólo se visualizan los datos de entrenamiento o los datos interpolados pero no ambos, además el consecuente se visualiza por codificación de color, por lo que el conjunto de diagramas de dispersión que se despliega corresponde a todas las combinaciones posibles de tres antecedentes, por tanto para un conjunto de datos de N dimensiones se visualizan (N-2)(N-3)/2 diagramas. Debido a que se requiere representar datos numéricos en una escala de color y los colores no tienen un orden natural, es necesario elegir dicho orden; se hicieron pruebas con 3 escalas diferentes, la primera se muestra en la figura 5.9 en la cual se asigna el color azul a los datos menores y el rojo a los mayores, el cambio de azul a rojo se hace de forma gradual.

Fig. 5.9. Escala de colores azul a rojo.

La desventaja de esta escala es que no es fácil diferenciar qué valores intermedios son más cercanos al lado menor o al mayor de la escala, por lo que se descartó su uso. La segunda escala se obtiene saturando el color azul y se muestra en la figura 5.10.

Fig. 5.10. Escala de azul saturado.

En esta escala sí se diferencia mediante el color los valores intermedios y los extremos, pero en valores muy cercanos los colores son difíciles de distinguir. La tercera escala se toma de Matlab 7.0, es el colormap denominado Jet, su rango va de azul a café, pasando por el celeste, amarillo y naranja. Esta escala está asociada a la simulación del fluido de un jet espacial hecha por la National Center for Supercomputer Applications [Hanselman, 2005], la escala se muestra en la figura 5.11.

Fig. 5.11. Escala Jet. Al visualizar datos que en el consecuente sólo tienen dos posibles valores, se representan con los valores extremos de la escala que son el azul y el café, dichos colores al no contrastar hace difícil visualizar algunos datos, por lo que la escala se reduce hasta el rojo y se muestra en la figura 5.12.

Menor Mayor

Menor Mayor

Menor Mayor

Page 90: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

5. Métodos propuestos para la visualización de alta dimensionalidad

73

Fig. 5.12. Escala Jet reducida. En la figura 5.13 se muestra un ejemplo de esta visualización, con datos provenientes de la identificación de un sistema dinámico de segundo orden no lineal, en este caso se visualizan los datos de entrenamiento, aunque también es posible visualizar en otra gráfica los datos interpolados. Se observa que los antecedentes se grafican usando los ejes coordenados y el consecuente mediante codificación en color cuya escala se encuentra en la parte inferior de la gráfica.

Fig. 5.13. Combinación de diagrama de dispersión en tres dimensiones y código de color de un sistema de

segundo orden lineal, en el cual el valor del consecuente se visualiza como código de color. Para este método Matlab proporciona las operaciones de rotación, selección de un punto para conocer sus coordenadas y zoom. Si se desean visualizar los datos de entrenamiento, es necesario ingresar a la aplicación la ruta y el nombre del archivo que almacena dichos datos. Para visualizar datos con este método consulte la sección A.6. Los pasos que este método sigue se muestra en la figura 5.14.

Menor Mayor

Page 91: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

5. Métodos propuestos para la visualización de alta dimensionalidad

74

Fig. 5.14. Pasos del método combinación de diagramas de dispersión en tres dimensiones y código de color. Este método de visualización tiene dos variantes: visualizar los datos de entrenamiento o los datos interpolados, las diferencias se explican en los pasos 3 y 5. Los pasos 1, 6 y 7 son los mismos que el algoritmo del método matriz de dispersión del consecuente que se mostró en la figura 5.2, por lo que sólo se explicarán los pasos 2, 3, 4 y 5. Paso 2. Reducir el rango de alguna dimensión En este paso el usuario puede reducir el rango de una determinada dimensión. La forma de llevar a cabo esta operación se explica en la sección A.6. Paso 3. Si se visualizan los datos interpolados obtener la aproximación del consecuente de los datos de entrenamiento. Si el usuario eligió visualizar los datos interpolados, en este paso se obtiene la aproximación del consecuente de los datos de entrenamiento. Paso 4. Formar las combinaciones de tres antecedentes En este paso se forman las combinaciones de tres antecedentes que se colocarán en cada gráfica, en una matriz de (N-2)(N-3)/2 renglones y 3 columnas. El algoritmo para obtener estas combinaciones se muestra en la figura 5.15.

1. Seleccionar la carpeta que contiene los archivos con la información del sistema difuso sintonizado (función interpoladora).

2. Reducir el rango de alguna dimensión.

3. Si se visualizan los datos interpolados obtener la aproximación del

consecuente de los datos de entrenamiento. 4. Formar las combinaciones de tres antecedentes.

5. Colocar las gráficas en el área de visualización. 6. Desplegar las gráficas. 7. Visualizar una proyección específica.

Page 92: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

5. Métodos propuestos para la visualización de alta dimensionalidad

75

Fig. 5.15. Algoritmo para obtener las combinaciones de tres antecedentes.

Paso 5. Colocar las gráficas en el área de visualización Se colocan (N-2)(N-3)/2 gráficas de 3 dimensiones (antecedentex, antecedentey, antecedentez) en el área de visualización (figura 5.13), el valor del consecuente se representa mediante el código de color de la escala Jet reducida (figura 5.12). Si el usuario eligió visualizar la bondad de ajuste de la función interpoladora se coloca el valor del consecuente aproximado, en caso contrario se coloca el valor real del consecuente. En cada renglón del área de visualización se despliegan 3 gráficas.

5.2. Discusión De los métodos de visualización descritos en este capítulo, la bondad de ajuste de la función interpoladora respecto a los datos de entrenamiento se observa de una forma muy directa con el método de gráfico comparativo del consecuente real e interpolado, pero este método al no considerar los valores de los antecedentes de los datos pierde información de interés como correlaciones entre las dimensiones, detección de outliers o formas de las regiones. Esta información es posible detectarla con los métodos de matriz de dispersión del consecuente y conjunto de diagramas de dispersión en tres dimensiones (los cuales también visualizan la bondad de ajuste de la interpolación) por lo que los métodos se complementan. Las pruebas de los métodos de visualización se describen en el capítulo 6.

contador = 0 Para i = 1 hasta N - 3 j = i + 1 Para k = j+1 hasta N - 1 contador = contador + 1 matriz[contador, 1] = i matriz[contador, 2] = j matriz[contador, 3] = k

Page 93: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

76

6. Visualización de sistemas dinámicos y sistemas de visión artificial

CAPÍTULO 6

Visualización de sistemas dinámicos y sistemas de visión artificial En este capítulo se presentan las pruebas de los métodos de visualización de alta dimensionalidad que se presentaron en el capítulo anterior con el objetivo de conocer la bondad de ajuste de funciones interpoladoras respecto a los datos de entrenamiento. Las pruebas se hacen con datos provenientes de sistemas dinámicos y de distintas variantes de un sistema de visión artificial. En la sección 6.1 se presentan las pruebas de los métodos de visualización de alta dimensionalidad para observar la bondad de ajuste de funciones interpoladoras que identifican y controlan sistemas dinámicos. Además se comprueba mediante simulaciones la capacidad de generalización de las funciones interpoladoras. En la sección 6.2 utilizando los métodos de visualización de alta dimensionalidad se observa la bondad de ajuste de funciones que interpolan datos provenientes de distintas variantes del sistema de visión artificial que se describió en la sección 3.3. También utilizando el método de combinación de diagramas de dispersión en tres dimensiones y código de color que se presentó en la sección 5.1.4 se visualiza el grado de traslape de los datos de entrenamiento. En la sección 6.3 se presenta la discusión de este capítulo.

Page 94: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

77

6.1. Pruebas con datos provenientes de sistemas dinámicos En esta sección se visualiza la bondad de ajuste y se comprueba la capacidad de generalización de funciones interpoladoras que se obtienen de datos provenientes de la identificación y control de sistemas dinámicos que tienen la estructura de la función de transición de estados (FTE). Las funciones interpoladoras se obtienen utilizando el método de sintonización de sistemas difusos empleando gradiente descendente (SGD).

6.1.1. Identificación Para identificar un sistema dinámico es necesario contar con una planta P, a la cual se le aplica una señal de entrada u(t), enseguida se realiza el muestreo de los valores de entrada y salida de la planta para obtener los datos de entrenamiento, este proceso se realiza con una simulación y se denomina etapa de adquisición. Las variables muestreadas que se tomarán como antecedentes y consecuentes se muestran en la figura 3.3. Una vez obtenidos los datos se realiza el entrenamiento mediante el SGD, es decir se obtiene la función interpoladora que identifica al sistema dinámico, enseguida se realiza la etapa de validación, en la que se utilizan los métodos de visualización de alta dimensionalidad para comprobar la bondad de ajuste de la función interpoladora que identifica al sistema dinámico respecto a los datos de entrenamiento, en esta etapa también se simula la identificación. Para realizar la simulación de un sistema de primer orden se utiliza el diagrama que se muestra en la figura 6.1.

Fig. 6.1. Diagrama empleado para la validación, mostrando el lazo de retroalimentación, útil para capturar la dinámica de una planta P de primer orden. La entrada es u(t), la salida que se desea obtener corresponde a

la salida del sistema xr(t) la cual se compara con la salida del sistema difuso x(t).

Durante la etapa de validación se utiliza como entrada u(t) la señal con la que se generaron los datos de entrenamiento. Si la bondad de ajuste de la interpolación resulta satisfactoria y las salidas obtenidas del sistema difuso y de la planta durante la simulación son semejantes se procede a la etapa de generalización, en la cual se retoma la simulación de la etapa de validación pero se usan como entrada señales distintas a la que

Page 95: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

78

se utilizó en la etapa de entrenamiento con el objetivo de comprobar la capacidad de generalización de la función interpoladora. El proceso completo para obtener y evaluar la identificación de un sistema dinámico se muestra en la figura 6.2.

Fig. 6.2. Etapas para obtener y evaluar una función interpoladora que identifique a un sistema dinámico. A continuación se realizan diferentes pruebas para identificar sistemas dinámicos mediante SGD, se experimenta con sistemas de primero, segundo y un sistema caótico de tercer orden.

6.1.1.1. Sistema de primer orden lineal En esta sección se obtiene la función interpoladora para identificar al sistema de primer orden lineal descrito por las siguientes ecuaciones:

'( ) ( ) ( )( ) ( )

= −=

x t u t x ty t x t

(6.1)

donde y(t) es la salida del sistema y corresponde al estado x(t). Las variables de entrada o antecedentes para que el SGD capture la dinámica del sistema son la entrada u(t) y el estado o salida x(t), a partir de éstos se tratará de aproximar el estado siguiente x(t+∆t), por tanto el número de dimensiones es 3. La señal de entrada aplicada al sistema dinámico para obtener los datos de entrenamiento se muestra en la figura 6.3 y se forma por una señal triangular de amplitud ±2 con frecuencia de 1 ciclo cada 10 s a la cual se le suma el producto entre una señal de ruido aleatorio y una señal rampa cuya amplitud es 0.02. El tiempo de simulación fue de 50 s y el tiempo de muestreo de 0.1 s, obteniéndose un total de 501 datos. Para lograr la identificación del sistema dinámico se colocaron 2 conjuntos por cada antecedente y se utilizaron los parámetros preestablecidos, el entrenamiento se hizo durante 10 épocas obteniendo los siguientes errores de interpolación: EC=1.52362, error promedio=0.065.

Adquisición Entrenamiento Validación Generalización

Visualización

Simulación

Simulación SGD

Page 96: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

79

Fig. 6.3. Señal de entrada aplicada al sistema de primer orden lineal, para generar los datos de

entrenamiento. Una vez completado el entrenamiento se procede a la etapa de validación en la cual primero se visualiza la bondad de ajuste de la función interpoladora respecto a los datos de entrenamiento con alguno de los métodos descritos en el capítulo 5. En la figura 6.4 se observa la bondad de ajuste de la interpolación mediante matriz de dispersión del consecuente, donde se observa que existen datos interpolados que no están contenidos por la función interpoladora y otros se encuentran alejados de su dato de entrenamiento correspondiente es decir del valor real.

Fig. 6.4. Matriz de dispersión del consecuente de la identificación de un sistema de primer orden lineal,

después de 10 épocas de entrenamiento, las cruces rojas corresponden a los datos interpolados, los círculos azules a los datos de entrenamiento y los puntos celestes a la función interpoladora completa.

En la figura 6.5 se muestra la bondad de ajuste de la aproximación con el método de diagramas de dispersión en tres dimensiones, se observa que algunos datos de entrenamiento (círculos azules) no pertenecen a la función interpoladora (puntos celestes)

Page 97: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

80

y que existen datos interpolados (cruces rojas) lejos del dato de entrenamiento que les corresponde.

Fig. 6.5. Diagramas de dispersión en tres dimensiones de un sistema de primer orden lineal, después de 5 épocas de entrenamiento, las cruces rojas corresponden a los datos interpolados, los círculos azules a los

datos de entrenamiento y los puntos celestes a la función interpoladora completa. Para lograr una mejor identificación se entrenó el sistema difuso a 276 épocas, los errores son: EC=0.00122, error promedio=0.00051. Al sintonizar con un mayor número de épocas los errores disminuyeron. La bondad de ajuste de la interpolación se visualiza mediante matriz de dispersión del consecuente y conjunto de diagramas de dispersión en tres dimensiones en las figuras 6.6 y 6.7 respectivamente en las que se observa que el consecuente de los datos de entrenamiento es muy cercano a su correspondiente valor interpolado, además la función interpoladora contiene a todos los datos de entrenamiento.

Page 98: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

81

Fig. 6.6. Matriz de dispersión del consecuente de la identificación de un sistema de primer orden lineal,

después de 276 épocas de entrenamiento, las cruces rojas corresponden a los datos interpolados, los círculos azules a los datos de entrenamiento y los puntos celestes a la función interpoladora completa.

Fig. 6.7. Diagramas de dispersión en tres dimensiones de un sistema de primer orden lineal, después de 276

épocas de entrenamiento, las cruces rojas corresponden a los datos interpolados, los círculos azules a los datos de entrenamiento y los puntos celestes a la función interpoladora completa.

Con los métodos de visualización fue posible comprobar que la función interpoladora tiene una bondad de ajuste alta respecto a los datos de entrenamiento, por lo que se procede a la segunda parte de la etapa de validación que consiste en simular el comportamiento del sistema dinámico utilizando la estructura de la figura 6.1, en esta etapa se excita al sistema dinámico con la señal de entrada que se utilizó en la etapa de adquisición. La

Page 99: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

82

salida del sistema difuso se muestra en la figura 6.8, donde se observa que se traslapa con la salida de la planta. En la figura 6.9 se muestra la diferencia entre la salida de la planta y la salida del sistema difuso a la cual en lo sucesivo se denominará error, el cual no es significativo.

Fig. 6.8. Comparativo de la salida de la planta de

primer orden lineal (línea roja) y la salida del sistema difuso (línea negra) como respuesta a la señal que se aplicó en la etapa de adquisición. En este caso ambas

salidas se traslapan.

Fig. 6.9. Error entre la salida de la planta de primer orden lineal y la salida del sistema difuso como

respuesta a la señal que se aplicó en la etapa de adquisición.

La etapa de validación obtiene buenos resultados, por lo que se comprobará la capacidad de generalización aplicando señales de entrada desconocidas, es decir no consideradas durante la etapa de entrenamiento. En la primera prueba se aplica como entrada a la planta una señal triangular con frecuencia de un ciclo por cada 10 s y amplitud ±1 que se muestra en la figura 6.10.

Fig. 6.10. Señal de entrada triangular aplicada a la planta de primer orden lineal y al sistema difuso.

En la figura 6.11 se muestra la comparación entre las salidas del sistema difuso y la planta, se observa que las salidas se traslapan por lo que el resultado es aceptable. En la figura 6.12 se nota que el mayor error se produce cuando la señal de entrada alcanza su máxima amplitud.

Page 100: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

83

Fig. 6.11. Comparativo de la salida de la planta de

primer orden lineal (línea roja) y la salida del sistema difuso (línea negra) como respuesta a una señal

triangular. Ambas salidas se traslapan.

Fig. 6.12. Error entre la salida de la planta de primer orden lineal y la salida del sistema difuso

como respuesta a una señal triangular.

Otra señal de entrada que se aplicó fue un escalón de amplitud 1 que se muestra en la figura 6.13 y es desconocido por el sistema difuso.

Fig. 6.13. Señal escalón aplicada a la planta de primer orden lineal y al sistema difuso.

En la figura 6.14 se observa que la salida del sistema difuso y la generada por la planta están casi traslapadas, lo que da como resultado que el error que se muestra en la figura 6.15 sea pequeño.

Page 101: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

84

Fig. 6.14. Comparativo de la salida de la planta de

primer orden lineal (línea roja) y la salida del sistema difuso (línea negra) como respuesta a una señal

escalón. Ambas salidas se traslapan.

Fig. 6.15. Error entre la salida de la planta de primer orden lineal y la salida del sistema difuso

como respuesta a una señal escalón.

El sistema lineal de primero orden que se estudió obtuvo buenos resultados tanto en la etapa de validación como en la de generalización. Para aumentar la complejidad de las pruebas en la siguiente sección se estudia un sistema de segundo orden lineal.

6.1.1.2. Sistema de segundo orden lineal En esta sección se hace la identificación del sistema de segundo orden lineal definido por las siguientes ecuaciones:

''( ) 20 ( ) 1.5 '( ) 20 ( )( ) ( )

= − −=

x t u t x t x ty t x t

(6.2)

En este sistema el vector de estados X(t)=[x(t), x’(t)]T tiene dos componentes, por tanto es necesario sintonizar dos sistemas difusos, ambos tienen los mismos antecedentes en el siguiente orden: u(t), x(t) y x’(t), y distintos consecuentes, en el primero al que se denominará sistema difuso uno es x(t+∆t) y en el segundo al que se llamará sistema difuso dos es x’(t+∆t). Ambos sistemas difusos tienen cuatro dimensiones. La señal de entrada para obtener los datos de entrenamiento consiste en un seno de amplitud ±2, con frecuencia de 2.5 rad/s modulada en amplitud por otra señal senoidal de amplitud ±0.5 con frecuencia de 0.8 rad/s a la cual se le suma el producto entre una señal de ruido aleatorio y una señal rampa cuya pendiente es 0.02, el resultado se muestra en la figura 6.16. El tiempo de muestreo fue de 0.1 s durante 60 s de simulación, obteniéndose 601 datos.

Page 102: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

85

Fig. 6.16. Señal de entrada aplicada a la planta de segundo orden lineal para generar los datos de

entrenamiento.

Para los dos sistemas difusos el entrenamiento se realizó con 2 conjuntos por cada antecedente utilizando los parámetros preestablecidos durante 1000 épocas. Los errores para el sistema difuso uno son: EC=0.03011, error promedio=0.00324. El sistema difuso dos tiene los siguientes errores de interpolación: EC=1.82060, error promedio=0.01495. En la etapa de validación se visualiza la bondad de ajuste de la función interpoladora usando el método de conjunto de diagramas de dispersión en tres dimensiones; para una mejor visualización se utiliza la opción de desplegar cada diagrama de forma independiente y no mostrar las proyecciones de la función interpoladora. Debido a que los sistemas difusos son de cuatro dimensiones se tienen tres diagramas de dispersión para cada uno, en las figuras 6.17 a 6.19 se visualizan los diagramas correspondientes al sistema difuso uno, en los cuales se observa que los datos de entrenamiento son muy cercanos a sus correspondientes valores interpolados. En las figuras 6.20 a 6.22 se muestran los diagramas de dispersión que corresponden al sistema difuso dos. Se observa que ambos sistemas difusos presentan una bondad de ajuste alta con los datos de entrenamiento.

Page 103: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

86

Fig. 6.17. Diagrama de dispersión en tres dimensiones de los antecedentes 1, 2 y el consecuente del sistema

difuso uno para la identificación de un sistema de segundo orden lineal, se observan los datos de entrenamiento (cruces rojas) y los datos interpolados (círculos azules).

Fig. 6.18. Diagrama de dispersión en tres dimensiones de los antecedentes 1, 3 y el consecuente del sistema

difuso uno para la identificación de un sistema de segundo orden lineal, se observan los datos de entrenamiento (cruces rojas) y los datos interpolados (círculos azules).

Page 104: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

87

Fig. 6.19. Diagrama de dispersión en tres dimensiones de los antecedentes 2, 3 y el consecuente del sistema

difuso uno para la identificación de un sistema de segundo orden lineal, se observan los datos de entrenamiento (cruces rojas) y los datos interpolados (círculos azules).

Fig. 6.20. Diagrama de dispersión en tres dimensiones de los antecedentes 1, 2 y el consecuente del sistema

difuso dos para la identificación de un sistema de segundo orden lineal, se observan los datos de entrenamiento (cruces rojas) y los datos interpolados (círculos azules).

Page 105: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

88

Fig. 6.21. Diagrama de dispersión en tres dimensiones de los antecedentes 1, 3 y el consecuente del sistema

difuso uno para la identificación de un sistema de segundo orden lineal, se observan los datos de entrenamiento (cruces rojas) y los datos interpolados (círculos azules).

Fig. 6.22. Diagrama de dispersión en tres dimensiones de los antecedentes 2, 3 y el consecuente del sistema

difuso dos para la identificación de un sistema de segundo orden lineal, se observan los datos de entrenamiento (cruces rojas) y los datos interpolados (círculos azules).

Page 106: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

89

Para completar la etapa de validación se compara por medio de la simulación que se muestra en la sección C.2 las salidas de la planta y del sistema difuso las cuales se muestran en la figura 6.23 donde se observa que son similares; en la figura 6.24 se muestra el error entre las salidas el cual aumenta al final de la simulación, pero en general es pequeño.

Fig. 6.23. Comparativo de la salida de la planta de segundo orden lineal (línea roja) y la salida sistema

difuso (línea negra) como respuesta a la señal que se utilizó en la etapa de adquisición. Ambas salidas se

traslapan.

Fig. 6.24. Error entre la salida de la planta de segundo orden lineal y la salida del sistema difuso

como respuesta a la señal de entrada que se utilizó en la etapa de adquisición.

Una vez finalizada la etapa de validación se procede a comprobar la capacidad de generalización de la función interpoladora, en la primera prueba se excitan al sistema difuso y a la planta con una señal senoidal de amplitud ±1.5 y frecuencia de 1.75 rad/s que se muestra en la figura 6.25.

Fig. 6.25. Señal senoidal aplicada a la planta de segundo orden lineal y al sistema difuso

En la figura 6.26 se observa que la salida del sistema difuso es muy similar a la salida de la planta, por consecuencia el error que se despliega en la figura 6.27 es aceptable.

Page 107: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

90

Fig. 6.26. Comparativo de la salida de la planta de

segundo orden lineal (línea roja) y la salida del sistema difuso (línea negra) como respuesta a una

señal senoidal.

Fig. 6.27. Error entre la salida de la planta de segundo orden lineal y la salida del sistema difuso

como respuesta a una señal senoidal.

En la siguiente prueba la señal de entrada para la planta y el sistema difuso es la señal escalón de amplitud 1 que se mostró en la figura 6.12. En la figura 6.28 se observa que la respuesta del sistema difuso es similar a la de la planta a pesar de que presenta oscilaciones de diferentes amplitudes. El error que se muestra en la figura 6.29 es pequeño al principio de la simulación enseguida aumenta y al final disminuye, pero en ningún instante es significativo.

Fig. 6.28. Comparativo de la salida de la planta de

segundo orden lineal (línea roja) y la salida del sistema difuso (línea negra) como respuesta a una

señal escalón. Ambas salidas se traslapan.

Fig. 6.29. Error entre la salida de la planta de segundo orden lineal y la salida del sistema difuso

como respuesta a una señal escalón.

En la siguiente prueba se obtiene una función interpoladora que identifica a un sistema caótico

Page 108: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

91

6.1.1.3. Caos de Lorenz En esta sección se identifica un sistema caótico que se denomina caos de Lorenz el cual es un modelo simplificado de la convección de las capas de la atmósfera, este modelo fue introducido en 1963 por el meteorólogo Edward Lorenz [Hilborn, 2000]. El caos de Lorenz es descrito por las siguientes ecuaciones [Lorenz, 1963]:

( ) ( ( ) ( ))

( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

σ∂= −

∂∂

= − −∂

∂= −

x t y t x tt

y t rx t y t x t z tt

z t x t y t bz tt

(6.3)

Donde σ , r y b son parámetros del sistema, en esta prueba toman los siguientes valores: σ =10, r=28, b=8/3. Este sistema no tiene entrada u(t) por tanto sólo se evaluó la etapa de validación. El vector de estados es X(t)=[x(t), y(t), z(t)]T por tanto para identificar al sistema caótico se usaron tres sistemas difusos, los cuales son de cuatro dimensiones. Todos los sistemas difusos tienen los mismos antecedentes en el siguiente orden: x(t), y(t), z(t) y distinto consecuente. En el sistema difuso uno el consecuente es x(t+∆t), para el sistema difuso dos es y(t+∆t) y para el sistema difuso tres es z(t+∆t). El diagrama de simulación para evaluar la etapa de validación se muestra en la figura 6.30.

Fig. 6.30. Diagrama para la validación del caos de Lorenz, las salidas que se desean aproximar

corresponden a las variables de estado xr(t+∆t), yr(t+∆t) y zr(t+∆t), las cuales se comparan con la salida de cada sistema difuso: x(t+∆t), y(t+∆t) y z(t+∆t) .

Page 109: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

92

La etapa de adquisición se llevó a cabo durante 20 s con un tiempo de muestreo de 0.01 s por lo que se obtuvieron 2000 datos. Los tres sistemas difusos se entrenaron con los parámetros preestablecidos a 4000 épocas, para el sistema difuso uno se colocaron 2 conjuntos para el primer antecedentes, 2 para el segundo y 3 para el tercero. Los errores son los siguientes: EC=1.15441, error promedio=0.02073. Para visualizar la bondad de ajuste del sistema difuso uno respecto a los datos de entrenamiento se utilizó la serie de tiempo que se muestra en la figura 6.31, donde se observa que la línea de error es muy cercana a cero para todos los datos.

Fig. 6.31. Serie de tiempo correspondiente al sistema difuso uno que identifica la variable x(t+∆t) del caos de

Lorenz, donde se muestran los datos interpolados (cruces rojas), los datos de entrenamiento (círculos azules) y la línea de error (línea verde).

Para terminar la etapa de validación en la figura 6.32 se muestra la comparación de la salida de la planta y del sistema difuso donde se observa que las salidas son similares sólo al principio de la simulación, en la figura 6.33 se observa que el error es alto en la mayor parte de la simulación.

Fig. 6.32. Comparativo de la salida de la planta que

simula el caos de Lorenz (línea roja) y la salida sistema difuso uno (línea negra).

Fig. 6.33. Error entre la salida de la planta que simula el caos de Lorenz y la salida del sistema

difuso uno.

Page 110: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

93

Para sintonizar el sistema difuso dos se usaron 2 conjuntos difusos en cada antecedente, los errores de interpolación son: EC=2.49796, error promedio=0.02389; la bondad de ajuste de la función interpoladora se muestra en las figuras 6.34 a 6.36 con proyecciones separadas del método de combinación de diagramas de dispersión en tres dimensiones, donde se observa que los datos de entrenamiento son muy cercanos a sus valores interpolados en todas las proyecciones.

Fig. 6.34. Diagrama de dispersión en tres dimensiones de los antecedentes 1, 2 y el consecuente del sistema

difuso dos para identificar la variable y(t+∆t) del caos de Lorenz, se observan los datos de entrenamiento (cruces rojas) y los datos interpolados (círculos azules).

Fig. 6.35. Diagrama de dispersión en tres dimensiones de los antecedentes 1, 3 y el consecuente del sistema

difuso dos para identificar la variable y(t+∆t) del caos de Lorenz, se observan los datos de entrenamiento (cruces rojas) y los datos interpolados (círculos azules).

Page 111: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

94

Fig. 6.36. Diagrama de dispersión en tres dimensiones de los antecedentes 2, 3 y el consecuente del sistema

difuso dos para identificar la variable y(t+∆t) del caos de Lorenz, se observan los datos de entrenamiento (cruces rojas) y los datos interpolados (círculos azules).

A pesar de que la bondad de ajuste de la función interpoladora es alta respecto a los datos de entrenamiento, en la figura 6.37 se observa que la salida de la planta y la del sistema difuso son distintas por lo que se refleja en un error alto que se muestra en la figura 6.38.

Fig. 6.37. Comparativo de la salida de la planta que

simula el caos de Lorenz (línea roja) y la salida sistema difuso dos (línea negra).

Fig. 6.38. Error entre la salida de la planta que simula el caos de Lorenz y la salida del sistema

difuso dos.

Para sintonizar el sistema difuso tres se usaron 2 conjuntos difusos en cada antecedente, los errores de interpolación son: EC=0.47454, error promedio=0.00864; la bondad de ajuste de la función interpoladora se muestra en la figura 6.39 mediante una serie de

Page 112: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

95

tiempo en la que se nota que la bondad de ajuste de la función interpoladora respecto a los datos de entrenamiento es alta.

Fig. 6.39. Serie de tiempo correspondiente al sistema difuso tres que identifica la variable z(t+∆t) del caos de

Lorenz, donde se muestran los datos interpolados (cruces rojas), los datos de entrenamiento (círculos azules) y la línea de error (línea verde).

Al igual que el sistema difuso uno y dos, en la figura 6.40 se observa que la salida del sistema difuso tres y la salida de la planta son distintas lo que provoca un error alto que se muestra en la figura 6.41.

Fig. 6.40. Comparativo de la salida de la planta que

simula el caos de Lorenz (línea roja) y la salida sistema difuso tres (línea negra).

Fig. 6.41. Error entre la salida de la planta que simula el caos de Lorenz y la salida del sistema

difuso tres.

Los errores en la etapa de simulación que presentaron los tres sistemas difusos se deben a la alta sensibilidad de los sistemas caóticos a las condiciones iniciales, ya que se nota que un pequeño error al principio conduce a un error muy grande en el transcurso de la simulación.

Page 113: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

96

En el diagrama de simulación de la figura 6.29 la planta y los sistemas difusos no comparten variables debido a que no existe una entrada u(t) por lo que se cambió dicha estructura a la que se muestra en la figura 6.42 en donde la planta comparte la variable xr(t+∆t) con los sistemas difusos dos y tres.

Fig. 6.42. Diagrama para la validación del caos de Lorenz, los sistemas difusos comparten las variable xr(t+∆t)

por lo que se desea aproximar las variables yr(t+∆t) y zr(t+∆t), las cuales se comparan con la salida de cada sistema difuso: y(t+∆t) y z(t+∆t) .

La comparación entre la salidas de la planta y del sistema difuso dos se muestra en la figura 6.43 en la que se nota que al compartir la variable xr(t+∆t) las salidas son muy similares por consecuencia se tiene un error pequeño que se muestra en la figura 6.44.

Fig. 6.43. Comparativo de la salida de la planta que

simula el caos de Lorenz (línea roja) y la salida sistema difuso dos (línea negra) al compartir la

variable xr(t+∆t).

Fig. 6.44. Error entre la salida de la planta que simula el caos de Lorenz y la salida del sistema

difuso dos al compartir la variable xr(t+∆t). .

Page 114: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

97

En la figura 6.45 se muestra la comparación de la salida de la planta y el sistema difuso tres donde se observa que las ambas señales son similares, en la figura 6.46 se observa que el error se reduce de forma significativa respecto a la prueba anterior, por lo que una aplicación práctica de cambiar la estructura de la simulación podría ser la detección de fallas.

Fig. 6.45. Comparativo de la salida de la planta que

simula el caos de Lorenz (línea roja) y la salida sistema difuso dos (línea negra) al compartir la

variable xr(t+∆t).

Fig. 6.46. Error entre la salida de la planta que simula el caos de Lorenz y la salida del sistema

difuso dos al compartir la variable xr(t+∆t). .

6.1.2. Control Como se explicó en el capítulo 3 en este trabajo se obtuvieron controladores mediante el modelo de planta inversa, los cuales determinan la entrada u(t) que haga transitar a la componente del estado siguiente xk(t+∆t) a partir del estado actual X(t). Para obtener y evaluar funciones interpoladoras que controlen a un sistema dinámico el proceso es parecido al de identificación, con la diferencia de que la etapa de validación no se evalúa con una simulación debido a que en esta etapa se ingresa como entrada u(t) la señal con la que se obtuvieron los datos de entrenamiento, pero en el caso de control la entrada u(t) es la salida del controlador difuso, por lo que para evaluar esta etapa sólo se utilizan los métodos de visualización de alta dimensionalidad. El proceso completo se muestra en la figura 6.47.

Fig. 6.47. Etapas para obtener y evaluar una función interpoladora que controle a un sistema dinámico.

Adquisición Entrenamiento Validación Generalización

Visualización SimulaciónSimulación SGD

Page 115: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

98

En la etapa de adquisición se obtienen los datos de entrenamiento por medio de una simulación utilizando la estructura que se mostró en la figura 3.5, se continua con la etapa de entrenamiento en la que se obtiene mediante el SGD la función interpoladora que controla el sistema dinámico. En la etapa de validación se visualiza la bondad de ajuste de la función interpoladora mediante los métodos de visualización de alta dimensionalidad y en la etapa de generalización por medio de una simulación se comprueba si el controlador sigue de forma correcta distintas señales de referencia. En la figura 6.48 se muestra el diagrama que se utiliza en la etapa de generalización para simular el control de un sistema de primer orden basado en la estructura de modelo inverso, en donde la identificación inversa (P-1), representa el bloque controlador, la retroalimentación que se muestra permite al controlador conocer el valor de la salida, lo cual permite rechazar perturbaciones, ref es la señal de referencia que el controlador debe seguir.

Fig. 6.48. Controlador difuso CD basado en modelo inverso aplicado a una planta de primer orden en una configuración de lazo cerrado. Señal de referencia ref, señal de control u(t) y salida x(t). La línea punteada

representa el inverso de la planta P, el cual corresponde al control difuso. En la siguientes subsecciones se describen pruebas en las que se obtienen funciones interpoladoras que controlen sistemas de primero y segundo orden no lineales.

6.1.2.1 Sistema de primer orden no lineal El primer sistema a controlar empleando la estructura de control basada en modelo inverso es descrito por las siguientes ecuaciones:

3'( ) ( ) ( )( ) ( )

x t u t x ty t x t

= −=

(6.4)

La no linealidad se presenta por el valor de x(t)3. Las variables que se seleccionan como antecedentes para obtener la identificación inversa son el estado siguiente x(t+∆t) y el estado actual x(t) como antecedentes, la variable de salida o consecuente es la entrada u(t), por lo que se tienen 3 dimensiones.

Page 116: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

99

La señal de entrada para obtener los datos de entrenamiento consiste en una señal triangular modulada en amplitud por un seno al cual se le agrega ruido aleatorio, esta señal se mostró en la figura 6.3. Esta referencia se aplico durante 50 s de simulación con un tiempo de muestreo de 0.1 s, obteniéndose 501 datos de entrenamiento. La identificación inversa de la planta se llevó a cabo mediante SGD utilizando dos conjuntos difusos por antecedente y los parámetros preestablecidos durante 1943 épocas, los errores de interpolación son los siguientes: EC=13.95923, error promedio=0.19738. La bondad de ajuste de la función interpoladora se visualiza mediante un diagrama de dispersión en tres dimensiones que se muestra en la figura 6.49 en la cual se observa que existen regiones difíciles de visualizar debido a cúmulos de datos, por lo que en la figura 6.50 se muestra un acercamiento en el que se nota que los datos de entrenamiento son cercanos a sus respectivos valores interpolados.

Fig. 6.49. Diagrama de dispersión en tres dimensiones de la identificación inversa de un sistema de primer orden no lineal, se visualizan los datos de entrenamiento (cruces rojas), los datos interpolados (círculos

azules) y la función interpoladora (plano celeste).

Page 117: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

100

Fig. 6.50. Acercamiento del diagrama de dispersión en tres dimensiones de la identificación inversa de un

sistema de primer orden no lineal, se visualizan los datos de entrenamiento (cruces rojas), los datos interpolados (círculos azules) y la función interpoladora (plano celeste).

Una vez que se obtiene una función interpoladora con una bondad de ajuste alta se pasa a la etapa de generalización en la que se conecta el sistema difuso resultante como controlador de la planta bajo la estructura de modelo inverso como se mostró en la figura 6.48. La primera señal de referencia que el controlador debe seguir es una señal triangular de amplitud ±1 con frecuencia 1 ciclo por cada 10 s. En el caso de control el error es la diferencia entre la señal de referencia y la salida de la planta. En la figura 6.51 se observa que el controlador sigue de manera correcta a la señal de referencia existiendo un error significativo al inicio de la simulación el cual se nota mejor en la figura 6.52.

Fig. 6.51. Comparativo de la señal de referencia

triangular (línea roja) y la salida la planta de primer orden no lineal (línea negra).

Fig. 6.52. Error entre la señal de referencia triangular y la salida de la planta de primer orden no

lineal. .

La señal de control se muestra en la figura 6.53, esta señal presenta un pequeño adelanto respecto a la señal de referencia.

Page 118: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

101

Fig. 6.53. Señal de control obtenida por el controlador de un sistema de primer orden no lineal para seguir una

referencia triangular. Otra señal de referencia que se aplicó al controlador consiste en un seno de amplitud ±1 y frecuencia 1 rad/s. En la figura 6.54 se muestra que la salida de la planta hace un seguimiento correcto de la señal de referencia, lo cual provoca que el error que se muestra en la figura 6.55 no sea significativo.

Fig. 6.54. Comparativo de la señal de referencia

senoidal (línea roja) y la salida la planta de primer orden no lineal (línea negra).

Fig. 6.55. Error entre la señal de referencia senoidal y la salida de la planta de primer orden no

lineal. .

En la figura 6.56 se presenta la señal de control la cual presenta un defasamiento de adelanto respecto a la señal de referencia, con objeto de anticipar su respuesta y darle un seguimiento adecuado.

Page 119: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

102

Fig. 6.56. Señal de control obtenida por el controlador del sistema de primer orden no lineal para seguir una

referencia senoidal. En las pruebas anteriores el comportamiento del control no presenta perturbaciones, en las siguientes pruebas se agrega una perturbación a la entrada de la planta, es decir se suma a la señal de control para observar el comportamiento del controlador. En la siguiente prueba se utiliza como referencia la señal triangular que se usó en la primera prueba pero se agrega como perturbación a la entrada de la planta una señal escalón con amplitud de 0.6 y tiempo de levantamiento de 6 s que se muestra en la figura 6.57.

Fig. 6.57. Escalón de amplitud 0.6 agregado como perturbación a la entrada de la planta de primer orden no

lineal. En la figura 6.58 se muestra la comparación entre la salida de la planta y la señal de referencia en la cual se observa que el controlador difuso no sigue de forma exacta a la señal de referencia, pero la forma de la señal es aproximada. El error que se muestra en la figura 6.59 aumentó a los 6 s que es el tiempo en el que la perturbación comienza a afectar, pero dicho error no es significativo.

Page 120: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

103

Fig. 6.58. Comparativo de la señal de referencia

triangular (línea roja) y la salida la planta de primer orden no lineal (línea negra) con una perturbación

agregada a los 6 s.

Fig. 6.59. Error entre la señal de referencia triangular y la salida de la planta de primer orden no

lineal con una perturbación agregada a los 6 s. .

En la figura 6.60 se muestra la señal de control la cual cambia a los 6 s, debido a que trata de eliminar la perturbación y reducir el error; a pesar de que la salida de la planta no siguió de forma exacta a la señal de referencia, el controlador tiene la capacidad de rechazar la perturbación.

Fig. 6.60. Señal de control obtenida por el controlador del sistema de primer orden no lineal para seguir una

referencia triangular al aplicar una perturbación. En otra prueba se aplicó como perturbación un escalón negativo de amplitud 0.6 y tiempo de levantamiento de 5 s que se muestra en la figura 6.61.

Page 121: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

104

Fig. 6.61. Escalón de amplitud -0.7 agregado como perturbación a la planta de primer orden no lineal.

El seguimiento que hace el controlador de la señal de referencia se muestra en la figura 6.62, donde se observa que la perturbación afectó al controlador principalmente en los valores máximos, en la figura 6.63 se muestra que el error aumentó en el instante en que la perturbación se agregó a la planta, pero el error no llega a ser mayor o igual a 0.1.

Fig. 6.62. Comparativo de la señal de referencia

senoidal (línea roja) y la salida la planta de primer orden no lineal (línea negra) con una perturbación

agregada a los 5 s.

Fig. 6.63. Error entre la señal de referencia senoidal y la salida de la planta de primer orden no

lineal con una perturbación agregada a los 5 s. .

En la figura 6.64 se muestra la señal de control la cual presenta un cambio a los 5 s debido a que trata de compensar la perturbación de valor negativo. En esta prueba el controlador difuso también rechazó la perturbación.

Page 122: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

105

Fig. 6.64. Señal de control obtenida por el controlador del sistema de primer orden no lineal para seguir una

referencia senoidal al aplicar una perturbación.

6.1.2.2 Sistema de segundo orden no lineal Para aumentar la complejidad de las pruebas en esta sección se obtiene una función interpoladora para controlar un sistema dinámico de segundo orden no lineal cuyo comportamiento es descrito por las siguientes ecuaciones:

3 3''( ) 2 ( ) 1.5 '( ) ( )( ) ( )

x t u t x t x ty t x t

= − −=

(6.5)

La no linealidad del sistema se debe a los términos -1.5x’(t)3 y –x(t)3. Para obtener la identificación inversa del sistema dinámico los antecedentes son: x(t+∆t), x(t) y x’(t), el consecuente es la entrada u(t), por tanto el sistema es de 4 dimensiones. La señal de entrada para obtener los datos de entrenamiento tiene como base la combinación de una señal escalón y una señal diente de sierra con una frecuencia de 1 ciclo cada 6.5 s y una amplitud de 2 que se muestra en la figura 6.65.

Fig. 6.65. Señal base para obtener los datos de entrenamiento del sistema de segundo orden no lineal.

Page 123: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

106

La señal base (figura 6.65) se moduló en amplitud por una señal senoidal con frecuencia de 0.8 rad/s y amplitud igual a 0.5, a la señal resultante de la modulación se le sumó el producto entre una señal de ruido aleatorio y una señal rampa cuya pendiente es 0.02, la señal resultante se muestra en la figura 6.66.

Fig. 6.66. Entrada aplicada a la planta de segundo orden no lineal para generar los datos de entrenamiento.

La entrada se aplicó durante 90 s de simulación con un tiempo de muestreo de 0.2 s, obteniéndose 401 datos de entrenamiento. Para el entrenamiento se utilizaron dos conjuntos difusos por antecedente, el valor de los factores de aprendizaje fue Ka=1.333, Kb=3 y Kw=3, los pesos iniciales de las reglas wini=0.5, el sistema difuso se entrenó durante 2998 épocas, los errores de interpolación son los siguientes: EC=109.73941, error promedio=0.51793. En este caso la bondad de ajuste de la función interpoladora se visualiza mediante un gráfico comparativo del consecuente real e interpolado ordenado de forma ascendente el cual se muestra en la figura 6.67.

Fig. 6.67. Gráfico comparativo del consecuente real e interpolado ordenado de forma ascendente de la

identificación inversa de un sistema de segundo orden no lineal, donde se muestran los datos interpolados (cruces rojas), los datos de entrenamiento (círculos azules) y la línea de error (línea verde).

Page 124: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

107

En esta gráfica se observa que existen datos en los cuales la bondad de ajuste de la función interpoladora no es buena ya que el error es alto, pero de las distintas funciones interpoladoras que se obtuvieron la que se presentó en la figura 6.67 es la que tiene el menor error. En la tabla 6.1 se muestran distintas funciones interpoladoras sintonizadas a 3000 épocas, se reportan la mejor época, es decir el número de iteración que tuvo el menor error, el número de conjuntos por cada antecedente, el valor de los factores de aprendizaje (Ka, Kb, Kw), los pesos iniciales de las reglas (wini) y los errores de interpolación (EC y error promedio).

Tabla 6.1. Características de las funciones interpoladoras para controlar al sistema de segundo orden no lineal. La función que se describe en el renglón con fondo gris es la que presenta los errores menores.

Número de conjuntos por antecedente Parámetros Errores Mejor época X(t+∆t) x(t) x'(t) Ka Kb Kw wini EC Error promedio1830 2 2 2 3 3 3 0.5 116.12169 0.52922 2998 2 2 2 1.33333 3 3 0.5 109.73941 0.51793 1705 3 3 3 3 3 3 0.5 112.9135 0.52703 1283 3 3 3 0.88889 1.5 3 0.5 113.81059 0.5272 1910 2 2 3 3 3 3 0.5 117.81081 0.52969 2717 2 2 3 0.88889 1.5 3 0.5 116.65911 0.52965

En la tabla 6.1 se observa que la función que se mostró en la figura 6.65 es la que presenta los errores menores por tanto es la que se utiliza en la etapa de generalización. En la primera prueba de la etapa de generalización cuyo diagrama de simulación se muestra en la sección C.3 se utilizó como señal de referencia una señal triangular de amplitud ±1.5 y frecuencia de 1 ciclo por cada 10 s. En la figura 6.68 se observa que el seguimiento de la señal de referencia por parte del controlador falla al principio de la simulación pero se corrige de forma rápida observando los mayores errores en los máximos y mínimos. En la figura 6.69 se nota de forma más clara que el error que se tiene al inicio de la simulación se corrige.

Fig. 6.68. Comparativo de la señal de referencia

triangular (línea roja) y la salida la planta de segundo orden no lineal (línea negra).

Fig. 6.69. Error entre la señal de referencia triangular y la salida de la planta de segundo orden

no lineal. .

Page 125: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

108

En la figura 6.70 se observa que la señal de control presenta varias oscilaciones en comparación con la señal de control que se mostró en la figura 6.52 la cual sigue también una señal triangular, está diferencia de oscilaciones se debe a los diferentes ordenes de los sistemas dinámicos por lo que se puede concluir que los sistemas de segundo orden son más difíciles de controlar que los de primer orden.

Fig. 6.70. Señal de control obtenida por el controlador del sistema de segundo orden no lineal para seguir

una referencia triangular. En la segunda prueba de la etapa de generalización la señal de referencia fue un seno con amplitud de ±1.5 y frecuencia de 1 rad/s. En la comparación de la salida de la planta y la señal de referencia que se muestra en la figura 6.71 se nota que la salida de la planta se encuentra retrasada respecto a la referencia y que no alcanza los valores máximos y mínimos lo cual produce errores significativos que se muestran en la figura 6.72, aunque la forma de la señal es correcta.

Fig. 6.71. Comparativo de la señal de referencia

senoidal (línea roja) y la salida la planta de segundo orden no lineal (línea negra).

Fig. 6.72. Error entre la señal de referencia senoidal y la salida de la planta de segundo orden

no lineal. .

Page 126: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

109

La señal de control que se muestra en la figura 6.73 presenta un adelanto respecto a la salida de la planta y diversas oscilaciones, esto se debe a la complejidad de controlar un sistema de segundo orden no lineal.

Fig. 6.73. Señal de control obtenida por el controlador del sistema de segundo orden no lineal para seguir una

referencia senoidal. En la siguiente prueba se agrega una perturbación a la planta con el objetivo de conocer la capacidad de rechazo a perturbaciones que presenta el controlador difuso. La señal de perturbación consistió en un escalón de amplitud 0.4 y tiempo de levantamiento de 6 s que se muestra en la figura 6.74.

Fig. 6.74. Escalón de amplitud 0.4 agregado como perturbación a la planta de segundo orden no lineal.

En la figura 6.75 se observa que la perturbación afectó poco a la salida de la planta ya que el error que se muestra en la figura 6.76 sólo es significativo al principio de la simulación.

Page 127: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

110

Fig. 6.75. Comparativo de la señal de referencia

triangular (línea roja) y la salida la planta de segundo orden no lineal (línea negra) con una perturbación

agregada a los 6 s.

Fig. 6.76. Error entre la señal de referencia triangular y la salida de la planta de segundo orden no lineal con una perturbación agregada a los 6 s.

.

En la figura 6.77 se observa que la señal de control presenta un comportamiento decreciente a los 6 s que es el instante en que inició la perturbación, dicho comportamiento se debe a que el controlador difuso trata de compensar a la perturbación de amplitud positiva, por tanto el controlador tiene la capacidad de rechazar perturbaciones.

6.77. Señal de control obtenida por el controlador del sistema de primer orden no lineal para seguir una referencia triangular al aplicar una perturbación.

6.1.3. Resultados de las pruebas del caso “sistemas dinámicos” La eficacia de un método de visualización no es posible medirlo de forma numérica, ya que es algo subjetivo, en el caso de sistemas dinámicos es posible comparar la información que proporciona la visualización con el resultado de las simulaciones hechas en las etapas de validación o generalización. Si se visualiza que la bondad de ajuste de la

Page 128: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

111

función interpoladora es alta se podría esperar que la validación o generalización obtenga buenos resultados. En el caso de control sólo se compara con la etapa de generalización debido a que en la etapa de validación no se lleva a cabo una simulación por la razón que se explicó en la sección 6.1.2. En la tabla 6.2 se califica la visualización de la bondad de ajuste de la función interpoladora, las simulaciones de la etapa de generalización y validación de la identificación, la escala es: muy buena, buena, regular, mala, muy mala.

Tabla 6.2. Resultados de la visualización de la bondad de ajuste, las simulaciones de la validación y la generalización de las pruebas de identificación de sistemas dinámicos.

Sistema dinámico Bondad de ajuste Validación GeneralizaciónPrimer orden lineal Muy buena Muy buena Muy buena Segundo orden lineal Muy buena Muy buena Muy buena Caos de Lorenz Muy buena Buena Caos de Lorenz compartiendo una entrada con la planta

Muy buena Muy buena

En la tabla 6.2 se observa que en todos los casos en que se calificó a la bondad de ajuste como muy buena, la validación y generalización reciben las mismas calificaciones excepto en el caos de Lorenz. En ambos casos del caos de Lorenz no existe la etapa de generalización ya que estos sistemas no presentan entrada u(t), en el caso particular del caos de Lorenz “simple” las simulaciones que se mostraron en las figuras 6.32, 6.37 y 6.40 la salida del sistema difuso no sigue de manera correcta a la salida de la planta, pero las oscilaciones son parecidas, presentan la misma cuasiperiodicidad ya sea con un valor de amplitud invertida o desfasado, esto se debe a la gran sensibilidad que presentan los sistemas caóticos a los errores, debido a que al principio de la simulación las señales son parecidas pero un pequeño error termina siendo un error significativo; por estas razones se califica a la simulación en validación como buena. En la tabla 6.3 se presentan los resultados de control, en la que se excluye la validación ya que no se realizaron simulaciones en esta etapa.

Tabla 6.3. Resultados de la visualización de la bondad de ajuste y la simulación de la etapa de generalización

de las pruebas de control de sistemas dinámicos Sistema dinámico Bondad de ajuste Generalización

Primer orden no lineal Buena Buena Segundo orden no lineal Mala Regular

En la tabla 6.3 se calificó a la generalización del sistema de primer orden no lineal como buena debido a que en la figura 6.62 se observa que la salida de la planta no alcanzó el valor máximo de la señal de referencia. La generalización del sistema de segundo orden no lineal se calificó como regular debido a que en la figura 6.71 la salida de la planta presentó un retraso respecto a la señal de referencia y no alcanzó los valores máximos y mínimos. Con las comparaciones hechas en las tablas 6.2 y 6.3 se observa que los métodos de visualización proporcionan información correcta acerca de la bondad de ajuste de la función interpoladora, ya que cuando ésta se califica como muy buena o buena, la

Page 129: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

112

generalización o validación son muy buenas o buenas, pero cuando se califica de mala, se obtiene una generalización regular.

6.2. Pruebas con datos provenientes de sistemas de visión artificial En esta sección se visualiza la bondad de ajuste de una función que interpola datos provenientes del sistema de visión artificial (SVA) descrito en la sección 3.3. Dicho sistema tiene como objetivo la clasificación de los píxeles de una manzana en sanos y defectuosos por medio de una función denominada de color la cual se obtiene mediante el SGD. El consecuente de la función de color es un valor binario, 1 para sano y 0 para defectuoso al cual en lo sucesivo se denominará pertenencia; en [López, 2008] se obtuvieron distintas funciones de color variando el número y tipo de antecedentes, por lo que en las siguientes secciones se usan los métodos de visualización de alta dimensionalidad para observar su bondad de ajuste respecto a los datos de entrenamiento.

6.2.1. Sistema de 4 dimensiones (R, G, B, pertenencia) En esta sección se visualizará la bondad de ajuste de la función de color que tiene como antecedentes las componentes de color R, G, B y como consecuente el resultado de la función de color, por tanto se tienen 4 dimensiones. El conjunto de datos de entrenamiento consta de 6790 elementos de los cuales 3898 pertenecen a la clase 1 (sanos) y 2892 a la clase 0 (defectuosos). El sistema difuso se entrenó con 4 conjuntos por antecedente, usando los parámetros preestablecidos durante 400 épocas de entrenamiento. Los errores de interpolación son: EC=501.25266, error promedio=0.30558. El error promedio es significativo, ya que el consecuente de los datos de entrenamiento está en el rango [0, 1]. En las figuras 6.78 y 6.79 se visualiza la bondad de ajuste de la interpolación mediante matriz de dispersión del consecuente y combinación de diagramas de dispersión en tres dimensiones respectivamente a las 5 épocas de entrenamiento, en las cuales es notorio que los datos aproximados se encuentran lejos del dato de entrenamiento correspondiente.

Page 130: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

113

Fig. 6.78. Matriz de dispersión del consecuente de un sistema de visión de 4 dimensiones para clasificar

manzanas después de 5 épocas de entrenamiento, las cruces rojas corresponden a los datos interpolados, los círculos azules a los datos de entrenamiento y los puntos celestes a la función interpoladora.

Fig. 6.79. Conjunto de diagramas de dispersión de 3 dimensiones de un sistema de visión para clasificación

de manzanas después de 5 épocas de entrenamiento, las cruces rojas corresponden a los datos interpolados, los círculos azules a los datos de entrenamiento.

Page 131: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

114

En las figuras 6.80 y 6.81 se muestra la distribución de los datos aproximados y de entrenamiento después de 400 épocas donde se observa que los datos aproximados tendieron a moverse hacia los datos de entrenamiento, pero la interpolación no es satisfactoria debido a que existen una gran cantidad de puntos en los valores intermedios del consecuente, siendo que estos deberían ser muy cercanos a 0 ó 1.

Fig. 6.80. Matriz de dispersión del consecuente de un sistema de visión de 4 dimensiones para clasificar

manzanas después de 400 épocas de entrenamiento, se muestran los datos interpolados (cruces rojas) y los datos de entrenamiento (círculos azules), en este caso se omite visualizar las proyecciones de la función

interpoladora para mejorar la visualización.

En la figura 6.80 al observar los datos de entrenamiento (círculos azules), nos podemos dar cuenta que existen datos con valores iguales de la componente R (antecedente 1) que tienen valores de pertenencia distintos, esto también se observa para las componentes G (antecedente 2) y B (antecedente 3). Este resultado es previsible debido a que en cada diagrama hacen falta dos dimensiones.

Page 132: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

115

Fig. 6.81 Conjunto de diagramas de dispersión de 3 dimensiones de un sistema de visión de 4 dimensiones

para clasificación de manzanas después de 400 épocas de entrenamiento, se muestran los datos interpolados (cruces rojas) y los datos de entrenamiento (círculos azules).

En la figura 6.81, al observar los datos de entrenamiento (círculos azules) se puede ver que existen datos cuya combinación de pares de antecedentes con valores semejantes tienen distinto valor de pertenencia, es decir que existen píxeles con valores (R, G) o (R, B) o (G, B) semejantes que están siendo clasificados por la función de color como sanos y defectuosos, lo cual puede ser la causa de que la pertenencia tome valores intermedios. Debido a la falta de una componente de color en cada diagrama, no es posible afirmar aún que existan datos con las 3 componentes semejantes que tengan distinto valor de pertenencia es decir que exista traslape entre los datos. Para observar el traslape de los datos se utiliza el método de combinación de diagramas de dispersión de tres dimensiones y código de color, que se presentó en la sección 5.1.4.; recordemos que el código de color se aplica al valor del consecuente. La visualización de los datos de entrenamiento con este método se muestra en la figura 6.82, en la que se encierra una región donde se presentan puntos azules que representan píxeles defectuosos cercanos a cruces rojas que son píxeles sanos, por tanto sí se está presentando traslape en los datos.

Page 133: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

116

Fig. 6.82. Combinación de diagrama de dispersión de tres dimensiones y código de color de los datos de

entrenamiento de un sistema de visión de 4 dimensiones, las cruces rojas representan el valor de cero en el consecuente y los círculos azules representan el valor de uno.

En la figura 6.83 se muestra el método de diagrama de dispersión en tres dimensiones y código de color pero con el valor del consecuente interpolado donde se observa que existen muchos datos cuya pertenencia toma valores intermedios en el rango de [0.35, 0.65] (colores en el intervalo turquesa-amarillo verdoso).

Fig. 6.83. Combinación de diagramas de dispersión en tres dimensiones y código de color de los datos

aproximados de un sistema de visión de 4 dimensiones, el valor del consecuente se representa con código de colores.

Page 134: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

117

La obtención de valores intermedios se debe al traslape que existen entre los datos de entrenamiento; en la figura 6.83 es posible visualizar el grado de dicho traslape, por ejemplo si se tiene una región de color amarillo implica que el consecuente tiene un valor entre 0.7 y 0.8 por lo que en esta región existen entre un 70% u 80% de píxeles semejantes con valor de pertenencia igual a 1 y el resto tienen el valor de 0; en esta región sería posible redondear el valor de pertenencia a 1 y tener un error pequeño, pero las regiones que tienen un color entre turquesa y amarillo verdosos tienen un valor de pertenencia aproximado al rango de [0.35, 0.65] el error de redondeo es considerable por lo que el objetivo de las siguientes pruebas es disminuir las regiones que presentan estas características.

6.2.2. Sistema de 5 dimensiones (R, G, B, intensidad promedio de máscara, pertenencia) Al sistema de visión de la sección anterior se le agrega una dimensión, la intensidad luminosa regional obtenida mediante el promedio de intensidades de una máscara de 7x7. Para obtener la función de color los antecedentes son las componentes de color R, G, B y la luminosidad y el consecuente es la pertenencia. En esta prueba se tienen 18101 datos de entrenamiento de los cuales 11599 pertenecen a la clase 1 (sanos) y 6502 a la clase 0 (defectuosos). El sistema difuso se entrenó con 4 conjuntos difusos por antecedente utilizando los parámetros preestablecidos durante 400 épocas. Los errores de interpolación son: EC=1289.85858, error promedio=0.29739. En las figuras 6.84 se muestra mediante matriz de dispersión del consecuente la distribución de los datos aproximados y de entrenamiento después de la sintonización, donde se observa que existen muchos datos aproximados con valores intermedios en el consecuente, por lo que la interpolación no es satisfactoria, pero si es mejor que la prueba anterior ya que existen menos datos con estas características.

Fig. 6.84. Matriz de dispersión del consecuente de un sistema de visión de 5 dimensiones para clasificar

manzanas, se muestran los datos interpolados (cruces rojas) y los datos de entrenamiento (círculos azules).

Page 135: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

118

En la figura 6.84 al visualizar la bondad de ajuste de la aproximación se nota que existen datos de entrenamiento (círculos azules) que tienen el valor de un antecedente muy semejante que pertenecen a distinta clase. En la figura 6.85 se observa la bondad de ajuste de la función interpoladora utilizando combinación de diagramas de dispersión en tres dimensiones.

Fig. 6.85. Conjunto de diagramas de dispersión en 3 dimensiones de un sistema de visión de 5 dimensiones

para clasificación de manzanas, se muestran los datos interpolados (cruces rojas) y los datos de entrenamiento (círculos azules).

En la figura 6.85 se observa que existen datos de entrenamiento con valores semejantes en dos antecedentes que tienen distinto valor de pertenencia, pero no se puede afirmar que existe traslape entre los datos debido a que en cada diagrama de dispersión hacen falta dos dimensiones. Para observar el traslape entre los datos de entrenamiento en la figura 6.86 se visualiza la función de color con el método de combinación de diagramas de dispersión en tres dimensiones y código de colores, si los puntos presentan colores distintos a los que representan los valores extremos, es decir diferentes al azul y rojo existen regiones en las que los datos se están traslapando, en la figura 6.86 se observan regiones con estas características, además se visualizan regiones que toman valores de pertenencia intermedios (entre 0.35 y 0.65).

Page 136: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

119

. Fig. 6.86. Combinación de diagramas de dispersión de tres dimensiones y código de color de los datos

aproximados de un sistema de visión de 5 dimensiones, el valor del consecuente se representa con código de colores.

En la interpolación de este sistema de visión, el problema de tener datos con valores de pertenencia intermedios no se logró resolver agregando una quinta dimensión, pero las regiones que toman estos valores son de menor tamaño respecto a la prueba anterior. En la siguiente sección se presenta otra prueba con 5 dimensiones.

6.2.3. Sistema de 5 dimensiones (R, G, B, intensidad promedio de puntos cardinales, pertenencia) En esta sección se obtiene la función de color de un SVA de 5 dimensiones. El número de dimensiones es el mismo que el sistema que se presentó en la sección anterior, pero se cambia el cuarto antecedente. En esta prueba el cuarto antecedente es la intensidad luminosa regional obtenida mediante el promedio de intensidades de los 4 puntos cardinales de una máscara de 20x20, para sintonizar al sistema difuso los antecedentes son las componentes de color R, G, B y la luminosidad; el consecuente es la pertenencia. El conjunto de entrenamiento cuenta con 28723 datos de los cuales 16892 pertenecen a la clase 1 (sanos) y 11831 a la clase 0 (defectuosos). El sistema difuso se entrenó con 4 conjuntos difusos por antecedente usando los parámetros preestablecidos durante 400 épocas de entrenamiento. Los errores de interpolación son: EC=2606.67937, error promedio=0.30991. En las figuras 6.87 y 6.88 se muestra la distribución de los datos interpolados y de entrenamiento después de la sintonización, en las que se observa que siguen existiendo datos aproximados con valores intermedios en el consecuente, pero son menos respecto

Page 137: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

120

a las pruebas descritas en las dos secciones anteriores, por lo que la bondad de ajuste de la función interpoladora mejora.

Fig. 6.87. Matriz de dispersión del consecuente de un sistema de visión para clasificación de manzanas de 5

dimensiones, se muestran los datos interpolados (cruces rojas) y los datos de entrenamiento (círculos azules).

Fig. 6.88. Conjunto de diagramas de dispersión en tres dimensiones de un sistema de visión de 5

dimensiones para clasificación de manzanas, se muestran los datos interpolados (cruces rojas) y los datos de entrenamiento (círculos azules).

Page 138: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

121

Al Igual que las pruebas anteriores en las figuras 6.87 y 6.88 se observa que existen datos de entrenamiento con el valor de 1 ó 2 antecedentes semejantes que tienen valores de pertenencia distintos. En la figura 6.89 se visualiza la función interpoladora con el método de diagramas de dispersión de tres dimensiones y código de color, con el objetivo de conocer el grado de traslape de los datos; en esta figura se observa que respecto a las pruebas anteriores existen menos regiones con valores intermedios (en el rango de color turquesa-amarillo verdoso), y más regiones con colores cercanos al azul y al rojo.

Fig. 6.89. Combinación de diagramas de dispersión de tres dimensiones y código de color de los datos

aproximados de un sistema de visión de 5 dimensiones, el valor del consecuente se representa con código de colores.

En esta última prueba, al existir menos regiones con valores de pertenencia intermedios se comprueba que los datos de entrenamiento presentan menos traslape respecto a las pruebas anteriores, lo que se debe a la forma de calcular el cuarto antecedente.

6.2.4. Resultados de las pruebas del caso “sistemas de visión” En los sistemas de visión que se presentaron en las secciones anteriores debido a que la pertenencia tiene un valor binario, en los casos que existan menos datos que presenten valores de pertenencia intermedios la bondad de ajuste es más alta, lo que es sencillo de visualizar con los métodos de matriz de dispersión del consecuente y conjunto de diagramas de dispersión en tres dimensiones.

Page 139: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

6. Visualización de sistemas dinámicos y sistemas de visión artificial

122

El traslapa entre los datos es la causa de que existan valores de pertenencia intermedios; en el sistema de visión de 4 dimensiones que se presentó en la sección 6.2.1 se observó con ayuda de los métodos de visualización que tiene muchos datos con valores de pertenencia intermedios y muchas regiones con datos traslapados. El sistema de visión con 5 dimensiones que se expuso en la sección 6.2.2 se observó que tiene menos datos con valores de pertenencia intermedios y presentó regiones traslapadas de menor tamaño, pero el sistema que se presentó en la sección 6.2.3 se observó que tiene menos regiones con traslape y por consecuencia datos con menos valores de pertenencia intermedios.

6.3. Discusión En este capítulo se comprobó que los métodos matriz de dispersión del consecuente, combinación de diagramas de dispersión en tres dimensiones y gráfico comparativo del consecuente real e interpolado, complementados con las operaciones de rotación y zoom permiten visualizar la bondad de ajuste de funciones interpoladoras respecto a sus datos de entrenamiento. Si con estos métodos se observa que la bondad de ajuste es baja para mejorarla se puede sintonizar el sistema difuso que describe a la función interpoladora con más épocas o cambiar alguno de sus parámetros. Cuando se obtuvieron con el SGD funciones interpoladoras que identifican o controlan a un sistema dinámico cuyos datos tienen la estructura de la FTE, se comprobó por medio de simulaciones que estas funciones presentan capacidad de generalización y en el caso específico de funciones que controlan a un sistema dinámico presentan la característica de rechazar perturbaciones. En la prueba de identificación del caos de Lorenz que se presentó en la sección 6.1.1.3 se observó que la salida del sistema difuso cuando comparte o no variables con la planta presenta oscilaciones cuasiperiódicas; por tanto cuando se obtiene una función interpoladora mediante el SGD para identificar a un sistema caótico, ésta presenta cierto comportamiento caótico. En el caso del método de combinación de diagramas de dispersión en tres dimensiones y código de color, al hacer las pruebas con sistemas de visión nos percatamos que la visualización de la función interpoladora permite conocer el grado de traslape que existe entre los datos de entrenamiento. Por tanto con este método es posible visualizar el grado de traslape de los datos de entrenamiento de N dimensiones con dominio discreto y rango binario, es posible suponer que se podría observar el traslape si el dominio fuese continuo. En el siguiente capítulo se muestran las conclusiones de esta investigación y los trabajos futuros.

Page 140: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

7. Conclusiones y trabajos futuros

123

7. Conclusiones y trabajos futuros

CAPÍTULO 7

Conclusiones y trabajos futuros En este trabajo de investigación se implementaron métodos para el análisis de datos multidimensionales, las características que interesan son: detección de cúmulos o vacíos, clasificar una región por posibilidad de inversión y elección de una solución cuando una función es multivaluada. También se diseñaron métodos de visualización para conocer la bondad de ajuste de una función interpoladora y el traslape que existe entre los datos de entrenamiento. En este capítulo se presentan las últimas observaciones sobre este trabajo de investigación. En la sección 7.1 se exponen los objetivos cubiertos durante el desarrollo de esta investigación. En la sección 7.2 se mencionan las aportaciones de este trabajo. En la sección 7.3 se presentan los trabajos futuros propuestos. En la sección 7.4 se exponen las lecciones aprendidas durante el desarrollo de esta investigación.

Page 141: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

7. Conclusiones y trabajos futuros

124

7.1. Objetivos cubiertos Los objetivos cubiertos durante el desarrollo de la investigación fueron:

• Se diseñó e implementó un algoritmo para detectar de forma semiautomática regiones desprovistas de datos o sobre-muestreadas en el espacio de N-dimensiones. El algoritmo se probó con datos en dos y cuatro dimensiones en las secciones 4.2.1 y 4.2.2, en los que obtuvo resultados correctos.

• Se diseñó e implementó un método para clasificar regiones por posibilidad de

inversión respecto a alguna de las N-variables. El método se probó con un sistema algebraico (sección 4.5.1.1) y se observó que los resultados son aproximados a los reales, esto se debe al error de interpolación, también se probó con un sistema dinámico de segundo orden no lineal (sección 4.5.2.1) en el que de manera visual se observó que las regiones multivaluadas se detectaron de forma correcta.

• Se propuso e implementó un criterio para elegir una solución cuando la función

interpoladora que identifique a un sistema dinámico es multivaluada para cumplir el objetivo del control por planta inversa. Este criterio establece que la entrada que se elige como solución es la más cercana a la entrada anterior, es decir a la entrada que hizo transitar al sistema dinámico al estado actual. En las pruebas hechas con un sistema algebraico (sección 4.5.1.1) y con un sistema dinámico de segundo orden no lineal (sección 4.5.2.1) se observó que las entradas seleccionadas como solución son las que cumplen el criterio.

• Se obtuvieron y analizaron funciones interpoladoras para aproximar sistemas

algebraicos e identificar y controlar sistemas dinámicos utilizando el método de sintonización de sistemas difusos empleando gradiente descendente (SGD). Las funciones identifican sistemas de primer orden lineales y no lineales (secciones 6.1.1.1 y 6.1.1.2 respectiva), un sistema de segundo orden no lineal (sección 4.5.2.1) y un sistema caótico (sección 6.1.1.3). Estas funciones controlan sistemas de primero y segundo orden no lineales (secciones 6.1.2.1 y 6.1.2.2 respectivamente). Las funciones interpoladoras presentaron capacidad de generalización y en el caso de control presentaron un alto grado de rechazo a perturbaciones.

• Se diseñaron e implantaron tres métodos de visualización de alta dimensionalidad

para conocer la bondad de ajuste de funciones interpoladoras obtenidas a partir de datos provenientes de sistemas de visión artificial (SVA) y sistemas dinámicos. Estos métodos se describieron en las secciones 5.1.1.1, 5.1.2 y 5.1.3, las pruebas se presentaron en las secciones 6.1 con datos provenientes de sistemas dinámicos y 6.2 con datos provenientes de un sistema de visión artificial. En el caso de sistemas dinámicos, la visualización del grado de la bondad de ajuste de las funciones interpoladoras se comparó con su capacidad de generalización. En el caso de datos de sistemas de visión artificial la bondad de ajuste se comparó con el traslape que existe entre los datos de entrenamiento.

Page 142: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

7. Conclusiones y trabajos futuros

125

7.2. Aportaciones Las aportaciones de este trabajo de investigación son las siguientes:

• Se diseñó un algoritmo para contar el número de datos que existe en una determinada región del espacio de N-dimensiones. Este algoritmo es el método semiautomático que se utiliza para detectar regiones sobre-muestreadas o desprovistas de datos.

• A partir de una función interpoladora que identifica a un sistema dinámico se

diseñó un método para determinar en qué regiones es o no posible realizar una identificación inversa con el objetivo de obtener un controlador.

• Si se desea hacer transitar un sistema dinámico a un determinado estado, pero es

posible llegar a éste utilizando distintas entradas, se estableció un criterio para elegir sólo una.

• Se proporcionan tres métodos de visualización de alta dimensionalidad para

conocer la bondad de ajuste de una función interpoladora que se obtiene de datos provenientes de SVA y sistemas dinámicos.

• Se proporciona un método de alta dimensionalidad para visualizar el grado de

traslape de los datos de entrenamiento de una función interpoladora con dominio discreto y rango binario.

• Se obtuvieron funciones interpoladoras a partir de datos que tienen la estructura

de la función de transición de estados (FTE) que identifican y controlan sistemas dinámicos las cuales presentan capacidad de generalización.

• Se obtuvieron funciones interpoladoras para controlar un sistema dinámico que

presentan rechazo a perturbaciones.

• Se identificó un sistema caótico (caos de Lorenz) utilizando el SGD.

• Se observó que una función interpoladora que identifica todas las variables de estado de un sistema caótico aproxima al sistema real en un periodo corto de tiempo y tiene un comportamiento que tiende al caos ya que presenta oscilaciones cuasiperiódicas.

7.3. Trabajos futuros Los trabajos futuros relacionados a este trabajo de investigación son los siguientes:

• Diseñar un procedimiento menos semiautomático que el presentado en esta investigación para detectar regiones sobre-muestreadas o desprovistas de datos en el espacio de N-dimensiones, podrían ser útiles métodos de topología computacional como las formas alfa [Edelsbrunner, 1994].

Page 143: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

7. Conclusiones y trabajos futuros

126

• En la obtención de funciones interpoladoras que controlan un sistema dinámico sólo se considera una variable para el estado siguiente; por lo que en futuras investigaciones se podría diseñar un método de control multivariable; una forma de abordar este problema sería obtener un sistema difuso por cada variable de estado a controlar, hacerlos funcionar en paralelo y promediar las entradas que cada sistema difuso tenga como salida.

• Los controladores que se obtuvieron en este trabajo tienen la estructura de planta

inversa, por tanto se podrían investigar otras formas de control, como la de modelo de referencia.

• Los sistemas dinámicos que se estudiaron en esta investigación son de primero,

segundo y tercer orden. En futuros trabajos se puede tratar con sistemas de órdenes superiores, por ejemplos sistemas de parámetros distribuidos de orden N para N>3, si se requiere identificar estos sistemas en la simulación se necesitaran N bloques funcionando en paralelo, por lo que deben tener una sincronía alta y cada uno debe presentar un error de interpolación muy pequeño para afectar lo menos posibles a los otros sistemas difusos.

• En esta investigación se analizaron sistemas dinámicos invariantes en el tiempo,

en futuras investigaciones se podrían identificar y/o controlar sistemas dinámicos variantes en el tiempo, esto se podría lograr colocando como antecedente al tiempo o alguna otra variable que lo describa. En este caso la sintonización del sistema sería más compleja, por lo que se tendrían que analizar de una forma detallada los datos de entrenamiento para que el sistema difuso presente capacidad de generalización.

• Identificar otros sistemas caóticos como el oscilador de van der Pol [van der Pol,

1927], el sistema de Rössler [Rössler, 1976] o el sistema de Chen [Chen, 1999].

• Investigar la factibilidad de obtener una función interpoladora usando el SGD que controle un sistema caótico a partir de la estructura de la FTE. En este caso es necesario rediseñar la estructura de control, debido a que el modelo que se usó en este trabajo (planta inversa) el controlador proporciona la entrada u(t) para hacer transitar al sistema dinámico a un estado prefijado pero en el caso de los sistemas caóticos no presentan una entrada u(t) en su modelo. Para hacer transitar un sistema caótico de un estado a otro es posible aplicar perturbaciones precisas, esta idea podría ser el inicio del diseño de un controlador de caos.

7.4. Lecciones aprendidas En esta sección se exponen las lecciones aprendidas durante el desarrollo de este trabajo de investigación. En la búsqueda de literatura relacionada a detección de regiones sobre-muetreadas y desprovistas de datos nos dimos cuenta que la definición de “región sobre-muestreada” se puede considerar como subjetiva ya que depende de la cantidad total de datos que se tengan e incluso del tamaño de las regiones que se analicen, por lo que es difícil diseñar un método totalmente automático que realice esta tarea.

Page 144: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

7. Conclusiones y trabajos futuros

127

El método de búsqueda de una solución cuando la función es multivaluada tiene como objetivo encontrar la entrada más adecuada para un sistema dinámico que puede transitar a un determinado con dos o más entradas distintas. En este caso el criterio es muy especializado por lo que no se encontró algún trabajo relacionado en la literatura por lo que fue necesario diseñarlo. En el estudio de los métodos de visualización de alta dimensionalidad se encontraron métodos en los que la detección de outliers, clusters, correlaciones entre las dimensiones se resuelve de forma satisfactoria, pero no se encontró un método con el que sea posible visualizar la bondad de ajuste de una función interpoladora. El estudio de los métodos de visualización permitió modificar y/o combinar métodos existentes para poder observar dicha bondad de ajuste. En la obtención de funciones interpoladoras que identifiquen o controlen un sistema dinámico (capítulo 6), al adquirir los datos de entrenamiento utilizando señales de excitación con ruido, la capacidad de generalización de estas funciones es aceptable, además en las etapas de generalización y validación para identificación y de generalización para control, es importante que la planta y el sistema difuso estén bien sincronizados durante la simulación para evitar errores como el defasamiento entre las señales.

Page 145: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Referencias

128

Referencias

Referencias [AAE, 1986] Academic American Encyclopedia, Vol. 4, ISBN: 071-72-2047-8, Grolier Incorporated, Danbury, 1986. [Andrews, 1972] Andrews, D. F., “Plots of high dimensional data”, Biometrics 28, March 1972, pp.125-136. [Canales, 1980] Canales Ruíz R., Barrera Rivera R., Análisis de Sistemas Dinámicos y Control Automático, ISBN: 458-91-0039-5, Limusa, México, 1980. [Card, 1999] Card S. K., Mackinlay J.D., Shneiderman B., Readings in Information Visualization: Using Vision to Think, ISBN: 1-55860-533-9, Morgan Kaufmann Publishers, San Francisco, 1999. [Castillo, 1999] Castillo Romero R., Sintonización de controladores difusos basada en el método de gradiente descendente, Tesis de Maestría en Ciencias en Ciencias Computacionales, Centro Nacional de Investigación y Desarrollo Tecnológico, Cuernavaca, Morelos, mayo de 1999. [Chapra, 1999] Chapra C. S., Canale R. P., Métodos numéricos para ingenieros, ISBN: 970-10-2008-1, McGraw-Hill, 1999, México. [Chen, 1990] Chen W. K., Linear Networks and Systems: Algorithm and CPT-Aided, ISBN: 9971509989, World Scientific, 1990, United States of America.

Page 146: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Referencias

129

[Chen, 1998] Chen G., Dong X., From chaos to order: methodologies, perspectives and applications, ISBN: 981-02-2569-5, World Scientific, 1998, Singapore. [Chen, 1999] Chen G., Ueta T., “Yet another chaotic attractor”, Int. J. Bifurcation and Chaos, No. 9, 1999, pp. 1465-1466. [Cholula, 2005] Cholula Soriano S., Control inteligente del frenado en propulsión eléctrica con regeneración, Tesis de Maestría en Ciencias en Ingeniería Mecatrónica, Centro Nacional de Investigación y Desarrollo Tecnológico, Cuernavaca, Morelos, agosto de 2005. [Crutchfield, 1986] Crutchfield J. P., Farmer D., Packard N. H., “Chaos”, Scientific American, Vol. 12, pp. 251-262. [Cruz, 2004] Cruz Sánchez V. G., Sistema híbrido neuro-simbólico para refinar el conocimiento en un sistema de visión artificial, Tesis de Maestría en Ciencias en Ciencias Computacionales, Centro Nacional de Investigación y Desarrollo Tecnológico, Cuernavaca, Morelos, agosto de 2004. [Dabney, 2004] Dabney, J. B., Herman, T. L., Mastering Simulink, ISBN: 978-0131424777, Prentice Hall, New Jersey, 2004. [Edelsbrunner, 1994] Edelsbrunner H., Mücke E. P., “Three-dimensional alpha shapes”, ACM Transactions on Graphics (TOG), Vol. 13, Issue 1, 1994, pp. 43-72. [Fanea, 2005] Fanea E., Carpendale S., Isenberg T., “An Interactive 3D Integration of Parallel Coordinates and Star Glyphs”, in Proceedings of the 2005 IEEE Symposium on Information Visualization, 2005, pp. 20-27. [Grinstein, 2001] Grinstein G., Trutschl M., Cvek U., “High-Dimensional Visualizations”, In Proceedings of Workshop on Visual Data Mining, ACM Conference on Knowledge Discovery and Data Mining, 2001, pp. 1-14. [Gröller, 1999] Gröller E., Loffelmann H., Wegenkittl R., “Visualization of Dynamical Systems“, Future Generation Computer Systems, Vol. 15, Issue 1, 1999, pp. 75-86. [Han, 2006] Han J., Lamber M., Data Mining: Concepts and Techniques, ISBN: 1-55860-901-6, Morgan Kaufmann, United States of America, 2006.

Page 147: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Referencias

130

[Hanselman, 2005] Hanselman D., Littlefield B., Mastering MATLAB 7, ISBN: 0-13-143018-1, 2005, Pearson Prentice Hall, United States of America. [He, 2005] He Q., Innovative techniques for industrial process modeling and monitoring, Ph. D. Thesis, The University of Texas at Austin, 2005. [Hernández, 2003] Hernández Mora, J. J., Implementación de una red neuronal holográfica, para el control de un brazo robot articulado, Tesis de Maestría en Ciencias en Ciencias Computacionales, Centro Nacional de Investigación y Desarrollo Tecnológico, Cuernavaca, Morelos, enero de 2003. [Hilera, 1995] Hilera J. R., Martínez V., Redes Neuronales Artificiales, Fundamentos, modelos y aplicaciones, ISBN: 8478971556, 1995, RA-MA, Estados Unidos de América. [Inselberg, 1990] Inselberg A., Dimsdale B., “Parallel Coordinates: a Tool for Visualizing Multidimensional Geometry”, Proceedings of Visualization ’90, 1990, pp. 391-397. [Jang, 1993] Jang R., Shing J., “ANFIS: adaptive-network-based fuzzy inference system”, Systems, Man and Cybernetics, IEEE, vol. 23, 1993, pp. 665-685. [Jiménez, 2005] Jiménez Villalobos D., Ramírez de la Cruz J.C., Construcción de un brazo robótico de tres GDL. Tesis de Maestría en Ciencias en Ingeniería Mecatrónica, Centro Nacional de Investigación y Desarrollo Tecnológico, Cuernavaca, Morelos, febrero de 2005. [Jirka, 2003] Jirka, T., Multidimensional Data Visualization, state of the Art and Concept of Doctoral Thesis, University of West Bohemia in Pilsen, Department of Computer Science and Engineering, marzo de 2003. [Johnsonbaugh, 1999] Johnsonbaugh R., Matemáticas discretas, ISBN: 0-13-518242-5, Prentice Hall, 1999, México. [Kosko, 1994] Kosko B., “Fuzzy Systems as Universal Approximators”, IEEE Transactions on Computer, Vol. 43, No. 111, 1994, pp. 1329-1333. [Leahy, 1989] Leahy M. B. Jr., Valavanis K. P., Saridis G. N., “Evaluation of dynamic models for PUMA robot control”, IEEE Transaction or Robotics and automation, Vol. 5, Issue 2, 1989, pp. 242-245.

Page 148: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Referencias

131

[Llanas, 2006] Llanas B., Sainz F. J., “Constructive approximate interpolation by neural networks”, Journal of Computational and Applied Mathematics, Elsevier Science Ltd., No. 188, 2006, pp. 283-308. [López, 2008] López Martínez E., Algoritmos para la detección y cuantificación de defectos en manzanas por inspección visual. Tesis de Maestría en Ciencias en Ciencias Computacionales, Centro Nacional de Investigación y Desarrollo Tecnológico CENIDET, Cuernavaca, Morelos, febrero de 2008. [Lorenz, 1963] Lorenz E. N., “Deterministic nonperiodic flow”, Journal of Atmospheric Sciences, Vol. 20, 1963, pp. 130-141. [Mathews, 2000] Mathews H. J., Fink K. D., Métodos Numéricos con MATLAB, ISBN: 968-880-263-8, Prentice Hall, Madrid, 2000. [May, 2004] May Canché I., Modelado de objetos deformables, utilizando color y textura. Tesis de Maestría en Ciencias en Ciencias Computacionales, Centro Nacional de Investigación y Desarrollo Tecnológico, Cuernavaca, Morelos; 2004. [Nakamura, 1992] Nakamura S., Métodos numéricos aplicados con software, ISBN: 968-880-263-8, Prentice Hall, México, 1992. [Nomura, 1992] Nomura H., Hayashi I., Wakami N., “A Learning Method of Fuzzy Inference by Descendent Methods”, Proceedings IEEE International Conference on Fuzzy Systems, San Diego, California, March 1992, pp. 203-210. [Ogata, 1993] Ogata K., Ingeniería de Control Moderna, ISBN: 970-17-0048-1, Prentice Hall, México, 1993. [Orallo, 2004] Orallo Hernández J., Ramírez Quintana M. J., Ferri Ramírez C., Introducción a la Minería de Datos, ISBN: 84-205-4091-9, Pearson, Madrid, 2004. [Ortíz, 2007] Ortíz, E. A., Sistema de inspección visual para la calidad de frutas. Tesis de Maestría en Ciencias en Ciencias Computacionales, Centro Nacional de Investigación y Desarrollo Tecnológico CENIDET, Cuernavaca, Morelos; 2007. [Ott, 1993] Ott E., Chaos in Dynamical Systems, ISBN: 0-521-43215-4, Cambridge University Press, United States of America, 1993.

Page 149: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Referencias

132

[Rhyne, 2003] Rhyne T., Melanie T., Munzner T., Ward M., Johnson C., David H. Laidlaw. “Information and scientific visualization: Separate but equal or happy together at last”. In IEEE Visualization 03, 2003, pp. 611–614. [Rodrigues, 2004] Rodrigues dos Santos S., A Framework for the Visualization of Multidimensional and Multivariate Data, Ph. D. Thesis, The University of Leeds School of Computing, September 2004 [Rössler, 1976] Rössler O. E., “An Equation for Continuous Chaos”, Physics Letters, Vol. 57A (5), 1976, pp. 397-398. [Spears, 1999] Spears M. William, “An Overview Of Multidimensional Visualization Techniques”, reporte técnico, AI Center- Code 5514, Naval Research Laboratory, Washington, DC 20375, 1999. [Takagi, 1985] Takagi T., Sugeno M., “Fuzzy identification of system and its application to modeling and control”, IEEE Trans. Systems, Man and Cybernetics, 15(1), 1985, pp. 116-132. [Tory, 2004] Tory M., Möller T., “Rethinking visualization: A high level taxonomy”, Proceedings IEEE Symposium Information Visualization, IEEE CS Press, 2004, pp. 151-158. [van der Pol, 1927] van der Pol B., van der Mark J., “Frequency demultiplication“, Nature, 120, 1927, pp. 363-364. [Vergara, 2003] Vergara Villegas, O. O., Reconocimiento de texturas artificiales, aplicación a la obtención visual. Tesis de Maestría en Ciencias en Ciencias Computacionales, Centro Nacional de Investigación y Desarrollo Tecnológico, Cuernavaca, Morelos; 2003. [Wegenkittl, 1997] Wegenkittl R., Loffelmann H., Gröller E., “Visualizing the Behavior of Higher Dimensional Dynamical Systems”, in Proceedings IEEE Visualization ‘97, 1997 p. 119-125. [Yamane, 1979] Yamane T., Estadística, ISBN: 006-3197-75-8, Harla, México, 1979. [Yu, 2002] Yu, S., Yu X., Zhihing M., “Indirect Adaptive Fuzzy Control of Nonlinear Systems with Terminal Sliding Modes”, Studies in Fuzziness and Soft Computing, Physica-Verlag, New York, 2002, pp. 263-276.

Page 150: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo A. Manual de usuario

133

Anexo A Manual de usuario

ANEXO A

Manual de usuario Este anexo presenta el manual de usuario de la aplicación que se implementó en esta investigación. La aplicación se desarrolló en Matlab 7.0, para poder ejecutarla es necesario tener instalado este programa. La aplicación se ejecuta en la ventana de comandos (Command Window) de Matlab, para iniciarla se debe colocar como directorio actual (Current Directory) la carpeta en la que están almacenados los scripts de la aplicación, enseguida se ingresa a la ventana de comandos la palabra principal como se muestra en la figura A.1.

Fig. A.1. Inicio de la aplicación.

Page 151: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo A. Manual de usuario

134

Enseguida se despliega el “Menú principal” de la aplicación que se muestra en la figura A.2.

Fig. A.2. Menú principal de la aplicación.

Cada una de las opciones se presentará en subsecciones para facilitar la búsqueda.

A.1. Detección de cúmulos y vacíos La primera opción “Detección de cúmulos y vacíos” se utiliza para localizar las regiones sobre-muestreadas o desprovistas de datos, al elegir esta opción aparece la pantalla que se muestra en la figura A.3 en la que se debe seleccionar el archivo que contiene los datos a analizar.

Fig. A.3. Selección del archivo que contiene los datos cuyas regiones sobre-muestreadas o desprovistas de datos se detectarán.

Una vez que se selecciona el archivo de datos la aplicación solicita en la ventana de comandos el número de divisiones en que se dividirá cada dimensión, esta operación se muestra en la figura A.4.

Page 152: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo A. Manual de usuario

135

Fig. A.4. Ingreso del número de divisiones por dimensión.

Enseguida la aplicación reporta el número de puntos que existe en cada región que se forma y el porcentaje que representa como se muestra en la figura A.5.

Fig. A.5. Resultados del conteo de puntos por regiones.

A.2. Sintonizar interpolación La segunda opción del “Menú principal” (figura A.2) es “Sintonizar interpolación”, con la cual se obtienen funciones interpoladoras utilizando el método de sintonización de sistemas difusos basado en gradiente descendente (SGD), al elegir esta opción se despliega el menú que se muestra en la figura A.6.

Page 153: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo A. Manual de usuario

136

Fig. A.6. Menú “Sintonizar interpolación”.

Si se escoge la segunda o tercera opción del menú “Sintonizar interpolación”, se despliega la ventana que se muestra en la figura A.7 en la que se selecciona el archivo donde se encuentran los datos de entrenamiento.

Fig. A.7. Selección del archivo que contiene los datos de entrenamiento.

Una vez que se elige el archivo, se despliega la venta que se muestra en la figura A.8 en la que se selecciona la carpeta donde se almacenarán los archivos que resulten de la sintonización del sistema difuso.

Fig. A.8. Selección de la carpeta donde se almacenarán los archivos sintonizados.

Page 154: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo A. Manual de usuario

137

Si en el menú “Sintonizar interpolación” (figura A.6) se eligió la opción “Indicando el número de conjuntos”, la aplicación solicita el número de conjuntos difusos que se usará en cada antecedente como se muestra en la figura A.9.

Fig. A.9. Ingreso del número de conjuntos difusos por antecedente.

Si la opción que se selecciona es “Indicando todos los parámetros”, además del número de conjuntos difusos también hay que ingresar los valores de los factores de adaptación Ka, Kb y Kw y los pesos iniciales de las reglas wini, como se muestra en la figura A.10.

Fig. A.10. Ingreso de todos los parámetros para sintonizar el sistema difuso.

Una vez que se ingresan los parámetros se despliega el menú que se muestra en la figura A.11, en el que se indica si los conjuntos difusos se van a espaciar de forma lineal o por una cantidad igual de datos.

Fig. A.11. Selección de la forma de espaciar los conjuntos difusos.

Page 155: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo A. Manual de usuario

138

Enseguida se indica el número de épocas en que se llevará a cabo la sintonización como se muestra en la figura A.12, una vez que se terminan la aplicación pide que se ingrese otra cantidad de épocas, si el usuario desea que termine la sintonización debe introducir el valor de -1.

Fig. A.12. Ingreso del número de épocas en que se sintonizará el sistema difuso.

Una vez que la sintonización finaliza se reportan los parámetros de operación finales, la mejor época y el EC escalado, como se muestra en la figura A.13.

Fig. A.13. Termino de la sintonización del sistema difuso. Si en el menú “Sintonizar interpolación” (figura A.6) se escoge la opción “Reanudar interpolación”, se retomará un sistema difuso que ya ha sido sintonizado con el objetivo de entrenarlo más épocas; por tanto sólo se elige la carpeta en la que se almacenan los archivos sintonizados en la pantalla que se muestra en la figura A.14; en este caso no se ingresa ningún parámetro de operación y sólo se elige el número de épocas.

Page 156: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo A. Manual de usuario

139

Fig. A.14. Selección del directorio que contiene los archivos sintonizados.

A.3. Obtener datos interpolados Si en el “Menú principal” (figura A.2) se escoge la opción “Obtener datos interpolados” se despliega el menú que se muestra en la figura A.15. Con esta opción es posible interpolar datos de tres formas distintas.

Fig. A.15. Menú “Obtener datos interpolados”.

En cualquiera de las tres opciones, el primer paso es elegir el directorio donde se encuentran los archivos que describen al sistema difuso que se utilizará para interpolar los datos. La elección del directorio se hace con la pantalla que se mostró en la figura A.14. En la opción “Producto cruz de las dimensiones” el usuario ingresa un número de puntos por cada dimensión como se muestra en la figura A.16.

Page 157: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo A. Manual de usuario

140

Fig. A.16. Ingreso del número de puntos por división.

La aplicación calcula estos puntos por medio de una división equidistante en cada antecedente y con los valores resultantes forma con un producto cruz los datos a interpolar. El resultado se almacena en un archivo, para esto se despliega una pantalla que se muestra en la figura A.17 donde se selecciona el directorio y se ingresa el nombre del archivo.

Fig. A.17. Selección de la carpeta e ingreso del nombre del archivo donde se almacenará e resultado de la

interpolación. Una vez guardado el archivo, en la ventana de comando aparece el siguiente mensaje: El archivo fue guardado con éxito en C:\Pruebas\resultadoProducto.dat ¿Desea abrir el archivo? (S/N): Si se abre el archivo se muestra el resultado de la interpolación como se muestra en la figura A.18, en la que la última columna es la dimensión interpolada.

Page 158: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo A. Manual de usuario

141

Fig. A.18. Contenido del archivo donde se almacenó el resultado de la interpolación, la última columna

corresponde a la dimensión interpolada. Si la opción que se escoge es “Ingresar datos mediante archivo”, después de elegir el directorio donde se encuentran los archivos sintonizados, se elige el archivo que contiene los datos a ser interpolados utilizando la pantalla que se muestra en la figura A.19.

Fig. A.19. Selección del archivo que contiene los datos a interpolar.

Enseguida se despliega una pantalla como la que se mostró en la figura A.17, para ingresar el nombre del archivo y seleccionar el directorio donde se almacenará el resultado de la interpolación. Se despliega un mensaje que indica al usuario si desea abrir el archivo, si ingresa una “S” se despliega el contenido del archivo como se mostró en la figura A.18, donde la última columna corresponde a la dimensión que se interpola. Si del menú “Obtener datos interpolados” (figura A.15) se selecciona la opción “Ingresar datos de forma manual” primero se selecciona la carpeta que contiene los archivos sintonizados en la pantalla que se mostró en la figura A.14, enseguida la aplicación pide al usuario en la ventana de comandos el valor de cada antecedente del dato a interpolar y despliega el resultado o consecuente, como se muestra en la figura A.20.

Page 159: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo A. Manual de usuario

142

Fig. A.20. Ingreso de los datos a interpolar y despliegue del resultado.

A.4. Posibilidad de inversión en las regiones Esta opción se utiliza para conocer en qué regiones de una función interpoladora es posible obtener un controlador por medio de planta inversa. Al escoger esta opción se despliega el siguiente menú:

Fig. A.21. Menú “Posibilidad de inversión”.

En las dos opciones el primer paso es seleccionar el directorio en el que se encuentran los archivos sintonizados, utilizando la pantalla que se mostró en la figura A.14. Enseguida el usuario ingresa la dimensión que representa la entrada u(t) del sistema dinámico y el valor de las distintas componentes del estado actual X(t), la aplicación reporta de forma numérica y gráfica las regiones que no tienen posibilidad de inversión, este proceso se muestra en la figura A.22 en la que se analiza un sistema de segundo orden no lineal por lo que X(t) tiene dos componentes.

Page 160: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo A. Manual de usuario

143

Fig. A.22. Ingreso de la dimensión de la entrada, los valores de las distintas componentes y despliegue de las

regiones que no tienen posibilidad de inversión por ser multivaluadas.

En la figura A.23 se muestra en rojo las regiones que no tienen posibilidad de inversión y en azul las que sí lo tienen.

Fig. A.23. Gráfica de puntos multivaluados (rojo) y no multivaluados (azul).

Al final de la figura A.22 se observa que es posible continuar con la búsqueda de una solución cuando la función es multivaluada, si el usuario decide realizar esta prueba el sistema pide los valores de la entrada anterior que hizo transitar al sistema dinámico al estado actual y de la componente del estado al que se desea llegar. La aplicación proporciona como resultado las posibles entradas para transitar al valor de la componente

Page 161: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo A. Manual de usuario

144

del estado deseado y la entrada más cercana a la anterior. Este procedimiento se muestra en la figura A.24.

Fig. A.24. Ingreso de la entrada anterior, la componente del estado deseado y despliegue de las entradas que

hacen transitar al sistema dinámico al estado deseado y la entrada más cercana a la anterior.

Si en el menú “Posibilidad de inversión” (figura A.21) se escoge la opción “Producto cruz de estados”, la aplicación despliega el menú que se mostró en la figura A.14 para seleccionar la carpeta donde se encuentran los archivos sintonizados, enseguida se ingresa la dimensión de la entrada u(t) del sistema dinámico, después la aplicación solicita el número de divisiones por cada antecedente, las cuales se hacen de forma equidistante; enseguida se toman los valores de cada componente donde existe una división y con un producto cruz se forman los distintos valores del el estado actual X(t), enseguida se despliegan para cada valor de X(t) las regiones que no tienen posibilidad de inversión. El proceso completo se muestra en la figura A.25.

Fig. A.25. Ingreso del número de divisiones por componente y despliegue de las regiones que no tienen

posibilidad de inversión.

Page 162: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo A. Manual de usuario

145

Nótese que en esta opción no es posible realizar la búsqueda de una solución cuando la función es multivaluada.

A.5. Búsqueda sin controlador Está opción es útil cuando se tiene una función interpoladora que identifica a un sistema dinámico y se quiere conocer si existen una o más entradas u(t) que hagan transitar al sistema dinámico del estado actual X(t) a un valor específico de una componente del estado siguiente xi(t+∆t). Cuando se escoge esta opción el usuario selecciona el directorio donde se encuentran los archivos sintonizados, utilizando la pantalla que se mostró en la figura A.14. A continuación la aplicación despliega los rangos de las distintas componentes de X(t) y del consecuente y proporciona la opción de cambiar los rangos del consecuente. Después se ingresan los valores de las distintas componentes del estado actual, el valor del estado al que se desea llegar y el porcentaje de error permisible del valor del estado deseado, finalmente se ingresa el número de variaciones de los valores de la entrada. El proceso completo se muestra en la figura A.26.

Fig. A.26. Ingreso de las componentes del estado actual, del valor de la componente del estado deseado, el

porcentaje de error y el número de variaciones de la entrada. En la figura A.27 se muestran las entradas que hacen transitar al sistema dinámico al estado siguiente deseado, la notación que se utiliza es (u(t), x1(t), x2(t))→ componente del estado deseado, donde x1(t) y x2(t) son las componentes del estado actual.

Page 163: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo A. Manual de usuario

146

Fig. A.27. Entradas para transitar al estado siguiente, utilizando la notación (u(t), x1(t), x2(t))→ componente del

estado deseado, donde x1(t) y x2(t) son las componentes del estado actual. La aplicación despliega una gráfica que se muestra en la figura A.28, en la que se observa entre las líneas rojas punteadas el valor del estado deseado considerando la tolerancia dada por el porcentaje de error, con esta gráfica se puede saber si es posible transitar a dicho estado.

Fig. A.28. Gráfica para visualizar si el estado siguiente que se desea es alcanzable, las líneas rojas punteadas representan la región del valor del estado deseado considerando la tolerancia dada por el

porcentaje de error.

Page 164: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo A. Manual de usuario

147

A.6. Visualización multidimensional Esta opción contiene los métodos de visualización de alta dimensionalidad que permiten conocer la bondad de ajuste de una función interpoladora respecto a los datos de entrenamiento o para conocer el grado de traslape entre regiones. Al seleccionar está opción del “Menú principal” (figura A.2) se muestra la pantalla de la figura A.29.

Fig. A.29. Menú “Visualización multidimensional”.

Si se elige la opción “Bondad de ajuste de la función interpoladora” se despliega el menú que se muestra en la figura A.30.

Fig. A.30. Menú “Visualización bondad de ajuste”.

Si se escoge la opción “Matriz de dispersión del consecuente (2D)” se despliega la pantalla que se mostró en la figura A.14 para seleccionar la carpeta donde se encuentran los archivos sintonizados. Enseguida la aplicación muestra la opción de reducir el rango de una dimensión y finalmente pide al usuario si desea visualizar la proyección de la función interpoladora. La forma de desplegar estas opciones se muestra en la figura A.31.

Page 165: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo A. Manual de usuario

148

Fig. A.31. Opciones de visualización de los métodos diagrama de dispersión del consecuente y combinación

de diagramas de dispersión en tres dimensiones. En la figura A.32 se visualizan los datos de entrenamiento (cruces rojas) y los interpolados (círculos azules) con el método de matriz de dispersión del consecuente, en este caso los datos provienen de la identificación de un sistema dinámico de segundo orden no lineal, por lo que tienen 4 dimensiones.

Fig. A.32. Matriz de dispersión del consecuente de la identificación de un sistema de segundo orden lineal, las

cruces rojas corresponden a los datos interpolados, los círculos azules a los datos de entrenamiento. Una vez que la gráfica se desplegó, la aplicación presenta la opción de visualizar una proyección de forma independiente como se muestra en la figura A.33.

Page 166: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo A. Manual de usuario

149

Fig. A.33. Selección de la proyección independiente que se desea visualizar.

En la figura A.33 se seleccionó visualizar de forma independiente la proyección número 3 que se muestra en la figura A.34.

Fig. A.34. Visualización de una proyección independiente del método de conjunto de diagramas de dispersión

en tres dimensiones. Si en el menú “Visualización bondad de ajuste” (figura A.30) se elige la opción “Conjunto de diagramas de dispersión en 3D”, se selecciona el directorio que contiene los archivos sintonizados utilizando la pantalla que se mostró en la figura A.14. A continuación la aplicación despliega las opciones que se presentaron en la figura A.31. La gráfica se muestra en la figura A.35, en este caso los datos corresponden a la identificación de un sistema de segundo orden lineal, por lo que tienen 4 dimensiones.

Page 167: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo A. Manual de usuario

150

Fig. A.35. Conjunto de diagramas de dispersión en tres dimensiones correspondientes a la identificación de

un sistema de segundo orden lineal, se observan los datos de entrenamiento (cruces rojas) y los datos interpolados (círculos azules).

Una vez que se desplegó la gráfica, la aplicación muestra la opción de desplegar una proyección de forma independiente como se muestra en la figura A.36.

Fig. A.36. Selección de un diagrama de dispersión en tres dimensiones.

En la figura A.37 se muestra la proyección que se seleccionó.

Page 168: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo A. Manual de usuario

151

Fig. A.37. Visualización de un diagrama de dispersión en tres dimensiones independiente.

Si en el menú “Visualización bondad de ajuste” (figura A.30) se selecciona la opción “Gráfico comparativo del consecuente real e interpolado” se despliega la pantalla que se mostró en la figura A.14 en la que se selecciona el directorio donde se encuentran los archivos sintonizados. Este método tiene la opción de reducir el rango de alguna dimensión o de visualizar la línea de error. En esta gráfica se denomina error a la diferencia entre el valor del consecuente del dato de entrenamiento y el valor interpolado. Estas opciones se muestran en la figura A.38.

Fig. A.38. Opciones de visualización del método gráfico comparativo del consecuente real e interpolado.

En la figura A.39 se muestra la gráfica, en la que se observan los datos de entrenamiento (círculos azules), los datos interpolados (cruces rojas) y la línea de error (línea verde), los datos corresponden a la identificación de un sistema de segundo orden no lineal, por lo que tienen 4 dimensiones.

Page 169: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo A. Manual de usuario

152

Fig. A.39. Gráfico comparativo del consecuente real e interpolado de la identificación de una variable de

estado de un sistema de segundo orden lineal, donde se muestran los datos interpolados (cruces rojas), los datos de entrenamiento (círculos azules) y la línea de error (línea verde).

La aplicación proporciona la opción de visualizar los datos ordenados de acuerdo al valor del consecuente en forma ascendente o descendente, el despliegue de esta opción se muestra en la figura A.40.

Fig. A.40. Forma de ordenar los datos en el gráfico comparativo del consecuente real e interpolado.

En la figura A.40 se eligió ordenar los datos de manera ascendente, la gráfica se muestra en la figura A.41.

Page 170: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo A. Manual de usuario

153

Fig. A.41. Gráfico comparativo del consecuente real e interpolado de la identificación de una variable de

estado de un sistema de segundo orden no lineal, con los datos ordenados de forma ascendente, se muestran los datos interpolados (cruces rojas), los datos de entrenamiento (círculos azules) y la línea de error (línea

verde).

Si en el menú “Visualización multidimensional” (figura A.29) se elige la opción “Combinación de diagramas de dispersión en 3D y código de color”, se despliega el menú que se muestra en la figura A.42.

Fig. A.42. Menú “Diagramas de dispersión 3D + Color”.

Si se selecciona la opción “Visualizar datos de entrenamiento” se despliega la pantalla que se mostró en la figura A.14 en la que se selecciona el directorio que contiene los archivos resultantes de la sintonización. En este método sólo se proporciona la opción de reducir el rango de alguna dimensión, además se presentan los valores máximos y mínimos del consecuente, como se muestra en la figura A.43.

Page 171: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo A. Manual de usuario

154

Fig. A.43. Opciones del método de visualización combinación de diagramas de dispersión en tres

dimensiones y código de color. En la figura A.44 se observa la visualización de los datos de entrenamiento del sistema de clasificación de manzanas de 5 dimensiones que se presentó en la sección 6.2.3.

Fig. A.44. Combinación de diagrama de dispersión de tres dimensiones y código de color de los datos de

entrenamiento de un sistema de visión de 5 dimensiones, las cruces rojas representan el valor de cero en el consecuente y los círculos azules representan el valor de uno.

Page 172: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo A. Manual de usuario

155

Al igual que los métodos matriz de dispersión del consecuente y conjunto de diagramas de dispersión en tres dimensiones, este método permite observar una proyección de forma independiente, en la figura A.45 se muestra el tercer diagrama de la figura A.44.

Fig. A.45. Diagrama de dispersión independiente del método combinación de diagramas de dispersión en tres dimensiones y código de color.

Si en el menú “Diagramas de dispersión 3D + Color” (figura A.42) se escoge la opción “Visualizar datos interpolados” solamente se visualiza la función interpoladora. La aplicación ofrece la opción de reducir alguna dimensión y despliega los valores máximos y mínimos que corresponden al consecuente como se mostró en la figura A.43. En la figura A.46 se observa la función interpoladora del sistema de visión artificial de 5 dimensiones que se analizó en la sección 6.2.3.

Page 173: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo A. Manual de usuario

156

Fig. A.46. Combinación de diagrama de dispersión de tres dimensiones y código de color de los datos

aproximados de un sistema de visión de 5 dimensiones, el valor del consecuente se representa con código de colores.

También es posible visualizar un diagrama de forma independiente, en la figura A.47 se muestra el segundo diagrama de la figura A.46.

Fig. A.47. Diagrama de dispersión independiente de la función interpoladora visualizada con el método de

combinación de diagramas de dispersión en tres dimensiones y código de color.

Page 174: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo B. Demostración del método de detección de regiones sobre-muestreadas o desprovistas de datos

157

Anexo B Demostración del método de detección de regiones sobre-muestreadas o desprovistas de datos

ANEXO B

Demostración del método de detección de regiones sobre-muestreadas o desprovistas de datos En este anexo se presenta una demostración del funcionamiento del método de detección de regiones sobre-muestreadas o desprovistas de datos que se presentó en la sección 4.1. Los datos que se analizarán son tres puntos de tres dimensiones que se muestran a continuación:

(1, 2, 3), (1.7, 3.1, 1.5), (2, 4, -1) De acuerdo al diagrama de la figura 4.1 el primer paso es seleccionar el conjunto de datos los cuales se encuentran en un archivo, la forma de realizar esta operación se mostró en la figura A.3. Enseguida el usuario ingresa el número de divisiones por cada dimensión, la forma de introducir esta información se mostró en la figura A.4. En este ejemplo se dividieron a todas las dimensiones en 2 partes por lo que se tienen 8 regiones. El conteo de puntos se almacenará en un arreglo de 8 posiciones que contienen el entero cero, dicho arreglo se muestra en la figura B.1.

0 0 0 0 0 0 0 0 Fig. B.1. Arreglo para almacenar el conteo de puntos, cada posición contiene la cuenta de una región.

Page 175: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo B. Demostración del método de detección de regiones sobre-muestreadas o desprovistas de datos

158

El siguiente paso es asignar al contador del número de puntos el valor de 1 (p=1), como el contador aún no es igual al número total de puntos se obtiene el punto p, es decir se almacena en memoria el primer punto que en este caso corresponde a (1, 2, 3). El siguiente paso es calcular la tupla de divisiones a la que pertenece el punto (1, 2, 3) lo cual se hace utilizando la ecuación (4.1), para facilitar la lectura en este anexo se reescribirán las ecuaciones necesarias.

1d dd d

d d

coordenada mínimodivPunto función piso numDivisionesmáximo mínimo

⎛ ⎞⎛ ⎞−= +⎜ ⎟⎜ ⎟⎜ ⎟−⎝ ⎠⎝ ⎠

(4.1)

La ecuación (4.1) se aplica para máximod≠mínimod y coordenadad≠máximod. Si máximod=mínimod entonces divPuntod=1, si coordenadad=máximod entonces divPuntod=numDivisionesd. En este ejemplo los datos son de tres dimensiones por lo que la tupla de divisiones será (divPunto1, divPunto2, divPunto3). Para poder calcular está tupla es necesario conocer los valores máximos y mínimos de cada dimensión así como el número de divisiones por dimensión y los valores de cada coordenada del punto cuya tupla se desea obtener, estos valores son los siguientes:

Tabla B.1. Valores para calcular la tupla de divisiones del punto (1, 2, 3). máximo1=2 mínimo1=1 máximo2=4 mínimo2=2 máximo3=3 mínimo3=-1 numDivisiones1=2 coordenada1=1 numDivisiones2=2 coordenada2=2 numDivisiones3=2 coordenada3=3

El cálculo para obtener la primera coordenada de la tupla de divisiones del punto (1, 2, 3) se muestra enseguida:

11 1 2 1 12 1

divPunto función piso⎛ − ⎞⎛ ⎞= + =⎜ ⎟⎜ ⎟−⎝ ⎠⎝ ⎠

El resultado de la segunda coordenada de la tupla de divisiones es el siguiente:

22 2 2 1 14 2

divPunto función piso⎛ − ⎞⎛ ⎞= + =⎜ ⎟⎜ ⎟−⎝ ⎠⎝ ⎠

Para calcular divPunto3 se observa que coordenada3=máximo3 por lo tanto divPunto3=numDivisiones3. La tupla de divisiones del punto (1, 2, 3) es (1, 1, 2). A partir de la tupla de divisiones se obtiene el número de la región (r) en que se encuentra el punto (1, 2, 3) usando la ecuación (4.2).

Page 176: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo B. Demostración del método de detección de regiones sobre-muestreadas o desprovistas de datos

159

1 221

1

1

1 ( 1) ( 1) ...

( 1)

mm

NN

Nm

numRegiones numRegionesr divPunto divPuntonumDivisiones numDivisiones

numRegiones divPuntonumDivisiones

=

=

= + − + − +

+ −

(4.2)

En este caso el número de regiones (numRegiones) es igual a 8, el número de divisiones de cada dimensión (numDivisiones1, numDivisiones2, numDivisiones3) es igual a 2. Al sustituir los valores en la ecuación (4.2) se obtiene el siguiente resultado:

8 8 81 (1 1) (1 1) (2 1) 22 (2)(2) (2)(2)(2)

r = + − + − + − =

Se suma uno a la posición 2 del arreglo que contiene la cuenta de los puntos, el contenido del arreglo se muestra en la figura B.2.

0 1 0 0 0 0 0 0 Fig. B.2. Contenido del arreglo después de contar el punto (1, 2, 3).

Debido a que aún no se han contado todos los puntos, se obtiene el segundo punto (1.7, 3.1, 1.5) y se calcula su tupla de divisiones con la ecuación (4.1), el resultado es el siguiente:

11.7 1 2 1 22 1

divPunto función piso⎛ − ⎞⎛ ⎞= + =⎜ ⎟⎜ ⎟−⎝ ⎠⎝ ⎠

23.1 2 2 1 24 2

divPunto función piso⎛ − ⎞⎛ ⎞= + =⎜ ⎟⎜ ⎟−⎝ ⎠⎝ ⎠

31.5 ( 1) 2 1 23 ( 1)

divPunto función piso⎛ ⎞⎛ ⎞− −

= + =⎜ ⎟⎜ ⎟− −⎝ ⎠⎝ ⎠

La tupla de divisiones del punto (1.7, 3.1, 1.5) es (2, 2, 2). A partir de este resultado se calcula el número de región (r) en que se encuentra contenido, usando la ecuación (4.2), como se muestra a continuación:

8 8 81 (2 1) (2 1) (2 1) 82 (2)(2) (2)(2)(2)

r = + − + − + − =

Se suma 1 a la posición 8 del arreglo cuyo contenido se muestra en la figura B.3.

0 1 0 0 0 0 0 1 Fig. B.3. Contenido del arreglo después de contar los puntos (1, 2, 3) y (1.7, 3.1, 1.5).

Page 177: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo B. Demostración del método de detección de regiones sobre-muestreadas o desprovistas de datos

160

Enseguida se obtiene el tercer punto (2, 4. -1) en este caso coordenada1=máximo1 y coordenada2=máximo2 por tanto divPunto1=2 y divPunto2=2. El resultado de divPunto3 es el siguiente:

31 ( 1) 2 1 1

3 ( 1)divPunto función piso

⎛ ⎞⎛ ⎞− − −= + =⎜ ⎟⎜ ⎟− −⎝ ⎠⎝ ⎠

La tupla de divisiones del punto (2, 4, -1) es (2, 2, 1). Enseguida se calcula en que región (r) se encuentra usando la ecuación (4.2).

8 8 81 (2 1) (2 1) (1 1) 72 (2)(2) (2)(2)(2)

r = + − + − + − =

Se suma 1 a la posición 7 del arreglo, el contenido se muestra en la figura B.4.

0 1 0 0 0 0 1 1 Fig. B.4. Contenido del arreglo después de contar los puntos (1, 2, 3), (1.7, 3.1, 1.5) y (2, 4, -1).

Una vez que se contaron todos los puntos para mostrar el resultado es necesario convertir los índices de los arreglos a tuplas de divisiones y enseguida a los valores reales de las fronteras de las regiones. Se comienza con el primer índice (r=1), para convertirlo a tupla de divisiones se usan las ecuaciones (4.4) a (4.7).

11

r numDivisionesdivPunto función techonumRegiones

⎛ ⎞⋅= ⎜ ⎟

⎝ ⎠ (4.4)

2

12 1

1

( 1)Re

mm

numDivisionesnumRegionesdivPunto función techo r puntoDiv

numDivisiones num giones=

⎛ ⎞⎜ ⎟⎛ ⎞⎜ ⎟= − −⎜ ⎟⎜ ⎟⎝ ⎠⎜ ⎟⎝ ⎠

∏ (4.5)

1 221

13 3

1

( 1) ( 1)

Re

mm

mm

numRegiones numRegionesr divPunto divPuntonumDivisiones numDivisiones

divPunto función techonumDivisiones

num giones

=

=

⎛ ⎞⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟− − − −⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠⎜ ⎟=⎜ ⎟⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠⎝ ⎠

(4.6)

M

Page 178: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo B. Demostración del método de detección de regiones sobre-muestreadas o desprovistas de datos

161

1 221

1 1

11

1

( 1) ( 1)

Re... ( )

N

m mm m

N

NN

mm

numRegiones numRegionesr divPunto divPuntonumDivisiones numDivisiones numDivisiones

divPunto función techonum giones numRegidivPuntonumDivisiones

= =

−−

=

⎛ ⎞− − − − −⎜ ⎟⎜ ⎟⎜ ⎟= ⎜ ⎟⎜ ⎟−⎜ ⎟⎜ ⎟⎝ ⎠

∏ ∏

∏ones

⎛ ⎞⎜ ⎟⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠⎜ ⎟⎝ ⎠

(4.7)

Con r=1 las coordenadas de la tupla de divisiones son las siguientes:

1(1)(2) 1

8divPunto función techo⎛ ⎞= =⎜ ⎟

⎝ ⎠

28 (2)(2)1 (1 1) 12 8

divPunto función techo⎛ ⎞⎛ ⎞⎛ ⎞= − − =⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠⎝ ⎠⎝ ⎠

38 8 (2)(2)(2)1 (1 1) (1 1) 12 (2)(2) 8

divPunto función techo⎛ ⎞⎛ ⎞⎛ ⎞= − − − − =⎜ ⎟⎜ ⎟⎜ ⎟

⎝ ⎠⎝ ⎠⎝ ⎠

A la región 1 le corresponde la tupa (1, 1, 1). A partir de este resultado se calculan las fronteras por dimensión (Frontera superiord y Frontenra inferiord) de la región usando las ecuaciones (4.8) a (4.10).

dddd nesnumDivisiomínimomáximoincremento /)( −= (4.8)

( )d d d dFrontera superior mínimo incremento divPunto= + (4.9)

d d dFrontera inferior Frontera superior incremento= − (4.10) El cálculo de las fronteras de la dimensión 1 de la región 1 se muestra a continuación:

1 (2 1) / 2 0.5incremento = − =

1 1 0.5(1) 1.5Frontera superior = + =

1 1.5 0.5 1Frontera inferior = − = El cálculo de las fronteras de la dimensión 2 de la región 1 se muestra enseguida:

2 (4 2) / 2 1incremento = − =

2 2 1(1) 3Frontera superior = + =

2 3 1 2Frontera inferior = − = El cálculo de las fronteras de la dimensión 3 se presenta a continuación:

3 (3 ( 1)) / 2 2incremento = − − =

3 1 2(1) 1Frontera superior = − + =

3 1 2 1Frontera inferior = − = −

Page 179: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo B. Demostración del método de detección de regiones sobre-muestreadas o desprovistas de datos

162

Las fronteras de las 3 dimensiones de la región 1 son: [1, 1.5)[2, 3)[-1, 1). Los valores máximos y mínimos de cada división tienen intervalos cerrados, los valores intermedios son cerrados por la izquierda y abiertos por la derecha, es decir las divisiones intermedias no contienen a sus valores superiores, estos valores pertenecen a la siguiente división. Una vez calculadas las fronteras reales se obtiene el porcentaje de puntos respecto al total que contiene la región 1 y se despliega el resultado presentando el número de la región, las fronteras, el total de puntos y el porcentaje como se muestra a continuación: Región 1 [1, 1.5)[2, 3)[-1, 1) = 0 puntos 0% Enseguida se calculan las tuplas de divisiones correspondientes a la región 2.

1(2)(2) 1

8divPunto función techo⎛ ⎞= =⎜ ⎟

⎝ ⎠

28 (2)(2)2 (1 1) 12 8

divPunto función techo⎛ ⎞⎛ ⎞⎛ ⎞= − − =⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠⎝ ⎠⎝ ⎠

38 8 (2)(2)(2)2 (1 1) (1 1) 22 (2)(2) 8

divPunto función techo⎛ ⎞⎛ ⎞⎛ ⎞= − − − − =⎜ ⎟⎜ ⎟⎜ ⎟

⎝ ⎠⎝ ⎠⎝ ⎠

La tupla de divisiones que corresponde a la región 2 es (1, 1, 2). Enseguida se realiza el cálculo de las fronteras de las tres dimensiones como se muestra enseguida:

1 (2 1) / 2 0.5incremento = − =

1 1 0.5(1) 1.5Frontera superior = + =

1 1.5 0.5 1Frontera inferior = − =

2 (4 2) / 2 1incremento = − =

2 2 1(1) 3Frontera superior = + =

2 3 1 2Frontera inferior = − =

3 (3 ( 1)) / 2 2incremento = − − =

3 1 2(2) 3Frontera superior = − + =

3 3 2 1Frontera inferior = − = Las fronteras de la región 2 son [1, 1.5)[2, 3)[1, 3). Se calcula el porcentaje de puntos que contiene la región 2 respecto al total y se despliega el resultado. Región 2 [1, 1.5)[2, 3)[1, 3] = 1 puntos 33.33% El mismo procedimiento se aplica para las regiones 3 a 8 las cuales tienen las siguientes tuplas de divisiones:

Page 180: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo B. Demostración del método de detección de regiones sobre-muestreadas o desprovistas de datos

163

Región 3: (1, 2, 1) Región 4: (1, 2, 2) Región 5: (2, 1, 1) Región 6: (2, 1, 2) Región 7: (2, 2, 1) Región 8: (2, 2, 2)

A partir de las tuplas de divisiones se calculan las fronteras reales por región son las siguientes:

Región 3: [1, 1.5) [3, 4][-1, 1) Región 4: [1, 1.5)[3, 4][1, 3] Región 5: [1.5, 2][2, 3)[-1, 1) Región 6: [1.5, 2] [2, 3) [1, 3] Región 7: [1.5, 2] [3, 4] [-1, 1) Región 8: [1.5, 2] [3, 4] [1, 3]

A partir del número de puntos por región se calcula el porcentaje respecto al total de puntos y se despliega el resultado, en este caso se presenta la cuenta de todas las regiones: Región 1 [1, 1.5)[2, 3)[-1, 1) = 0 puntos 0% Región 2 [1, 1.5)[2, 3)[1, 3] = 1 puntos 33.33% Región 3 [1, 1.5) [3, 4][-1, 1) = 0 puntos 0% Región 4 [1, 1.5)[3, 4][1, 3] = 0 puntos 0% Región 5 [1.5, 2][2, 3)[-1, 1) = 0 puntos 0% Región 6 [1.5, 2][2, 3)[1, 3] = 0 puntos 0% Región 7 [1.5, 2][3, 4][-1, 1) = 1 puntos 33.33% Región 8 [1.5, 2][3, 4][1, 3] = 1 puntos 33.33%

Page 181: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo C. Diagramas de Simulación

164

Anexo C Diagramas de simulación

ANEXO C

Diagramas de simulación En este anexo se presentan algunos diagramas de simulación hechos en Simulink de Matlab 7.0. En la sección C.1 se presenta el diagrama de la adquisición de datos del sistema dinámico de segundo orden no lineal que se presentó en la sección 4.5.2.1, en la sección C.2 se muestra el diagrama de validación y generalización de la identificación del sistema de segundo orden lineal que se presentó en la sección 6.1.1.2. En la sección C.3 se presenta el diagrama para comprobar la generalización del control del sistema dinámico de segundo orden no lineal que se presentó en la sección 6.1.2.2.

C.1. Diagrama de adquisición En la figura C.1 se muestra el diagrama de adquisición de datos para un sistema de segundo orden no lineal, obsérvese que la salida de la planta envía los datos al Workspace de Matlab.

Page 182: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo C. Diagramas de Simulación

165

Fig. C.1. Diagrama de simulación para la adquisición de datos de un sistema de segundo orden no lineal. Para obtener más información acerca del funcionamiento de cada bloque de Simulink consulte [Dabney, 2004].

C.2. Diagrama de identificación En esta sección se presenta el diagrama de simulación para realizar las pruebas de validación y generalización del sistema de segundo orden lineal que se analizó en la sección 6.1.1.2. El diagrama se muestra en la figura C.2 en la que se observa que al final se tiene un storage scope (osciloscopio) para poder comparar las salidas de la planta y del sistema difuso.

Fig. C.2. Diagrama de simulación para comprobar la etapa de validación y generalización de la identificación

de un sistema de segundo orden lineal.

Entrada u(t)

Planta

Salida

Entrada u(t) Planta

Sistema difuso

Salida de la planta

Salida del sistema difuso

Page 183: TESIS DE MAESTRÍA EN CIENCIAS - cenidet.edu.mx Hector Ulloa... · cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS

Anexo C. Diagramas de Simulación

166

C.3. Diagrama de control En esta sección se muestra el diagrama de control para comprobar la generalización del sistema de segundo orden no lineal que se estudió en la sección 6.1.2.2. El osciloscopio que se encuentra al final del diagrama es para comparar la similitud entre la salida de la planta y la señal de referencia que el controlador difuso debe seguir.

Fig. C.3. Diagrama de simulación para comprobar la etapa de generalización del control de un sistema de

segundo orden no lineal.

Referencia

Planta

Controlador difuso

Referencia

Salida de la

planta