INFORMÁTICA INDUSTRIAL: ALGORITMOS NEURODIFUSOS ANFIS, CANFIS Integrantes Aguirre Katherine Basantes David Chávez Jorge Cusco Jhon Yanguicela Jairo
SISTEMAS NEURODIFUSOS Los sistemas neurodifusos implican la combinación de las teorías de las redes neuronales y de los sistemas de inferencia difusa. Las redes neuronales buscan reproducir la capacidad de razonamiento humano a través de su estructura y organización.
¿Q UÉ ES ANFIS? Proviene del nombre en ingles Adaptative Neuro Fuzzy Inference Systems. Básicamente lo que hace es generar, a partir de una entrada o salida específica, un sistema de inferencia donde los parámetros de membresía son ajustados usando el algoritmo de retropropagación (red neuronal artificial), esto provoca que el sistema difuso aprenda de los datos de entrada o salida proporcionados.
R EDES ANFIS Los sistemas ANFIS son sistemas basados en redes neurales adaptables con inferencia difusa. Se tiene como principio el uso de diferentes métodos para el ajuste de los parámetros de ajuste, entre ellos se encuentra el método de retropropagación del error. Fue propuesto por R. Jang en su trabajo de tesis neuro-fuzzy modeling. Permite el ajuste automático de las reglas, así como el ajuste de las funciones de membresía.
R EDES ANFIS El mapeo difuso puede representarse a través de una matriz de asociación difusa y después trasladarse a regiones de activación; esto se puede representar por redes tipo ANFIS. Pueden ser empleadas para el mapeo correcto de las decisiones en un sistema de inferencia difuso bajo un proceso de entrenamiento.
R EDES ANFIS Interfaz de fuzzificación: transforma los valores numéricos (concretos) en grados de pertenencia con valores lingüísticos. Base de datos: define las funciones de pertenencia de los conjuntos difusos que se utilizan en las reglas difusas. Base de reglas: contiene un número determinado de reglas difusas if-then, que tienen un antecedente y un consecuente. Unidad de toma de decisiones: realiza las operaciones de inferencia sobre las reglas. Interfaz de defuzzificación: transforma los resultados difusos en un valor numérico (concreto).
R EDES ANFIS Un mapeo de las entradas se muestra en la figura en que se aprecia el subespacio difuso correspondiente a nueve reglas.
R EDES ANFIS La figura denota los nodos fijos con círculos y los nodos adaptables con cuadros; en el proceso de entrenamiento se ajustan sólo los nodos adaptables.
R EDES ANFIS La figura muestra cómo se tiene una segmentación de las partes de un sistema difuso emulado a través de una red neuronal adaptable.
R EDES ANFIS Se puede ver que la capa 1 es la responsable de ajustar los parámetros de la función de membresía de entrada; las capas 2 y 3 de la red son las encargadas de realizar las operaciones difusas, mientras que las capas 4 y 5 realizan una ponderación para obtener la salida del sistema (f).
A LGORITMO DE UN SISTEMA ANFIS
A LGORITMO DE ENTRENAMIENTO PARA ANFIS Cada iteración o época está compuesta por un adelanto y un atraso. En el adelanto una etapa de entrenamiento del patrón de entrada (vector de entrada) está presente en las ANFIS. Las neuronas de salida son calculadas en la capa mediante los parámetros de ésta, y las reglas de parámetros consecuencia son identificadas por el estimador de mínimos cuadrados. En la técnica de interferencia difusa tipo Sugeno, cada salida puede ser una función lineal, por lo que pueden formarse p ecuaciones lineales en términos de los parámetros consecuencia, de la siguiente forma:
A LGORITMO DE ENTRENAMIENTO PARA ANFIS Donde: m = variables de entrada n = número de neuronas en la capa de las reglas También se puede expresar como:
A LGORITMO DE ENTRENAMIENTO PARA ANFIS
EJEMPLO Editor de ANFIS de MATLAB, que se abre con el comando: anfisedit. El editor tiene cuatro barras: Para los datos (Load data), Para la generación de la red (Generate FIS), Para el entrenamiento (Train FIS) Para su prueba (Test FIS). La barra superior se usa para previsualizar la estructura de la neurored (ANFIS Info).
EJEMPLO Digite >>anfisedit lo cual hará que aparezca la figura.
EJEMPLO Desde la línea de comandos digite el siguiente código para cargar los datos iniciales de entrenamiento y de comprobación en el espacio de trabajo de MATLAB. Busque el campo Load data y seleccione las opciones Training y worksp. Luego presione el botón Load Data... lo cual provocará se pida la entrada de datos que se usarán en el entrenamiento. Digite el nombre fuzex1trndata y presione OK. Esto provocará que se carguen los datos y que se grafiquen.
EJEMPLO
Busque el campo Load data y seleccione las opciones Cheking y worksp. Luego presione el botón Load Data... lo cual provocará se pida la entrada de datos que se usarán en el entrenamiento. Digite el nombre fuzex1chkdata y presione OK. Esto provocará que se carguen los datos y que se grafiquen.
EJEMPLO Escogeremos Generate FIS y Grid partition y luego presionamos el botón Generate FIS..., lo cual hará que se muestre una pantalla de configuración del sistema difuso. Solo se puede modificar el número de funciones de membresía, el tipo de función de membresía y el tipo de salida que se requiere, la cual solo puede ser constante o lineal debido a la limitante de solo poder usar un sistema del tipo Sugeno.
EJEMPLO Una vez generado el sistema difuso podemos ver la estructura, seleccionando el botón con el nombre structure.
EJEMPLO Ahora solo nos resta entrenar el sistema, para lo cual debemos hacer algunas configuraciones primero. Esto se hace seleccionando método de optimización de la red, el error, y el número de iteraciones (epochs) que se necesitan.
EJEMPLO Una vez configurados los parámetros de entrenamiento, presione el botón Train now, lo que provocará que el sistema sea entrenado con los datos cargados, el sistema mostrará una gráfica con el error de los datos de entrenamiento (training) y el error de los datos de verificación (cheking). La gráfica de la parte superior indica el error de entrenamiento y la inferior el error de verificación.
EJEMPLO Gráfica de datos de entrenamiento.
EJEMPLO Gráfica de datos de verificación.
CANFIS CANFIS es un sistema generalizado de ANFIS Posee múltiples salidas ANFIS con reglas Fuzzy no Lineales En CANFIS, tanto las Redes Neuronales como los Sistemas de Interferencia Difusa (FIS) juegan un papel activo en un esfuerzo por alcanzar un objetivo específico
CANFIS CANFIS ha ampliado el sistema de salida única de ANFIS para producir múltiples salidas. Una forma de lograrlo es colocar tantos modelos ANFIS uno al lado del otro como la cantidad de salidas lo requiera.
ARQUITECTURA CANFIS La arquitectura de CANFIS se muestra con dos entradas y una salida simple. CANFIS consiste de dos partes un modelo de un Sistema Difuso, que calcula los pesos normalizados de la parte antecedente de las reglas y un modelo de una Red Neuronal estratificado que calcula las salidas consecuentes usando los pesos del Sistema Difuso del sistema MIMO. En CANFIS los antecedentes son los mismos, pero los consecuentes son diferentes según el número de salidas requeridas Las reglas difusas se construyen con valores de membresía compartidos para expresar correlaciones entre productos.