View
90
Download
0
Category
Preview:
Citation preview
OTIMIZAO DA FUNO SENO OBTIDA PELO MODELO
FUZZY TSK USANDO O MTODO DOS MNIMOS QUADRADOS
Antnio talo Rodrigues Pedrosa. E-mail: antonio.italo@hotmail.com
Ps-Graduao em Engenharia Mecnica pelo Instituto Militar de Engenharia
1. Modelo Takagi-Sugeno-Kang
O sistema de inferncia difusa (FIS) um modelo de computao popular baseado
nos conceitos da teoria de conjuntos difusos; regras se ento difusas; e lgica difusa. A
estrutura bsica de um sistema de inferncia difusa consiste em trs componentes
conceituais: a base de regras, que contm uma seleo de regras fuzzy; uma base de
dados, que define as funes de pertinncia usadas nas regras fuzzy; e um mecanismo
lgico, que realiza o procedimento de inferncia sobre as regras que resultaro na sada
ou concluso (Jang J.-S. R., 1997).
Takagi, Sugeno e Kang definiram o mtodo TSK, consistindo em uma abordagem
sistemtica para gerar regras fuzzy baseada em um conjunto de dados de entrada (input)
e sada (output), seguindo:
(1)
onde A e B so conjuntos fuzzy do antecedente, e z uma funo crisp do
consequente. Quando essa funo representa uma polinomial de primeira ordem,
chama-se de Modelo Fuzzy TSK de primeira ordem. Quando essa funo assume
valores constantes, ela chamada de Modelo Fuzzy de ordem-zero.
Cada funo crisp ter um output crisp, dessa forma, o output obtido para cada
input ser dado pela mdia ponderada de cada uma das sadas, na forma:
(2)
em que wn representa o grau de ativao de cada um dos outpus obtidos. Na
maioria das vezes, opta-se por trabalhar com funes normalizadas, aquelas em que a
soma dos graus de ativao seja igual a 1, com isso simplifica-se sua forma mais
usual:
(3)
Dessa forma, obtm-se outputs de forma crisp, ou seja, a resposta de sada no se
apresenta como um conjunto fuzzy, que permite trabalhar melhor com esses dados, o
que torna o mtodo TSK o mais utilizado nas ferramentas de otimizao.
2. Mtodo dos Mnimos Quadrados
Na maioria dos problemas de mnimos quadrados, a sada do modelo linear y
dado pela expresso de parametrizao linear:
(4)
onde u = [u1, ... , up]T o vetor de entrada do modelo, f1 , ... , fn so funes
conhecidas de u, e 1, ... , n so parmetros conhecidos a serem estimados. Essa funo conhecida como funo de regresso e os n so conhecidos como coeficientes de regresso (Jang J.-S. R., 1997).
Com isso, procura-se estimar os parmetros desconhecidos. Para tanto, deve-se
realizar experimentos que retornem o campo de dados output para cada input. O que
significa que ser obtido um valor yn para cada valor de un, na forma:
{
(5)
Esse procedimento pode ser reescrito como uma multiplicao de matrizes na
forma:
(6)
em que A chamada de matriz design e representa o conjunto de funes a ser
otimizadas, seguindo como:
[
]
(7)
e o vetor de parmetros desconhecidos sendo:
[
]
(8)
e por fim o vetor y representada pelos outputs:
[ ]
(9)
Para identificar os parmetros desconhecidos, deve-se resolver a Eq. 6, que
ficaria:
(10)
No entanto, para a maioria dos experimentos realizados, existem muito mais
inputs que funes a ser otimizadas, por isso, agrega-se erros soluo encontrada,
retornando a forma:
(11)
Dessa forma, o erro encontrado na forma:
(12)
O mtodo dos mnimos quadrados consiste em minimizar a soma dos quadrados
de cada erro encontrado para os inputs, assim, o mtodo se torna
(13)
A soluo para a minimizao desse problema se d por:
(14)
3. Aplicao do algoritmo
3.1 Sada com funes de pertinncia triangulares
O algoritmo implantado para o mtodo de mnimos quadrados foi totalmente
adequado para o software MATLAB.
O objetivo do problema proposto o de encontrar uma aproximao para os
valores da funo senide no intervalo de 0 a 2. Chamaremos de Y a esses valores, e esse intervalo ser analisado em pontos que variam de 0,1.
Pela Eq. 3, obtm-se os outputs relativos ao modelo TSK apresentado. Deve-se
ento definir as funes de pertinncia () que sero adotadas.
Sero utilizadas cinco funes triangulares com o comando trimf do prprio MATLAB.
O script acima representa as funes de pertinncia, que podem ser analisadas
pelo grfico gerado.
Figura 1 Funes de Pertinncia Triangulares
Esse grfico (Fig. 1) mostra as pertinncias triangulares para cinco ngulos
diferentes e normalizadas.
A matriz design da Eq. 7 que se deseja otimizar ser dada pelas funes de
pertinncia para cada ngulo, como segue:
Esses valores sero otimizados para que se aproximem do esperado em Y, que
representa o seno real. Utiliza-se a Eq. 14 para isso, considerando uma varivel P como
0 1 2 3 4 5 6 70
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Gra
us d
e P
ert
inncia
Graus em Radiano
a1: x = 0
a2: x = /2
a3: x =
a4: x = 3/2
a5: x = 2
sendo a pseudo-inversa da matriz design, TETA o vetor de parmetros desconhecidos apresentado na Eq. 6 e Y_ como o resultado otimizado pelo processo. Assim:
O mtodo do LSE (Last Square Estimator), possui um erro agregado, que pode
ser comparado pelo processo de diferena quadrtica dos termos. Para isso, foi criado o
arquivo SOMAQUAD.m no MATLAB que realizar a soma do quadrado da diferena
de cada termo do seno real com o seu respectivo mtodo.
Com essa funo criada, podemos ver na tela qual o erro associado a cada uma
das curvas e avaliar o resultado da otimizao, seguindo:
O script retornar no prompt de comando o valor encontrado para a margem de
erro do mtodo LSE. Nesse caso, foi encontrado o valor de 0.367615. Analisando o
grfico da figura 2 originado pelo script acima, percebe-se que a curva obtida tende a se
aproximar do valor real do seno, mas com certa discrepncia, pois constituda por um
conjunto de retas sem suavizao nos seus picos, o que afasta o resultado
principalmente nos pontos caractersticos da curva, os mximos.
Figura 2 - Seno Real e o Seno encontrado por TSK Triangular
3.2 Sada com funes de pertinncia gaussianas
Para otimizar o processo, optou-se por funes de pertinncia mais suaves, para
que os outputs se aproximassem da senoidal, reduzindo o erro encontrado. Assim, as
novas funes de pertinncia sero definidas como:
Utilizando os mesmos pontos caractersticos, optou-se por cinco curvas
gaussianas onde o desvio-padro () vale
, resultando no grfico mostrado na Figura 3,
utilizando os script abaixo:
0 1 2 3 4 5 6 7-1.5
-1
-0.5
0
0.5
1
1.5
seno Real
seno TSK Otimizado
Figura 3 Funes de Pertinncia Gaussianas
Apesar de aprimorar os resultados de sada, percebe-se graficamente que as novas
funes de pertinncias no encontram-se normalizadas. Nesse contexto, deve-se
utilizar a Eq. 2 na sua forma natural. Com isso, faz-se necessrio conhecer o valor do
somatrio do denominador apresentado em cada ponto, que pode ser escrito como:
em que S corresponde ao vetor associado ao somatrio do denominador, resultando na
matriz A apresentada pelo script.
O processo para otimizao por LSE continua o mesmo, com o clculo da pseudo-
inversa e o produto dos parmetros encontrados pela matriz design. A curva otimizada
por esse procedimento pode ser vista na Figura 4.
Com a mudana nas funes de pertinncia, pode-se perceber que o erro se torna
muito pequeno, valendo 0.0141932 para o valor de sugerido.
0 1 2 3 4 5 6 70
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Gra
us d
e P
ert
inncia
Graus em Radiano
a1: x = 0
a2: x = /2
a3: x =
a4: x = 3/2
a5: x = 2
Figura 4 Seno Real e o Otimizado com TSK Gaussiano
3.3 Sada com funes de pertinncia de primeira ordem
Uma soluo proposta por Takagi, Sugeno e Kang foi a de se utilizar outputs
como funes lineares de primeira ordem, chamado de modelo fuzzy TSK de primeira
ordem, para que se obtivesse uma preciso ainda maior, dessa forma, o valor encontrado
para a sada ser na forma:
(15)
Que resulta em uma sada global como:
(16)
em que B representa a soma de todos os wibi para cada funo de pertinncia
sugerida. Com isso, deve-se encontrar mais um parmetro de otimizao para o sistema,
levando-se em considerao que se trata de uma constante, pode-se represent-lo
acrescentando um valor unitrio na matriz design. Assim, para o modelo que utiliza
funes gaussianas como graus de ativao, o script segue na forma:
em que o ltimo elemento adicionado corresponde a
.
0 1 2 3 4 5 6 7-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
seno Real
seno TSK Otimizado
Realizando o procedimento de otimizao LSE, obtm-se um erro de 0.00124372,
e uma curva mostrada na Figura 5.
Figura 5 - Seno Real e o Otimizado de Primeira Ordem Gaussiano
O mesmo procedimento pode ser utilizado para funes de pertinncia
triangulares normalizadas, em que a matriz design se apresenta como:
Encontra-se um erro associado de 0.975803 e uma curva como mostrada na
Figura 6.
0 1 2 3 4 5 6 7-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
seno Real
seno TSK Otimizado
Figura 6 - Seno Real e o TSK de Primeira Ordem Triangular
4. Toolbox MATLAB
4.1 Funo TSK triangular
O MATLAB possui uma toolbox que permite modelar sistemas difusos com
regras lgicas simples, implementando essas regras no sistema de inferncia de estudo.
Para isso, basta que se digite o comando fuzzy no prompt de comando do software. Na
janela que se abre, possvel escolher entre os mtodos de defuzificao Mamdani ou
Sugeno, como apresentado na Fig. 7.
Pode-se ento, conseguir a curva referente aos graus de pertinncia apresentados
anteriormente. Primeiramente, foi utilizada a funo triangular de pertinncia nos
ngulos de
, apresentando-se como na Fig. 8. Obviamente, esse o
mesmo grfico visto na Fig. 1, j que se tratam das mesmas funes, utilizando os
mesmos pontos e mesmo intervalo.
O prximo passo definir os outputs, que representam os valores do seno para
cada um dos ngulos escolhidos nas funes de pertinncia, sendo ento -1, 0 e 1. Cada
um desses valores ser o output para a funo quando o ngulo tiver pertinncia
mxima. Esses valores foram nomeados como negativo, zero e positivo,
respectivamente, como pode ser visto na Fig. 9.
Com todos os parmetros definidos, deve-se implementar as regras para cada uma
das funes de pertinncia, como dito anteriormente, fazendo cada entrada corresponder
sada ponderada pelos graus de pertinncia, mostrado na Fig. 10.
Por ltimo, possvel conferir a curva adquirida pelo mtodo na opo surface da
toolbox para comparar com a senoidal esperada. O resultado apresentado na Fig. 11 e
pode-se perceber que se assemelha curva da Fig. 2, porm, sem a otimizao realizada
pelo mtodo do LSE.
0 1 2 3 4 5 6 7-1.5
-1
-0.5
0
0.5
1
1.5
seno Real
seno TSK Otimizado
Figura 7 Inputs, mtodo e outputs pela toolbox do Matlab
Figura 8 Funes de Pertinncia Triangulares
Figura 9 Outputs para o TSK triangular
Figura 10 - Regras no modelo TSK triangular
Figura 11 Curva obtida pelo TSK triangular
4.2 Funo TSK gaussiana
Repetindo o mesmo procedimento, podemos utilizar a funo de pertinncia
gaussiana, da mesma forma como foi realizado anteriormente. Tambm utilizando cinco
funes de pertinncia, e o igual a
, representa-se pela figura 12.
Foram utilizados os mesmos outputs e regras, assim como o mtodo de
defuzificao tambm foi mantido. Dessa forma, a curva apresentada pode ser
visualizada na Fig. 13. Nota-se pela figura, que a curva se aproxima ainda mais da
senoidal e daquela apresentada na Fig. 4, mas sem a otimizao.
Figura 12 Funes de pertinncia gaussianas
Figura 13 Curva obtida pelo TSK gaussiano
5. Modelo Mamdani
Outro mtodo de defuzificao utilizado o Mamdani FIS, que trata mais
facilmente de regras de controle lingusticas. Esse um sistema de inferncia que
calcula o output com base na rea obtida pelos grficos de sada do modelo.
Existem cinco mtodos de defuzificao, sendo: o centroide da rea, o bissetor da
rea, a mdia do mximo, menor dos mximos e maior dos mximos. Nesse trabalho,
foi escolhido o centroide da rea para o clculo do output, sendo apresentado como:
(17)
que pode ser visualizado na Fig. 14.
Figura 14 Representao do centroide calculado pelo Mamdani FIS
5.1 Mamdani pelo toolbox do Matlab
O toolbox do MATLAB pode resolver sistemas Mamdani da mesma forma que j
foi apresentado. Para os inputs triangulares, utilizando os mesmos parmetros de
entrada, foi definido que a sada tambm seria da mesma forma, triangular (nesse caso,
os ngulos foram apresentados em graus. Os parmetros de sada tambm foram
mantidos como -1, 0 e 1. Esse output pode ser visualizado na Fig. 15.
A representao da resposta em funo de cada entrada pode ser visualizado em
rules, como apresentado na Fig. 16, e a resposta da defuzificao apresentada em
surface, como na Fig. 17.
Figura 15 Output Mamdani triangular
Figura 16 Centroide da funo triangular
Figura 17 Curva encontrada pelo Mamdani triangular
O mesmo mtodo foi utilizado em funes gaussianas para analisar a suavizao
da curva, e verificar se o resultado se aproxima da senoidal. Assim, os parmetros e
resultados so apresentados a seguir. Nota-se pela curva apresentada que h uma
aproximao da funo seno, mas ainda existe um erro associado considervel.
Figura 18 Outputs Mamdani gaussiana
Figura 19 Centroide da funo gaussiana
Figura 20 Curva encontrada pela gaussiana
Recommended