You are on page 1of 52

Pontifcia Universidade Catlica do Rio de Janeiro

Sistema de Inferncia Neuro-Fuzzy Adaptativo - ANFIS

Jos Francisco Moreira Pessanha

Rio de Janeiro - RJ, 14 de junho de 2002


Sumrio

1 - Introduo
2 - Sistema de Inferncia Fuzzy
3 - Redes adaptativas
4 - ANFIS
5 - Algoritmo de aprendizado
6 - Exemplos
7 - Concluses
8 - Bibliografia
1. Introduo

Soft Computing

Redes Neurais Artificiais

Lgica Fuzzy

Algoritmos Genticos

A essncia da Soft Computing integrar as diferentes tcnicas, de


maneira que a sinergia desta integrao resulte em sistemas
computacionais que incorporarem o conhecimento humano e que sejam
capazes de aprender e se adaptarem em ambientes com incerteza e
impreciso.
1. Introduo
REDES NEURAIS ARTIFICIAIS
Qualidade : capacidade de aprendizagem permite a extrao das informaes
contidas em um conjunto de observaes ( pares entrada/sada ).

Inconveniente : uma abordagem do tipo caixa preta, pois os resultados no so


interpretveis.

SISTEMAS DE INFERNCIA FUZZY


Qualidade : atravs de regras fuzzy SE-ENTO possvel incorporar o
conhecimento de um especialista em um sistema computacional.

Inconveniente : dificuldades na determinao da base de regras e das funes de


pertinncia.

Uma forma de aproveitar as qualidades de cada tcnica e


eliminar os inconvenientes consiste em integrar os
Sistemas de Inferncia Fuzzy e Redes Neurais, formando
um Sistema Neuro-Fuzzy (SNF).
1. Introduo
CARACTERSTICAS DOS SISTEMAS NEURO FUZZY

1) um Sistema de Inferncia Fuzzy implementado atravs de uma


arquitetura paralela distribuda de maneira que os paradigmas de
aprendizado, comuns s Redes Neurais, possam ser aproveitados.

2) Combina as caractersticas de aprendizado das Redes Neurais com a


interpretabilidade dos Sistemas de Inferncia Fuzzy, so encarados
como caixas cinzas (gray box).

3) Permite a integrao do conhecimento implcito (conjunto de dados) e


explcito (bom senso, conhecimento preliminar ou um especialista).

4) uma mquina para extrao de conhecimento sob o formato de


regras fuzzy SE-ENTO.

5) Natureza interdisciplinar
1. Introduo
EXEMPLOS DE SISTEMAS NEURO-FUZZY

ANFIS - Adaptative Network Fuzzy Inference System (Jang 1993)

NEFCLASS - Neuro- Fuzzy CLASSification (Nauck 1994)

FSOM - Fuzzy Self Organized Map ( Vuorimaa 1996)

NFH - Neuro-Fuzzy Hierrquico (Souza1997)


2. Sistema de Inferncia Fuzzy
Fuzzy Inference System (FIS)
Sistemas Inferncia Fuzzy tratam de forma adequada a no linearidade e a
incerteza na modelagem de sistemas complexos. No lugar de modelos
matemticos precisos o FIS usa a teoria dos conjuntos fuzzy, regras fuzzy SE-
ENTO e raciocnio fuzzy.

Faz o mapeamento de
um vetor de entrada
em uma sada escalar

As funes de
pertinncia e as regras
formam a base de
conhecimento do FIS
2. Sistema de Inferncia Fuzzy

CARACTERSTICAS DO FIS

1) Habilidade de modelar problemas com propriedades no-lineares

2) Capaz de incorporar tanto o conhecimento objetivo (modelos


matemticos) quanto o conhecimento subjetivo (informao lingustica
de difcil tratamento formal)

3) Habilidade de modelar sistemas que envolvam mltiplos especialistas


(Importante em anlise de deciso)

4) Tratam de forma adequada as incertezas


2. Sistema de Inferncia Fuzzy
TIPOS DE FIS

1) MANDANI
Regras so do tipo : se x A e y B ento z=C ( A, B e C so conjuntos fuzzy )

