Вы находитесь на странице: 1из 23

ANFIS Y EL GUI ANFIS EDITOR

DE MATLAB

Edilio J. Alvarez F.

Que es ANFIS ?

Sistema adaptativo neurodifuso de inferencia, por


sus siglas en ingles ANFIS.
Usa un conjunto de datos de entrada/salida dado, la
funcin toolbox anfis construye un sistema de
inferencia difusa (FIS) cuyos parmetros de la
funcin de transferencia son sintonizados usando o
un algoritmo de retro propagacin, o una
combinacin con un tipo de mtodo de mnimos
cuadrados.
Este permite a los sistemas difusos aprender desde
los datos que estn modelando.
2

ANFIS (Antecedentes)

Algoritmo definido por J.-S. Roger Jang en 1992


Crea un rbol de decisin borrosos para clasificar
los datos en uno de 2n (o pn) modelos de regresin
lineal para reducir al mnimo la suma de errores
cuadrados (SSE):
2

SSE = ej
j

Donde:
e es el error entre lo deseado y la salida actual.
j
p es el nmero de particiones difusas de cada
variable
n es el nmero de variables de entrada
3

Modelo de Aprendizaje

La idea bsica detrs de estas tcnicas de aprendizaje


nauro adaptativo es muy simple:

Estas tcnicas proveen un mtodo para el procedimiento de


modelado difuso para aprender informacin sobre un conjunto
de datos, con el fin de calcular los parmetros de la funcin de
membresa que mejor admita el sistema de inferencia difusa
asociado al rastro de la data de entra/salida.
Este mtodo de aprendizaje trabaja similarmente a el de las
redes neuronales.

La funcin del FUZZY LOGIG TOOLBOX que lleva a


cabo este ajuste de los parmetros de la funcin de
membresa es llamada anfis.

anfis puede ser ejecutado o desde la lnea de comandos o a


travs del ANFIS Editor GUI.
4

ANFIS (Esquema)

Como todos los toolbox de


MATLAB, el Fuzzy Logic Toolbox
puede ser personalizado. Tu
puedes inspeccionar los
algoritmos, modificar el cdigo
fuente, y agregar tu propia
funcin de membresa o
tcnicas de des-difusificacion.

Como Iniciar ANFIS

Inicializa Matlab
Para anfis sin GUI, solo escribes anfis sobre la lnea
de comandos de Matlab.
Para ANFIS Editor GUI, solo escribes anfisedit sobre
la lnea de comandos de Matlab.

GUI ANFIS EDITOR

Acciones desde el GUI

Cargar datos (entrenamiento, prueba y chequeo) desde el apartado


de Load data en el GUI. La data cargada es graficada en la regin de
grfica.
Generar un modelo FIS inicial o cargar uno usando las opciones en
el apartado Generate FIS en el GUI.
Ver la estructura del modelo FIS, una vez que a sido generado o
cargado el modelo FIS, pulsando el botn Structure.
Seleccionar el mtodo de optimizacin de parmetro del modelo
FIS:

Elegir el numero de pocas de entrenamiento y la tolerancia del


error de entrenamiento.
Entrenar el modelo FIS haciendo clic en el botn Train Now.

Retro propagacin una mezcla entre este y mnimos cuadrados. (mtodo


hibrido)

Este entrenamiento ajusta los parmetros de la funcin de membresa y


grafica el error de entrenamiento en la regin de grfica.

Ver la salida del modelo FIS versus la salida de los datos de


entrenamiento, prueba y chequeo, todo ello haciendo clic en el
botn Test Now.
8

Chequeo y Entrenamiento

Iniciar el entrenamiento en ANFIS Editor GUI:


Primero, necesitas tener un conjunto de datos de
entrenamiento que contenga los datos de entrada/salida
deseados del sistema a ser modelado.
En ocasiones tambin se quiere tener un conjunto de datos
de prueba que pueda chequearla capacidad de
generalizacin del sistema de inferencia difusa resultante,
y/o un conjunto de datos de chequeo que ayuden con el
sobre ajuste del modelo durante el entrenamiento.
Usualmente estos conjuntos de datos de entrenamiento y
chequeo son recolectados en base a observaciones de el
sistema destino (objetivo) y son entonces almacenados en
archivos separados.

Ejemplo

10

