Método LAMDA para clasificación de estados funcionales y plataforma de clasificación de fallas en procesos industriales
104
0
0
Texto completo
(2) IEL2-I-04-12 INDICE.. RESUMEN 1. INTRODUCCION 2. METODOLOGÍA LAMDA 2.1. Generalidades de LAMDA 2.2. Algoritmo de Aprendizaje 2.2.1. Clasificaciones y Particiones 2.2.2. Algoritmo Recursivo de Aprendizaje 2.2.3. Umbral de Pertenencia 2.2.4. Estructura del Proceso de Aprendizaje de LAMDA 2.3. Aprendizaje Multivariable 2.3.1. Caracterización de Clases 2.4. Algoritmo de Programación de LAMDA 2.5. Objetivos y Procedimiento para Creación de Estados Funcionales 3. MODELAJE DE MODULO DE TANQUES ACOPLADOS 3.1. Tanques 3.1.1. Tanque Lineal 3.1.2. Tanque No Lineal 3.2. Bomba 3.3. Válvulas ON-OFF 3.4. Sensores MPX2010GP 3.5. Controlador Lógico Programable (PLC) 3.6. Modelo Matemático de La Unión de Componentes de la Planta 3.6.1. Control de la Planta 3.6.2. Discretización del PID 3.7. Resultados del Controlador 4. PROGRAMACIÓN DEL PROYECTO 4.1. Programación del PLC 4.2. Programación de WINCC 4.3. Atributos Escogidos 5. SOFTWARE SALSA04V1 5.1. Instalación 5.2. Uso de Salsa04v1 5.2.1. Salsa OFFLINE 5.2.2. Salsa ONLINE 6. ANÁLISIS DE RESULTADOS 6.1. Análisis de Clases Creadas por Salsa 6.2. Asignación de Clases a Estados Funcionales 6.3. Modelaje de Planta en Eventos Discretos 7. CONCLUSIONES 8. BIBLIOGRAFIA 9. ANEXOS ANEXO1: Algoritmo de Detección de Fallas (Determinístico) ANEXO2: Algoritmo de Simulación de Fallas ANEXO3: Algoritmo de Comunicación con Diagnosticador. 6 7 9 9 10 11 13 14 15 15 18 19 26 27 27 27 28 29 31 31 32 33 35 38 39 42 42 43 47 54 54 54 55 72 76 77 88 89 95 97 98 99 100 2.
(3) IEL2-I-04-12. ANEXO4: Algoritmo de Regulación PID ANEXO5: Ejecutor de Algoritmo de Detección de Fallas ANEXO6: Ejecutor de Algoritmo de Control ANEXO7: Algoritmo Extraedor de Derivadas ANEXO8: Circuito Impreso de Acondicionamiento de Señales. 101 102 103 104 105. 3.
(4) IEL2-I-04-12. INDICE DE FIGURAS. Figura 1. Tabla de Atributos Figura 2. Comparación entre “Clases” y “Funciones de Pertenencia” Figura 3. Estructura de Aprendizaje de LAMDA Figura 4. Tanque Lineal Figura 5. Tanque No-Lineal Figura 6. Circuito de Acondicionamiento de Señal Hacia la Bomba Figura 7. Electro Válvula Figura 8. Circuito de Acondicionamiento de Señal Sensores Figura 9. PLC Figura 10. Plano de Tanques Acoplados Figura 11. Lugar de las Raíces de Planta Figura 12. Modelo Tanques Acoplados Figura 13. Modelo Tanques Acoplados/ “Tanque Lineal” Figura 14. Modelo Tanques Acoplados/ “Tanque No-Lineal” Figura 15. Modelo Tanques Acoplados/ Leak1(Izquierda), Leak2(Derecha) Figura 16. Resultados Simulación Modelo Tanques Acoplados Figura 17. Diagrama de Bloques del Proyecto Figura 18. Esquema de Ejecución de Tareas Figura 19. Esquema de Tareas de la Función LAMDA Figura 20. Clasificación LAMDA Figura 21. Clasificación LAMDA II Figura 22. Clasificación LAMDA III Figura 23. Simulación en Simulink Figura 24. Clasificación LAMDA Datos Simulados Figura 25. Clasificación LAMDA Datos Simulados Cualitativos Figura 26. Plataforma Salsa04v1 Figura 27. Opción OFFLINE de Salsa Figura 28. Formato de Archivo de Datos *.DAT Figura 29. Cargada de Archivo de Entrenamiento I Figura 30. Cargada de Archivo de Entrenamiento II Figura 31. Cargada de Archivo de Entrenamiento III Figura 32. Selección de Clasificación Figura 33. Selección de Nivel de Exigencia y Conectores Figura 34. Selección de Modo Clasificación Figura 35. Aprendizaje no Supervisado Figura 36. Aprendizaje Supervisado Figura 37. Reconocimiento Figura 38. Atributo Tank1 y Daltura (Cuantitativo y Cualitativo respectivamente) Figura 39. Ventana de Texto muestra 556 Figura 40. Ventana Cuantitativa Figura 41. Ventana Cualitativa Figura 42. Perfil Clasificación Gráfico Figura 43. Perfil Clasificación Texto. 9 12 15 27 28 29 31 31 32 33 37 39 40 40 41 41 42 46 46 49 50 50 51 51 52 55 56 57 58 58 59 59 60 60 60 60 60 62 63 64 65 65 66 4.
(5) IEL2-I-04-12. Figura 44. Reconocimiento de Individuos Pre – Clasificados Figura 45. Matriz de Pertenencia Figura 46. Clasificación Modo Reconocimiento Figura 47. Asignación a Estados Funcionales Figura 48. Asignación a Estados Funcionales II Figura 49. Asignación a Estados Funcionales III Figura 50. Plataforma Salsa ONLINE Figura 51. Configuración ONLINE Figura 52. Salsa ONLINE Figura 53. Salsa ONLINE II Figura 54. Salsa ONLINE III Figura 55. Salsa ONLINE IV Figura 56. Salsa ONLINE V Figura 57. Estrategia de Control Figura 58. Identificación de Clases de LAMDA Figura 58. Identificación de Clases de LAMDA II Figura 59. Perfil de Clase de Población Cuantitativa Figura 60. Clasificación LAMDA Población Cuantitativa Figura 61. Asignación de Clases a Estados Funcionales Figura 62. Estados Discretos del Sistema de Tanques Acoplados Figura 63. Diagrama de Macro Estados de la Planta. 67 68 69 70 71 71 72 73 73 73 74 74 75 76 82 83 86 87 89 89 94. 5.
(6) IEL2-I-04-12. RESUMEN En este proyecto de Grado se trabajó en el diagnóstico de un proceso de control utilizando una nueva herramienta desarrollada en el instituto francés LAAS llamada LAMDA. La planta utilizada para el análisis fue el Modulo de Tanques Acoplados de la Universidad de Los Andes, incluyendo dentro del Módulo un Tanque No-Lineal. Las herramientas utilizadas para el control del proceso industrial fueron Step7 en la programación del PLC, y WINCC en el establecimiento de una interfaz de comunicación entre el proceso, la máquina y el operador; La herramienta utilizada para la emisión del diagnóstico propio de la planta fue SALSA (Situation Assesment using LAMDA Classification Algorithm). Los niveles involucrados en la estructura de producción fueron el nivel PISO DE PLANTA, el nivel MES, y el nivel ERP [1]. El primer nivel de integración (PISO), corresponde al proceso físico del Módulo de Tanques Acoplados. En el se instalaron La Bomba de Agua, dos Sensores de Presión Diferencial, y dos Válvulas ON/OFF. Por medio de la Bomba de Agua se está controlando los niveles del líquido del Módulo de Tanques Acoplados, inyectando caudal a uno de los Tanques (Tanque Lineal); Los Sensores miden la altura de la columna de agua de los tanques; Las Válvulas ON/OFF se utilizaron en el proyecto para la simulación de fallas en el sistema (Fugas en los tanques). El segundo nivel de integración (MES), corresponde a la visualización, el control, y la optimización de la producción de la empresa. Para la interfaz de comunicación entre el primer nivel y el nivel MES, se utilizó un PLC (Controlador Lógico Programable). La programación, visualización, y optimización de la producción se llevaron a cabo mediante el paquete WINCC desarrollado por SIEMENS; En el se crearon las variables necesarias, tanto de valores del proceso, así como variables internas, para el adecuado control y la simulación de fallas pertinentes de la planta. En el nivel MES a su vez se crearon las bases de datos necesarias tanto para el entrenamiento del algoritmo de diagnóstico LAMDA, como para la operación del software SALSA en tiempo real. El tercer nivel de integración (ERP), corresponde a la alta gerencia de producción, en donde se visualizan los datos mas relevantes del proceso. WINCC se utilizó además como una herramienta para la interacción en tiempo real entre SALSA y el proceso de producción. Una vez entrenado SALSA para la emisión de diagnósticos de la producción, se procede a trabajar ONLINE, en donde se toma la base de datos generada por WINCC, y se le indica al operador el modo de operación de la planta (Estados Funcionales del proceso) para tomar las medidas necesarias y preventivas con el objetivo de mejorar la producción. Palabras Clave. Mecánica de Fluidos de Bernoulli, Control por Computador, Control Discreto. Clustering, Estados Funcionales, Aprendizaje Supervisado, Aprendizaje No Supervisado, Reconocimiento, Atributo, Objeto, Población, LAMDA, Conjuntos Difusos.. 6.
(7) IEL2-I-04-12. 1.INTRODUCCIÓN. En los procesos de producción, aún no se ha encontrado la forma de generar, distribuir y comercializar mercancías con 100% de perfección. En todo proceso industrial suceden eventos inesperados e indeseados, que llamamos comúnmente errores o fallas. La identificación y el posterior reconocimiento de “Estados Funcionales” en un proceso industrial, ha tomado gran importancia en recientes años, para el diseño de sistemas que involucren la supervisión y el diagnóstico. Los procesos industriales tienden a ser complejos, y no están exentos de que se presenten eventos inesperados, en donde resulta muy complicado modelar la presencia de estos bajo fórmulas matemáticas estructuradas. Bajo la identificación de “Estados Funcionales” en una planta, se observa al proceso bajo una nueva perspectiva, en donde se obtiene una descripción cualitativa de los diferentes eventos que suceden en tiempo real. Para una óptima formación de los “Estados Funcionales” de un proceso industrial, es necesario presentar los “Objetos” o datos que se tomen de este, en forma clara y de fácil entendimiento; es decir que existe un lazo de interacción entre el operador y el sistema de diagnóstico, de forma tal que los datos mas relevantes en la descripción de conceptos son los que serán seleccionados para el debido análisis (“los árboles impiden ver el bosque”). No es de gran ayuda tener información que no permita llegar a conclusiones, hipótesis, o desarrollar un nuevo concepto basado en datos que no son relevantes, y que de forma contraria a lo que se busca, pueda afectarlo en forma negativa confundiendo al sistema[2]. La agrupación de conceptos involucran no solamente la formación automática de estos dado un conjunto de “Objetos”, sino también la adquisición de conceptos en el sentido en que un concepto será reconocido una vez halla sido formado a partir de “Objetos” anteriormente presentados. LAMDA es una metodología de aprendizaje en la formación y agrupación de nuevos conceptos en forma incremental, permitiendo tanto la creación como el reconocimiento de “Estados Funcionales”. El software utilizado para el análisis de los datos de la planta es Salsa04v1, proporcionado por Tatiana Kempowsky miembro del grupo DISCO del instituto LAAS. Para la adquisición de los datos del proceso, se dispone de la tecnología SIMATIC, la cual permite programar a diferentes niveles de descripción. Salsa04v1 da la alternativa de recibir datos “en línea”, o de recibir un archivo de datos “Fuera de línea”; la primera de las alternativas trabaja solamente bajo el modo de reconocimiento. La segunda de las alternativas trabaja bajo el modo de “aprendizaje no supervisado”, “aprendizaje supervisado”, o “modo reconocimiento”. El presente trabajo muestra a partir de simulaciones del modelo dinámico del sistema físico, de datos historiales de la planta, y de la interacción del software con el proceso en tiempo real, un diagnóstico que proporciona Salsa04v1, el cual crea diferentes clases por “clustering” en modo incremental; Posteriormente estas clases serán intervenidas y clasificadas en “Estados Funcionales”,según el concepto del operador, para el posterior “reconocimiento” de dichos estados. 7.
(8) IEL2-I-04-12. La planta controla el nivel de agua del tanque no lineal, introduciendo caudal en el tanque lineal, y comunicando los dos tanques por medio de un tubo. El control de nivel se realizó por medio de un PID, y de un algoritmo de control por lógica difusa tipo Takagi-Sugeno (varios PID adaptándose a una determinada zona de operación de la planta). El objetivo del presente proyecto consiste en estudiar, analizar e implementar un pequeño sistema de control, integrando los niveles involucrados en la estructura de producción, para que a partir del nivel ERP (alta gerencia), se tomen los datos mas relevantes del proceso de control, el sistema se auto-diagnostique, y presente una información verídica, clara y concisa, de lo que está sucediendo en la planta, para tomar las medidas necesarias para la optimización de la producción. El presente proyecto de grado trabaja con algunos de los programas industriales de la familia SIMATIC, Step7 y WINCC, conjunto con el software Salsa04v1 mencionado anteriormente. El alcance de este Proyecto de Grado llega a la implementación e integración de las tecnologías de la familia SIMATIC en conjunto con el software desarrollado por grupo DISCO del Instituto LAAS, interactuando en un proceso de Módulos de Tanques Acoplados.. 8.
(9) IEL2-I-04-12. 2. METODOLOGÍA LAMDA. 2.1. Generalidades de LAMDA. LAMDA es un sistema capaz de aprender el significado de los descriptores lingüísticos de conceptos, que caracterizan un conjunto de clases correspondientes a conceptos de alto nivel. Cada clase es representada por un conjunto de “distribuciones de posibilidad”1 las cuales modelan los descriptores lingüísticos que caracterizan la clase. La fase de aprendizaje de la metodología consiste en la modificación de los parámetros de las nombradas “distribuciones de posibilidad”, y comparte estrechamente el aprendizaje con un humano experto en la materia o proceso. La información inicial con la que parte el método consiste en un conjunto finito de descriptores lingüísticos, y un conjunto finito de “Objetos”, dándose el caso de que cada componente de cada “Objeto” representa uno y solo un Descriptor lingüístico; Al conjunto finito de “Objetos” se le llama “Población”. Un Ejemplo de la descripción anterior vemos a continuación: Nivel_T1 Nivel_T2 ctrl._Sig Output 10.845 13.845 10.000 A 10.855 13.855 10.000 A 11.657 14.657 10.000 A 12.345 15.345 9.888 A 13.648 16.648 8.586 A Figura 1. Los descriptores lingüísticos son los que se encuentran en la parte superior de la tabla, los “Objetos” son el resto de filas de la tabla. Obsérvese que en cada objeto cada columna representa una componente y por ende un descriptor. Las componentes de cada objeto pueden ser tanto cuantitativas como cualitativas en el caso de la última columna. Cada descriptor tiene una “Distribución de Posibilidad”, generado por un conjunto de “clases”, entonces a cada componente de cada “Objeto” se le asigna un “Grado marginal de pertenencia”(MAD), finalmente cada “Grado marginal de pertenencia” de cada componente de cada objeto va a contribuir con el “Grado Global de pertenencia” (GAD) de un objeto a una “clase”. Al evaluar un “Objeto”, la “clase” con el GAD mas alto será aquella en la que el “Objeto” irá a clasificar, modificando a su vez la “Distribución de Posibilidad” que tenía la “clase” específica, antes de que el “Objeto” hubiera sido clasificado. En la modificación de las nombradas distribuciones, es donde el algoritmo o método se encuentra en su fase de aprendizaje. 1. No confundir con Distribuciones de Probabilidad, en el caso estadístico.. 9.
(10) IEL2-I-04-12. La interacción del humano en el proceso de aprendizaje, hace que se mapeen las “clases” en “Estados Funcionales”, para el posterior diagnóstico y reconocimiento.. 2.2. Algoritmo de Aprendizaje. Los análisis de datos multivariados se han convertido en un medio popular de lidiar con una gran cantidad de bases de datos y estructurarlos descubriendo dispersiones y agrupándolos dentro de conjuntos cuyos elementos sean similares a los del objeto a evaluar. El conjunto de “Objetos” conformados por “atributos” o “Descriptores lingüísticos”, son muestreados a partir del proceso que se esté evaluando, pudiendo ser de dos tipos, cualitativos y / o cuantitativos. El paso siguiente al muestreo de “Objetos” consiste en definir distancias para que el conjunto de “Objetos” o “Población” se convierta en un espacio métrico; Finalmente se crean agrupamientos entre los distintos “Objetos”, dando una posible partición en los conjuntos de “Descriptores” y sus respectivas “Distribuciones de Posibilidad”[3]. Los “Objetos” se pueden presentar como archivos de “Población”, en donde se tiene una gran colección de estos, para ser analizados y clasificados dentro de sus respectivas “Clases”, o se pueden presentar como seres individuales, donde cada vez que se crea un nuevo “Objeto”, el anterior ha debido a ser analizado y destruido para dar paso al nuevo “Objeto”. En ambos casos se estima una partición de la “Población” para el agrupamiento. En el caso en que los “Objetos” se presenten como seres individuales, la estimación de la partición de la “Población” deberá ser recursiva para que no sea necesario el archivado de los “Objetos” pasados. El “Objeto” presente después de haber sido utilizado para su clasificación, cede su información para la modificación de la partición de las “Distribuciones de Posibilidad”. Mediante la modificación de las particiones el algoritmo aprende a clasificar. Algunos algoritmos como LAMDA pueden forzar a los “Objetos” a ser clasificados dentro de “clases” previamente definidas siempre y cuando se haga de forma incremental; es decir que la “clase 1” halla sido creada antes de la “clase 2”, y así sucesivamente. El proceso de aprendizaje consiste en la construcción de: a. Una estimación de un conjunto de objetos. b. Una inferencia de estructura relacional en el conjunto de objetos estimados. Basados en la información pasada. Lo anterior habilita al sistema a: a. Reconocimiento de un nuevo “Objeto” dentro de una clase. b. Modificar la estructura relacional de la partición de las clases. Este modo de aprendizaje es secuencial, y restringe al sistema a la situación en que no mas que una observación puede ser procesada en un mismo instante, y que no es permitido el archivado de “Objetos” pasados. El algoritmo tendrá sus condiciones iniciales antes de que cualquier “Objeto” llegue a ser procesado, y posteriormente, cuando el “Objeto” es analizado, las condiciones iniciales serán modificadas por este último, y la partición del 10.
(11) IEL2-I-04-12. espacio métrico (“Distribuciones de Posibilidad”) será modificada al presenciar algún nuevo “Objeto” en su “Clase”. La identificación y clasificación del “Objeto”, y la modificación de la memoria pasada del algoritmo, son las funciones que desarrolla LAMDA en su fase de aprendizaje. Que tan aproximado una nueva observación está de la estimada, son los materiales de trabajo de donde la clasificación y la modificación se basan para su desempeño. Durante el aprendizaje la parte estadística es esencial aún no sean archivados los “Objetos” pasados, la recursividad trae implícita la estadística del historial de datos que ya hallan pasado antes, de tal forma que hallan estimativos de probabilidad o para el caso de LAMDA halla una nueva partición en las “funciones de pertenencia” o “Distribuciones de Posibilidad”.. 2.2.1. Clasificaciones y Particiones. A los sistemas de clasificación se les define un conjunto que constituye el “Universo de Discurso” de los “atributos” de los “Objetos”. A este conjunto se le definen subconjuntos exhaustivos de tal forma que la unión de los nombrados subconjuntos constituyan el conjunto del “Universo de Discurso”.. sea Ω el Universo de Discurso. P = {ci }i =1 N. c1 ∪ c 2 ∪ ... ∪ c N = Ω Dado un conjunto Ω y una partición del conjunto P, a cada “elemento” (componente de un “Objeto”, representante de algún “atributo”) se le asigna una clase ci[3]. Cada partición P de cada “atributo” de los “Objetos”, definen un conjunto de funciones caracterizadoras, en donde el valor de aquel “atributo” será igual a 1, si dicho valor del “atributo” pertenece a la “clase”, y cero de lo contrario.. ⎧1 si x ∈ C i ⎩0 si x ∉ C i. χ = {χ i ( x)}i =1 / χ i ( x) = ⎨ N. Del anterior conjunto de funciones de caracterización, se define un conjunto de “reglas de decisión”, que tiene en cuenta la partición P, del conjunto “Universo de discurso” Ω. Las “Reglas de Decisión”, mapean el conjunto Ω en el conjunto de particiones exhaustivas P, asignando a cada valor de cada “atributo” de los “Objetos” una “clase”, dado que dicho valor pertenece al conjunto de valores de la partición Ci que define la “clase”. La descripción del conjunto de “Reglas de Decisión” se describe de la siguiente forma. {C. j. }. = R ( x / P) / χ j ( x) = max χ i ( x) i. 11.
(12) IEL2-I-04-12. Finalmente y sin perder generalidad, las funciones de caracterización se pueden reemplazar por “Funciones de pertenencia”, siempre y cuando las “Reglas de Decisión” no cambien.. {χ }. N. i. i =1. se Intercambia por un conjunto M = {µ i }i =1 N. µ j = max µ i ( x) ⇔ χ j ( x) = max χ i ( x)∀x i i. Figura 2. Comparación entre “Clases” y “Funciones de Pertenencia” Si se mantiene la definición de lo que es una “Regla de Decisión” para cada valor de cada “atributo” de un “Objeto” existe una clase ya sea si escogemos Funciones Caracterizadoras, o “Funciones de Pertenencia”. LAMDA es un algoritmo que utiliza conjuntos difusos tanto para la creación de “clases”, como para el posterior reconocimiento, luego las “Reglas de Decisión” serán asignaciones de “clases” en donde el valor del atributo tenga el “Grado de Pertenencia” mas alto. Teniendo en cuenta que las “Reglas de Decisión” son ahora una Asignación del “Universo de Discurso” Ω en el conjunto de “Funciones de Pertenencia” M, sin perder generalidad las “Reglas de Decisión” se pueden expresar como sigue:. R( x / P) = R( x / M ) Las funciones de pertenencia que utiliza LAMDA son funciones parametrizables, es decir que se pueden expresar por medio de una variable paramétrica de la siguiente forma:. µ j ( x ) = f ( x, θ j ) De tal forma que el conjunto de “Funciones de Pertenencia” M estén completamente determinadas por medio del conjunto de parámetros que parametrizan las funciones de pertenencia, y las operaciones para el aprendizaje que veremos a continuación, dependan de 12.
(13) IEL2-I-04-12. cada parámetro de las “Funciones de Pertenencia”, y no del valor del “atributo” del “Objeto” que se está analizando en un instante de tiempo determinado. El tamaño del conjunto finito de parámetros es el mismo que el tamaño del conjunto finito de clases de las anteriormente llamadas Funciones Caracterizadoras:. θ = {θ i }i =1 ; N. El clasificador es : R ( x / θ ) De esta forma, el determinar la partición P del conjunto Ω, consiste en determinar las “Funciones de Pertenencia” M, que al ser parametrizables (las que LAMDA utiliza), basta con determinar los parámetros θ, reduciendo el problema del aprendizaje a una estimación de parámetros θ.. 2.2.2. Algoritmo Recursivo de Aprendizaje. Solo necesitan de observaciones presentes, ya que el historial o memoria de las observaciones pasadas vienen implícitas en el estimativo de parámetros, “Funciones de Pertenencia”, o particiones del conjunto Ω. Como se explicó anteriormente las funciones que desempeña LAMDA son de asignación de cada “atributo” de cada “Objeto” a una “Clase” (escogiendo el mas alto Grado de Pertenencia), y la actualización de los parámetros, “Funciones de Pertenencia”, o Particiones del conjunto Ω, dado el nuevo “Objeto” que llegó a ser analizado. La asignación a la Clase de un “atributo” consiste en definir a partir del conjunto estimado de parámetros, el conjunto de “Funciones de Pertenencia” M, de tal forma que al “atributo” del “Objeto” sea evaluado en todas las “Funciones de Pertenencia”, para calcular su “Grado Marginal de Pertenencia” el mismo “Grado Global de Pertenencia” a cada “Clase”, (el caso multivariado (varios “atributos” para un “Objeto”) será analizado posteriormente), el “atributo” será asignado a la clase cuyo “Grado Global de Pertenencia” sea el mas alto.. sea M = {µ j (t − 1, x)}i =1 N. R( x / M ) = C j = max µ i (t − 1, x) i La actualización de los parámetros es otra función que desempeña LAMDA, de tal forma que el nuevo objeto que fue asignado a una determinada clase, cambiará la partición no solamente del conjunto Ω, sino también la forma de la “Función de Pertenencia” de la “Clase” a la cual fue asignado el “atributo” del “Objeto”. La actualización de los parámetros de las “Funciones de Pertenencia” llevan a cabo la tarea mas importante del aprendizaje, y le da la posibilidad al algoritmo de evolucionar en su aprendizaje. De no cambiar los parámetros de las “Funciones de Pertenencia”, no habría dinámica en el aprendizaje, y nos encontraríamos en un algoritmo de Lógica Difusa, cuya forma de. 13.
(14) IEL2-I-04-12. clasificación es estática, y no existiría la opción para que el algoritmo aprenda. LAMDA es una poderosa herramienta de aprendizaje de máquinas, por el hecho de que el algoritmo evoluciona en su forma de clasificar los “Objetos”. Dado que un “Objeto” es asignado a una “Clase” dependiendo de su “Grado Marginal de Pertenencia” que en el caso monovariable es el mismo “Grado Global de Pertenencia” la actualización de los parámetros viene de acuerdo al siguiente mecanismo:. θ j (t ) = θ j (t − 1) + α (t )[ f ( x(t )) − g (θ j (t − 1))] θ i (t ) = θ i (t − 1); i ≠ j Las funciones f, y g se determinan de acuerdo a los “Objetos” y el tipo de representación de las clases. La ganancia α(t) maneja la convergencia del algoritmo [3]. El valor medio recursivo es una forma de aprendizaje usual:. f ( x) = x, g (θ ) = θ , α (t ) =. 1 [3]. t. 2.2.3. Umbral de Pertenencia. Con el “Aprendizaje No Supervisado”, el número de particiones P, de “Funciones de Pertenencia” M, o de parámetros θ del conjunto Ω, es desconocido. La única clase conocida es la NIC (non informative class). En ella se modela una total homogeneización de los elementos u “Objetos”; Esta “Clase” también denominada “Clase Vacía” es conformada por aquellos “Objetos” en donde el “Grado Global de Pertenencia” máximo correspondiente a una clase diferente a la NIC es inferior al “Grado Global de Pertenencia” correspondiente a la clase NIC. Es decir:. max µ I (t − 1, x(t )) < µ 0 ( x(t )) i La clase NIC acepta a tal elemento, modificándola, además creando una nueva “Clase” que no pertenece ni a la “Clase” NIC, ni a ninguna de las clases que particionan el conjunto Ω, denominada CN+1. La función de pertenencia de la “Clase” NIC es constante, luego esta función es un Umbral de pertenencia, de tal forma que ninguna asignación va a ser hecha si el “Grado Global de Pertenencia” de las N clases antes creadas es menor al del Umbral de Pertenencia. Cuando un “Objeto” es asignado a NIC, sus parámetros se modifican y se convierten en aquellos parámetros de la nueva “Clase” que creó el “Objeto”, el cual no clasificó en ninguna de las “Clases” que fueron creadas antes.. 14.
(15) IEL2-I-04-12. θ N +1 (t ) = θ 0 + α (t )[ f ( x(t )) − g (θ 0 )] 2.2.4. Estructura del Proceso de Aprendizaje de LAMDA. Figura 3. Estructura de Aprendizaje de LAMDA[3].. Podemos observar tres formas de aprendizaje que utiliza la metodología. La primera metodología corresponde al “Aprendizaje No Supervisado”, en donde cada “Objeto” es asignado a una “Clase”, modificando la partición del conjunto Ω. La segunda metodología corresponde al “Aprendizaje Seudo Supervisado”, en donde en la última columna de “atributos” existe una clasificación previa de los objetos de acuerdo al concepto del humano, profesor o experto, la modificación de la partición se lleva a cabo hasta que el error no supere un Umbral. La tercera metodología corresponde al “Aprendizaje Supervisado”, en donde el profesor es el que decide directamente cual es la partición mas adecuada para la clasificación de los objetos, también puede corresponder una vez hallan sido creadas las “Clases” necesarias al “Reconocimiento” o “Diagnóstico”, ya que al haberse considerado que las “Clases” creadas son las suficientes para la emisión de un “Diagnóstico”, el Modificador de Partición será un bloque estático, y los “Objetos” serán clasificados en las “Clases” previamente creadas, mas no se crearan nuevas clases, como en las dos metodologías anteriormente explicadas.. 2.3. Aprendizaje Multivariable. Un “Objeto” está compuesto por componentes, y cada componente representa uno y solo uno de los n “atributos” que componen al “Objeto”. A cada “Objeto” se le asigna su “Grado Global de Pertenencia”, conforme los “Grados Marginales de Pertenencia” de los “atributos”, para cada “Clase”, asignándole la “Clase” con el “Grado Global de IEL2-I-04-12 Pertenencia” mayor. LAMDA en el caso cuantitativo, normaliza los valores en su fase de “aprendizaje”; es decir que una “Población” (colección de “Objetos”) entrena al algoritmo LAMDA para la 15.
(16) creación de clases, y para cada “atributo” de cada “Objeto” el valor máximo es extraído para normalizar los demás valores dividiéndolos por el valor máximo de cada “atributo”. La secuencia de “Objetos” entonces se encuentra en un “Hipercubo” n dimensional, dimensión que su tamaño depende del número de “atributos” que tenga el “Objeto”. El volumen de este Hipercubo es de 1 unidadesN. Considere un objeto n dimensional:. ⎡ x1 ⎤ ⎢ x 2⎥ ⎢ ⎥ x(t ) = ⎢ . ⎥, 0 < xi < 1; ⎢ ⎥ ⎢ . ⎥ ⎢⎣ xn ⎥⎦ Para cada “Clase” CK corresponde un vector de parámetros que caracterizan dicha “Clase”, y que parametrizan las “Funciones de Pertenencia” de cada “atributo”, para cada “Clase” así:. ⎡ ρ 1, K ⎤ ⎢ρ ⎥ ⎢ 2, K ⎥ N ρ K = ⎢ . ⎥, 0 < ρ i , K < 1; M = {ρ i }i =1 ⎥ ⎢ . ⎥ ⎢ ⎢⎣ ρ n , K ⎥⎦ Siendo M ahora el conjunto de los parámetros que caracterizan las “Funciones de Pertenencia”. Ahora se procede a calcular el “Grado Marginal de Pertenencia” de cada “atributo” a una “Clase”, definiendo su “Función de Pertenencia” en función del parámetro correspondiente al “atributo”.. µ i , K ( x) = ρ ixi, K (1 − ρ i , K )1− xi siendo K, el índice de la “Clase” CK. Una vez calculado los respectivos “Grados Marginales de Pertenencia” de cada “atributo”, se procede a calcular el “Grado Global de Pertenencia” del “Objeto”, existiendo diversas formas de hacerlo. El operador mas usado es el “Y” difuso. La forma como opera el “Y” en LAMDA es por medio de conectores TIEL2-I-04-12 Norma y T-Conorma [4]. La T-Norma, halla el mínimo “Grado Marginal de Pertenencia” entre el conjunto de “atributos” que conforman un “Objeto” para cada “Clase” CK. La T-Conorma, halla el. 16.
(17) máximo “Grado Marginal de Pertenencia” entre el conjunto de “atributos” que conforman un “Objeto” para cada “Clase” CK.. GAD = α * min µ i , K + (1 − α ) * max µ i , K [4]. i i. Para la modificación del vector de parámetros que caracterizan las “Funciones de Pertenencia” se utiliza un procedimiento similar al del caso monovariable, es decir se escogen funciones f (RN => RN) , g(RN => RN) y α(t) de tal forma que evolucione el algoritmo y aprenda del historial de datos. Un “Objeto” es ahora asignado a una determinada “Clase” CK, si el GAD es el mas alto entre el conjunto de todas las “Clases” creadas incluyendo la clase NIC. Cuando se realiza la asignación del “Objeto” a la “Clase”, los parámetros de la “Clase” asignada cambian de forma dependiente a los valores de los “atributos” del “Objeto” de la siguiente forma:. ρ j (t + 1) = ρ j (t ) +. 1 ( x(t ) − ρ j (t )) N j (t ) + a. [3]. ρ i (t + 1) = ρ i (t ), para i ≠ j Nj(t) es el número de “Objetos” que han sido añadidos a la “Clase” Cj, el parámetro “a” representa un número ficticio inicial de elementos, y es el mismo para todas las clases. Es un número ficticio inicial, porque al principio no ha habido ninguna asignación de ningún “Objeto” a una determinada “Clase” luego Nj(t) es cero para todas las clases. Cuando existe un “Objeto” que no clasifica en ninguna de las “Clases” debido a que su “Grado Global de Pertenencia” para todas las “Clases”, es inferior al “Umbral de Selección”, se crea una nueva “Clase” CN+1 y los parámetros de esta nueva “Clase” vienen únicamente determinados por los parámetros del “Umbral de Selección” y por los valores de los “atributos” del “Objeto” que no pudo ser clasificado en ninguna de las “Clases” precedentes. La modificación queda así:. ρ N +1 (t ) = ρ 0 +. 1 ( x(t ) − ρ 0 ) 1+ a. Esta ecuación de adaptación es similar a la ecuación del caso monovariable, la diferencia está en que la estimación de los parámetros de la nueva “Clase” ρ es ahora un vector y no un valor. El algoritmo LAMDA evoluciona hasta que la variabilidad de las clases se pierda. Conforme un “Objeto” es asignado a una determinada “Clase” el número NK(t) aumenta de tal forma que la variación de parámetros no cambia de la llegada de un “Objeto” a otro, además a medida de que el número total de “Objetos” llegan a ser procesados por el algoritmo, va a ser menos probable que se creen nuevas clases por el concepto de variabilidad; sin embargo, para tener un buen número de “Clases” para ser clasificadas o 17.
(18) IEL2-I-04-12. mapeadas en “Estados Funcionales”, el índice α deberá hacerse tan cercano a uno como se pueda, porque este número el cual oscila entre 0 y 1, indica el índice de selectividad de LAMDA. Para el caso de “Aprendizaje” tanto “Aprendizaje Supervisado” como “Aprendizaje No Supervisado”, este índice lleva a crear mayor cantidad de “Clases” entre mas grande sea. Para el caso de “Reconocimiento” este índice lleva a ser mas exigente el algoritmo en el momento de mapear los valores en “Estados Funcionales”. 2.3.1. Caracterización de Clases. Dada una clase CK, el conjunto representativo de parámetros es el vector ρK; Mediante La función discreta hK(i) = ρK(i) se obtiene el perfil de la “Clase”, es decir que son los valores de las componentes de el “Objeto” mas representativo perteneciente a la clase CK. Las directas lecturas de los perfiles anteriormente descritos, dan una idea de la tipología obtenida de cada “Clase”, siendo utilizadas para la comparación e interpretación de las diferentes “Clases” que fueron creadas a partir del entrenamiento [3]. En cualquier instante de tiempo se puede determinar la “Distribución de Posibilidad” a partir del conjunto de parámetros que estiman la partición de un determinado “Universo de Discurso”.. {ρ }. N. K. k =1. :Conjunto de parámetros. µ i , K ( xi ) = ρ i , K (1 − ρ i , K )1− xi xi. La función µi,K representa la proyección de GAD en el eje de coordenadas hipercartesianas “i”. La posibilidad de que un descriptor “i” tome un valor xi para un objeto que pertenezca a la “Clase” CK, depende de toda la partición del conjunto Ω. Esta posibilidad esta dada por la siguiente interpretación matemática:. Π K (x j ) = • • •. µ K ( xi ) 1 − µ M ( xi ) * [3]. µ M ( xi ) 1 − µ K ( x i ). GADK(xj): Es el grado de pertenencia de una determinada componente de un “Objeto” o “atributo” a la “Clase” CK 1-GADK(xj): Es el grado de no pertenencia de una determinada componente de un “Objeto” o “atributo” a la “Clase” CK.. GADM ( x j ) = max GAD j ( x j ) : Es el grado máximo de pertenencia de j =1... N. un “atributo” de un “Objeto”, teniendo en cuenta todas las “Clases”. IEL2-I-04-12 • 1-GADM(xj): Mínimo Grado de no-Pertenencia de un “atributo” de un “Objeto” a una determinada Clase. Como la decisión de la asignación de un “Objeto” a una determinada “Clase”, es la escogencia del valor máximo del GAD (“Grado Global de Pertenencia”), la distribución de. 18.
(19) posibilidad descrita en la página anterior (ΠK(xj)), toma el valor de 1 si el valor máximo de pertenencia, y el Grado de pertenencia del “atributo” en cuestión al que nos estamos refiriendo son iguales.. GADK ( xi ) = GADM ( xi ). El Conjunto :{Π K ( x j )}K =1 N. El Conjunto de las “Distribuciones de Posibilidad” definen una partición difusa en cada uno de los ejes de coordenadas hipercartesianas, haciendo fácil la asociación a cada “Distribución de Posibilidad” una restricción difusa relacionada con la representación de cualquier eje en tal manera que estas “Distribuciones de Posibilidad” modelan las características de una determinada “Clase” CK[3]. 2.4. Algoritmo de Programación de LAMDA. Como se ha venido explicando, cada “Objeto” está descrito por un conjunto n dimensional de “atributos” y se representan por medio de vectores, donde cada componente corresponde a algún “atributo” de un “Objeto”. El conjunto de estos vectores se le llama “Población”, o en un sentido mas práctico “Base de Datos”. Una de las ventajas que tiene la metodología LAMDA, es que el aprendizaje lo puede hacer tanto para “Objetos” cualitativos como para “Objetos” cuantitativos, característica que no muchas metodologías de aprendizaje tienen. Los “atributos” entonces sin perder generalidad, pueden considerarse cuantitativos, o cualitativos. Aquellos “atributos” que son cualitativos obtienen sus valores de un “Conjunto no Ordenado”, mientras que aquellos “atributos” que son cuantitativos obtienen sus valores de un “Conjunto Ordenado”. Un “Objeto” es cuantitativo, cuando todos sus “atributos” son cuantitativos; Un “Objeto” es cualitativo, cuando todos sus “atributos” son cualitativos; Finalmente un “Objeto” es mixto cuando sus “atributos” son en parte cualitativos, o cuantitativos. LAMDA reescala aquellos “atributos” que son cuantitativos, normalizándolos, es decir que a cada valor se le divide por el máximo valor encontrado en el “atributo”. La formación de “conceptos” o “Clases” está basado en reglas heurísticas, (aquella “Clase” cuyo objeto tenga el máximo GAD) Calculando así un “Grado de Pertenencia” entre el “Objeto” y cualquiera de las “Clases” creadas. LAMDA modela total homogeneidad del “Contexto” de donde vienen los “Objetos”, por medio de una “Clase” que acepta a todos los “Objetos” de la misma manera (“Clase” NIC). Dicha “Clase” representa el concepto de entropía en el espacio dentro del cual se emiten los “Objetos”[5]. Esta “Clase” cuyo “Grado Global de Pertenencia” (GAD) es el mismo para todos los “Objetos”, sirve como un “Umbral” de forma tal que ningún “Objeto” será clasificado dentro de una “Clase” distinta a la NIC, con un GAD menor al “Umbral”. La “Clase” NIC, juega un papel importante en la formación de nuevos “Conceptos” o “Clases”. 19.
(20) IEL2-I-04-12. El método LAMDA, busca por separado la contribución de “Pertenencia” de un “Objeto” a una “Clase” por medio de los conectores T-norma y T-Conorma, entre la información parcial o el “Grado Marginal de Pertenencia”. Estos Conectores se refieren a las operaciones entre conjuntos de Unión e Intersección, difiriendo de las “Densidades de Probabilidad”, debido a que la Probabilidad no está determinada por medio de las leyes de “Marginalidad”. Los conectores pueden encontrarse en algún punto entre la Unión o la Intersección por medio del factor α, introducido en la sección 2.3. Un “Objeto” no va a ser asignado a una “Clase” debido a el “Grado Marginal de Pertenencia” de sus “atributos” por ser altos, sino por un criterio que se evalúa a partir del parámetro α en el GAD (“Grado Global de Pertenencia”). Desde el punto de vista de “Agrupamiento Conceptual”, el construir particiones significativas es mas un proceso de atribución de “Clases” preestablecidas a partir de “Objetos” dados, en vez de la construcción de “Clases” por medio de la comparación de “Objetos” directamente uno a uno, utilizando medidas de similitud usualmente modeladas por medio del patrón “Distancia”. LAMDA enfrenta a los “Objetos” a “Clases” preestablecidas, buscando aquella que sea la mas “Adecuada” para el “Objeto”; La similitud no es la esencia de la formación o reconocimiento de “Clases”, sino un resultado del “Grado de Pertenencia” de un “Objeto” a una “Clase”. Dado un “Objeto” y una “Clase”, LAMDA calcula para cada “atributo” del “Objeto” un grado de “Emparejamiento” entre el valor que el “atributo” toma sobre el “Objeto” y el valor que el “atributo” toma sobre la “Clase”. Este es el concepto de “Grado Marginal de Pertenencia”. Una vez la pertenencia se sabe, el sistema LAMDA las utiliza para calcular el “Grado Global de Pertenencia” de un “Objeto” a la “Clase”. En el proceso de formación de “Clases” una “Clase” será inicializada en cualquier tiempo a NIC, la cual tiene el GAD mas alto. En el proceso de “Reconocimiento” aquellos “Objetos” cuyo máximo GAD lo toma solamente la “Clase” NIC, no serán asignados a ninguna otra “Clase” formada previamente. En la formación de “Clases” entonces NIC siempre estará vacío, mientras que en el “Reconocimiento” de “Clases” NIC contendrá aquellos “Objetos” que en vista de que no lograron ser reconocidos, clasificarán en NIC. Durante el proceso de “Reconocimiento”, el espacio vectorial que comprende las “Clases” formadas en el proceso de aprendizaje, va a ser estático, en donde ninguna “Clase” mas es creada, y todos los “Objetos” serán clasificados, algunos que no se encuentren dentro del espacio de “Clases” significativas en la “Clase” NIC. Cuando un “Objeto” llega al sistema, el algoritmo puede ser activado en dos diferentes modos; El modo de “Aprendizaje” en sus dos modalidades, ya sea “Aprendizaje Supervisado”, o “Aprendizaje no-Supervisado”, y el modo de “Reconocimiento”. El modo de Reconocimiento es recomendable utilizarlo cuando se considera que la formación de “Clases” o “Conceptos” han sido suficientes según el experto. De otra forma el algoritmo entra en un proceso que involucra la formación de “Clases” o “Conceptos”. Este proceso de aprendizaje puede ser inicializado por medio de un conjunto de “Clases” preestablecidas. 20.
(21) IEL2-I-04-12. (“Aprendizaje Supervisado”), o con carencia de estas en cuyo caso la única “Clase” existente es la NIC (“Aprendizaje No-Supervisado”). El algoritmo es el siguiente[5]: 1. Dado un “Objeto” que llega al algoritmo, se procede a calcular los respectivos “Grados Marginales de Pertenencia” de cada “atributo” para cada “Clase” así:. µ i , K = ρ i , K * (1 − ρ i , K )1− xi xi. xi : atributo i del objeto x K representa el índice de la “Clase” a la cual se le está evaluando su grado de pertenencia. El índice i representa el iésimo atributo del “Objeto” que llega al algoritmo. ρK representa el vector que parametriza las “Funciones de Pertenencia” de la “Clase” CK. 2. Calcular a partir de los “Grados Marginales de Pertenencia” de cada “atributo” componente de un “Objeto”, el “Grado Global de Pertenencia” (GAD) del “Objeto” a cada “Clase” de la siguiente forma:. GADK ( x) = α * min µ i , K + (1 − α ) * max µ i , K i i. α representa el parámetro de exigencia del algoritmo para la Creación de “Clases”. Para hallar el GAD, LAMDA utiliza conectores T-Norma y T-Conorma, calculando un valor que se encuentra entre la Intersección y la Unión, del conjunto de “Funciones de Pertenencia”. 3. Una vez calculados los GAD o “Grados Globales de Pertenencia”, se deberá encontrar el valor máximo entre los K GAD hallados correspondientes a las K “Clases” que se habían creado en un instante o momento así:. R ( x / M ) = max GADK ( x) = C K K. R corresponde a la regla de decisión, y asigna una “Clase” o partición del conjunto Universal Ω a la clasificación. 4. Pueden Ocurrir dos Posibilidades 4.1. “Modo Reconocimiento”: El “Objeto” x es clasificado en la “Clase” donde el GAD fue el mas alto. Si el “Objeto” es clasificado en la “Clase” NIC, se dice que dicho “Objeto” no fue reconocido en la clasificación. 4.2. “Modo de Formación Conceptual” sea “Supervisada” o “No Supervisada”, existen dos posibilidades: 4.2.1. GADK, y por ende CK, no corresponde a la “Clase” NIC, el “Objeto” x va a ser clasificado en la “Clase” CK, variando los parámetros de CK de la siguiente forma:. ρ j (t + 1) = ρ j (t ) +. 1 * ( x − ρ j (t )); para j = K . N j (t ) + 1. ρ j (t + 1) = ρ j (t ); para j ≠ K . Donde Nj(t), corresponde al número de “Objetos” que han sido asignados a la “Clase” CK.. 21.
(22) IEL2-I-04-12. 4.2.2. GADK y por ende CK corresponde a la “Clase” NIC. Esto significa que el “Objeto” x es el primer elemento asignado a una nueva “Clase” CK+1, la representación de esta nueva “Clase” dependerá del nuevo “Objeto” x, el cálculo se hace de la siguiente manera:. 1 2. ρ K +1 (t + 1) = ρ 0 + * ( x − ρ 0 ) donde ρ0 corresponde al parámetro estático de la “Clase” NIC; Como se ha venido explicando, cualquier “Objeto” cuyos GAD sean inferiores al GAD de NIC, no serán clasificados en ninguna otra “Clase” mas que la NIC. Para mantener el concepto de unicidad de pertenencia de un “Objeto” a una “Clase”, en el algoritmo la regla de “La Primera Clase Encontrada” se añade; De esta manera al calcular los GAD los cuales indican el “Grado de Pertenencia” de los “Objetos” a cada una de las “Clases”, en caso de que se encuentren GAD iguales, el “Objeto” será clasificado en la primera “Clase” donde se halla obtenido el mayor GAD o “Grado Global de Pertenencia”. LAMDA trata a los “Objetos” en una manera secuencial, haciendo posible la interacción entre las dos acciones que desempeña el algoritmo, es decir la Formación de “Conceptos” o “Clases”, y el Reconocimiento de las creadas “Clases”, permitiendo así mismo la Asignación de las “Clases” a “Estados Funcionales” a través de la interfaz hombre-máquina que el algoritmo tiene. Debido a que el algoritmo consiste en agrupaciones conceptuales, LAMDA considera a los “Objetos” entrantes como “Full Conceptual” [5], es decir que cada “Objeto” representa un ejemplo de un “Concepto” o “Clase”, contrario a otros algoritmos de clasificación, los cuales al buscar similitudes entre diferentes “Objetos”, el conjunto de “Objetos” estarán conceptualmente relacionados, es decir que los “Objetos” por si solos carecen de significado. Para el cálculo del “Grado Marginal de Pertenencia” de un “atributo” correspondiente a un “Objeto” en el caso cualitativo, cada “Objeto” tiene un conjunto finito de “Modalidades”, Observe que en el caso cuantitativo, el “Objeto” tiene un conjunto infinito de valores que oscilan dentro del intervalo [0 1]. En el caso Cualitativo el conjunto es finito, y cada valor que pertenece a este conjunto finito es una “característica” del “Objeto”. Cada elemento de este conjunto finito recibe el nombre de “Modalidad”. A cada “Modalidad” del “atributo” correspondiente a un “Objeto”, se le asigna una ponderación. Para hallar los parámetros iniciales del conjunto total de “Modalidades”, hallamos a partir de la razón entre la unidad y el número de “Modalidades” que existen en cada determinado “atributo” de cada determinado “Objeto”. Este vector de parámetros a lo largo de la ejecución de LAMDA es constante y representa los parámetros de la “Clase” NIC.. 22.
(23) IEL2-I-04-12. sea x un objeto xi , un atributo cualitativo de dicho objeto. {x }. Ki. i ,M. :Conjunto de Todas las mod alidades del atributo M =1. [5]. K i : Numero de mod alidades del atributo xi Para el algoritmo de programación de la metodología LAMDA que se explicó anteriormente (Pasos 1 al 4), el primer paso (el cálculo del “Grado Marginal de Pertenencia” de un “atributo” cualitativo), se modifica de la siguiente forma: Paso 1. Considere una función χ(xi), siendo xi el “atributo” cualitativo a analizar. Considere a la vez que xi representa a un conjunto de una serie finita de “Modalidades” como las descritas al principio de la página:. ⎧1, si j = M [5] 0 , si j ≠ M ⎩. χ ( xi , j ) = ⎨. M representa el índice de la respectiva “Modalidad” del conjunto de “Modalidades”, con que una “Modalidad” esté presente en un “atributo” en un instante de tiempo, esta hace que el resto de “Modalidades” en el mismo instante de tiempo evaluadas en la función χ(xi) sean iguales a cero. Para inicializar los parámetros de los “n” “atributos” y considerando que hay para cada “atributo” “mi” “Modalidades” en el caso cualitativo para el vector de parámetros de la “Clase” NIC se tiene:. ⎡1. 1. 1. 1 ⎤. ρ 0 = ⎢ , , ,..., ⎥ [5] mn ⎦ ⎣ m1 m 2 m3 Observar que en el caso cuantitativo, el número de “Modalidades” es dos, es decir que el vector de parámetros de la “Clase” NIC la cual como se explicó antes, es constante a lo largo de la ejecución del algoritmo LAMDA, permitiendo el modelamiento del concepto de “Homogeneidad” para facilitar la creación de nuevas “Clases”. ⎡1 1. 1⎤. ρ 0 = ⎢ , ,..., ⎥ [5] 2⎦ ⎣2 2 Para el cálculo del “Grado Marginal de Pertenencia” de los “atributos” cualitativos, se procede primero a evaluar la función χ(xi,j), para así identificar la “Modalidad” que está activa (pues su valor no es cero) en un determinado instante de tiempo. Una vez asignado el. 23.
(24) IEL2-I-04-12 “Objeto” a una determinada “Clase”, el algoritmo cuenta el número de “Objetos” que han sido asignados a la “Clase” en cuestión, procediendo luego a evaluar los parámetros de las “Modalidades”, de la misma forma como se evalúa la evolución de los parámetros cuantitativos explicados en el macroalgoritmo de programación numeral 4.2.1. El resultado de estos parámetros. El algoritmo de Programación Completo queda de la siguiente manera: 1. Dado un “Objeto”, calcular los “Grados Marginales de Pertenencia” de todos los “atributos” que posea dicho objeto, determinando primero si dichos atributos son cuantitativos o cualitativos. (LAMDA considera “Objetos” cuantitativos de empezar con signo, punto o número, y cualitativo de lo contrario):. µ i , K (t ) = ρ i , K (t ) xi ( t ) * (1 − ρ i , K (t ))1− xi ( t ) ; Caso Cuantitativo,. Clase C K. µ (t ) = µ (t − 1) + j i ,K. j i ,K. χ ( xi , j ) − µ i j, K (t − 1) N C (t ) + 1. ; Caso Cualitativo. µ i , K = µ i j, K , Si el atributo es cualitativo “j” representa la “modalidad” activa de algún “atributo” cualitativo presente en un determinado “Objeto”. 2. Dados los “Grados Marginales de Pertenencia” calcular los “Grados Globales de Pertenencia” (GAD). GAD K = α * min µ i , K + (1 − α ) * max µ i , K . i. i. 3. Una vez hallados los GAD asignar una determinada “Clase” al “Objeto” de análisis, escogiendo el máximo GAD.. R( x / M ) = max GAD K = C K K. 4. Pueden Ocurrir dos Posibilidades: 4.1. Modo de Reconocimiento. El “Objeto” analizado es clasificado a una “Clase” donde el GAD es el máximo entre el conjunto de “Clases”. De ser asignado el “Objeto” a la “Clase” NIC, se dice que dicho “Objeto” no fue reconocido. 4.2. Modo de Formación Conceptual sea “Supervisada” o “No Supervisada”, existen dos Posibilidades: 4.2.1. GADK y por ende CK, No corresponde a la “Clase” NIC. El “Objeto” analizado es asignado a la clase donde el GAD fue el mayor. Los parámetros de. 24.
(25) IEL2-I-04-12. aquellos “atributos” que son cuantitativos, se hallan de la misma forma que se explicó anteriormente; Los parámetros de aquellos “atributos” que son cualitativos, hay que modificarlos de la misma manera que en el numeral 1 del presente algoritmo, es decir hallando la “Modalidad” activa, y modificando los parámetros de cada “Modalidad”. De hecho con hacer el paso 1, no es necesario calcular la evolución de parámetros de los “atributos” cualitativos, porque su parámetro es el mismo “Grado Marginal de Pertenencia”. Los parámetros de los “atributos” cuantitativos son necesario hallarlos, y por ende presentamos a continuación la forma como se calcula la evolución de los parámetros:. ρ j (t ) = ρ j (t − 1) +. x − ρ j (t − 1) N C (t ) + 1. , Parametros Cuantitativos; j = K. ρ j (t ) = ρ j (t − 1), Parametros Cuantitativos; j ≠ K . µ (t ) = µ (t − 1) + j i ,K. j i ,K. χ ( xi , j ) − µ i j, K N C (t ) + 1. ,Parametros Cualitativos;. Clase K No hay que olvidar calcular la evolución de los parámetros de TODAS las “Modalidades” de los “atributos” cualitativos, teniendo en cuenta que la función χ(xi,j) es uno cuando la “modalidad” del atributo está activa, y es cero cuando la “Modalidad” esta inactiva. 4.2.2. GADK y por ende CK corresponden a la “Clase” NIC. El “Objeto” pasa a ser nuevo miembro de una nueva “Clase”.. ρ N +1 (t ) = ρ 0 + µ. j i , N +1. (t ) = µ. j i ,0. x − ρ0 , Parametros Cuantitativos. N C (t ) + 1. χ ( xi , j ) − µ i j, 0 N C (t ) + 1. ,. Modalidades y parámetros Cualitativos nuevamente calculando los parámetros de TODAS las “Modalidades” de los “atributos” cualitativos presentes en los “Objetos”, para la nueva “Clase” que se creó. Como se puede observar, los parámetros de la nueva “Clase” van a ser muy dependientes del nuevo “Objeto” que no pudo ser asignado a ninguna de las “Clases” anteriormente creadas. Se puede observar a su vez que cuando un “Objeto” es asignado a una “Clase” ya preestablecida, dicho objeto va a modificar los parámetros de pertenencia de la “Clase”.. 25.
(26) IEL2-I-04-12. 2.5. Objetivos y Procedimiento para creación de Estados Funcionales. LAMDA durante la etapa de entrenamiento, crea “Clases”, que posteriormente el experto operador va a mapearlas en “Estados Funcionales”. El objetivo del presente algoritmo es el de obtener una descripción por medio de “Estados Finitos” o “Estados Funcionales” de algún proceso desconocido o difícil de caracterizar. El experto operador puede no estar familiarizado con la dinámica del sistema que se está diagnosticando en el sentido en que pueda que no conozca las ecuaciones diferenciales de estado que describen y gobiernan la planta. Sin embargo, el operador debe estar familiarizado con los “Estados” de la planta, y LAMDA le sirve como ayuda para la identificación de estos. Las “Clases” son formadas de manera incremental, es decir que la “Clase 1” es formada antes que la “Clase 2”, y así sucesivamente. Cada “Clase” es disparada a otra por medio de una transición, o un “atributo” significativo en la formación de una nueva “Clase”; Por ejemplo cuando el nivel de agua en un tanque baja debido a alguna fuga presente en el proceso, LAMDA forma una nueva “Clase” y la transición se debió a la baja del nivel de agua en el tanque. Finalmente una vez creadas las “Clases” que el operador considera las adecuadas del proceso, se termina de modelar el sistema por medio de una descripción de “Estados Finitos”, o por medio de una red de Petri, donde las etapas son las “Clases”, y las transiciones son los “atributos” significativos que han contribuido a la formación de dichas “Clases”. El los “Estados Funcionales” son un nivel mas alto de descripción, y corresponderían al maestro de la red de Petri que se formó con las “Clases”.. 26.
(27) IEL2-I-04-12 3. Modelaje del Módulo de Tanques Acoplados. Se utilizó un reservoir el cual servía para almacenar el agua que iba a ser succionada por la bomba. Se utilizaron dos Tanques acoplados por medio de un tubo de PVC. Se utilizó una bomba de agua cuyo caudal es proporcional al voltaje que se le aplique. Se utilizaron dos válvulas que simulaban fugas en los tanques. Para la instrumentación de la planta se dispusieron de dos sensores MPX2010GP de presión diferencial los cuales medían la altura del nivel de agua en cada uno de los Tanques, dos amplificadores de instrumentación los cuales amplifican la señal que emiten los sensores. Un Controlador Lógico Programable (PLC), que recibe y emite las señales del y para el proceso.. 3.1. Tanques. El primer Tanque es lineal, es decir que su área transversal no cambia con el tiempo. El segundo Tanque es no-lineal, poseyendo cuatro zonas de operación, dos zonas de las cuales son lineales (área transversal del tanque constante), y dos zonas de las cuales el área transversal va cambiando linealmente en función de la altura de la columna de agua. 3.1.1. Tanque Lineal. Este es el tanque donde la bomba va a mandar el agua proveniente del Reservoir. Tiene un área transversal constante de 110.25 cm2, y una altura total de 60 cm. La altura total se tiene en cuenta para escalar el sensor que mide la altura de la columna de agua. El agua es bombeada hacia la parte superior del tanque lineal porque para la bomba es mas sencillo tener que bombear hacia una zona donde la presión de salida es la atmosférica, y no por el contrario, si se hubiera bombeado en la zona inferior, la bomba tendría que superar la presión ejercida por la columna de agua.. Figura 4. Tanque Lineal. El área del tubo de PVC que comunica la bomba con el Tanque lineal es de 0.307cm2. 27.
(28) IEL2-I-04-12 3.1.2. Tanque No-Lineal. El tanque Lineal va a enviarle agua a este tanque por medio de un tubo de PVC como acople. La longitud de este tubo de PVC es de 10cm, y su área transversal es de 0.307 cm2; El área transversal de la columna de agua varía en función de la altura de la columna de agua debido a la no linealidad del recipiente o Tanque. La altura total del tanque no-lineal es de 40cm, la cual se tiene nuevamente en cuenta para el escalamiento del segundo sensor de presión diferencial que mide la altura de este tanque. El sumidero del Tanque (el consumo o demanda de agua) es acoplado por medio de otro tubo de PVC, cuya área transversal es de 0.173cm2, y manda agua al reservoir de la planta.. Figura 5. Tanque No-Lineal. 110.25, 0 < h < 8cm ⎧ ⎪ 20 ⎧ ⎫ (h − 8)⎬, 8cm < h < 17.5cm ⎪⎪ 10.5 * ⎨21.5 + 9.5 ⎩ ⎭ A(h) = ⎨ ⎪10.5 * ⎧⎨41.5 − 20 ( h − 17.5)⎫⎬,17.5cm < h < 27cm 9.5 ⎪ ⎩ ⎭ ⎪⎩ 225.75, h > 27cm Se observa que hay cuatro zonas de operación del tanque, dos de ellas tienen área constante, y en las otras dos el área transversal es función de la altura de la columna de agua. La presión con que el agua entra al tanque no-lineal tiene que superar la presión ejercida por la columna de agua de este. Por esta razón la altura de la columna de agua del Tanque lineal debe ser mayor a la altura de la columna de agua del Tanque no-lineal, de lo contrario 28.
(29) IEL2-I-04-12 el agua fluiría hacia el Tanque lineal, y no se podría controlar la altura del Tanque nolineal. 3.2. Bomba de Agua. Al aplicarle un voltaje, la bomba emite un caudal hacia el Tanque lineal, el cual es aproximadamente proporcional al voltaje que se le aplica. El consumo de corriente de la bomba para un voltaje de 12Volt es de 500mA. El PLC no aguanta tal consumo, razón por la cual se tuvo que acondicionar la señal del PLC, con el motivo de acoplar impedancias y soportar el consumo de potencia demandado por la Bomba.. Figura 6. Circuito de acondicionamiento Señal hacia la Bomba. Ref[1]. Se hicieron una serie de pruebas con el propósito de caracterizar la dinámica de la bomba de agua. Las pruebas consistieron en llenar el Tanque lineal con todos sus orificios tapados mediante un barrido en el voltaje aplicado sobre la bomba. Se hicieron diez barridos, entre 1V y 10V, midiendo para cada voltaje el tiempo que se demora el llenar el Tanque. Dividiendo el volumen total del tanque entre el tiempo total de llenado del tanque se obtiene el caudal que arroja la bomba para cada voltaje que se le aplicó. Teniendo 10 datos (voltajes entre 1V y 10V), se hace una regresión lineal entre el caudal y el voltaje. Estas pruebas se hicieron mediante el PLC y WINCC; en WINCC mediante una rutina se le indicaba al PLC cuanto era el voltaje que se deseaba caracterizar el caudal, el PLC tenía cargado un programa que escalaba y desescalaba los datos que se le arrojaban al proceso. Para ver mas información sobre la programación del PLC se sugiere ver la referencia [1]. El valor de la pendiente de la regresión lineal sirvió para modelar la bomba como una ganancia que amplifica la señal de voltaje. Simplemente se modeló como una ganancia porque su tiempo de respuesta (100 ms) es mucho menor al tiempo de respuesta de la planta en general (5 min). 29.
(30) IEL2-I-04-12. Caudal(cm3/seg). Voltaje 1V 2V 3V 4V 5V 6V 7V 8V 9V 10V. 3.88 7.90 12.00 17.60 19.50 24.06 27.23 32.00 36.09 38.80. Bomba 50 Caudal. 40 30 Serie2. 20 10 0 1. 2. 3. 4. 5. 6. 7. 8. 9 10. Voltaje. Nota: Para determinar el caudal se midió el tiempo que demoraba la bomba en llenar el tanque lineal con todos los orificios tapados, dividiendo el volumen total del Tanque entre el tiempo tomado por la bomba:. Q=. Volumen tiempo. La pendiente de la gráfica anterior es de aproximadamente 4. En la dinámica de la planta la bomba se modeló como una ganancia de 4, para la posterior sintonización del PID discreto que controla el nivel del tanque no-lineal.. 30.
(31) IEL2-I-04-12 3.3. Válvulas On-Off. Se necesitaron de dos electro válvulas para simular fugas en los tanques. Se encuentran en dos posiciones las cuales son totalmente abierta y totalmente cerradas. Es necesario alimentarlas con 110Vac, y controlar sus estados por medio de relays de estado sólido, enviando 5Vdc en caso de que se desee abrirlas al 100%, y 0Vdc en caso de que se desee cerrarlas (0% de apertura).. Figura 7. Electro válvula. Ref [1].. 3.4. Sensores MPX2010GP. Sensores utilizados para la medición de altura de las columnas de agua en los tanques lineal y no lineal. Son sensores que miden presión diferencial entre la columna de agua y la presión atmosférica.. Figura 8. Circuito Acondicionamiento señal sensores. Ref[1].. 31.
(32) IEL2-I-04-12 La altura máxima de la columna de agua del tanque lineal es de 60cm, mientras que la altura máxima de la columna de agua del tanque no-lineal es de 40cm. Tienen la especial característica de que el voltaje de salida es muy lineal y proporcional a la presión que se mide del proceso. Para calibrarlo basta con llenar ambos tanques hasta el 100%, y acomodar la ganancia (por medio del trimmer o resistencia variable) para que en el 100% de altura hallan 10Vdc a la entrada del PLC, por supuesto al 0% de llenado de cada uno de los tanques habrá 0Vdc a la entrada del PLC. 3.5. Controlador Lógico Programable (PLC).. Figura 9. PLC. Encargado de adquirir los datos del proceso además de interactuar con este. Se utilizan entonces tres señales análogas (Voltaje sobre la Bomba, Nivel del Tanque Lineal, Nivel del Tanque no-Lineal), y dos señales digitales (Las dos válvulas de fuga) jerarquizadas de la siguiente forma: Entrada: • Análoga o PEW 128 (nivel del Tanque Lineal) o PEW 130 (nivel del Tanque no-Lineal) Salidas: o Análoga: o PAW 128 (Voltaje sobre la Bomba) o Digital: 32.
(33) IEL2-I-04-12. o A 124.0 (Válvula de Fuga Tanque Lineal) o A 124.3 (Válvula de Fuga Tanque No-Lineal). El PLC se encarga de la adquisición de datos, además de ser un actuador, para los algoritmos de programación para el control de la planta se utilizó WINCC, una herramienta de SIMATIC que emula la interfaz hombre-máquina. 3.6. Modelo matemático de la unión de Componentes de la Planta.. Figura 10. Plano de Tanques Acoplados. Todos los tubos a excepción del tubo de consumo, tienen un área transversal de 0.307cm2. El tubo de consumo tiene un área transversal de 0.173cm2. El modelo de la planta es de segundo orden, y no se tuvo en cuenta la resistencia del tubo que comprende la bomba y el Tanque Lineal. Para modelar la dinámica del sistema se utilizaron las ecuaciones de la mecánica de fluidos de Bernoulli, las cuales tienen un comportamiento cuadrático que contribuyen a la no linealidad del sistema así ambos tanques fueran lineales. La bomba como se dijo anteriormente se modeló por medio de una ganancia. Las válvulas de fuga se modelaron como perturbaciones del sistema, que en condiciones normales de operación no estrían presentes. Para el modelamiento de la planta se utilizó además el principio de conservación de la Energía y la materia. Al haber dos elementos acumuladores de materia (agua), el modelo de la planta resulta ser de segundo orden. No se tuvieron en cuenta efectos de turbulencia por posible filtración de aire en los tubos. Las fallas que supuestamente suceden inesperadamente se simulan en el presente modelo para describir lo que sucede en situaciones fuera de lo común, sin embargo como se trata de análisis y clasificación de “Estados Funcionales” de la presente planta, se creó un. 33.
(34) IEL2-I-04-12 benchmark para la simulación así como la clasificación tanto de estados en modo de operación normal, como estados de falla en el sistema de tanques acoplados. 1. El cambio en el volumen de agua que se acumula en el Tanque Lineal es proporcional al caudal de entrada menos el caudal de salida que comprende tanto la fuga como la salida de agua al Tanque no-Lineal.. dh1 = qi − At 2 g * (h1 − h2 ) − leak * At 2 gh1 dt ⎧1, si leak = Verdadero leak = ⎨ ⎩ 0, si leak = Falso A. A : area transversal tan que lineal. qi : Caudal entrada de Bomba h1 : Altura tan que lienal h2 : Altura tan que no lineal At : area transversal tubos. 2. El cambio de volumen de agua que se acumula en el Tanque no-Lineal es proporcional al caudal de entrada menos el caudal de salida, que comprende tanto la fuga como la salida de agua para el consumo. El área transversal del tubo de consumo es de 0.173cm2.. dh2 = At 2 g (h1 − h2 ) − Ap 2 gh 2 − leak * At 2 gh2 dt 110.25,0 < h2 < 8cm ⎧ ⎪ 20 ⎧ ⎫ 10 . 5 21 . 5 (h2 − 8)⎬,8cm < h2 < 17.5cm + ⎨ ⎪ ⎪ 9.5 ⎩ ⎭ A(h2 ) = ⎨ ⎪10.5⎧⎨41.5 − 20 ( h2 − 17.5)⎫⎬,17.5cm < h2 < 27cm 9.5 ⎪ ⎩ ⎭ ⎪⎩ 225.75, h2 > 27cm A(h2 ) : area transversal tan que no lineal. A(h2 ). Ap : area transversal tubo de consumo.. 34.
Documento similar