2) SUGENO
Regras so do tipo se x A e y B ento z = f(x,y)
O consequente da regra uma funo no fuzzy das variveis de entrada , em
geral um polinmio.

3) TSUKAMOTO
Regras so do tipo : se x A e y B ento z=C
O consequente de cada regra um conjunto fuzzy, cuja funo de pertinncia
montona

A diferena entre os trs tipos est nos consequentes das regras , e por
isso cada tipo de FIS apresenta um mtodo de agregao e
defuzzyficao prprio.
2. Sistema de Inferncia Fuzzy
MODELO MANDANI

Exemplo se x A1 e y B1 ento z = C1
se x A2 e y B2 ento z = C2

Mnimo
B
A1 1

A B
2 2

X Y
Mximo

Z = centro de gravidade
2. Sistema de Inferncia Fuzzy
MODELO SUGENO

Exemplo Modelo Sugeno de primeira ordem


se x A1 e y B1 ento z1 = p1 x + q1 y + r1
se x A2 e y B2 ento z2 = p2 x + q2 y + r2

Produto
B
A1 1 w1 z1 = p1 X + q1 Y +r1

w1 z1 + w2 z2
z=
A B w1 + w2
2 2
w2 z2 = p2 X + q 2 Y + r2 = w1 z1 + w 2 z 2

X Y
2. Sistema de Inferncia Fuzzy
MODELO TSUKAMOTO

Exemplo se x A1 e y B1 ento z = C1
se x A2 e y B2 ento z = C2

Produto
B
A1 1
w1
z1
w1 z1 + w 2 z2
A B z=
2 2 w1 + w 2
= w1 z1 + w 2 z 2
w2
z2
X Y
2. Sistema de Inferncia Fuzzy

INCONVENIENTES DOS MODELOS

MANDANI : A defuzzyficao pelo centro de gravidade demanda bastante


tempo computacional.

SUGENO : Dificuldade de atribuir um conceito lingustico ao consequente das


regras, pois este uma funo no-fuzzy das variveis de entrada.

TSUKAMOTO : A funo de pertinncia do consequente uma funo


montona o que incompatvel com o termo lingustico mdio.
2. Sistema de Inferncia Fuzzy
PARTICIONAMENTO DO ESPAO DE ENTRADA

1) Um SNF mapeia regies fuzzy de


entrada em regies fuzzy de sada
atravs das regras.

2) As regies so definidas no
particionamento dos espaos de
entrada/sada

3) O antecedente de uma regra


fuzzy define uma regio fuzzy no
espao das variveis de entrada

4) O consequente descreve o
comportamento da varivel de
FIS com 2 variveis de
sada dentro da regio fuzzy entrada, cada uma
definida no antecedente representada por trs
conjuntos difusos
2. Sistema de Inferncia Fuzzy
PARTICIONAMENTO DO ESPAO DE ENTRADA

Mtodos de particionamento :

Fuzzy Grid
Adaptative Fuzzy Grid
Fuzzy Boxes
Fuzzy Clusters
Quadtree
BSP

Fuzzy Grid

A efetividade do mapeamento no linear dos espao de entrada no


espao de sada depende da partio fuzzy neste espaos.
2. Sistema de Inferncia Fuzzy
MODELAGEM FUZZY

A construo de um modelo fuzzy pode ser feita em dois estgios no


totalmente independentes :

ESTGIO 1 - Identificao da Estrutura

1.1. Selecione as variveis de entrada e sada relevantes


( IDADE e PREO DO SEGURO SADE )

1.2. Escolha um tipo de FIS (Mandani, Sugeno ou Tsukamoto)

1.3. Determine o nmero de termos lingusticos (por exemplo : BAIXO, MDIO,


ALTO) associados com cada varivel de entrada e sada. Para o modelo Sugeno
especifique ordem do polinmio na equao do consequente.

1.4 Elabore um conjunto de regras fuzzy SE-ENTO


( Se IDADE IDOSO ento PREO ALTO )
As 4 etapas do primeiro estgio podem ser executadas a partir do
conhecimento que um especialista tem sobre o sistema que est sendo
modelado.
2. Sistema de Inferncia Fuzzy
ESTGIO 2 - Ajuste dos parmetros

2.1 Escolha uma famlia apropriada de funes de pertinncia