Ejemplo (cont.)
La carga de conjuntos de datos desde el workspace se
debe realizar:
1.Escribir en el commandline los datos a cargar:
Load fuzex1trnData.dat
Load fuzex1chkData.dat
2. En la seccin Load Data del GUI seleccionar el tipo de
dato y el origen (en nuestro caso worksp)

11

Ejemplo (cont.)

12

Ejemplo (cont.)

13

Ejemplo (cont.)
Inicializacion y Generacion FIS:

Puedes o inicializar los parmetros FIS segn tu preferencia, o si


no tiene ninguna preferencia por la forma en que desea las
funciones de pertenencia iniciales para parametrizar, puedes
dejar que anfis haga esto por ti.

Genereacion automatica de la estructura FIS con ANFIS:

Para inicializar los FIS usando ANFIS Elige Grid partition, el


mtodo de particin por defecto. Hay dos mtodos de particin:
Grid partition y subtractive clustering.
Haga clic en el botn Generate FIS. Esto muestra un men desde
el que puede elegir el nmero de funciones de pertenencia, MFs,
y el tipo de entrada y salida de las funciones de membresia.
Tenga en cuenta que slo hay dos opciones para la funcin de
pertenencia de salida: constante y lineal. Esta limitacin de las
opciones de salida de la funcin de pertenencia se debe a que
ANFIS slo funciona en los sistemas de tipo Sugeno.
14

Ejemplo (cont.)

15

Ejemplo (cont.)
Especificando tu propia funcin de membresa por
ANFIS:
Selecciona el tem Edit membership functions
desde el men View.
Agrega la funcin de membresa deseada.
Selecciona el tem Edit rules desde el men View.
Usa el editor de reglas para generar las reglas.

Selecciona el tem Edit FIS Properties desde el


men View. Nombra tu FIS, y gurdala o en disco
duro o exportarla al workspace.

16

Ejemplo (cont.)
Visualizar la estructura de tu FIS:

Despus de generara el FIS, se puede ver la estructura del modelo


haciendo clic en el botn Structure.

17

Ejemplo (cont.)

Comenzar el entrenamiento

Elije el mtodo de optimizacin (hybrid o


BackPropagation)
Selecciona el nmero de pocas de entrenamiento,
(El valor por defecto es 3).
Selecciona la tolerancia del error.
Haga clic en Train Now.

18

Example (cont)

19

Example (cont)

20

Anfis desde el command


line

Es posible usar el comand line o programas m-file para


ejecutar el anfis.
Hay funciones que generar, entrenar y probar los
sistemas de inferencia difusa.
Los comandos utilizados son los siguientes:

anfis(trnData, fismat, trOpt,disOpt, chkData, method):

trnData: datos de entrenamiento


fismat: Estructura de la entrada FIS
trnOpt: Opciones de entrenamiento.
disOpt: Opciones de visualizacion.
chkData: Datos de chequeo
method: mtodo de entrenamiento

Genfis1(trnData): generar la estructura FIS (usando grid


partition)
Genfis2(trnData): generar la estructura FIS (usando sub.
clustering)
21

Algunos Tips sobre ANFIS

Tip 1 Si alguna vez se carga datos en ANFIS despus de borrar los


datos previamente cargados, usted debe asegurarse de que los
conjuntos de datos recin cargados tienen la misma cantidad de
entradas como los que anteriormente se cargaron. De lo contrario,
tendr que comenzar una nueva sesin de anfisedit desde la lnea de
comandos.

Tip 2 Si no desea utilizar la opcin de comprobacin de datos de


ANFIS, no cargue ningn dato de chequeo antes de entrenar la FIS. Si
decide volver a entrenar a sus FIS, sin datos de chequeo, puede
descargar los datos de chequeos en una de dos maneras. Un mtodo
consiste en hacer clic en el botn de Checking y haga clic en Clear
Data. El otro mtodo que puede utilizar es cerrar el GUI e ir a la lnea
de comandos y escribir anfisedit. En este caso, tendr que volver a
cargar los datos de entrenamiento. Despus de borrar los datos, tendr
que generar sus FIS. Una vez que el FIS se genera, usted puede utilizar
los resultados del primer entrenamiento y decidir sobre el nmero de
las pocas que desea para la segunda ronda de entrenamiento.
22

Gracias
por su
atencin

Вам также может понравиться