(TRAPEZOIDAL, GAUSSIANA, FUNO SINO GENERALIZADA)

2.2 Use o conhecimento do especialista para definir os parmetros das


funes de pertinncia. No caso do modelo Sugeno especifique os
coeficientes dos polinmios no consequente.
i ( x ) =
1
2 bi
x ci
1+
ai

2.3 Faa um ajuste fino dos parmetros das funes de pertinncia para
melhorar o desempenho do modelo fuzzy. No caso do modelo Sugeno
ajuste tambm os coeficientes dos polinmios nos consequentes.
As etapas 2.1 e 2.2 podem ser feitas por um especialista. Entretanto, a execuo
da etapa 3 depende da disponibilidade de um conjunto observaes com pares
das variveis de entrada e sada e de uma ferramenta que use os dados
numricos para ajustar os parmetros
3. Redes adaptativas
Redes adaptativas so sistemas paralelos distribuidos, compostos por
unidades de processamento (ns) dispostas em uma ou mais camadas
que so interligadas por conexes geralmente unidirecionais.

Vetor de Vetor de
entrada sada

Cada n uma unidade de processamento : atravs de uma funo,


processa os sinais que recebe e gera uma sada.

Os ns podem ser de dois tipos:

Adaptativos : quando a funo do n paramtrica ( y = p*x1 +q*x2 )

Fixos : quando a funo do n fixa ( y = min (x1,x2) )


3. Redes adaptativas
A rede faz o mapeamento do vetor de entrada no vetor de sada.

A partir de um conjunto de dados ( pares de entrada e sada ) o que se


deseja ajustar os pesos dos ns adaptativos de forma a minimizar a
diferena entre a sada da rede e a sada desejada ( minimizar o erro ).

O processo de ajuste dos pesos conhecido como TREINAMENTO onde


usado um algoritmo de otimizao ( REGRA DE APRENDIZADO ) para
ajustar os pesos de forma a minimizar o erro na sada da rede.

Apresenta par entrada/sada

X* Y Y*
Gradiente descendente
parmetro
k o tamanho do passo
Erro = E = Y-Y*

E
T +1 = T
k Retropropaga o erro para


(E )2

ajustar os parmetros pelo
gradiente descendente
4. ANFIS
1) Desenvolvida por Jang em 1993 cujas motivaes foram :

a) A necessidade de um mtodo objetivo para inserir o conhecimento de


um especialista dentro de uma base de regras de um sistema de
inferncia fuzzy.

b) A necessidade de ajustar as funes de pertinncia com o objetivo de


minimizar o erro na resposta do sistema de inferncia fuzzy

2) um Sistema de Inferncia Fuzzy organizado na forma de uma rede


adaptativa.

3) Tem a capacidade de fazer o mapeamento de entrada e sada com base


no conhecimento de um especialista e em um conjunto de dados formado
por pares entrada/sada.

4) um aproximador universal, ou seja, pode aproximar qualquer funo.


4. ANFIS
5) Na ANFIS o conhecimento do especialista necessrio na
definio das variveis de entrada e sada e na definio do nmero
de termos lingusticos.

6) O especialista tambm define os parmetros iniciais das funes


de pertinncia.

7) O nmero de regras definido pelo nmero de funes de


pertinncia em cada varivel de entrada (Arquitetura Rgida).

8) A partir de um conjunto de treinamento ( pares de entrada e sada


) o algoritmo de aprendizagem ajusta os parmetros das funes de
pertinncia para minimizar o diferena entre a sada deseja e a
resposta da ANFIS-
4. ANFIS
Arquitetura ANFIS para o modelo Sugeno
se x A1 e y B1 ento z1 = p1 x + q1 y + r1
se x A2 e y B2 ento z2 = p2 x + q2 y + r2
Produto
B
A1 1 w1 z1 = p1 X + q1 Y +r1

w1 z1 + w2 z2
FIS A
2
B
2
z=
w1 + w2

w2 z2 = p2 X + q 2 Y + r2 = w1 z1 + w 2 z 2

X Y
a1

a4
ad

ad
m

m
Ca

Ca
2

3
da

da
X Y
ma

ma

a5
(x)
Ca

Ca
A

ad
1 A1
w w

m
1 1

Ca
X f(x,y)

(x)
w z

ANFIS A
2 B1
1 1

B (x)
1 A2
w z
2 2
Y f(x,y)
w w
(x) 2 2
B B2
2
X Y
4. Arquitetura ANFIS/Sugeno - Camada 1
Finalidade : Fuzzyficao

4
da

da
ma

ma
1) Cada neurnio representa um conjunto
Ca

Ca
2

3
nebuloso das variveis de entrada.

da

da
X Y

ma

ma

5
da
(x)

Ca

Ca
A
1

ma
A1
w w
1 1 2) Os neurnios so adaptativos. Em cada

Ca
X f(x,y)

(x)
wz
1 1
neurnio a funo de pertinncia uma
A
2 B1
funo parametrizada.
z

i ( x ) =
(x)
1
B
1 Funo sino : 2 bi
x ci
A2
w z
2 2
Y
w
f(x,y) 1+
B (x) 2 w
2 ai
B2
2
X Y
a,b,c so os parmetros premissa

B 3) O neurnio produz uma resposta igual ao


1
B (Y*) grau de pertinncia da varivel de entrada no
1 B1

conjunto nebuloso associado ao neurnio.


Y*
= B
2
B (Y*)
2 B2

Y*
4. Arquitetura ANFIS/Sugeno - Camada 2
Finalidade : Clculo da pertinncia do
antecedente

4
da

da
ma

ma
Ca

Ca
2

3
1) Os neurnios so fixos.

da

da
X Y

ma

ma

5
da
(x)

Ca

Ca
A
1

ma
A1
w w
1 1 2) Cada neurnio est associada a uma

Ca
X f(x,y)

(x)
wz
1 1
regra SE-ENTO
A B1
2
z
3) A sada do neurnio o produto dos graus
B (x) de pertinncia dos antecedentes da regra.
1 A2
w z
2 2
Y f(x,y) Em geral qualquer T-norma pode ser usada
w w
(x) 2 2
B B2
2
X Y

(x)
A2 w = (x)(x)
2 A2 B2

(x)
B2
4. Arquitetura ANFIS/Sugeno - Camada 3
Finalidade : Clculo do valor normalizado

4
do grau de ativao da regra

da

da
ma

ma
Ca

Ca
2

3
da

da
X Y 1) Os neurnios so fixos.

ma

ma

5
da
(x)

Ca

Ca
A
1

ma
A1
w w
1 1

Ca
X f(x,y) 2) Cada neurnio est associada a uma regra
wz
A (x)
B1
1 1 SE-ENTO
2
z
3) A sada do neurnio o valor normalizado
B (x)
1 A2
w z do grau de ativao da regra, igual a razo do
2 2
Y f(x,y) grau de ativao da regra associada ao
w w
B (x)
B2
2 2 neurnio pela soma dos graus de ativao de
2
X Y todas as regras ( wi / w ).

w1 w
w2 = 2
w1 + w2
w2
4. Arquitetura ANFIS/Sugeno - Camada 4
Finalidade : Clculo do consequente da

4
da

da
regra
ma

ma
Ca

Ca
2

3
da

da
X Y

ma

ma

5
1) Cada neurnio est associada a uma

da
(x)

Ca

Ca
A
1

ma
A1
w
1
w
1 regra SE-ENTO

Ca
X f(x,y)

(x)
wz
A 1 1
2 B1
2) Os neurnios so adaptativos. A
z reposta produzida por cada neurnio o
B (x) valor da funo no consequente da regra
1 A2
w z
Y f(x,y)
2 2 multiplicada pelo grau de ativao
(x)
w
2 w
2
normalizado.
B B2
2
X Y
3) No modelo Sugeno de primeira ordem
a sada deste n :

w(px + qy + r)
w zi
i
f(x,y)
w p, q e r so os parmetros
i consequentes
X* Y*
4. Arquitetura ANFIS/Sugeno - Camada 5
Finalidade : Defuzzyficao

4
da

da
ma

ma
Ca 1) S h um neurnio fixo

Ca
2

3
da

da
X Y

ma

ma

5
da
(x)

Ca

Ca
A
1 2) A resposta do modelo a mdia

ma
A1
w w
1 1

Ca
X f(x,y)
ponderada dos consequentes das regras,
(x)
wz
1 1
A
2 B1 dada por :
z

(x)

w1 z1 + w 2 z2
B
1 A2
w z
z=
2 2
Y f(x,y)

w1 + w 2
w w
(x) 2 2
B B2
2
X Y

wz = w1 z1 + w 2 z 2
1 1

w z
2 2
4. ANFIS
Arquitetura ANFIS para o modelo Tsukamoto
se x A1 e y B1 ento z = C1
se x A2 e y B2 ento z = C2
Produto
B
A1 1
w1
z1
w1 z1 + w 2 z2
z=
FIS A
2
B
2 w1 + w 2
= w1 z1 + w2 z 2
w2
z2
X Y

4
2

5
da

da
da

da

da
ma

ma
ma

ma

ma
Ca

Ca
Ca

Ca

Ca
A (x)
1 A1
w w1 w1
1
X
z1
w z
A (x) 1 1
ANFIS 2 B1

z
(x)
B A2
1 w2 w z
w2 2 2
Y z2
w
(x) 2
B B2
2
5. Algoritmo de aprendizado
a) Usualmente, a identificao dos parmetros de uma rede adaptativa
feita pelo algoritmo de retropropagao do erro, um algoritmo de
otimizao, baseado no gradiente descendente (GD), que ajusta os
parmetros visando minimizar o erro na resposta gerada pela rede

b) Este algoritmo tem como desvantagem o fato de convergir


lentamente.e um mnimo local

c) Uma meio de acelerar a identificao dos parmetros, consiste em


decompor o conjunto de parmetros da rede (S) nos subconjuntos no-
lineares (S1) e lineares (S2) e utilizar um algoritmo hbrido, uma
combinao de mnimos quadrados (MQ) e GD, para identificar os
parmetros

MQ identifica os parmetros lineares (S2)

GD identifica os parmetros no lineares (S1)


5. Algoritmo de aprendizado
ANFIS tipo Sugeno de primeira ordem com duas variveis de entrada e com dois
conjuntos nebulosos para cada varivel.

Produto
B
A1 1 w1 z1 = p1 X + q1 Y +r1

w1 z1 + w2 z2
z=
A B w1 + w2
2 2
w2 z2 = p2 X + q 2 Y + r2 = w1 z1 + w 2 z 2

X Y

Com os parmetros premissa fixos (S1), a sada da ANFIS uma combinao


linear dos parmetros dos consequentes (S2) :
w1 w1
z= z1 + z 2 = w1 z1 + w 2 z 2
w1 + w2 w1 + w2

( ) ( ) ( ) ( )
z = w1 x p1 + w1 y q1 + w1r1 + w 2 x p2 + w 2 y q2 + w 2 r2
Neste caso os consequentes so funes lineares dos parmetros p, q , r
5. Algoritmo de aprendizado
O algoritmo de aprendizagem tem duas fases : FORWARD e BACKWARD ,
executadas de forma alternada at a convergncia do algoritmo.
Fase Forward

4
da

da
ma

ma
Ca

Ca
a2

a3
ad

ad
X Y

5
m

da
A (x)

Ca

Ca
1

ma
A1
w w
1 1

Ca
X f(x,y)

(x)
w z
A 1 1
B1
2
z

B (x)
1 A2
w z
2 2
Y f(x,y)
w w
(x) 2 2
B B2
2
X Y

Fase Backward

Na FORWARD os parmetros no lineares so mantidos fixos; os dados de


entrada alimentam a rede e so propagados para frente at a que as sadas dos
ns da camada 3 sejam obtidas. Em seguida os parmetros lineares (S2) so
identificados por MQ, a sada da rede obtida e o erro calculado.

Na BACKWARD os parmetros lineares so mantidos fixos ; o sinal de erro


propagado na direo da camada de entrada para e o gradiente descendente
usado para ajustar os parmetros no lineares (S1)
4. Algoritmo de aprendizado
a) A aplicao do algoritmo hbrido requer a decomposio do conjunto
de parmetros em dois subconjuntos : lineares e no lineares.

b) Na rede ANFIS para o modelo Sugeno isso conseguido se forem


utilizadas funes lineares nos consequentes.

c) Na rede ANFIS do modelo Tsukamoto deve-se aproximar as funes


de pertinncia nos consequentes por funes lineares, conforme
mostra a figura :
6. Exemplos

Exemplo 1 - ANFIS como aproximador de funo

Exemplo 2 - ANFIS como modelo de previso

Exemplo 3 - Programa em MATLAB


6. Exemplo 1 - Modelo da funo Sinc
Uma arquitetura ANFIS tipo Sugeno de primeira ordem usada como um
aproximador da funo Sinc, uma funo linear de duas variveis :

sen( x) sen( y )
z=
xy

[-10,10] e y
2 variveis de entrada x [-10,10]
4 conjuntos nebulosos para cada varivel
Particionamento do espao de entrada tipo fuzzy grid
Funo de pertinncia dos antecedentes a funo sino : i (x ) =
1
2 bi
x ci
1+
ai

Dimenses
2 do modelo ANFIS / Sugeno

4 = 16 regras ( se x A e y B ento z = px + qy + r )
(2+1)*16 = 48 parmetros lineares no consequente
72 parmetros
4*2*3 = 24 parmetros no lineares no antecedente
6. Exemplo 1 - Modelo da funo Sinc
Funes de pertinncia

Conjunto de treinamento formado por 121 pares (x,y)


[-10,10] e y
x [-10,10]
6. Exemplo 1 - Modelo da funo Sinc
Comparao da ANFIS com uma RNA(2,18,1)

A RNA com 73 parmetros (pesos


mais thresholds) foi treinada com o
algoritmo quick propagation

No grfico cada curva a mdia de


10 rodadas da ANFIS e 10 rodas da
RNA.

As 10 rodadas da ANFIS usaram 10


valores diferentes para o tamanho
do passo 0.01,0.02,..., 0.10

As 10 rodadas da RNA foram


incializadas com 10 conjuntos de
diferentes de pesos aleatrios.
6. Exemplo 1 - Modelo da funo Sinc
Funes de pertinncia iniciais

Funes de pertinncia finais aps 500 pocasde treinamento


6. Exemplo 1 - Modelo da funo Sinc

Funes de pertinncia finais


6. Exemplo 2 - Modelo de Previso
Neste exemplo o modelo ANFIS tipo Sugeno utilizado para prever
valores futuros da srie de Mackey-Glass, uma srie catica gerada pela
soluo da seguinte equao diferencial :

dx(t ) 0,2 x(t )


= 0,1x(t )
dt 1 x (t )
10

A srie x(t) foi gerada a pertir da soluo numrica da equao diferencial


para o intervalo 0< t < 2000.

A partir da srie gerada foram extrados 1000 pares de entrada-sada,


sendo que os primeiros 500 pares foram usados para treinar a ANFIS e
os 500 pares restantes usados na validao da ANFIS identificada.

Fazendo t variar de 118 a 1117 o conjunto de pares entrada/sadas foi


obtido da seguinte forma :

entrada x(t-18) , x(t-12) , x(t-6), x(t)


sada x(t+6)
6. Exemplo 2 - Modelo de Previso
4 variveis de entrada
2 conjuntos fuzzy para cada varivel ( SMALL e LARGE )
Funes de pertinncia tipo sino ( 3 parmetros)
Particionamento Fuzzy Grid

Dimenses do modelo ANFIS / Sugeno


4
2 = 16 regras
se x(t-18) LARGE1 e x(t-12) LARGE2 e x(t-6) LARGE3 e x(t) LARGE4
ento z=px(t-18)+qx(t-12) + rx(t-6) + sx(t) + t

4*2*3 = 24 parmetros no lineares no consequente


104 parmetros
(4+1)*16 = 80 parmetros lineares no antecedente
6. Exemplo 2 - Modelo de Previso
Aps 500 iteraes :

RMSE do conjunto de treinamento = 0,0016


RMSE do conjunto de validao = 0,0015

validao

treinamento
6. Exemplo 2 - Modelo de Previso

Valores
previstos
e observados

Erro
6. Exemplo 2 - Modelo de Previso
Funo de pertinncia inicial

Funes de pertinncia finais

X(t-18) X(t-12)

X(t-6) X(t)
6. Exemplo 2 - Modelo de Previso

Base de regras aps treinamento


da ANFIS
6. Exemplo 3 - Programa em MATLAB
Editor de arquitetura ANFIS tipo sugeno : comando anfisedit

5) Opo para editar


propriedades do FIS
e ver superficie de erro
4) Desenha a
arquitetura
1) Carrega o conjunto 3)Treina a ANFIS
de treinamento 2)Gera o FIS ANFIS
6. Exemplo 3 - Programa em MATLAB

Arquivo de
dados *.dat

sada 3 conjuntos difusos


para a varivel de
entrada entrada com MF tipo sino

Sada com MF tipo linear


6. Exemplo 3 - Programa em MATLAB

Edita
regras

Edita propriedades
da ANFIS
Edita MF da sada
Edita MF da entrada
6. Exemplo 3 - Programa em MATLAB
Implementao de um modelo
tipo ANFIS Sugeno usado como
aproximador da funo :

sen (2 x )
y= x
5
e
Passo 1 : Cria conjunto de treinamento
X=(0:0.1:10);
Y=sin(2*x)./exp(x/5);
trnData = [x y];
Passo 2 : Define funes de pertinncia e pocas de treinamento
numMFs = 5;
5 conjuntos fuzzy para cada varivel
mfType = gbellmf; funo de pertinncia tipo sino (gbellmf)
epoch_n = 20; 20 pocas de treinamento
6. Exemplo 3 - Programa em MATLAB
Passo 3 : Gera um Sistema de Inferncia Fuzzy (FIS) tipo Sugeno usando fuzzy
grid
in_fismat = genfis1(trnData,numMFs,mfType)

Passo 4 : Treina a ANFIS tipo Sugeno


out_fismat = anfis(trnData,in_fismat,epoch_n)

A rotina ANFIS usa um algoritmo de treinamento hbrido : MQO + error


backpropagation

Passo 5 : Avalia a sada da ANFIS paea o conjunto de treinamento


Z = evalfis(x,out_fismat)

Grfico dos valores reais e a sada da rede


plot(x,y,x,evalfis(x,out_fismat),'+');
legend('DADOS DO TREINAMENTO','SAIDA DA ANFIS');
xlabel ('X')
ylabel ('Y')
6. Exemplo 3 - Programa em MATLAB
Grfico das funes de pertinncia inciaisc

[w,mf] = plotmf(in_fismat,'input',1);
plot(w,mf);
xlabel (' variavel de entrada X')
ylabel (' grau de pertinencia')

Grfico das funes de pertinncia finais

[w,mf] = plotmf(out_fismat,'input',1);
plot(w,mf);
xlabel (' variavel de entrada X')
ylabel (' grau de pertinencia')
7. Concluses
1) A definio dos conjuntos difusos das variveis de entrada uma
deciso do especialista e que reflete seu conhecimento. O treinamento da
ANFIS no define a funo de pertinncia, mas apenas faz um ajuste fino
nos parmetros de forma minimizar o erro na sada da rede.

2) Algumas limitaes so o pequeno nmero de entradas, a criao da


estrutura de forma limitada ou inexistente.

3) Os exemplos mostram que a ANFIS consegue mapear funes


altamente no lineares. Mesmo sem um conhecimento a priori, a
definio inicial dos parmetros da ANFIS so intuitivamente razoveis e
orientam para o rpido treinamento.

4) Sob certas condies a ANFIS equivalente a Redes RBF.

5) Na arquitetura ANFIS apresentada s existe um n na ltima camada,


mas atualmente j existem extenses da ANFIS para mltiplas sadas, so
as arquiteturas MANFIS (Multiple ANFIS) e CANFIS (Coactive Neuro-Fuzzy
Inference System).
8. Bibliografia
Jang, J.-S. R.; ANFIS: Adaptive-Network-based Fuzzy Inference Systems,
IEEE Transactions on Systems, Man, and Cybernetics, Vol. 23, No. 3, pp.
665-685, May 1993.

Jang, J.-S. R.; Sun, C.T.; Mizutani, E; Neuro-Fuzzy and Soft Computing : A
Computational Approach to Learming and Machine Intelligence, Prentice Hall
Inc, 1997.