OBTENÇÃO DAS FUNÇÕES DE PERTINÊNCIA DE UM SISTEMA ... Luis Pagliosa.pdf · PELA REDE DE...

200
UNIVERSIDADE DO ESTADO DE SANTA CATARINA – UDESC CENTRO DE CIÊNCIAS TECNOLÓGICAS – CCT DEPARTAMENTO DE ENGENHARIA ELÉTRICA – DEE PROGRAMA DE PÓS-GRADUAÇÃO EM AUTOMAÇÃO INDUSTRIAL Formação: Mestrado em Automação Industrial DISSERTAÇÃO DE MESTRADO OBTIDA POR Angelo Luís Pagliosa OBTENÇÃO DAS FUNÇÕES DE PERTINÊNCIA DE UM SISTEMA NEUROFUZZY MODIFICADO PELA REDE DE KOHONEN Apresentada em 18/12/2003 Perante a Banca Examinadora: Dr. Claudio Cesar de Sá – Presidente (UDESC) Dr. Alcindo Prado Júnior (UDESC) Dr. Ilaim Costa Júnior (UDESC) PhD Pedro P. B. de Oliveira (UniversidadePrebisteriana Mackenzie)

Transcript of OBTENÇÃO DAS FUNÇÕES DE PERTINÊNCIA DE UM SISTEMA ... Luis Pagliosa.pdf · PELA REDE DE...

UNIVERSIDADE DO ESTADO DE SANTA CATARINA – UDESC

CENTRO DE CIÊNCIAS TECNOLÓGICAS – CCT

DEPARTAMENTO DE ENGENHARIA ELÉTRICA – DEE

PROGRAMA DE PÓS-GRADUAÇÃO EM AUTOMAÇÃO INDUSTRIAL

Formação: Mestrado em Automação Industrial

DISSERTAÇÃO DE MESTRADO OBTIDA POR

Angelo Luís Pagliosa

OBTENÇÃO DAS FUNÇÕES DE PERTINÊNCIA DE UM

SISTEMA NEUROFUZZY MODIFICADO

PELA REDE DE KOHONEN

Apresentada em 18/12/2003 Perante a Banca Examinadora:

Dr. Claudio Cesar de Sá – Presidente (UDESC)

Dr. Alcindo Prado Júnior (UDESC)

Dr. Ilaim Costa Júnior (UDESC)

PhD Pedro P. B. de Oliveira (Universidade Prebisteriana Mackenzie)

UNIVERSIDADE DO ESTADO DE SANTA CATARINA – UDESC

CENTRO DE CIÊNCIAS TECNOLÓGICAS – CCT

DEPARTAMENTO DE ENGENHARIA ELÉTRICA – DEE

PROGRAMA DE PÓS-GRADUAÇÃO EM AUTOMAÇÃO INDUSTRIAL

DISSERTAÇÃO DE MESTRADO

Mestrando: ANGELO LUÍS PAGLIOSA – Engenheiro Eletricista

Orientador: Prof. Dr. CLAUDIO CESAR DE SÁ

CCT/UDESC - JOINVILLE

OBTENÇÃO DAS FUNÇÕES DE PERTINÊNCIA DE UM

SISTEMA NEUROFUZZY MODIFICADO

PELA REDE DE KOHONEN

DISSERTAÇÃO APRESENTADA PARA OBTENÇÃO

DO TÍTULO DE MESTRE EM AUTOMAÇÃO

INDUSTRIAL DA UNIVERSIDADE DO ESTADO DE

SANTA CATARINA, CENTRO DE CIÊNCIAS

TECNOLÓGICAS – CCT, ORIENTADA PELO PROF.

DR. CLAUDIO CESAR DE SÁ

Joinville

2003

iii

Dedico este trabalho a todos que me apoiaram nesta

jornada.

A Deus,

A Eucleudes e Pedro, meus pais,

À minha adorada esposa, Marilene Vilvert.

iv

AGRADECIMENTOS

A Deus pela oportunidade de aprendizado e crescimento, e pela ajuda nos momentos

difíceis.

Aos meus pais, Pedro e Eucleudes, pelo apoio e incentivo.

À minha esposa, Marilene, pelo companheirismo e compreensão.

Ao professor Claudio Cesar de Sá, pela orientação no decorrer deste trabalho.

À coordenação do Departamento de Pós-graduação do CCT/UDESC, pelo empenho na

melhoria do curso e a secretária Tânia pela amizade e apoio.

A WEG Automação pelo incentivo e compreensão nos momentos que tive que me

ausentar da empresa, para a concretização deste estudo, em especial ao meu gerente Eng.

Paulo Roberto Kruger.

Queria estender meus agradecimentos aos que colaboraram me emprestando ora uma

idéia, ora um livro ou um artigo, estímulo e confiança - às vezes tudo isso junto.

Por fim, quero declarar que sem o amor e dedicação ao que se faz – nada teria sido

possível ou valido a pena – nem esta dissertação nem a vida.

v

“O que sabemos é uma gota,

o que ignoramos é um oceano”.

- Isaac Newton -

vi

SUMÁRIO

Lista de Figuras................................................................................................................... ix

Lista de Tabelas ................................................................................................................. xiii

Lista de Siglas e Abreviaturas............................................................................................ xv

Resumo............................................................................................................................... xvii

Abstract............................................................................................................................... xviii

1. INTRODUÇÃO............................................................................................................ 1

1.1 Contextualização..................................................................................................... 2

1.2 Problema Abordado................................................................................................. 4

1.2.1 Objetivo Geral............................................................................................... 4

1.2.2 Objetivos Específicos.................................................................................... 4

1.2.3 Justificativas.................................................................................................. 5

1.3 Contribuições........................................................................................................... 5

1.4 Organização da Dissertação..................................................................................... 6

2. LÓGICA FUZZY......................................................................................................... 8

2.1 Introdução.............................................................................................................. 8

2.2 Resumo Histórico................................................................................................... 11

2.3 Noções da Lógica Fuzzy........................................................................................ 13

2.3.1 Variáveis Lingüísticas................................................................................... 15

2.3.2 Teoria dos Conjuntos Fuzzy.......................................................................... 16

2.3.3 Modelagem Fuzzy de Sistemas..................................................................... 20

2.3.4 Estrutura de um Controlador Fuzzy.............................................................. 24

2.4 Conclusão............................................................................................................... 31

3. REDES NEURAIS ARTIFICIAIS............................................................................. 32

3.1 Introdução................................................................................................................ 32

3.2 As Redes Neurais..................................................................................................... 33

3.2.1 Histórico das Redes Neurais Artificiais.......................................................... 33

vii

3.2.2 Fundamentos Biológicos................................................................................ 36

3.2.3 Características de uma Rede Neural............................................................... 38

3.3 Princípios da Neurocomputação.............................................................................. 40

3.4 Estruturas e Dinâmicas das Redes Neurais Artificiais............................................ 42

3.4.1 Sinais de Entrada e Saída................................................................................ 44

3.4.2 Pesos............................................................................................................... 45

3.4.3 Função de Ativação e Transferência............................................................... 46

3.4.4 Camadas Escondidas...................................................................................... 48

3.4.5 Arquiteturas das Redes Neurais Artificiais..................................................... 48

3.5 Aprendizado das Redes Neurais Artificiais............................................................. 51

3.5.1 Aprendizado Supervisionado.......................................................................... 52

3.5.2 Aprendizado Não-Supervisionado.................................................................. 57

3.5.3 Aprendizado por Competição......................................................................... 58

3.5.4 Aprendizado por Reforço............................................................................... 59

3.6 Processo de Treinamento......................................................................................... 59

3.7 Projeto de uma Rede Neural.................................................................................... 60

3.8 Conclusão................................................................................................................ 61

4. SISTEMAS HÍBRIDOS............................................................................................... 62

4.1 Introdução................................................................................................................ 62

4.2 Descrição dos Sistemas Híbridos............................................................................. 63

4.2.1 Taxonomia dos Sistemas Híbridos................................................................. 65

4.2.2 Sistemas Neurofuzzy...................................................................................... 67

4.2.3 Modelos de Sistemas Neurofuzzy.................................................................. 71

4.3 Análise dos Sistemas Híbridos................................................................................ 76

4.4 Limitações dos Sistemas Híbridos........................................................................... 77

4.5 Conclusão................................................................................................................ 77

5. IDENTIFICAÇÃO DE SISTEMAS........................................................................... 78

5.1 Introdução................................................................................................................ 78

5.2 Sistemas de Controle............................................................................................... 79

5.3 Identificação de Sistemas........................................................................................ 80

5.4 Inteligência Artificial em Identificação de Sistemas............................................... 81

5.4.1 Aprendizado e Generalização........................................................................ 83

5.4.2 Critério de Convergência............................................................................... 84

viii

5.5 Conclusão................................................................................................................ 85

6. AJUSTE DAS FUNÇÕES DE PERTINÊNCIA DO NFN-MK............................... 86

6.1 Introdução................................................................................................................ 86

6.2 Descrição do modelo NFN-MK............................................................................... 88

6.3 Estrutura do Neo-Fuzzy-Neuron.............................................................................. 91

6.3.1 Ajuste dos Pesos............................................................................................ 95

6.3.2 Atualização dos Pesos com Taxa de Aprendizado Ótima............................. 97

6.3.3 Análise da Complexidade dos Algoritmos NFN versus RNA..................... 99

6.3.4 Sistema Neo-Fuzzy-Neuron Generalizado.................................................... 101

6.3.5 Taxonomia do Sistema NFN......................................................................... 102

6.4 Rede de Kohonen..................................................................................................... 107

6.5 Ajuste das Funções de Pertinência.......................................................................... 109

6.5.1 Curva do Tipo 1............................................................................................. 110

6.5.2 Curva do Tipo 2............................................................................................. 111

6.6 Conclusão................................................................................................................ 115

7. VALIDAÇÃO E ESTUDOS DE CASOS................................................................... 116

7.1 Introdução................................................................................................................ 117

7.2 Estudos de Casos..................................................................................................... 117

7.2.1Estudo de Caso: Função Seno.. ...................................................................... 133

7.2.2 Estudo de Caso: Função Chapéu Mexicano.................................................. 144

7.2.3 Estudo de Caso: Função Radial..................................................................... 153

7.2.4 Estudo de Caso: Função Não-Linear............................................................. 159

7.3 Conclusão................................................................................................................ 160

8. CONCLUSÃO ............................................................................................................. 160

8.1 Revisão Contextual.................................................................................................. 160

8.2 Problema e Solução Proposta.................................................................................. 161

8.3 Resultados................................................................................................................ 161

8.4 Contribuições........................................................................................................... 162

8.5 Trabalhos Futuros.................................................................................................... 163

REFERÊNCIAS BIBLIOGRÁFICAS............................................................................ 165

ANEXO I - Algoritmo Backpropagation........................................................................... 172

ANEXO II - Algoritmo LVQ (Vetor de Quantização Linear)........................................... 180

ix

LISTA DE FIGURAS

Figura 2.1 – Diagrama de blocos do sistema de controle.................................................. 9

Figura 2.2 – Exemplo do domínio das variáveis lingüísticas............................................13

Figura 2.3 – Exemplo do domínio da lógica binária......................................................... 13

Figura 2.4 – Classificação binária entre ser alto ou não-alto............................................. 14

Figura 2.5 – Classificação fuzzy para variável altura........................................................15

Figura 2.6 – Descrição da variável salário......................................................................... 18

Figura 2.7 – Ilustração das principais t-normas................................................................. 19

Figura 2.8 – Ilustração das principais t-conormas............................................................. 20

Figura 2.9 – Função f(x) descrita por equação matemática............................................... 21

Figura 2.10 – Função f(x) descrita por regras lingüísticas com valores exatos................. 22

Figura 2.11 – Função f(x) descrita por regras lingüísticas fuzzy...................................... 24

Figura 2.12 – Estrutura básica de um controlador fuzzy.................................................. 25

Figura 3.1 – Componente do neurônio biológico............................................................. 37

Figura 3.2 – Potencial de ação em um neurônio................................................................ 38

Figura 3.3 – Modelo neural............................................................................................... 40

Figura 3.4 – Modelo do neurônio artificial........................................................................ 43

Figura 3.5 – Modelo do neurônio artificial com entrada de viés....................................... 44

Figura 3.6 – Neurônio com n entradas e pesos definidos.................................................. 45

Figura 3.7 – Um neurônio com as funções de ativação e transferência............................ 46

Figura 3.8 – Funções de transferências mais empregadas................................................. 47

Figura 3.9 – Redes exemplificando camadas escondidas ou ocultas................................. 48

Figura 3.10 – Redes de camada única............................................................................... 49

Figura 3.11 – Redes de múltiplas camadas........................................................................ 49

Figura 3.12 – Redes feedback............................................................................................ 51

Figura 3.13 – Aprendizado supervisionado....................................................................... 52

Figura 3.14 – Fluxo de processamento do algoritmo com as fases forward e backward.. 54

x

Figura 3.15 – Estrutura de um elemento neurônio............................................................ 55

Figura 3.16 – Diagrama de blocos da regra delta generalizada......................................... 56

Figura 3.17 – Aprendizado não-supervisionado................................................................ 57

Figura 3.18 – Aprendizado por reforço............................................................................. 59

Figura 3.19 – Análise do supertreinamento....................................................................... 60

Figura 3.20 – Fluxograma do desenvolvimento de uma rede neural................................. 61

Figura 4.1 – Arquitetura de um sistema neurofuzzy.......................................................... 64

Figura 4.2 – Taxonomia quanto às características fuzzy do sistema................................. 65

Figura 4.3 – Taxonomia quanto às características de aprendizado................................... 66

Figura 4.4 – Estrutura neural para as premissas de uma rede fuzzy neural.......................68

Figura 4.5 – Rede fuzzy neural baseada em regras........................................................... 69

Figura 4.6 – Topologia de uma rede fuzzy neural em forma paramétrica......................... 70

Figura 4.7 – Arquitetura neurofuzzy ANFIS................................................................... 71

Figura 4.8 – Arquitetura de um FSOM com duas entradas e uma saída......................... 73

Figura 4.9 – Sistema NEFCLASS................................................................................... 75

Figura 5.1 – Sistema de controle....................................................................................... 79

Figura 5.2 – Identificação de um sistema dinâmico.......................................................... 80

Figura 5.3 – Função com mínimo local e global............................................................... 85

Figura 6.1 – Diagrama de blocos do treinamento do NFN................................................ 87

Figura 6.2 – Modelo híbrido incorporado.......................................................................... 88

Figura 6.3 – Modelo híbrido auxiliar................................................................................. 89

Figura 6.4 – Estrutura da rede neurofuzzy NFN-MK........................................................ 90

Figura 6.5 – Estrutura do sistema Neo-Fuzzy-Neuron...................................................... 91

Figura 6.6 – Estrutura do neurônio fuzzy.......................................................................... 92

Figura 6.7 – Funções de pertinência do tipo triangular uniformemente espaçadas...........94

Figura 6.8 – Inferência fuzzy em uma sinapse não-linear do Neo-Fuzzy-Neuron............ 94

Figura 6.9 – Ajuste dos pesos para a rede NFN................................................................ 96

Figura 6.10 – a) Diagrama de blocos do NFNG b) Bloco Fi(xi)........................................ 101

Figura 6.11 – Topologia da rede de Kohonen................................................................... 108

Figura 6.12– Funções de pertinência tipo 1....................................................................... 110

Figura 6.13 – Funções de pertinência tipo 2...................................................................... 111

Figura 6.14 – Determinação das funções de pertinência................................................... 112

Figura 6.15 – Rede de Kohonen para determinar os centros das funções triangulares..... 113

xi

Figura 7.1 – Função ( )xxf sen)( = a ser aproximação..................................................... 118

Figura 7.2 – Rede NFN-MK usada na aproximação da função ( )xsen ............................. 119

Figura 7.3 – Funções triangulares eqüidistantes para ( )xxf sen)( = ................................ 121

Figura 7.4 – Funções triangulares não uniformemente distribuídas para ( )xxf sen)( = .. 121

Figura 7.5 – EQM para diferentes taxas de aprendizagem................................................ 123

Figura 7.6 – Fase de teste do NFN-MK para ( )xxf sen)( = ............................................. 124

Figura 7.7 – RNA utilizada na aproximação da função sen(x)..........................................126

Figura 7.8 – Função tangente hiperbólica..........................................................................129

Figura 7.9 – Derivada da função tangente hiperbólica...................................................... 129

Figura 7.10 – Fase de treinamento da RN para os ganhos arbitrários e obtidos por AG.. 130

Figura 7.11 – Evolução do EQM para os ganhos arbitrários e obtidos por AG................ 131

Figura 7.12 – Fase de teste da rede neural......................................................................... 132

Figura 7.13 – Comparação entre os erro quadrático médio............................................... 132

Figura 7.14 – Curva chapéu mexicano.............................................................................. 134

Figura 7.15 – Rede NFN-MK usada na aproximação do chapéu mexicano..................... 135

Figura 7.16 – Funções triangulares para ),(sin),( 2121 xxcxxf = ...................................... 135

Figura 7.17 – Funções triangulares não uniformes para ),(sin),( 2121 xxcxxf = .............. 136

Figura 7.18 – Fase de teste em 3D da função chapéu mexicano....................................... 138

Figura 7.19 – Fase de teste em 2D da função chapéu mexicano ...................................... 138

Figura 7.20 – Rede NFHQ usada na aproximação da curva chapéu mexicano................. 140

Figura 7.21 – Rede FSOM na aproximação da curva chapéu mexicano........................... 141

Figura 7.22 – RNA utilizada na aproximação da função ),(sin),( 2121 xxcxxf = ............. 142

Figura 7.23 – Fase de treinamento da RN para a curva chapéu mexicano........................ 143

Figura 7.24 – Curva radial................................................................................................. 145

Figura 7.25 – Funções triangulares para a função radial................................................... 146

Figura 7.26 – Funções triangulares não uniforme para curva radial................................. 146

Figura 7.27 – Fase de teste em 3D da função radial.......................................................... 148

Figura 7.28 – Fase de teste em 2D da função radial.......................................................... 149

Figura 7.29 – Fase de treinamento da RN com 21 padrões entrada/saída......................... 151

Figura 7.30 – Fase de treinamento da RN com 101 padrões entrada/saída....................... 151

Figura 7.31 – Comparação entre as etapas de treinamento............................................... 152

xii

Figura 7.32 – Função não-linear........................................................................................ 153

Figura 7.33 – Funções triangulares eqüidistantes para a não-linear................................. 154

Figura 7.34 – Funções triangulares não uniformemente distribuídas................................155

Figura 7.35 – Fase de teste do NFN-MK........................................................................... 156

Figura 7.36 – Estrutura da rede NFN................................................................................. 157

Figura 7.37 – Fase de teste do NFN.................................................................................. 158

Figura AI.1 – Rede multicamadas..................................................................................... 173

Figura AI.2 – Rede neural com suas respectivas conexões............................................... 174

Figura AI.3 – Propagação dos sinais de entrada................................................................ 177

Figura AI.4 – Rede com três camadas............................................................................... 177

Figura AI.5 – Retropropagação do erro............................................................................. 178

Figura AII.1 – Esquema da rede para o LVQ.................................................................... 181

xiii

LISTA DE TABELAS

Tabela 2.1 – Termos da variável salário............................................................................ 17

Tabela 2.2 – Principais t-normas e t-conormas duais........................................................ 19

Tabela 2.3 – Vantagens e desvantagens dos métodos de defuzzificação.......................... 28

Tabela 2.4 – Equações das funções de pertinências.......................................................... 30

Tabela 3.1 – Comparativo entre o cérebro humano e o computador................................. 41

Tabela 3.2 – Comparação entre o neurônio biológico e artificial ..................................... 42

Tabela 4.1 – Comparação entre os sistemas fuzzy e neural ............................................. 63

Tabela 6.1 – Comparação entre o neurônio artificial e fuzzy............................................ 93

Tabela 6.2 – Comparação entre a RNA e o NFN.............................................................. 100

Tabela 7.1 – Dados de treinamento do NFN-MK.............................................................. 120

Tabela 7.2 – Parâmetros da modelagem da função ( )xxf sen)( = .................................... 122

Tabela 7.3 – EQM final..................................................................................................... 123

Tabela 7.4 – Análise de resultados função ( )xxf sen)( = ................................................. 124

Tabela 7.5 – Dados de treinamento da função ( )xxf sen)( = ........................................... 127

Tabela 7.6 – Ganhos otimizados pelo algoritmo genético................................................. 128

Tabela 7.7 – Comparação entre a RNA e o NFN-MK para a função ( )xxf sen)( = .......... 133

Tabela 7.8 – Dados de treinamento do NFN-MK.............................................................. 136

Tabela 7.9 – Parâmetros da modelagem da função ),(sin),( 2121 xxcxxf = ..................... 137

Tabela 7.10 – Análise de resultados função ),(sin),( 2121 xxcxxf = ................................ 139

Tabela 7.11 – Dados de treinamento da curva chapéu mexicano...................................... 143

Tabela 7.12 – Comparação entre a RNA e o NFN-MK para ),(sin),( 2121 xxcxxf = ....... 144

Tabela 7.13 – Comparação dos resultados para a função ),(sin),( 2121 xxcxxf = ............ 144

Tabela 7.14 – Dados de treinamento do NFN-MK............................................................ 147

Tabela 7.15 – Parâmetros da modelagem da função radial............................................... 148

Tabela 7.16 – Análise de resultados função radial............................................................ 149

Tabela 7.17 – Dados de treinamento da curva radial......................................................... 152

xiv

Tabela 7.18 – Comparativo entre NFN e NFN-MK.......................................................... 154

Tabela 7.19 – Parâmetros das curvas de pertinência da função não-linear....................... 155

Tabela 7.20 – Resultados dos EQM.................................................................................. 159

xv

LISTA DE SIGLAS E ABREVIATURAS

IA Inteligência Artificial

AG Algoritmo Genético

ANFIS Adaptive Network-based Fuzzy Inference System

ART Adaptative Resonance Theory

C Centro

CDA Centro de Área

EQM Erro Quadrático Médio

FSOM Fuzzy Self-Organized Map

GD Gradient Decrescent

LD Limite Direito

LE Limite Esquerdo

LVQ Linear Vector Quantazation

MAX Critério do Máximo

MCP McCulloch e Pitts

MDM Média dos Máximos

MIMO Multiple Input – Multiple Output

MQO Mínimos Quadrados Ordinários

MLP Multi-Layer Perceptron

NB Negativo Grande

NEFCLASS Neuro Fuzzy Classification

NFHQ Neuro Fuzzy Hierárquico Quadtree

NFN Neo-Fuzzy Neuron

NFNG Neo-Fuzzy-Neuron Generalizado

NFN-MK Neo- Fuzzy-Neuron Modificado por Kohonen

NM Negativo Médio

xvi

NS Negativo Pequeno

PB Positivo Grande

PDP ParallelDistributed Processing

PM Positivo Médio

PS Positivo Pequeno

RBF Radial Basis Function

RFN Rede Fuzzy Neural

RN Rede Neural

RNA Rede Neural Artificial

SF Sistemas Fuzzy

SH Sistemas Híbridos

SOM Self Organizing Map

VB Visual Basic

ZE Zero

xvii

RESUMO

PAGLIOSA, Angelo L. Obtenção das funções de pertinência de um sistema neurofuzzy

modificado pelas redes de Kohonen. 2003. 182f. Dissertação (Mestrado em Automação

Industrial) – Centro de Ciências Tecnológicas, Universidade do Estado de Santa Catarina,

Joinville, 2003.

Esta dissertação propõe um modelo computacional que combina técnica de Sistemas Fuzzy

(SF) e Redes Neurais Artificiais (RNA´s), com o objetivo de realizar a identificação de

sistemas, os quais são modelados pela descoberta de curvas de pertinência e pesos de

conexões no modelo proposto. O modelo proposto chamado de Neo Fuzzy Neuron Modificado

pela rede de Kohonen (NFN-MK) foi reestruturado a partir do modelo do Neo Fuzzy Neuron

(NFN), proposto originalmente por Yamakawa. O modelo NFN é construído sob uma

topologia neural que associa as regras do tipo “Se – Então”, sendo estas do tipo fuzzy. A

virtude do modelo de Yamakawa é combinar o conhecimento apresentado nos SF´s com a

habilidade de aprendizagem e generalização das RNA´s. A partir deste modelo, o NFN-MK

introduz a rede de Kohonen em um estágio inicial da aprendizagem, a fim de encontrar os

vértices iniciais das curvas triangulares de pertinência do modelo proposto. A partir da

definição inicial dos vértices dos triângulos nas curvas de pertinência, inicia-se um processo

de aprendizagem, análogo ao backpropagation clássico, a fim de ajustar os pesos de cada

conexão da topologia neural proposta. Ao final da aprendizagem, o NFN-MK é submetido a

experimentos na identificação de três sistemas. Estes sistemas são representados com curvas

matemáticas clássicas, a fim de comparar a eficiência do modelo proposto a outros resultados

como: o próprio valor analítico das funções, RNA´s clássicas e outros modelos neurofuzzy de

trabalhos correlatos.

Palavras-chaves: sistemas fuzzy, redes neurais, sistemas neurofuzzy, método de Kohonen,

funções de pertinência

xviii

ABSTRACT

PAGLIOSA, Angelo L. Neo-Fuzzy-Neuron Modify (NFNM) that uses Kohones' method

to automatic generation of memberships function. 2003. 182p. MSc.thesis in Industrial

Automation - University Santa Catarina State, Joinville, 2003.

This dissertation presents an hybrid computational model that combines fuzzy system

techniques and artificial neural networks. Its objective is the automatic generation of

membership functions, in particular, triangle forms, aiming at a dynamic modelling of a

system. The model is named Neo-Fuzzy-Neuron Modify by Kohonen (NFN-MK), since it

starts using Kohonen network to obtain the central vertices in triangular curves. A set of these

curves are used to model a variable of the real system. NFN-MK is based on the Neo-Fuzzy-

Neuron (NFN) model originally proposed by Yamakawa, where a network is adapted in order

to associate fuzzy, "if-then"rules allowing elicitation and extraction of knowledge in linguistic

form. The NFN-MK model is tested by simulation of real systems. They are here represented

by classical mathematical functions, chosen due their importance in the system identification

field. Finally, a comparison of the results obtained by NFN-MK is carried out against other

models such as analytical results, traditional neural networks, and correlated studies of

neurofuzzy systems applied to system identification. This work ends with a comparison of the

results obtained by NFN-MK with analytical results, and those obtained by using traditional

neural networks and other system identification neurofuzzy methods.

Key-words: fuzzy systems, neural network, neurofuzzy systems, Kohonen method,

memberships function.

CAPÍTULO 1

INTRODUÇÃO

A Identificação de Sistemas é a área que estuda a construção de modelos matemáticos

de sistemas dinâmicos a partir das variáveis de entrada e saída [3], podendo estes ser lineares

ou não-lineares, e a partir destes modelos realizar experimentos que reportem o

comportamento dos sistemas reais. Uma das principais motivações é o custo e viabilidade

reduzidos em se trabalhar com modelos no lugar dos sistemas reais. Dependendo do tipo de

processo que se deseja identificar, uma maneira extremamente útil de descrever um problema

de identificação é sob forma de aproximação de funções, ou sob a otimização de funções que

implica na minimização do erro, visando com isto replicar o comportamento real.

A área de Inteligência Artificial (IA) apresenta-se como uma alternativa para a solução

de problemas em identificação e controle, principalmente aqueles que envolvem não-

linearidades [41]. A IA implementa/constrói sistemas que permitem que o computador

execute funções que são desempenhadas pelos seres humanos, usando conhecimento e

raciocínio. Alguns sistemas são inspirados em modelos biológicos, outros, em sistemas que

produzem algum tipo de comportamento próximo ao observado em sistemas naturais [58].

Na IA duas linhas de pesquisas são conhecidas: as Redes Neurais Artificiais

(inspiração no modelo do neurônio biológico) e a Lógica Fuzzy (dirigida ao raciocínio

humano) [58]. As Redes Neurais Artificiais (RNA´s) oferecem a possibilidade de aprendizado

a partir dos pares de entrada/saída. Contudo, as RNA´s podem exigir um longo tempo de

treinamento e não possuem um mecanismo explicativo, tão menos um mecanismo automático

e eficiente para auxílio no desenvolvimento do projeto.

Já a Lógica Fuzzy (LF) é um mecanismo de raciocínio similar ao do ser humano, por

uso de termos lingüísticos e conhecimento do senso comum. As limitações deste sistema são:

inexistência de técnicas de aprendizado na geração das regras fuzzy e das funções de

pertinência, as quais dependem do conhecimento de um especialista.

As combinações entre essas áreas, RNA´s e LF´s, encontram-se dentro do contexto dos

Sistemas Híbridos (SH), que utilizam as vantagens de cada um dos sistemas, aproveitando o

conhecimento do modelo do processo para diminuir o tempo de projeto. A simbiose dessas

2

linhas de pesquisa vem gerando novas classes de “Sistemas Neurofuzzy”, que se diferenciam

pela arquitetura, métodos de aprendizagem, parâmetros pré-definidos e representação de

conhecimento, combinando a capacidade de sistemas fuzzy de lidar com informações

imprecisas e com a capacidade das redes neurais de aprender por meio de exemplos.

Neste trabalho é proposto um sistema híbrido chamado de Neo Fuzzy Neuron

Modificado pela rede de Kohonen, destinado à aproximação de funções, que identificam e

modelam um sistema real. O Neo Fuzzy Neuron foi originalmente proposto por Yamakawa

[96, 97], e a partir deste modelo se reestruturaram alguns conceitos, mais especificamente o

uso da rede de Kohonen para encontrar os centros das curvas fuzzy dos neurônios fuzzy do

modelo em questão. O treinamento da rede proposta pelo NFN-MK só é finalizado quando o

erro de estimação ou o número de épocas for satisfeito, então o NFN-MK obtido pode ser

usado como um novo modelo da planta real. A implementação da rede de Kohonen tem o

propósito de indicar a localização inicial das curvas de pertinência mais apropriadas para cada

aplicação, representando assim, um maior conhecimento e precisão sobre o sistema em

estudo.

1.1 Contextualização

Há diferentes maneiras de se obter um modelo para um determinado sistema,

utilizando equações matemáticas, gráficos, etc. As equações matemáticas são as mais usadas

[58]. Isto significa que os comportamentos e as relações dos agentes são expressos por um

modelo matemático. Para modelar matematicamente um sistema, pode-se adotar dois

procedimentos:

• Leis físicas que supostamente governam o comportamento do sistema;

• Inferir um modelo baseado em dados observados do sistema. Isto ocorre quando a

modelagem direta é impossível ou difícil, ou seja, o conhecimento do sistema é

incompleto ou inexistente, exceto os valores dos pares das entradas com as

respectivas saídas.

Assim um sistema pode-se definir como uma coleção de agentes, onde, cada um

comporta-se de modo autônomo, ou seja, possui comportamento próprio, capaz de interagir

com os outros, para satisfazer um conjunto específico de exigências e manter um

3

comportamento coerente com seu ambiente. Os agentes em questão podem ser: simples

células, variáveis numéricas, string de bits, etc.

Em alguns sistemas o comportamento é classificado como de difícil identificação e

resistem a tais procedimentos matemáticos. Nestes casos, a obtenção do modelo do sistema

com as ferramentas disponíveis é complicada e o projetista tende a simplificar a realidade

observada. Esta simplificação limita-se às relações entre agentes e seu ambiente, já que os

procedimentos quantitativos são limitados no tratamento de relações altamente não-lineares e

dinâmicas. Como conseqüência, o modelo obtido não reflete a realidade tal como ela é. As

relações matemáticas podem só descrever certos aspectos do mundo real, e sua utilização se

deve muitas vezes à falta de outras ferramentas mais apropriadas [58].

Neste sentido, para resolver a complexidade do problema da identificação de sistemas,

remete-se ao uso de ferramentas não-convencionais, no caso a área de Inteligência Artificial

(IA). O trabalho apresenta um sistema híbrido, o Neo-Fuzzy-Neuron Modificado por Kohonen

(NFN-MK), que busca com aproximações de funções a modelagem de um sistema. O modelo

proposto usa um conjunto de dados do tipo entrada-saída do sistema real para estimar o

comportamento das funções de pertinência, regras lógicas e ajustar pesos da rede, e com isto

representar o modelo do sistema a ser aproximado. Essas funções podem ser lineares ou não-

lineares, dependendo do tipo de processo que se deseja aproximar.

Quando IA é colocada em contexto, os seres humanos pensam em sistemas que

raciocinam e tomam decisões iguais aos seres humanos, verdadeiros protótipos de pessoas

capazes inclusive de sentir, o que é um erro. A conseqüência é que o termo acaba sendo mal

aplicado, pois as pessoas não entendem que se trata de algoritmos e não de inteligência no

sentido do ser humano. O que diferencia um sistema que usa IA de um programa

convencional é a qualidade de desempenho, ou seja, velocidade de processamento.

A principal motivação no desenvolvimento de sistemas híbridos, é que o uso de uma

única técnica, pode não ser capaz de resolver um dado problema, em razão de suas limitações

ou deficiências. A combinação de várias técnicas pode levar a uma solução robusta e

eficiente, sendo esta uma das proposições do trabalho.

4

1.2 Problema Abordado

O problema aqui abordado é encontrar um modelo computacional que reproduza o

comportamento de um sistema real. Encontrar este modelo é um problema da área de

Identificação de Sistemas.

1.2.1 Objetivo Geral

Desenvolver um sistema neurofuzzy destinado a identificação de sistemas, onde as

funções de pertinência do tipo triangulares são ajustadas inicialmente pela rede de Kohonen.

A eficiência do modelo proposto é exibida com exemplos de aproximações das funções que

representem um sistema real a ser identificado. Neste trabalho foram modeladas as funções:

sen(x), chapéu mexicano, radial e não-linear, sendo essas contínuas e limitadas em um

intervalo no espaço.

1.2.2 Objetivos Específicos

• Implementar um sistema de inferência, onde o modelo é formado por um conjunto

de regras do tipo Se-Então, que representam o comportamento do sistema;

• Implementar rotinas de aprendizagem, para o modelo adaptar-se aos requisitos e

mudanças ambientais, assim como uma generalização das situações anteriores;

• Mesclar técnicas fuzzy e neural, resultando em um sistema híbrido, o Neo-Fuzzy-

Neuron Modificado por Kohonen;

• Processar as entradas/saídas e armazenar o conhecimento obtido a partir da

experiência. Isto significa que o modelo utiliza dados numéricos do sistema real;

• Ajustar as funções de pertinência do tipo triangular, pela rede de Kohonen;

• Aplicar conceitos de identificação e modelagem de sistemas, aos casos propostos;

• Validar o modelo computacional proposto, testando-o na identificação das

funções sen(x), chapéu mexicano, radial e não-linear.

Em resumo, é proposto um modelo computacional que deverá implementar os

requisitos citados anteriormente. Este modelo deverá ter como parâmetro de entrada um

5

conjunto de dados de entrada-saída do sistema real, e ele deverá ser capaz de ajustar as curvas

de pertinência, gerar uma base de regras e encontrar os pesos da rede, para que aproxime o

comportamento dos dados de entrada-saída ao comportamento do sistema real. E, se assim

for, concluindo-se a mimetização comportamental do sistema real com o modelo proposto.

1.2.3 Justificativas

As justificativas em torno da implementação do sistema híbrido chamado de Neo

Fuzzy Neuron Modificado por Kohonen (NFN-MK) aplicado à aproximação de funções são

dadas por:

• O número de operações envolvidas no sistema NFN-MK é menor, quando

comparado com as RNA´s. Isso faz com que seja uma opção atraente em

aplicações em tempo real e em treinamento on-line;

• Com o uso da rede de Kohonen, o sistema obtém funções de pertinência não

uniformemente distribuídas, representando maior precisão e conhecimento sobre o

sistema em estudo;

• O sistema NFN-MK utiliza sete funções de pertinência para cada padrão de

entrada. Segundo Shaw e Simões (1999), uma mudança de cinco curvas para sete,

aumenta a precisão em torno de 15%, sendo que a partir de sete não há melhorias

significativas;

• As funções de pertinência são do tipo triangulares, porque esse perfil tem a

vantagem de ser computacionalmente simples;

• Os procedimentos de aprendizagem usados no sistema NFN-MK não utilizam

derivadas, como no backpropagation (usado em redes neurais artificiais),

tornando a atualização dos pesos mais rápida.

1.3 Contribuições

A seguir as principais contribuições da dissertação:

6

• O NFN-MK é um modelo computacional que apresenta uma alternativa à área de

Identificação de Sistemas com técnicas não-convencionais. A Inteligência

Artificial é capaz de reduzir a complexidade da modelagem de um sistema real.

Em princípio, ele é uma solução para problemas de controle até intratáveis por

técnicas clássicas, como: transformadas de Laplace ou Z [82];

• O processo de aquisição de conhecimento não depende de um especialista, como

nos sistemas fuzzy. As curvas iniciais de pertinência são sete, modificadas e

adaptadas pela rede de Kohonen, baseadas apenas nos dados de entradas;

• A aproximação de função por RNA implica principalmente em dois fatores: os

números de neurônios e de camadas escondidas. Esses problemas são

solucionados com a rede NFN-MK, porque os números de neurônios estão

relacionados com os números das funções de pertinência, que são sete. Já o

sistema NFN-MK não usa camadas escondidas;

• O sistema NFN-MK soluciona também os problemas de mínimos locais,

encontrados nas redes neural multicamadas (MLP), porque a função objetivo a ser

minimizada no processo de treinamento é quadrática e convexa [16, 19, 48, 96,

97].

1.4 Organização da Dissertação

Inicialmente são apresentados alguns conceitos básicos da lógica fuzzy, redes neurais

artificiais e sistemas híbridos, os quais são pré-requisitos necessários para o entendimento do

sistema NFN-MK proposto neste trabalho. Assim, a dissertação está estruturada em 8

capítulos, conforme descrito a seguir.

No capítulo 2 são apresentados os fundamentos e conceitos necessários para

implementar um sistema inteligente baseado em lógica fuzzy. No capítulo 3 apresentam-se,

em detalhes, os fundamentos teóricos das redes neurais artificiais, descrevendo sua célula

básica, sua arquitetura e os algoritmos de aprendizagem. A simbiose das técnicas fuzzy e

neural serão descritas no capítulo 4, onde alguns sistemas neurofuzzy já desenvolvidos e

conhecidos na literatura, são apresentados e classificados segundo a taxonomia proposta. Já o

capítulo 5 descreve a Inteligência Artificial aplicada a técnicas de controle, especificamente

em identificação e modelagem de sistemas. O capítulo 6 apresenta o modelo NFN-MK que

tem como proposta de estudo ajustar as funções de pertinência de uma rede neurofuzzy. A

7

obtenção dessas funções é feita através de algoritmo de agrupamento, no caso, o mapa auto-

organizável de Kohonen. No capítulo 7, são apresentados quatro estudos de casos realizados

com os sistemas NFN-MK. Os resultados associados a problemas de aproximações de

funções, são promissores, mas não podem ser interpretados como conclusivos, porque os

problemas das aplicações foram escolhidos arbitrariamente. O propósito básico é indicar o

potencial dos sistemas híbridos inteligentes e as variadas possibilidades de aplicações. O

capítulo 8 discute as conclusões deste trabalho e apresenta propostas de possíveis trabalhos

futuros.

Além dos capítulos acima citados, essa dissertação possui dois apêndices. No apêndice

I é apresentada uma descrição detalhada do algoritmo backpropagation [5, 12, 25, 31, 50, 91,

103], usado em RNA´s. Já no apêndice II é detalhado o algoritmo Vetor de Quantização

Linear (LVQ), usado nas redes de FSOM de Kohonen [5, 12, 25, 91].

Ao leitor, os termos funções ou curvas de pertinência encontradas durante o texto tem

o mesmo significado.

CAPÍTULO 2

LÓGICA FUZZY

Este capítulo apresenta a fundamentação de conceitos necessários para a

implementação de sistemas inteligentes baseado em Lógica Fuzzy (LF).

2.1 Introdução

A lógica fuzzy (também conhecida como nebulosa ou difusa) representa um esquema

de traduzir informações vagas, imprecisas em valores numéricos [8]. Possibilita a inclusão da

experiência humana em controle computadorizado, tornando possível decisões em problemas

complexos. Ela pode ser agregada a sistemas de redes neurais (os sistemas neurofuzzy)

aumentando o aprendizado e interface com os dados numéricos. O sucesso mundial de

sistemas de modelagem e controle em lógica fuzzy aplicados na indústria o recomenda como

uma ferramenta eficiente na engenharia de controle industrial, manufatura, comunicações

homem-máquina e sistemas de tomada de decisão [2].

Nas teorias de controle clássica e moderna, o primeiro passo para implementar o

controle de um processo é derivar o modelo matemático (transformada de Laplace ou Z) que

descreve o mesmo [82]. O procedimento requer que se conheça detalhadamente o processo a

ser controlado, o que nem sempre é factível se ele for muito complicado (ver figura 2.1).

9

Figura 2.1 – Diagrama de blocos do sistema de controle

A teoria tradicional de controle, baseada em Diagramas de Bode, Lugar das Raízes,

Equações de Estados, tem sido aplicada com sucesso em sistemas muito bem conhecidos e

definidos. Entretanto, todas estas técnicas não são capazes de resolver problemas reais cuja

modelagem matemática é impraticável. Por exemplo, suponha-se um processo linear, onde as

variações nas entradas produzem variações proporcionais nas saídas. Ao se assumir a

propriedade de linearidade, pode-se utilizar técnicas extremamente poderosas e conhecidas na

área de engenharia e tecnologia, com soluções analíticas, e muitas vezes necessitam ser

linearizadas em torno de um ponto de operação. Outra restrição muito utilizada em análises de

sistemas lineares é que os parâmetros de processo não se alteram, ou seja, que o sistema seja

invariante no tempo, apesar de na realidade ocorrer deterioração dos componentes dos

sistemas com o passar do tempo, além de impactos ambientais, tais como influências de

temperatura e pressão. Devido a tais simplificações, o projetista em geral encontra sérias

dificuldades no desenvolvimento de uma descrição matemática significativa e realista de um

processo industrial. As causas de tais dificuldades podem ser classificadas como: fenômenos

físicos ou químicos mal compreendidos, valores imprecisos de parâmetros, a dimensão e a

complexidade do modelo, distúrbios externos e deficiência de qualificação técnica [2, 82].

Controlador ProcessoDesconhecido

SaídaEntrada

Realimentação

+_-

Obter o modelomatemático da planta

10

Novas tecnologias são inventadas devido às necessidades específicas. O início da lógica

fuzzy foi pela necessidade de um método capaz de expressar de uma maneira sistemática

quantidades imprecisas, vagas e mal-definidas [82]. Por exemplo, em vez de se utilizar um

modelo matemático, os controladores industriais baseados em lógica fuzzy podem ser

investigados com o conhecimento experimental de operadores humanos já treinados, fazendo

com que a ação de controle seja tão boa quanto a deles (em geral melhor) e sempre

consistente.

Nos últimos anos, a utilização no cotidiano de computadores pessoais e equipamentos

controlados por microprocessadores trouxeram a necessidade de sofisticados sistemas de

interação Homem - Máquina. O matemático M .Minsky acredita que robôs vão substituir o

homem em todas as tarefas, desde as mais simples e repetitivas tarefas, como montar carros,

até as mais sofisticadas, como dirigir um carro. Quando se escreve um programa para fazer

alguma tarefa, deseja-se que o mesmo faça isso de forma semelhante ao ser humano. Para

realizar uma tarefa, o cérebro humano tenta várias possibilidades, vários caminhos de ação e,

se um não der certo, ele tenta outro caminho diferente. Pode-se dizer que a inteligência é a

capacidade de fazer várias coisas ao mesmo tempo [88, 98, 92]. Assim, se consegue dirigir um

carro por uma estrada, trocando marchas e fazendo curvas ao mesmo tempo em que se resolve

um problema mentalmente ou conversa com outra pessoa sobre algo, que está muito distante

dali. Uma criança de 18 meses ao colocar um lápis em uma gaveta, ela irá tentar de várias

formas, aprendendo com os erros, até conseguir. Os computadores apresentam uma

dificuldade para conseguir fazer isso. Uma criança sabe que pode puxar um objeto com uma

corda, mas sabe também que não pode empurrar um objeto com uma corda porque ela é

flexível. Isso é senso comum. Para fazer o computador agir dessa forma, insere-se, via

programação, informações e conhecimento. Sem elas, ele não pode fazer muitas tarefas, pois é

incapaz de entender o que está acontecendo.

O problema nessa interação é que os computadores não podem entender os conceitos

vagos e os termos imprecisos da linguagem e do pensamento humano. Normalmente as

informações são coletadas através de afirmações que podem ser consideradas verdadeiras ou

falsas e representadas em computador por meio dos valores numéricos “0” e “1” da lógica

binária, chamada Lógica de Boole [8]. Por outro lado, os termos vagos, imprecisos ou

qualitativos - tais como “moderadamente rápido”, “médio”, “um tanto devagar”, não podem

ser expressos com lógica binária [81]. Como os fenômenos práticos do dia-a-dia nunca são

11

considerados completamente falsos ou completamente verdadeiros, utiliza-se a lógica fuzzy, a

qual possibilita que tais informações, de natureza imprecisa, sejam implementadas em

computadores [82]. Este oferece um método, baseado em teoria de conjuntos matemáticos,

para o manuseio de descrições qualitativas, inexatas, imprecisas e incertas de uma maneira

rigorosa e sistemática [77].

A Lógica Fuzzy foi proposta por L. A. Zadeh em um artigo intitulado “Fuzzy Sets”

publicado em 1965 [8]. Embora os princípios da lógica fuzzy já estejam disponíveis a algum

tempo no meio científico, somente nos últimos anos têm sido aplicados em processos

industriais [27]. Atualmente diversos produtos de uso diário já dispõem de controladores fuzzy

[30, 46].

2.2 Resumo Histórico

No início da década de 70, pesquisadores da Inteligência Artificial concentraram seus

esforços em tornar as Lógicas em geral aplicáveis à resolução de problemas. Pesquisadores

como Nils Nillson chegaram abordar a Inteligência Artificial como sendo uma questão de

Lógica Aplicada [69].

Inicialmente, a lógica clássica ou binária teve suas raízes em Aristóteles há

aproximadamente 2500 anos atrás. Tratando-se de um filósofo, Aristóteles discutia a lógica

com base em uma interpretação, cuja problemática é demonstrar a manutenção de uma verdade

em um determinado contexto. Este questionamento leva à análise de eventos futuros, cujos

valores podem se tornar em verdades ou falsidades, potencialmente em ambos ou em nenhum

destes. Os conceitos de verdade (V) e falso (F) foram investigados durante séculos por

filósofos, matemáticos e lingüistas [75].

A lógica binária iniciada por Aristóteles foi mais bem entendida apenas neste século,

onde outras lógicas também foram propostas. Mais recentemente, uma lógica chamada de

fuzzy foi apresentada por Lotfi Zadeh em 1965. Ele nasceu em Baku capital do Azerbaijão,

mas, obteve sua graduação em engenharia elétrica na Universidade do Teerã no Irã.

Atualmente é professor emérito na Universidade da Califórnia, em Berkeley [44]. Mas, Bart

Kosko, professor de engenharia elétrica da Universidade do Sul da Califórnia, afirma que este

tipo de lógica multivalorada foi explorado em 1920 por Jan Lukasiewicz, um lógico polonês,

que também definiu a notação reversa polonesa (KOSKO, 1991 apund BARRON; BARRON,

12

1993). Max Black, um filósofo quântico, nascido também em Baku, seguiu o trabalho de

Lukasiewicz em 1937 e criou a base do quem vem sendo pensado como funções de pertinência

de conjuntos fuzzy [8, 44].

No início dos anos 60, Zadeh aperfeiçoou a pesquisa original. Em seguida, desenvolveu

o que se conhece como teoria dos conjuntos fuzzy, introduzindo o termo fuzzy em nossa

linguagem para lidar com o que Black tinha se referido como vaguidade [8, 44]. Em 1965,

Zadeh publicou um texto introdutório sobre o assunto, intitulado Fuzzy Sets [2, 41, 43].

A pesquisa da teoria fuzzy alcançou avanço na própria teoria e no experimento com

aplicações no processo de controle e outras áreas. Em 1974 o professor Mamdani, do Qeen

Mary College, Londres, foi o primeiro aplicar a teoria fuzzy no sistema de controle de um

motor a vapor. Em 1980 F. L. Smidth, da Dinamarca, aplicou a teoria fuzzy no controle de

fornos de tijolos de cimento, fazendo desta a primeira vez que a teoria fuzzy foi usada numa

situação de processo de controle real [27, 44].

Idealizada nos Estados Unidos, difundida na Europa, aplicada, aperfeiçoada e

comercializada no Japão em sistema de controle, está técnica volta agora aos Estados Unidos,

possibilitando aos produtos japoneses uma melhor forma que os americanos. Embora a lógica

fuzzy seja usada largamente no mundo, ela é mais popular no Japão. Sua aceitação fora do

Japão tem sido lenta; algumas pessoas atribuem isso ao próprio nome da técnica, escolhida por

Lotfi A. Zadeh. Em 1988, de 100 aplicações da teoria fuzzy em existência, cerca de 80 foram

criadas no Japão. Os japoneses reconheceram o potencial da lógica difusa mais rapidamente do

que as outras partes do mundo. As primeiras aplicações de vulto da lógica fuzzy no Japão

datam de 1983, na planta de tratamento de água da Fujitec, e em 1987 o sistema Sendai de

automação de ferrovia, a 320 Km ao norte de Tóquio [8, 27, 30].

Quando ele foi inaugurado em 1987, o Metrô Sendai usava um sistema de controle

fuzzy da Hitachi. Um estudo anterior dessa empresa havia mostrado que um sistema de

controle fuzzy era superior a um convencional de várias maneiras: aumentava a precisão das

paradas na plataforma, tornava a viagem mais confortável (com aceleração e freio mais suaves)

e reduzia o consumo de energia elétrica [8]. O desempenho do sistema Sendai impressionou

tanto que, em 12 meses, mais de 50 empresas japonesas estavam trabalhando para desenvolver

tecnologia de lógica fuzzy. Hoje o sistema fuzzy controla o metrô durante as horas de pico. Os

seres humanos ainda controlam o metrô nas horas de não-pico para manter suas práticas de

operação [44].

13

2.3 Noções da Lógica Fuzzy

A lógica fuzzy difere dos sistemas com a lógica clássica em seu mapeamento de

verdade e falsa. Nessa lógica o valor verdade de uma proposição pode ser um subconjunto

fuzzy (por exemplo: baixo, médio e alto) de qualquer conjunto parcialmente ordenado (ver

figura 2.2).

Figura 2.2 – Domínio das variáveis lingüísticas

Ao contrário dos sistemas lógicos binários, onde o valor verdade só pode assumir dois

valores: verdadeiro ou falso (ver figura 2.3).

Figura 2.3 – Domínio da lógica binária

Em geral, seres humanos apresentam uma linguagem em termos vagos e dependentes

de contexto para elaborarem suas idéias. Para isso vamos ver outro exemplo. Ao se dizer que

uma determinada pessoa é alta, isto é perfeitamente entendido, mesmo que não se defina

Variável

10

1

y

y

Baixo Médio Alto

Variável

0 1,0 2.0

1

14

exatamente a partir de que altura, em metros, uma pessoa pode ser considerada alta. Por outro

lado, na lógica binária tradicional, uma pessoa pode apenas ser considerada alta ou não-alta,

correlacionando com um determinado comprimento padrão [81]. Sem se estabelecer uma

referência exata, é impossível determinar se a afirmação “João é alto” é verdadeira ou falsa

com a lógica binária. Por exemplo: se a referência fosse 1.8 m, uma pessoa com 1.81 m seria

considerada “alta”, enquanto outra, de 1.79 m, seria “não-alta”. A figura 2.4 mostra uma curva

que divide as duas classes. Essa curva possui uma mudança brusca, e um valor binário “0” ou

“1” indica em qual classificação se encontraria uma pessoa em termos de sua altura em

metros.

Figura 2.4 - Classificação binária entre ser alto ou não-alto [81]

A consideração é sempre válida quando há um limite ou uma referência que tenta

dividir o sim ou não, o preto do branco, etc. Na realidade, os seres humanos têm a tendência

de suavizar as mudanças bruscas, de fazer meias-afirmações ou de enxergar graduações em

cores que entram em contradição com a lógica binária [81].

A mudança brusca, em 1.8 m, de “alto” para “não-alto”, em geral é contra o senso

comum do pensamento humano. A lógica fuzzy evita tal problema pela adoção do conceito de

se pertencer parcialmente a um conjunto, como em afirmações do tipo "não muito alto” ou

“bem alto” (ver figura 2.5).

Não-alto

Alto

1,0

0 Altura (m)1,80 2,0

15

Figura 2.5 - Classificação fuzzy para variável altura [41]

Cada uma dessas afirmações lingüísticas representa uma verdade parcial, um certo grau

de verdade, ou um certo grau de pertinência a um conjunto. Na lógica fuzzy, um elemento

pode pertencer de forma parcial a um conjunto, com um certo grau, digamos 80% ou 25%. Na

lógica clássica, o grau de pertinência é sempre 100% ou 0% (“0” ou “1”), enquanto na lógica

fuzzy ele pode ser um valor entre 0 e 1 [81, 82].

2.3.1 Variáveis Lingüísticas

Na lógica fuzzy, os valores verdades são expressos lingüisticamente, (ex: verdade, muito

verdade, não verdade, falso, muito falso,...), onde cada termo lingüístico é interpretado como

um subconjunto fuzzy do intervalo unitário [27, 28].

Nos sistemas lógicos binários, os predicados são: par, maior que, etc; passo que na

lógica fuzzy as variáveis lingüísticas são: alto, baixo, etc. Nos sistemas com lógica clássica, o

modificador mais utilizado é a negação enquanto que na lógica fuzzy uma variedade de

modificadores de predicados é possível (ex.: muito, mais ou menos,...). Estes modificadores

são essenciais na geração de termos lingüísticos (ex.: muito alto, mais ou menos perto, etc.).

Nos sistemas clássicos existem os quantificadores existenciais (∃ ) e universais (∀ ). A lógica

fuzzy admite uma variedade de quantificadores (ex.; pouco, vários, usualmente,

freqüentemente, em torno de cinco, etc.) [27, 28]. Esses problemas podem ser facilmente

resolvidos pelo cérebro humano. Assim, verifica-se que os problemas da vida real são

imprecisos. Raramente se pode resolvê-los com um sim ou não.

Baixo Alto

1,0

0 Altura (m)1,80 2,0

Médio

16

A questão está na rigidez da lógica convencional, que sendo dicotômica, não permite

classificar os fatos como parcialmente “verdadeiros” ou parcialmente “falsos” [8]. Em

resumo, a lógica fuzzy buscou uma generalização da lógica clássica, flexibilizando-a [0, 1].

Portanto, a implementação de um projeto de sistemas de controle fuzzy pode ser

reduzida a um ponto em que problemas anteriormente intratáveis passam agora a ser factíveis a

uma solução. A idéia do uso da lógica fuzzy neste trabalho é pela sistemática de traduzir os

termos fuzzy da comunicação humana em valores compreensíveis por computadores. Já que os

computadores são máquinas de aplicações gerais que podem interfacear com processos físicos,

químicos, térmicos e biológicos, a forma de comunicação humana pode ser utilizada para

diretamente intercambiar as informações entre operadores e tais processos.

2.3.2 Teoria dos Conjuntos Fuzzy

Nesta seção são formalizadas as idéias básicas sobre conjuntos e lógica fuzzy visando à

modelagem e o desenvolvimento de sistemas de controle. Na teoria de conjuntos clássicos, um

elemento ou pertence a um conjunto ou não. Por exemplo: o conjunto das pessoas nascidas em

um estado. O conjunto é bem definido e sem ambigüidade com relação aos seus elementos de

fronteiras. Todo cidadão tem uma certidão de nascimento onde consta o seu estado de origem.

Logo, dado um universo U e um elemento particular x ∈U, a função de pertinência µA(x) com

respeito a um conjunto A⊆U é dado por:

(2.1)

O fator de pertinência pode então assumir qualquer valor 0 e 1, sendo que o valor 0

indica uma completa exclusão e um valor 1 representa completa pertinência. Esta

generalização aumenta o poder de expressão da função característica. Por exemplo: o conjunto

das pessoas satisfeitas com seus salários em uma grande empresa. Neste exemplo, há uma

variável implícita chamada salário, que precisa ser quantificada e qualificada. Ou seja,

necessita-se traçar uma função descritora ou de pertinência para definir os elementos deste

conjunto e suas vizinhanças. Para este caso, a função de pertinência µA(x) é dada por:

17

µA(x):U→ [0,1] (2.2)

O conjunto suporte de um conjunto fuzzy A é o subconjunto dos pontos x em U tal que

µA(x) ⟩ 0.

Contudo, necessita-se mapear o conhecimento sobre a variável salário, também

conhecido como variável lingüística. Esta variável necessita ser categorizada, isto é, situar-se

em subconjuntos característicos. Os elementos assemelhados são definidos por termos. Estes

termos concentram um conjunto de elementos de mesmas características. Por exemplo: a

variável salário (S), pode possuir os seguintes termos:

S = {s0, s1,s2, s3},

cuja semântica expressa uma faixa de valores (ver tabela 2.1):

Tabela 2.1 - Termos da variável salário [75]

S Valores Lingüísticos Faixa Salarial em U$

S0: “muito baixo” 100 100 150 200

S1: “baixo” 150 200 300 500

S2: “médio” 300 500 600 700

S3: “bom” 600 700 1000 1000

A definição é sobre uma faixa de valores aproximados, fornecida a partir de um analista

de salários. No exemplo de Sá (1997), mapeou os salários pagos pela empresa a partir de 100

a 1000. O conhecimento sobre a variável fuzzy S, pode ser expressa em curvas de

conhecimento trapezoidal (figura 2.6).

18

100 1.000150 200 300 600500 700 Salário

1S2S1So S3

µS(Si)

Figura 2.6 - Descrição da variável salário [75]

Para expressar conceitos é comum o uso de elementos qualitativos, ao contrário de

valores quantitativos. Uma variável lingüística tem por característica assumir valores dentro de

um conjunto de termos lingüísticos, ou seja, palavras ou frases. Assim, ao contrário de

instâncias numéricas, são substituídas por uma variável lingüística que assume instâncias

lingüísticas. Por exemplo, a variável lingüística salário poderá assumir como valor um dos

membros do conjunto {muito baixo, baixo, médio, bom}. Para se atribuir um significado aos

termos lingüísticos, associa-se cada uma destes a um conjunto fuzzy definido sobre um

universo de discurso da figura 2.6.

A forma de expressar o conhecimento é tipicamente com regras do tipo condição -

ação. Supondo que uma variável de entrada (condição) “salário” (S) esteja associada a uma

variável de saída (ação) chamada “motivação pessoal” (M), uma regra típica é dada por:

SE (S é Baixo) Então (M é pouca)

A idéia geral aqui é representar o conhecimento por um conjunto de regras nas quais as

condições são dadas a partir de um conjunto de termos lingüísticos associados às variáveis de

entrada/saída do processo. Analogamente, as funções de transferência de Laplace fazem algo

semelhante em teoria de controle linear [2]. Regras do tipo Se - Então são chamadas de regras

fuzzy. Uma regra fuzzy pode ser:

SE (x é ai ) E (y é bi ) e ...ENTÃO (z é ci),

onde as variáveis de entrada (x, y,...), que aparecem como argumentos condicionais dentro do

operador “SE”, são referidas como antecedentes. Já a implicação lógica, que consiste na

formulação de uma conexão entre causa e efeito, ou uma condição e sua conseqüência, neste

19

caso, é denotado como operador de implicação t-norma de Zadeh (ver tabela 2.2). As

variáveis de saída (z) dentro do operador “Então” são chamadas conseqüentes. A rigor, as t-

norma e t-conorma são grupos algébricos, os quais apresentam equivalência com os

conectivos “and”, “or” e “not”.

Tabela 2.2 - Principais t-normas e t-conormas duais [77]

t-norma t-conorma Nome

min (a,b) max (a,b) Zadeh

ab a + b - ab Probabilista

max (a + b - 1, 0) min (a + b, 1) Lukasiewicz

Weber

Na lógica tradicional as operações com conjunto são as operações booleanas

possibilitadas pelos conectivos "E (and)”, “OU (or)” e “Não (not)”. Na lógica fuzzy, há

diversos operadores para se realizar as operações lógicas, os quais são basicamente divididos

em duas classes (ou normas): as normas triangulares (chamadas por t-normas) e as normas

duais (chamadas por s-normas ou t-conormas) [77]. Portanto, o projetista de um sistema fuzzy

tem diversos graus de liberdade para escolher implicações fuzzy em tarefas de controle [71]. A

tabela 2.2 indica as t – normas e t – conormas mais utilizadas, e as figuras 2.7 e 2.8 ilustram

algumas destas operações, em relação a dois conjuntos fuzzy A e B.

Figura 2.7 - Ilustração das principais t-normas [77]

20

Figura 2.8 – Ilustração das principais t-conormas [77]

As normas s e t definem as operações entre duas ou mais variáveis fuzzy de um sistema.

2.3.3 Modelagem Fuzzy de Sistemas

Ao projetar um sistema é necessário fazer o modelamento do processo. Para tal tarefa,

à área da Inteligência Artificial (IA) apresenta algumas técnicas, como: regras fuzzy

(lingüísticas) e redes neurais artificiais[27].

As equações diferenciais descrevem a dinâmica ou a cinética de sistemas em uma

forma conveniente. O exemplo usado é de Gomide (1994), onde a relação entrada x e a saída

f(x) do sistema são obtidas pela equação 2.3 (ver figura 2.9).

f x x( ) ( )= − 3 2 (2.3)

21

Figura 2. 9 - Função f (x) descrita por equação matemática [27]

Contudo, sistemas reais não se apresentam com a simplicidade da curva da figura 2.9.

Assim, esta descrição não é apropriada para a maioria de sistemas complexos tais como,

sistemas não-lineares e sistemas variantes no tempo. À medida que a complexidade do sistema

aumenta, a possibilidade de descrever um sistema com equações matemáticas diminui [3, 16,

27, 50, 82].

A abordagem com lógica fuzzy consiste em descrever a relação entre x e f(x) com

regras do tipo:

Regra i: SE x é ai ENTÃO f(x) é bi, i=1,...,N

Onde x representa a variável independente e f(x) dependente, sendo Ai e Bi constantes

numéricas e N o número de dados experimentais que descreve a função. Quando Ai e Bi são

lingüísticos com valores numéricos exatos (sistemas clássicos), tem-se a figura 2.10.

22

Figura 2.10 - Função f (x) descrita por regras lingüísticas com valores exatos [27]

As regras para a lógica clássica são:

Regra 1: SE x é -2 ENTÃO f(x) é 25

Regra 2: SE x é -1 ENTÃO f(x) é 16

Regra 3: SE x é 0 ENTÃO f(x) é 9

Regra 4: SE x é 1 ENTÃO f(x) é 4

Regra 5: SE x é 2 ENTÃO f(x) é 1

Regra 6: SE x é 3 ENTÃO f(x) é 0

Regra 7: SE x é 4 ENTÃO f(x) é 1

Regra 8: SE x é 5 ENTÃO f(x) é 4

Regra 9: SE x é 6 ENTÃO f(x) é 9

Regra 10: SE x é 7 ENTÃO f(x) é 16

Regra 11: SE x é 8 ENTÃO f(x) é 25

23

A vantagem desta descrição é a facilidade em mudar a descrição do sistema. Por

exemplo, indicada por quadrados na figura 2.10, pode-se modificar a regra 7: 1 para 2; regra

8: 4 para 6; regra 9: 9 para 13; regra 10: 16 para 18, pois as regras são independentes umas

das outras. Isto mostra que descrições na forma de regras são apropriadas para sistemas com

aprendizagem, sistemas auto-organizáveis e sistemas adaptativos [27]. Por outro lado, existem

desvantagens. Quando é dado x = 1 a conclusão obtida é f(x) = 4. Contudo, se é dado x = 1.5

nada pode ser inferido a partir do conjunto de regras mencionado, pois não existe nenhuma

delas que possui um antecedente com x = 1.5. Isto mostra que os sistemas clássicos binários

são pouco eficientes com relação a conhecimento impreciso, ou com variação em dados de

entrada, e que é necessário uma quantidade de regras (base de conhecimento) para se obter um

resultado ou desempenho significativo [27]. Conseqüentemente, a demanda de tempo para se

verificar em geral é considerável. Alternativamente, poderíamos utilizar regras do mesmo tipo

anterior, mas interpretadas por regras fuzzy. Neste caso ai e bi seriam termos lingüísticos

associados à variável x, cada um destes termos associados a um conjunto fuzzy a fim de se

estabelecer seu significado. Assim, poderíamos descrever a relação entre x e f(x) por:

Regra 1: SE x está em torno de -2

ENTÃO f(x) está no em torno de 25

Regra 2: SE x está em torno de -1

ENTÃO f(x) está no entorno de 16

...

Regra 11: SE x está em torno de 8

ENTÃO f(x) está no entorno de 25

Neste caso, a relação precisa entre x e f(x) da figura 2.9 é fuzzificada, tornando-a

contínua como mostrado pela figura 2.11.

24

Figura 2.11 - Função f (x) descrita por regras lingüísticas fuzzy [27]

Esta relação fuzzy fornece valores razoáveis para qualquer dado no universo de

interesse, por exemplo: x = 1.5; x = 3.2; x =4.3. É mais fácil reelaborar regras fuzzy do que

equações matemáticas quando as características dos sistemas ou processo são variantes no

tempo [82].

2.3.4 Estrutura de um Controlador Fuzzy

A idéia básica em controle fuzzy é modelar as ações a partir de conhecimento

especialista, ao contrário de modelar o processo em si. Esta abordagem é diferente dos

métodos convencionais de controle de processos, onde os mesmos são desenvolvidos via

modelagem matemática.

Em muitos processos, tais como extensões de borracha ou elastômeros, fabricação de

pneus de automóveis, a função de entrada de um misturador do tipo Banbury ou de uma

canaleta extrusora não pode ser descrita matematicamente, devido às complexas reações e à

dinâmica não completamente formalizada [82], mesmo por pessoal de operação muito

experiente. Há, entretanto, um grande corpo de receitas empíricas que são conhecidas, para se

produzir resultados aceitáveis. Tais receitas podem ser tomadas como funções de entrada-

25

saída, porque elas relacionam variáveis de entrada fundamentais para obter as saídas, mesmo

que as unidades dimensionais sejam incompatíveis, como por exemplo, pressão de entrada e

composição de material de borracha versus a vida útil de um pneu.

Todavia, operadores humanos podem controlar tais tipos de processos, sem na verdade

conhecerem sua dinâmica e matemática. Eles podem adaptar estratégias de controle com

treinamento, da experiência adquirida em situações anteriores e de aprendizagem por tentativa

e erro [82]. Um operador humano é uma estrutura de controle que não necessita de modelos

matemáticos [2, 82], mas é auto-sintonizado da observação de comportamento de dados e de

relações de causa e efeito.

A dimensão e a complexidade de módulos de processos industriais tende a aumentar

significativamente, quando se objetiva o desenvolvimento de um modelo preciso e de alta

resolução. O parque industrial atual utiliza 80% de controladores baseados em PID; já

controladores multivariáveis complexos baseados em controle avançado, têm menor

representatividade [27]. Por outro lado, deve-se enfatizar que os controladores PID são

lineares, e não são adequados para aplicações em plantão extremamente não-lineares [82].

A estrutura de um processo controlado por um controlador fuzzy é vista na figura 2.12.

Este controlador é conhecido como Controlador de Mandani [27, 77, 86].

Figura 2.12 - Estrutura básica de um controlador fuzzy [60]

26

Os componentes básicos do controlador de Mandani são:

a) Interface de Fuzzificação

Os valores das variáveis de entrada são escalonados para condicionar os valores a

universos de discurso normalizados e fuzzificação dos valores, transformando números em

instâncias de variáveis lingüísticas.

b) Base de Conhecimento

•Base de Regras: caracterizando a estratégia de controle e suas metas;

•Base de Dados: armazena as definições necessárias sobre discretizações e

normalizações dos universos de discurso, as partições fuzzy dos espaços de entrada

e saída e as definições das funções de pertinência.

c) Procedimento de Inferência

Processa os dados fuzzy de entrada, junto com as regras, de modo a inferir as ações de

controle fuzzy, aplicando o operador de implicação fuzzy e as regras de inferência da lógica

fuzzy.

d) Interface de Defuzzificação

Transforma as ações de controle fuzzy inferidas em ações de controle não-fuzzy [2, 9,

28, 82, 98]. Em seguida, efetua um escalonamento, de modo a compatibilizar os valores

normalizados vindos do passo anterior com os valores dos universos de discurso reais das

variáveis.

Para selecionar o método apropriado de defuzzificação, pode-se utilizar um enfoque

baseado no centróide ou nos valores máximos que ocorrem da função de pertinência

resultante. As estratégias de defuzzificação são:

27

• Média dos Máximos (MDM): que representa o valor médio dentre todos os

pontos máximos, quando existe mais de um máximo. O cálculo deste valor é dado

pela equação 2.4:

MDMv

Nk

k

N

==∑

1

(2.4)

onde: vk é o valor máximo da abscissa de cada regra disparada, e N é o número total desses

elementos. Em casos onde a função de pertinência tenha mais de um máximo essa idéia não

poderia ser utilizada.

• Método do Centro de Área (CDA): este método, também é conhecido como:

centróide, centro de gravidade ou de massa. O cálculo deste valor é dado pela

equação 2.5:

=

== N

ii

N

iii y

CDA

1

1

ω

ω

(2.5)

onde: N é o número de regras disparadas, ω i é o grau de ativação na ação conseqüente yi. O

valor ω i corresponde à pertinência da ação, portanto ω i ∈ [0,1].

Este método apresenta pequenos problemas, um deles ocorre quando as funções de

pertinências não possuem sobreposição. Ou seja, onde o centro geométrico da figura na

realidade não tem significado físico. Outro fator é que se mais de uma regra tiver a mesma

saída difusa há uma sobreposição de áreas que não é devidamente contabilizada, além disso a

necessidade de integração numérica toma esforço computacional para cálculo.

• Critério do Máximo (MAX): escolhe os pontos onde a funções de pertinência têm

seus máximos (funções singleton), ignora-se as áreas das funções de pertinência. O

cálculo do valor fuzzificado é realizado pela equação 2.6.

∑∑

∑ ∑

= =

= == N

i

n

Ko

N

i

n

Koi

`

1 1

`

1 1

µ

µµ

µ (2.6)

28

onde: µi posição do centro do máximo, e µo indicam os pontos em que ocorrem os máximos

(alturas) das funções de pertinência de saída.

As vantagens e desvantagens dos métodos de defuzzificação [2, 82]:

Tabela 2.3 – Vantagens e desvantagens dos métodos de defuzzificação

Métodos Vantagens Desvantagens

Centro de

Área (CDA)

- Contínuos em malha fechada - As funções de pertinência não

possuem sobreposição onde o

centro geométrico da figura na

realidade não deveria ter

significado físico;

- Se mais de uma regra tiver a

mesma saída há uma

sobreposição de áreas que é

devidamente contabilizada;

- A necessidade de integração

numérica, toma esforço

computacional para cálculo.

Centro do Máximo

(MAX)

- Contínuos em malha

fechada;

- Decisões quantitativas.

- Se a função de pertinência possuir

mais de um máximo, qual máximo

utilizar.

Média dos Máximos

(MDM)

- Em controladores fuzzy –

PI, coloca-se um

integrador para garantir a

continuidade;

- Decisões qualitativas em

malhas fechadas;

- Reconhece padrões.

- Casos onde a função de

pertinência tenha mais de um

máximo essa idéia não poderia ser

usada;

- Descontínuos (causam

instabilidade e oscilações).

29

Em geral, algumas dificuldades encontradas no projeto de controladores consistem na

especificação da base de regras e da definição das funções de pertinência [27, 41, 44, 60, 82].

A especificação da base de regras pode ser obtida de diferentes maneiras, ressaltando-

se as seguintes:

• Baseando-se na experiência e conhecimento de especialistas (qualitativo);

• Observação das ações de controle de um especialista;

• A partir da descrição lingüísticas das características dinâmicas do processo;

• Implementação de algoritmos de aprendizagem.

Contudo, algumas dicas práticas podem ser mencionadas [82]:

• Um número prático de funções de pertinência é algo entre 2 e 7. Tanto maior o

número de conjuntos, maior a precisão, mas a demanda computacional também é

significativa. Por exemplo, experiências mostraram que uma mudança de 5

conjuntos triangulares para 7 aumenta a precisão em torno de uns 15%, sendo que

a partir de valores maiores não há melhorias significativas.

• Outro fator que afeta a precisão é o grau de superposição entre as funções de

pertinência fuzzy. Um número mínimo de 25% e um máximo de 75% foram

determinados experimentalmente como adequados, sendo 50% um compromisso

razoável, pelo menos para os primeiros textos num sistema de malha fechada.

As funções de pertinência da forma triangular, trapezoidal, gaussiana (Sino) e sigmóide

são as mais utilizadas em aplicações (ver tabela 2.4).

30

A(x)

b = 1,0

s

x

a0

A(x)e = 1,0

c

x

ba = 0 d

A(x)

c = 1,0

a

x

Tabela 2.4 – Equações das funções de pertinência

Função Regra de Formação

Triangular

−−

=

0

1.)( s

axb

xA

Trapezoidal

( )

( )

=

0

.

.

)(

cd

exd

eba

exa

xA

Gaussianab

ax

ecxA

2)(

.)(−

=

, quando a – s ≤ x ≤ a + s

, caso contrário.

, quando a ≤ x ≤ b

, quando b ≤ x ≤ c

, quando c ≤ x ≤ d

, caso contrário.

31

A escolha destas funções, assim como a definição de suas características, podem ser

feitas das seguintes maneiras:

• Baseando-se no conhecimento especialista;

• Emprego de métodos de otimização (redes neurais e/ou algoritmos genéticos);

• Definição de uma metodologia.

No universo de discurso de uma variável o intervalo numérico tem que abranger todos

os possíveis valores reais que esta variável pode assumir. Assim, os produtos projetados com a

lógica fuzzy possuem controles mais simples, são mais fáceis de construir e testar e propiciam

um controle mais confiável do que aqueles que usam sistemas convencionais [8].

Os controladores fuzzy estão sendo combinados com as técnicas de Redes Neurais

Artificiais (RNA´s), com o objetivo de construir sistemas fuzzy com capacidade de

aprendizado. Esses Sistemas Híbridos (SH) estão descritos no capítulo 4.

2.4 Conclusão

Este capítulo introduziu conceitos da lógica fuzzy, discutiu a natureza das imprecisões

em problemas práticos, mostrou como operações fuzzy são feitas e como as regras fuzzy

podem incorporar conhecimento heurístico e empírico em um sistema computacional. A teoria

fuzzy pode ser agregada aos sistemas de redes neurais, os chamados sistemas neurofuzzy, que

aumentam a capacidade de aprendizado através de interface com dados numéricos, detalhado

nos capítulos 4 e 5. No lugar de equações matemáticas, a lógica fuzzy usa descrição

lingüísticas, auxiliando os projetistas a se concentrar nos objetivos funcionais, e não na

matemática do sistema. Ela aproxima o modo de raciocínio do computador à maneira de

pensar das pessoas. Tem sido estimado que, até o ano de 2005, cerca de 60% de todos

controladores serão embutidos com sistemas fuzzy operacionais [81].

CAPÍTULO 3

REDES NEURAIS ARTIFICIAIS

Neste capítulo são apresentados os fundamentos teóricos das redes neurais artificiais,

descrevendo sua célula básica, sua arquitetura e os algoritmos de aprendizagem.

3.1 Introdução

Este capítulo apresenta a fundamentação de conceitos para implementação de sistemas

baseados em Redes Neurais Artificiais (RNA). A tecnologia de redes neurais busca uma

similaridade entre o comportamento do neurônio biológico e um modelo de neurônio

computacional. Assim, será possível a realização de tarefas tais como: a associação,

categorização e percepção de traços marcantes realizados pelo homem [85]. As RNA's

possuem outros nomes, como neurocomputação, processamento paralelo distribuído, sistemas

neuro-mórficos, computadores biológicos ou neuro-computadores.

O final da década de 80 marcou o ressurgimento da área de RNA's, também conhecida

como conexionismo ou sistemas de processamento paralelo e distribuído [12]. Esta forma de

computação é caracterizada por sistemas que, em algum nível, relembram a estrutura das

redes neurais do cérebro humano [85]. As RNA's são implementadas em hardware e software,

que imitam as habilidades computacionais do sistema nervoso biológico, usando um grande

número de simples de neurônios artificiais interconectados.

Os neurônios artificiais simulam os neurônios biológicos, os quais recebem

informações de sensores ou de outros neurônios artificiais, produzindo operações simples

sobre estes dados, e passam o resultado para outros neurônios artificiais [52]. As RN's

funcionam através de seus neurônios artificiais, que processam seus dados usando:

• Paralelismo lógico: para todos os neurônios da mesma camada;

• Operações seriais: quando a informação de uma camada é transferida para

neurônios de outra camada.

33

Existem três características principais que descrevem uma RN biológica, e a que

contribuem para a sua habilidade funcional:

• Topologia (arquitetura);

• Dinâmica;

• Aprendizado.

As RN's estão sendo adotadas para uso em uma variedade de aplicações comerciais e

militares que atinge desde o reconhecimento de padrões até otimização e seqüenciamento [6].

Realiza tarefas bem melhor que outras tecnologias mais convencionais (incluindo sistema

especialistas). O campo de estudo mantém dependências interdisciplinares com as ciências

cognitivas, a cibernética, a psicologia, a neuro-biologia, a matemática e a física.

3.2 As Redes Neurais

O funcionamento da grande maioria dos computadores digitais em uso atualmente é

baseado no princípio de centralizar todas as operações em um processador poderoso e

complexo. Essa é a idéia básica da arquitetura Von Neumann, assim chamada, pois foi

proposta por John Von Neumann, um dos pioneiros da computação, em 1947. O poder de tal

processador pode ser medido em termos de sua velocidade e complexidade [52, 85]

As redes neurais artificiais, diferentemente de computadores digitais convencionais,

executam suas tarefas usando simultaneamente um grande número de processadores, ou seja,

esses processadores operam em paralelo. A representação do conhecimento é distribuída pelas

conexões e o aprendizado é feito alterando-se os valores associados com as conexões.

Todavia, os métodos de aprendizagem ainda precisam ser programados e para cada problema

específico um método de aprendizado apropriado deve ser escolhido.

3.2.1 Histórico das Redes Neurais Artificiais

A história das redes neurais artificiais é relativamente recente. Conta com um pouco

mais de meio século se considerarmos como pioneiros os trabalhos dos neuro-fisiologistas

Donald Hebb e Karl Lashley, por volta de 1940, quando as primeiras simulações foram feitas

com papel e lápis [12].

34

O primeiro modelo artificial de um neurônio biológico foi fruto do trabalho pioneiro

do psiquiatra e neuro-anatomista Warren McCulloch e Walter Pitts em 1943 [85]. O trabalho

publicado em 1943, "A logical Calculus of the Ideas Immament in Nervous Activity", é

apresentada uma discussão sofisticada das redes lógicas de neurônios e novas idéias sobre

máquinas de estados finitos, elementos de decisão de limiar lineares e representações lógicas

de várias formas comportamento e memória. Nos conceitos da cibernética, fez-se uma

analogia entre células nervosas vivas e o processo eletrônico num trabalho publicado sobre os

neurônios formais. O trabalho consistia num modelo de resistores variáveis e amplificadores

representando conexões sinápticas de um neurônio. Parte da discussão em RNA´s gira em

torno dos métodos de aprendizado para que neurônios possam ser capazes de executar uma

determinada função. O trabalho mencionado anteriormente de McCulloch e Pitts se concentra

muito mais em descrever um modelo artificial de um neurônio e de apresentar as suas

capacidades computacionais do que apresentar técnicas de aprendizado. Os fatos básicos

percebidos por McCulloch e Pitts, que tornaram possível a modelagem matemática do

neurônio [5, 6, 12 , 85], foram:

• Neurônios comportam-se como "somadores algébricos";

• Adicionam entradas excitatórias;

• Subtraem entradas inibitórias;

• Neurônios possuem uma propriedade de "limiar", isto é, quando as entradas

integradas excedem o limiar, disparam um sinal através do axônio;

• Neurônios comportam-se analogicamente enquanto o axônio comportam-se de

forma digital.

Dessa forma, um tratamento discreto e binário utilizando o cálculo proposicional

temporal poderia ser empregado para modelar neurônios biológicos. O neurônio foi definido

como tendo dois estados:

• Verdadeiro e falso do cálculo da lógica proposicional de ordem zero;

• O zero e um da álgebra de booleana.

O estado do neurônio é analisado a cada instante de tempo, onde o neurônio está

disparado ou está inativo.

35

O primeiro mecanismo de aprendizagem foi iniciado por Donald Hebb, em 1949. Ele

propôs uma regra de aprendizagem conhecida hoje como regra de aprendizagem Hebbiana.

Hebb demonstrou que a capacidade de aprendizagem em RN's pode ser conseguida através da

variação dos pesos das conexões entre os neurônios. A regra de Hebb diz que, quando um

estímulo de entrada influência na produção de estímulos de saída, o peso da conexão entre os

neurônios deve ser incrementado. A regra Hebbiana tem sido utilizada em vários algoritmos

de aprendizagem de redes neurais artificiais. Mais tarde, Widrow e Hoff sugeriram uma regra

de aprendizagem, conhecida com regra de Widrow-Hoff ou Regra Delta, que é ainda hoje

bastante utilizada. Esta, por sua vez, é baseada no método do gradiente para minimização do

erro na saída de um neurônio com resposta linear [6, 12, 85].

Os pesquisadores Widrow e Hoff desenvolveram o Adaline (Adaptive Linear Network

Element) e o Madaline (Many Adaline) Perceptron como um dispositivo prático para resolver

tarefas de reconhecimento de padrões. O Adaline/Madaline usou saídas analógicas em vez de

binárias como originariamente proposto por McCulloch e Pitts. Pela primeira vez, imitava o

cérebro humano com processadores paralelos em vez de uma única CPU [52].

Em 1958, Frank Rosenblatt em seu livro "Principles of Neurodynomics", forneceu

várias idéias a respeito do perceptrons (novo modelo), que são RN's de limiar baseado no

modelo de Mc-Culloch e Pitts [52]. O perceptron mais simples descrito por Rosenblatt possui

três camadas:

• A primeira recebe as entrada do exterior e possui conexões fixas;

• A segunda recebe impulsos da primeira através de conexões, cuja eficiência de

transmissão (pesos) é ajustável;

• E por sua vez, envia saídas para a terceira camada (resposta).

Uma das principais idéias de Rosenblatt foi à elaboração da arquitetura back-coupled

perceptron e o algoritmo "back-coupled error correction algorithm", que é capaz de adaptar

os pesos de um conjunto de entradas de uma unidade de associação, de acordo com uma saída

desejada. Tanto o algoritmo "back-couple error conection" quanto à regra delta de Widrow-

Hoff são métodos de aprendizagem para redes perceptron de apenas uma camada de neurônios

[52].

Em 1969, Marvin Minsky e Seymour Papert fizeram um estudo desses algoritmos e

publicaram o livro Perceptrons [12]. Provaram formalmente que uma rede formada de uma

única camada de neurônios, independente do algoritmo de aprendizagem, é capaz apenas de

36

resolver o problema de associação de padrões quando os conjuntos de pares de padrões são

linearmente separáveis. Naquela época era sabido que redes perceptron com mais de uma

camada de neurônios, chamadas Multi Layer Perceptrons (MLP) ou ainda redes feedforward,

tinham o poder computacional de aprender padrões linearmente dependentes, contudo era

desconhecido um algoritmo de aprendizagem que pudesse realizar tal associação. Em

particular, demostraram que um perceptron é incapaz sequer de distinguir a letra T de um C.

Estes resultados e observações feitas por Minsky e Papert foram devastadoras, e a abordagem

conexionista ficou em segundo plano durante a década de 70 até o início da década de 80 [6,

12, 85].

Em 1982 John Hopfield, físico e biólogo do Instituto de Tecnologia da Califórnia, deu

um novo impulso ás RN's. Usando uma pesquisa baseada no sistema neurológico de uma

lesma de jardim, que apresentou um sistema computacional neural composto de muitos

elementos de processamento interconectados, que buscam atingir um estado de energia

mínima (em repouso). O modelo do físico representa a operação a partir de um determinado

nível de excitação (limiar), mostrando que a memória do sistema é armazenada na

interconexões entre as unidades neurais [52].

A importância das redes perceptron na resolução do problema de associação de

padrões para um conjunto de padrões não linear foi praticamente eliminada por Rumelhart,

Hinton e Willians [6, 12, 25, 52, 85]. A solução encontrada foi a Regra Delta Generalizada,

mais conhecida como algoritmo de Correção de Erros Backpropagation, em 1986, para redes

perceptron de multicamadas de neurônios com entradas e saídas analógicas. As funções de

ativação foram substituídas por funções contínuas sigmóides. Um resultado similar já havia

sido encontrado independentemente por Parker, em 1982, o qual foi chamado de "The

Learning Logic", porém sem repercussão na época [52, 85].

3.2.2 Fundamentos Biológicos

Sabe-se que o cérebro humano contém em torno de 1011 neurônios aproximadamente

[85]. O neurônio possui um corpo e diversas ramificações, cujas as funções são:

• Recebe informações, ou impulsos nervosos, oriundos de outros neurônios, para

conduzi-los até o corpo celular;

37

• No corpo celular a informação é processada e novos impulsos são gerados. Estes

impulsos são transmitidos a outros neurônios;

• A transmissão é feita através de um ponto chamado axon hillock (filamento

axônico), onde surge um filamento comprido que é o axônio. Este entra em

contato com os dentritos dos neurônios seguintes.

O ponto de contato entre a terminação axônica de um neurônio e o dendrito de outro é

chamado de sinapse. As sinapses liberadas pelos neurônios representam a funcionalidade das

RN's. As sinapses funcionam como válvulas, sendo capazes de controlar a transmissão de

impulsos. Isto é, o fluxo da informação entre neurônios na rede neural (ver figura 3.1). O

efeito das sinapses é variável, e é esta variação que dá ao neurônio a capacidade de adaptação.

Um neurônio é possível estar conectado a outros neurônios e gerar até 10.000 sinapses, ou

seja, até 10.000 conexões com neurônios adjacentes [12].

Figura 3.1 – Componente do neurônio biológico [12]

O axônio pode transmitir impulso elétrico em ambas as direções, onde o fluxo de

informação vai ao sentido dos dentritos para o axônio, onde há um impulso elétrico no lado do

axon hillock. Em condições normais, se uma corrente elétrica é aplicada em ponto do axônio,

o seu potencial irá decair exponencialmente á medida que a corrente é propagada através do

axônio.

Há uma diferença de potencial entre o interior e o exterior do neurônio, ocasionada

pela diferença entre a concentração de potássio (interna á célula) e sódio (externa á célula). A

concentração de íons de potássio dentro da célula cria um potencial elétrico de -70 mV

(potencial de repouso) em relação ao exterior. Para a que a célula dispare, produzindo um

38

potencial de ação (impulso nervoso), é preciso que os impulsos das sinapses reduzam este

nível em cerca de -50 mV (ver figura 3.2).

Figura 3.2 – Potencial de ação em um neurônio [12]

Quando as entradas chegam ao corpo da célula, ocorre um processo de integração

(soma) dos estímulos de entrada, e como resultado pode ser gerado um impulso elétrico que

começa no axon hillock e se propaga até os terminais do axônio. O processo de controle da

produção do impulso elétrico é normalmente aceito como uma função de limiar que produz

uma saída, caso a soma das entradas seja maior ou igual a um dado limiar.

3.2.3 Características de uma Rede Neural

Existem três características principais que descrevem uma RN biológica, e a que

contribuem para a sua habilidade funcional:

a) Topologia do Sistema Neural:

Os princípios importantes que podem ser encontrados subjacentes à organização

estrutural das áreas diferentes do cérebro:

• Camadas de elementos de processamento;

• Colunas de elementos de processamento;

• Especialização do tecido neural em sistemas específicos e não específicos.

39

Interfaces sensoras captam informações do mundo para o cérebro. Os dados são

passados através de níveis múltiplos do sistema nervoso, ou camadas de neurônios. Através

desta transferência de níveis do funcionamento cerebral ocorre a abstração, conceitualização e

detecção de característica. Por exemplo, o sistema nervoso pode detectar características

específicas, todavia este também espalha informação ambígua. Estas sensações não podem ser

entendidas enquanto não forem processadas por muitas camadas nas várias áreas do cérebro.

b) Dinâmica do Sistema Neural:

Diversos processos dinâmicos que ocorrem no sistema neural biológico são

integralmente ligados às estruturas destes sistemas:

• Representação distribuída de informação;

• Codificação temporal da informação;

• Regra de inibição;

• Processamento feedforward e feedback.

A informação que é acessada por vários sensores biológicos é distribuída para

neurônios múltiplos. Essa informação é processada por uma parte do cérebro e enviada para

outra área do cérebro. Esta nova área processa e passa de volta a informação para a locação

original ou através locações intermediárias.

c) Aprendizado no Sistema Neural:

A habilidade do sistema neural biológico de aprender adaptativamente em resposta à

experiência e ao ambiente é um dos mais notáveis aspectos deste sistema. Existem alguns

aspectos associados com tal aprendizado:

• Aprendizado sobrepõe conexões rígidas;

• Conceitualização.

40

O cérebro é adaptativo no início da vida, contudo desenvolve uma fixação ou

inflexibilidade com a maturação. Apesar de uma relativa inflexibilidade, na fase adulta, existe

uma habilidade contínua do cérebro em adaptar-se e aprender novas coisas.

3.3 Princípios da Neurocomputação

Apesar de uma rede neural ser simulada e executada em um computador seqüencial, a

rede está muito mais para o funcionamento cerebral do que para um computador.

A RNA é algoritmo computacional, onde a camada de entrada recebe um conjunto de

dados (previamente selecionados e conhecido), cujas sucessivas repetições faz com que um

critério de convergência ou parada ocorra. Assim, a rede é treinada e os parâmetros são

ajustados e definidos nas camadas intermediárias e de saída (ver figura 3.4). Com isto, diz-se

que a RNA aprendeu a reconhecer de modo generalizado um conjunto para o qual é

previamente treinada.

Figura 3.3 – Modelo neural [85]

Se uma rede aprende, ela deve reproduzir algum conhecimento. O seu conhecimento

não está localizado em um endereço e, dessa forma, a rede não separa memória de dados

armazenados. O conhecimento armazenado está distribuído por toda a rede, da mesma forma

que não se pode dissecar um cérebro para extrair conhecimento. O programa implementado

está previamente condicionado para tal atividade, não fará outra coisa senão a estabelecida, ou

seja, a atividade treinada.

41

Ao se escrever um programa para realizar uma ação diante de um fato, tem-se que

prever todas as situações possíveis para associar as ações pertinentes a cada ação. Porém,

como todos sabem, existem certos casos que simplesmente não é possível prever exatamente

todos os fatos, a começar pela quantidade de situações diferentes que possam vir a ocorrer,

dependendo do problema. Dessa forma, quando acontece uma dessas situações inesperadas, o

programa de computador tomaria uma atitude imprevista, ou não tomaria atitude nenhuma,

pois não saberia o que fazer. A culpa não é do programa, pois não é programado para reagir

diante de situações que ainda não lhe foram apresentado, e muito menos do computador [12].

O cérebro não pensa assim, pois, baseado no conhecimento sinapticamente

acumulado, tomará alguma ação perante a nova situação, ponderando pelo julgamento dos

elementos que aprendeu.

O cérebro humano consome de 20 a 25% da energia corporal e possui um total de 10

bilhões de neurônios, sendo que cada um faz entre mil e dez mil conexões com os neurônios

adjacentes [85].O aprendizado sináptico é paralelo, que o torna flexível, rápido e eficaz. Um

comparativo entre o cérebro e o computador, resulta, no quadro a seguir, os seguintes valores

(ver tabela 3.1):

Tabela 3.1 – Comparativo entre o cérebro humano e o computador [85]

Parâmetro Cérebro Computador

Material Orgânico Metal e plástico

Velocidade Milisegundo Nanosegundo

Tipo de Processamento Paralelo Seqüencial

Armazenamento Adaptativo Estático

Controle de Processos Distribuído Centralizado

Número de elementos processados 1011 a 1014 105 a 106

Ligações entre elementos processados 10.000 <10

Dentro deste contexto, o estudo e a definição das RNA's teve origem nos fundamentos

do cérebro humano e de suas conexões sinápticas.

42

3.4 Estruturas e Dinâmicas das Redes Neurais Artificiais

O modelo de neurônio proposto por McCulloch e Pitts (MCP - neurônio artificial) é

uma simplificação do que se sabia a respeito do neurônio biológico naquela época [98]. A sua

descrição matemática resultou em um modelo (ver tabela 3.2), o comparativo entre um

neurônio artificial e biológico.

Tabela 3.2 – Comparação entre o neurônio biológico e artificial

Parâmetros Neurônio Biológico Neurônio Artificial

Modelo

Entrada Dentritos x1, x2, x3,..., xn

Saida Axônio y

Pesos Comportamento das sinapses w1, w2, w3,..., wn

Efeito da uma

sinapse

Neurônio pós-sináptico∑=

=n

iii wxs

1

.

O neurônio recebe um conjunto de sinais de entrada de outros neurônios. Então, é

computada a média ponderada entre os sinais de entrada e os pesos da conexões (cujos valores

podem ser positivos ou negativos, dependendo das sinapses correspondentes serem inibitórias

ou excitatórias). O resultado disto é aplicado à função de ativação, também chamada de

função de transferência. O resultado final é chamado de ativação do neurônio. Normalmente,

existe um valor de s que, quando atingido, ocasiona um disparo súbito ocasionando pela

função de ativação, seja ela contínua ou não. Este é chamado de valor limiar e é representado

por L. Considerando a função de ativação do perceptron, o modelo matemático do

processamento é governado pelas equações 3.1:

43

∑=

=n

iii wxs

1

. e

−==

1

1)(sfy

se

se

Ls

Ls

(3.1)

onde: n é o número de entradas no neurônio;

wi é peso associado à entrada xi;

s é o limiar do neurônio.

A operação de um neurônio artificial com suas conexões é inspirada no modelo

biológico, como mostrado a seguir na figura 3.4:

Figura 3.4 – Modelo do neurônio artificial [52]

Os modos em que neurônios artificiais diferem um do outro, e que pode ser

modificados para nova performance incluem: mudança da função de transferência e adição,

novos parâmetros ou funções para a rede (tais como viés, ganho e limiares adaptativos). Já os

aspectos que diferem as redes neurais são as conexões dos números de camadas e tipo de

treinamento. Entre os modelos já publicados em revistas especializadas, encontram-se, como

clássicos, os modelos: Backpropagation, Kohonen, Perceptron, Boltzman e outros [52]. O

modelo de MCP apresenta algumas limitações como:

• Redes MCP com apenas uma camada só conseguem implementar funções

linearmente separáveis;

• Pesos negativos são mais adequados para representar disparos inibidores;

• O modelo foi proposto com pesos fixos, não ajustáveis.

44

O viés (bias) é uma entrada adicional que pode ser acrescentada ao neurônio artificial,

não proveniente de nenhum outro neurônio, e de valor de entrada fixado em +1. Seu peso de

conexão w0 é ajustável pelo aprendizado como qualquer outro peso da conexão. Toma-se

como exemplo o perceptron, onde pode-se escrever as equações 3.2 e a figura 3.5:

∑=

+=n

iii wwxs

10. e

−==

1

1)(sfy

se

se

0

0

s

s

(3.2)

Figura 3.5 – Modelo do neurônio artificial com entrada de viés [85]

Embora o viés inexista biologicamente, seu uso nos modelos artificiais provê meios de

transladar o valor limiar da função transferência.

3.4.1 Sinais de Entrada e Saída

O neurônio possui, a princípio, um ou mais sinais de entrada e um de saída. As

entradas de neurônio artificial podem ser comparadas como estímulos para o neurônio natural.

Todos esses estímulos são enviados até o neurônio simultaneamente, ou seja, se um neurônio

possui cinco entradas, os sinais das cinco entradas devem chegar até o núcleo de

processamento ao mesmo tempo, isto quer dizer, paralelamente (ver figura 3.6).

45

Figura 3.6 – Neurônio com n entradas e pesos definidos [85]

O processamento paralelo em computadores seqüenciais pode ser paradoxal. A

simulação de um ambiente paralelo é possível, e é desta forma que ocorre esse tipo de

processamento nas RN. O modelo matemático simula o paralelismo da rede neural através de

um algoritmo e os pesos (wn) da rede são ajustados por uma rotina de treinamento.

3.4.2 Pesos

Os pesos, representados por w são valores que apresentam o grau de importância que

determinada entrada possui em relação àquele neurônio. Quando uma entrada é bastante

estimulada, acaba estimulando, também, o peso correspondente à sua conexão.

Os pesos podem ser vistos, matematicamente, como um vetor de valores (w1, w2, w3,...,

wn). Havendo mais um neurônio na rede, pode-se então ter uma coleção de vetores, ou seja,

uma matriz de pesos, onde cada vetor, corresponde a um neurônio. O sinal de excitação no

neurônio é a soma das multiplicações entre as entradas (x1, x2, x3,..., xn) e os pesos. As

entradas multiplicadas pelos pesos, recebem, depois desta operação, o nome de entradas

ponderadas.

A função do neurônio é, depois de acumulado o valor somado dos produtos ocorridos

entre as entradas e os pesos comparar esse valor com o limiar. Atingindo-o, o valor é então

passado adiante através da saída. A esse processo chama-se de função de transferência. Caso

contrário, se o valor não atinge o limiar, o sinal não é transferido adiante.

46

3.4.3 Função de Ativação e Transferência

A função de ativação antecede a de transferência, e tem por atribuição repassar o sinal

para a saída do neurônio. A função de ativação é uma função de ordem interna, cuja

atribuição é fazer acontecer um nível de ativação dentro do próprio neurônio, ou seja, é uma

decisão tomada pelo neurônio sobre o que fazer com o valor resultante do somatório das

entradas ponderadas [85]. Veja a seguir um neurônio na figura 3.7.

Figura 3.7 – Um neurônio com as funções de ativação e transferência [85]

Em modelos simples de redes neurais, a função de ativação pode ser a própria função

de soma das entradas ponderadas do neurônio. Em modelos mais complexos, a função de

ativação possui um processamento atribuído. Após o valor ter sido processado pela função de

ativação, é então passado para função de transferência, que produzirá o valor da saída do

neurônio [85].

A função de transferência pode ter muitas formas e métodos, podendo ser simples ou

complexa. A função de transferência é conhecida como limiar lógico. Essa função é quem

envia para fora do neurônio o valor passado pela função de ativação [52]. As funções de

transferência (y) mais conhecidas são apresentadas na figura 3.8.

47

Figura 3.8 – Funções de transferência mais empregadas [103]

Algumas são especificadas como:

• Degrau e rampa: possuem decisões ríspidas, principalmente para valores

extremos. Essas funções refletem a saída dentro de uma faixa (digamos entre 0 e

1). Isto quer dizer que , ultrapassado um certo limite, a função dispara o valor 0 ou

1, ou -1, dependendo da função e da forma que será utilizada.

• Sigmóide: caracterizam-se pelo seu formato em letra S alongada, são contínuas e

monotonicamente crescentes, limitadas por duas assíntotas horizontais. Possuem a

vantagem adicional de fornecer uma forma para controle automático de ganho. À

medida que a magnitude cresce, o ganho decresce. Deste modo, sinais de grande

amplitude podem ser acomodados pela rede sem uma saturação abrupta, enquanto

sinais baixos passam sem excessiva atenuação.

As funções sigmoidais são empregadas com sucesso como funções de transferências,

porque apresentam a propriedade de ser derivável em todos os pontos [25]. Esta característica

é importante para a lei de aprendizagem backpropagation (ver item 3.5.1.2 ou Apêndice I),

que requer cálculo do gradiente do vetor do erro. Conforme será visto oportunamente, as

trocas nos pesos das conexões são proporcionais à derivada de ativação. Para as funções

48

sigmoidais, o argumento soma das entradas ponderadas de alta magnitude significa derivadas

de baixa magnitude, e assim as trocas nos pesos das conexões durante a aprendizagem serão

menores; já um argumento de baixa magnitude para a função representa uma derivada de

magnitude maior e, conseqüentemente, uma maior quantidade de trocas nos pesos.

3.4.4 Camadas Escondidas

Algumas vezes a saída do neurônio é conduzida para outros neurônios, em vez de ser

conduzida como resposta final, ou seja, os sinais da saída vão para uma próxima camada,

chamadas também de intermediárias ou ocultas. Essas camadas intermediárias se situam entre

a camada de entrada e a camada de saída da rede neural (ver figura 3.9).

Figura 3.9 – Redes exemplificando camadas escondidas ou ocultas [85]

Essas camadas são compostas por neurônios que possuem exatamente a mesma

estrutura que os neurônios da camada de saída. Não existe uma regra que define o número de

camadas escondidas.

3.4.5 Arquiteturas das Redes Neurais Artificiais

As conexões entre as camadas podem gerar diferentes estruturas. Cada conexão visa

tornar o sinal de saída em um sinal de entrada, tanto para um outro neurônio, quanto para o

mesmo que o gerou. Fazem parte da definição da arquitetura os seguintes parâmetros:

a) Número de Camadas da Rede

Alguns exemplos de arquiteturas de RNA´s quanto ao número de camadas:

49

•Redes de camada única: só existe um nó entre qualquer entrada e qualquer saída da

rede, ver exemplos na figura 3.10.

(a) (b)

Figura 3.10 – Redes de camada única [12]

•Redes de múltiplas camadas: existe mais de um neurônio entre alguma entrada e

alguma saída da rede (ver figura 3.11).

(a)(b) (c)

Figura 3.11 – Redes de múltiplas camadas [12]

O número de neurônios da camada escondida é livre, não obedece nenhuma regra

específica.

b) Redes Multi-Layer Perceptron (MLP)

As redes de uma só camada resolvem apenas problemas linearmente separáveis [12].

A solução de problemas não linearmente separáveis passa pelo uso das redes com uma ou

mais camadas ocultas. Segundo Cybenko, uma rede com uma camada intermediária pode

implementar qualquer função contínua [45, 98]. A utilização de duas camadas intermediárias

permite a aproximação de qualquer função.

50

Porém, o problema passa a ser então como treinar estas redes, ou qual a definição do

erro dos neurônios das camadas intermediárias. Para treinar as redes com mais de uma

camada foi proposto um método que se baseia em gradiente descendente (backpropagation)

[6, 12, 70]. Afim de que este método possa ser utilizado, a função de ativação precisa ser

contínua, diferenciável e, de preferência, não decrescente. A função de ativação deve informar

os erros cometidos pela rede para as camadas anteriores com a maior precisão possível. A

alternativa utilizada para superar os problemas acima citados foi a utilização de funções de

ativação do tipo sigmoidal (logística e tangente hiperbólica). O treinamento é supervisionado,

e suas principais aplicações são: classificação de padrões, predição e interpolação.

Com relação ao número de neurônios nas camadas intermediárias, este é geralmente

definido empiricamente. Este número depende fortemente da distribuição dos padrões de

treinamento e validação de rede. O número adequado de neurônios na camada oculta depende

de vários fatores, como:

• Número de exemplos de treinamento;

• Quantidade de ruído presente nos exemplos;

• Complexidade da função a ser aprendida;

• Distribuição estatística dos dados de treinamentos.

O número de unidades intermediárias pode também crescer exponencialmente com o

número de entradas. A solução neural mais eficiente é aquele onde o número de unidades

cresce apenas polinomialmente com o aumento do número de unidades de entradas [52].

c) Conexões dos Neurônios

Alguns exemplos de arquiteturas de RNA´s quanto ao tipo de conexões dos nodos.

• Feedforward ou acíclica: a saída de um neurônio na i-ésima camada da rede não

pode ser usada como entrada de neurônios em camadas de índice menor ou igual a

i. Nesta rede não existe uma medida de estabilidade de rede, devido à

simplicidade de fluir as informações entre as camadas (ver figuras 3.10 (a) e (b), e

3.11 (a)).

51

• Feedback ou cíclica: as saídas de algum neurônio i-ésima camada da rede é usada

como entrada de neurônios em camadas de índice menor ou igual a i (ver figura

3.11 (b) e (e), e 3.12).O sinal pode ser usado tanto para excitar a camada inteira

como também para excitar apenas um neurônio em particular, ou até mesmo, o

próprio neurônio, que realizou o disparo.

Figura 3.12 – Redes feedback [85]

Enfim, a arquitetura da rede neural é livre, pode ser modificada conforme critério ou

necessidade do projetista.

3.5 Aprendizado das Redes Neurais Artificiais

Um conjunto de procedimentos bem definidos para adaptar os parâmetros de uma RNA

para que a mesma possa aprender uma determinada função é chamado de algoritmo de

aprendizado. Como era de se esperar, não há único algoritmo de aprendizado. O que se tem é

um conjunto de ferramentas representadas por diversos algoritmos, cada qual com suas

vantagens e desvantagens. Estes algoritmos basicamente diferem pela maneira de como o

ajuste dos pesos é feito.

A etapa de aprendizado consiste em um processo iterativo de ajuste de parâmetros da

rede, os pesos das conexões entre as unidades de processamento, que guardam, ao final do

processo, o conhecimento que a rede adquiriu do ambiente em que está operando.

Diversos métodos para treinamento de redes foram desenvolvidos, podendo estes

serem agrupados em dois paradigmas principais: aprendizado supervisionado e não-

supervisionado [12, 85]. Outros dois paradigmas bastante conhecidos são os de aprendizado

por reforço (caso particular de aprendizado supervisionado) e aprendizado por competição

(caso particular de aprendizado não supervisionado).

52

3.5.1 Aprendizado Supervisionado

Este método de aprendizado é o mais comum no treinamento das RNA’s, tanto de

neurônios com pesos, como os sem pesos, sendo chamado de aprendizado supervisionado.

Porque a entrada e a saída desejadas para a rede são fornecidas por um supervisor externo (ver

figura 3.13). O objetivo é ajustar os parâmetros da rede, de forma a encontrar uma ligação

entre os pares de entrada e saída fornecidos.

Figura 3.13 – Aprendizado supervisionado [12]

A rede tem sua saída calculada e comparada com a saída, recebendo informações do

supervisor sobre o erro da resposta atual. A cada padrão de entrada submetido à rede,

compara-se a resposta desejada com a resposta calculada, ajustando-se os pesos das conexões

para minimizar o erro existente.

A desvantagens do aprendizado supervisionado é que, na ausência do professor, a rede

não conseguirá aprender novas estratégias para situações não cobertas pelos exemplos do

treinamento da rede. Os exemplos mais conhecidos de algoritmos para aprendizado

supervisionado são a regra delta e a sua generalização para redes de múltiplas camadas, o

algoritmo backpropagation.

53

a) Regra Delta

Procura minimizar a diferença entre a soma ponderada das entradas pelo pesos (saída

calculada pela rede) e a saída desejada, ou seja, o erro da resposta atual da rede. O termo e(t)

do erro deve ser escrito pela equação (3.3):

)()()( tytdte −= (3.3)

onde: d(t) é a saída desejada;

y(t) resposta atual no instante t.

A forma genérica para alteração dos pesos pela regra delta é dada pela equação 3.4:

)().(.)()1( txtetwtw iii η+=+ (3.4)

onde: wi(t+1) é o novo valor do peso;

wi(t) é o valor velho do pesos;

i índice da entrada;

η constante de aprendizado;

e(t) erro;

xi(t) é a entrada para o neurônio no instante t.

A cada novo padrão apresentado à rede o peso é atualizado. A constante de

aprendizado η controla a estabilidade e velocidade de convergência. Uma faixa prática para

sua escolha é 0.1 ≤ η ≤ 1.

b) Algoritmo Backpropagation

O algoritmo backpropagation é utilizado no treinamento de redes MLP, esse algoritmo

foi importante no ressurgimento de interesse em RNA´s, por ocasião da publicação do livro

“Parallel Distributed Processing”, mais conhecido como PDP, em 1986 [52]. O

backpropagation é baseado na regra delta proposta por Widrow e Hoff, assim sendo chamada

54

de regra delta generalizada [85]. Os ajustes dos pesos são realizados utilizando o método do

gradiente [82].

As redes feedforward com algoritmos de aprendizado tipo backpropagation se

tornaram muito populares, devido à capacidade de resolver a maioria dos problemas de

reconhecimentos de padrões, além da utilização em aplicações de sistema de controles [6].

Esse algoritmo é supervisionado e utilizam pares (entrada, saída desejada) para,

através de um mecanismo de correção de erros, ajustar os pesos da rede. O treinamento ocorre

em duas fases, onde cada fase percorre a rede em um sentido. Estas duas fases são chamadas

de forward e backforward (ver figura 3.14).

Figura 3.14 – Fluxo de processamento do algoritmo com as fases forward e backward [88]

A fase forward é utilizada para definir a saída da rede para um dado padrão de entrada,

já a fase backward utiliza a saída desejada e a saída fornecida pela rede para atualizar os pesos

de suas conexões.

• Descrição Qualitativa do Backpropagation

O backpropagation é um algoritmo de aprendizado [98]. Uma rede neural com uma

topologia feedforward, usando este algoritmo para treinamento, tem uma camada de entrada,

pelo menos uma camada escondida, e uma camada de saída. Uma redeopera em dois passos

durante o treinamento. Inicialmente, um padrão de entrada é apresentado à camada de entrada

da rede. Há fluxo de atividade, devido as excitações dos neurônios através da rede, desde a

camada de entrada até que a saída seja gerada. Então, o segundo passo é calcular o erro entre

esse padrão de saída e o padrão esperado; esse erro é passado da camada de saída, para trás,

com os pesos das conexões sendo alterados, conforme o erro se propaga para trás [5, 70, 82].

55

Um neurônio típico tem diversas entradas (xj), cada uma das quais é multiplicada pelos

correspondentes pesos (wi), como mostrado na figura 3.15 e a equação 3.5.

Figura 3.15 – Estrutura de um elemento neurônio [85]

∑=

=n

iii xws

1

.(3.5)

Esse sinal passa através da função de ativação que é tipicamente não-linear, como uma

função sigmoidal.

No backpropagation, o treinamento da rede neural tem por objetivo estimar o erro, ou

seja, a diferença entre os valores obtidos e os reais para um determinado estimulo na entrada.

A redução deste erro é através da alteração dos pesos atribuídos ao caminho do fluxo desse

estimulo nas diversas camadas da rede.

• Descrição Analítica do Backpropagation

A seguir é descrito o mecanismo interno do backpropagation. Para maiores

esclarecimentos matemáticos veja Apêndice I. A regra Delta Generalizada é um algoritmo de

aprendizado como segue na equação 3.6:

ijij

E

ωηω∂∂

−=∆ .(3.6)

onde: wij representa o peso w da entrada xj;

∆wij é a variação incremental de um peso partícula;

56

i índice da entrada;

j índice do neurônio;

η é um coeficiente de aprendizado;

E é uma função de erro em relação ao peso que está sendo modificado.

Para conexões entre a camada escondida e a saída, o gradiente de descida é expresso

como:

)().()(.. syyysyE obtidoj

desejadojjj −==∆ ηηω (3.7)

O erro de saída que causa a alteração dos pesos é a diferença entre o valor desejado e o

obtido. Como a função y(s) é geralmente sigmoidal (logística ou tangente hiperbólica), a sua

derivada é dado por:

)](1).[()(

sysyds

sdy−=

(3.8)

A atualização do vetor w depende dos valores: yjdesejado, das entradas e da saída yj

obtida.

Este procedimento é ilustrado com o diagrama de blocos da figura 3.16, onde G(s) é a função

de ativação.

Figura 3.16 – Diagrama de blocos da regra delta generalizada [45]

G(s)

ηη. yjobtido . (1 – yj

obtido)

yjobtido

yjdesejado

x (entrada)

∆∆ωω

X

-

+

57

A equação 3.9 descreve a relação entre o erro na saída e um peso que esteja no

caminho do fluxo de excitação. A variação das conexões entre a camada de entrada e a

escondida é dada por:

∑−

−=∆n

kk

saídakjkkkij syEsysy

1

)(..)](1).[(. ωηω(3.9)

Nas superfícies de ordem elevada, o gradiente de descida pode ser muito lento se o

coeficiente de aprendizado η for muito pequeno, e produz oscilações se for muito alto [6, 12,

84]. A adição de um termo de momento α pode melhorar bastante a implementação (ver

equação 3.10).

anteriorijij

ij

E).(. ωα

ωηω ∆+∂

∂−=∆

(3.10)

A equação 3.7 é modificada para incluir o termo de momento α, que influência

diretamente na inércia do aprendizado.

3.5.2 Aprendizado Não-Supervisionado

Neste tipo de aprendizado não há um supervisor para acompanhar o processo de

aprendizagem. No algoritmo, somente os padrões de entrada estão disponíveis para a rede (ver

figura 3.17).

Figura 3.17 – Aprendizado não-supervisionado [12]

No aprendizado supervisionado é necessário um conjunto de treinamento que contenha

os pares de entrada e saída.

58

3.5.3 Aprendizado por Competição

Neste aprendizado, é dado um padrão de entrada e se faz com que as unidades de saída

disputem entre si para serem ativadas. Assim, há uma competição entre as unidades de saída

para decidir qual delas será a vencedora e que conseqüentemente, terá sua saída e seus pesos

atualizados no treinamento [12]. As unidades de entradas são diretamente conectadas às

unidades de saída, sendo que estas últimas também podem estar ligadas entre si via conexões

laterais inibitórias, ou negativas. A unidade de saída com maior ativação inicial, terá maior

chance de vencer a disputa entre outras unidades, onde, a unidade mais forte, fica ainda mais

forte e seu efeito inibidor sobre as outras unidades de saída torna-se dominante. Com o tempo,

todas as outras unidades de saída ficarão completamente inativas, exceto a vencedora [12, 25].

Um problema neste algoritmo é que uma unidade da saída pode se tornar dominante e

ficar ativa todo o tempo, podendo captar para si todo o espaço de entradas. A solução para tal

problema é limitar os pesos, ou seja, a soma dos pesos sobre as linhas de entrada de uma

unidade é limitada em 1 [12]. Para aumentar o peso de uma conexão, é preciso diminuir o

peso de alguma outra, conforme descrito na equação 3.11:

j

jj wM

xw

.

.

η

η

−=∆

(3.11)

onde: j = 1, 2, ..., n;

wj é o peso da conexão da unidade de entrada j com a unidade ativa;

xj é o valor do j-ésimo bit de entrada;

M é o número de unidades de entrada ativas no vetor de entrada;

η é a taxa de aprendizado.

O aprendizado por competição é base dos modelos de ART (Adaptative Resonance

Theory) de Grossberg e dos mapas de Kohonen [12].

59

3.5.4 Aprendizado por Reforço

A principal diferença entre o aprendizado supervisionado clássico e o aprendizado por

reforço é a medida de desempenho usada em cada um dos sistemas [80]. No aprendizado

supervisionado, a medida de desempenho é baseada no conjunto de respostas desejadas

usando um critério de erro conhecido, enquanto que no aprendizado por reforço o

desempenho é baseado em qualquer medida que possa ser fornecida ao sistema [12, 80]. No

aprendizado por reforço, a única informação de realimentação fornecida à rede é se uma

determinada saída está correta ou não (ver figura 3.18).

Figura 3.18 – Aprendizado por reforço [12]

Exemplificando esse aprendizado, basta pensar na analogia do aprendizado de um

animal, em que, se ele faz algo correto, ele é recompensado. Se fizer algo incorreto, é punido.

Estes são os estímulos (recompensa ou punição) que servem como feedback para que a rede

neural aprenda.

3.6 Processo de Treinamento

O critério de parada define como a rede atinge uma aprendizagem aceitável do

conjunto de padrões de treinamento, este é avaliado a partir das respostas da rede em relação

às saídas desejadas.

60

Após a aprendizagem ser concluída, um outro conjunto de dados, o conjunto de teste,

contendo pares de vetores de entrada e saídas desejadas, deverá ser utilizado para testar a

eficiência da rede. Se o resultado do teste for insatisfatório, o conjunto de treinamento é

insuficiente. Logo, devem-se incluir novos exemplares no conjunto de treinamento e treinar

novamente a rede neural.

No treinamento de uma rede há uma concepção errônea relativa ao processo iterativo.

No caso do supertreinamento, deve-se treinar a rede para reduzir o erro, mas para isso é

necessário aumentar o conjunto de treinamento, a fim de aumentar seu desempenho [70].

Embora parcialmente verdadeira esta afirmação, o super ajustamento do conjunto de

treinamento pode levar a uma má generalização [50, 52, 70, 103]. A figura 3.19 mostra o erro

de uma rede neural para o conjunto de treinamento e para o conjunto de teste.

Figura 3.19 – Análise do supertreinamento [52]

O aumento do tamanho da camada escondida pode melhorar o desempenho da rede

para os dados de treinamento, porém podem prejudicar a precisão da rede para os novos

dados. Esse é um fenômeno de memorização, ou seja, a rede procura juntar grupos de dados

específicos para cada neurônio da camada escondida, perdendo no entanto a capacidade de

generalização. Deve-se sempre comparar o erro obtido, com os dados para treinamento, com

os novos dados, os quais devem ser da mesma ordem de grandeza [52, 50, 70, 103].

3.7 Projeto de uma Rede Neural

A figura 3.20 mostra um diagrama de blocos com as etapas necessárias para se treinar

e desenvolver uma rede neural.

61

Figura 3.20 – Fluxograma do desenvolvimento de uma rede neural [85]

A topologia inicial da rede depende da experiência do projetista. Na prática é melhor

iniciar com um número pequeno de nós na camada escondida e gradualmente aumentar o

tamanho dessa camada através de tentativas e erro.

3.8 Conclusão

Neste capítulo foram apresentados a base biológica e artificial dos neurônios, e os

métodos de aprendizagem, que correspondem ao ajuste dos pesos das conexões sinápticas. Na

ausência de modelos matemáticos de processo, as redes neurais podem utilizar um histórico

de dados para se construir modelos preditivos, ou seja, um modelo que pode predizer as

reações do processo a novas condições.

As RNA’s constituem uma área emergente de estudos que tomou vulto de forma

explosiva, e que tem como base a realização de tarefa de alto nível mental em nível de

máquina, através de uma computação massivamente paralela através de neurônios artificiais.

CAPÍTULO 4

SISTEMAS HÍBRIDOS

A simbiose das técnicas fuzzy e neural serão descritas neste capítulo. Alguns sistemas

neurofuzzy já desenvolvidos e conhecidos na literatura são apresentados e classificados

segundo uma taxonomia aqui proposta.

4.1 Introdução

A abordagem convencional para a modelagem de sistemas tem como principal suporte

as ferramentas matemáticas. O uso de ferramentas matemáticas (equações diferenciais,

equações de diferenças, funções de transferências, etc) é apropriado quando o sistema é

simples ou bem definido [82]. Contudo, à medida que o sistema cresce e torna-se complexo,

as ferramentas matemáticas tornam-se menos efetivas, e em alguns casos impróprias. Isto

ocorre devido ao fato das expressões matemáticas se tornarem muito complicadas para serem

tratadas, ou as relações entre as variáveis do sistema tornarem-se obscuras e imprecisas.

Para contornar os problemas encontrados pelos métodos convencionais de modelagem,

propostas alternativas surgiram nas últimas décadas, tais como a modelagem por Lógica

Fuzzy (LF) e Redes Neurais Artificiais (RNA´s). Essas duas técnicas de modelagem têm sido

empregadas com sucesso em várias áreas, onde a abordagem convencional tem falhado em

fornecer soluções satisfatórias [27, 58].

As RN são apropriadas para a criação de modelos a partir de um conhecimento

implícito embutido em um conjunto de dados, os sistemas fuzzy são adequados para a criação

de modelos a partir de um conhecimento explícito, originário de especialistas humanos.

Portanto, muitos pesquisadores têm tentado integrar essas duas técnicas de modelagem para

gerar um modelo híbrido que possa associar as vantagens de cada abordagem e minimizar

suas deficiências. Por exemplo, as RNA’s demandam tempo de projeto, devido à necessidade

de ajustes dos seus parâmetros (números de camadas escondidas, números de nodos em cada

camada, etc). Isto leva à utilização de técnicas híbridas, que utilizam as vantagens de cada

uma, inclusive aproveitando o conhecimento do modelo do sistema para diminuir o tempo do

63

projeto [17]. Com isto, surgem os sistemas híbridos [73]. A tabela 4.1 apresenta, sob alguns

parâmetros e características das RNA´s e dos SF´s.

Tabela 4.1 – Comparação entre os sistemas fuzzy e neural [82]

Parâmetros Sistemas Fuzzy Redes Neurais

Aquisição de conhecimento Especialistas humanas Dados numéricos

Método de treinamento Interação/indução Algoritmos/ajuste de pesos

Tipo de incertezas Qualitativa/quantitativa Quantitativa

Raciocínio Busca heurística Computação paralela

Interface lingüística Explícita Não evidente

Tolerâncias a falhas Não evidente Alta

Robustez Alta Alta

Recentemente, diversas arquiteturas híbridas têm sido propostas na literatura [23, 31,

84]. Estas arquiteturas diferem basicamente no tipo neurônio utilizado, no tipo de informação

processada pela rede e na natureza das conexões. Algumas arquiteturas utilizam neurônios

lógicos, processam sinais reais e utilizam pesos sinápticos também reais. Outras arquiteturas

processam sinais fuzzy e/ou empregam pesos fuzzy e utilizam neurônios do tipo perceptron

com alguma função de ativação não-linear. Este tipo de arquitetura emprega aritmética fuzzy

para realizar operações de soma e multiplicação e usa o princípio da extensão para computar a

saída de um neurônio.

Dentre os pesquisadores desta nova área, podemos destacar Jang (pioneiro), Nauck e

Vuorimaa, que criaram respectivamente os modelos ANFIS (Adaptive Network Based Fuzzy

Inference Systen) [6, 33, 35, 70, 84, 91] , NEFCLASS (Neuro Fuzzy Classification) [6, 72, 84]

e FSOM (Fuzzy Self-Organized Map) [6, 84, 91]. Todos os modelos são sistemas adaptativos,

como as redes neurais, e são interpretáveis através de regras da lógica fuzzy. Os modelos

adaptativos são assim chamados por possuírem um algoritmo de aprendizado capaz de ajustar

os seus parâmetros e/ou sua estrutura a partir dos dados da entrada real.

4.2 Descrição dos Sistemas Híbridos

O interesse que tais sistemas têm despertado na comunidade científica deve-se à

sinergia obtida pela combinação de duas ou mais técnicas de modelagem. Esta sinergia

64

reflete-se na obtenção de um sistema mais poderoso e com menos deficiências. Um método

pode ser aplicado para melhorar o desempenho do outro, como é mostrado a seguir:

• As RNA´s podem ser utilizadas para aprender regras fuzzy;

• As regras fuzzy podem ser utilizadas para inicializar a estrutura de uma RNA a fim

de acelerar o treinamento e melhorar a generalização;

• As RNA´s podem ser usadas para refinar regras fuzzy e funções de pertinência.

A idéia básica de um sistema neurofuzzy é implementar um Sistema de Inferência

Fuzzy, numa arquitetura paralela distribuída de tal forma que os paradigmas de aprendizado

comuns às RNA’s possam ser aproveitadas nesta arquitetura híbrida. A figura 4.1 é uma rede

neurofuzzy com duas entradas (x1, x2), onde as entradas são normalizadas e escalonadas

dentro do intervalo numérico de 0 a 1. Este intervalo é dividido em três níveis: baixo, médio e

alto, os níveis estão associados à etapa de fuzzificação, que indicam os pesos da rede neural

para cada entrada. A camada 3 é definida por 5 regras, a camada 4 são os conseqüentes fuzzy

das regras e a etapa 5 é a defuzzificação, que define o valor numérico de saída.

Figura 4.1 – Arquitetura de um sistema neurofuzzy [83]

x2

x1

y

65

Uma outra forma de se incorporar conceitos fuzzy em uma topologia neural é pelo

rearranjamento das conexões e funções de ativação, fazendo com que uma operação fuzzy

seja executada internamente em cada neurônio da rede [82].

4.2.1 Taxonomia dos Sistemas Híbridos

A taxonomia para os Sistemas Híbridos (SH) está baseada nas características das

RNA’s e SF [84]. Logo, propôs-se a divisão da taxonomia em duas categorias: características

fuzzy do sistema (ver figura 4.2) e as características da aprendizagem (ver figura 4.3).

Figura 4.2 – Taxonomia quanto às características fuzzy do sistema [84]

Os modelos fuzzy se distinguem pela a estrutura das regras fuzzy, principalmente no

tipo do conseqüente e no procedimento de defuzzificação.

A função triangular tem a vantagem de ser computacionalmente simples, ou seja,

descrito por três variáveis: limite esquerdo (LE), centro (C) e limite direito (LD). Já as funções

de pertinência “singleton” são muito freqüentes entre os conseqüentes dos SH [82, 84]. Este

66

formato compreende uma função de pertinência que apresenta o grau de pertinência igual a 1,

em apenas um ponto do seu domínio, e o grau 0 (zero) nos demais pontos. Sua principal

vantagem é simplificar o processo de defuzificação do sistema fuzzy.

As variáveis de entrada/saída dos sistemas de inferência fuzzy são divididas em vários

termos lingüísticos que são utilizados pelas regras fuzzy. O particionamento do espaço de

entrada indica a forma como as regras fuzzy estão relacionadas com este espaço. O

particionamento do espaço de saída costuma ser mais simples e está associado aos

conseqüentes das regras. Os particionamentos do espaço E/S fuzzy box e fuzzy cluster são

muito usados em SH [84]. O primeiro aparece no SH chamado Fuzzy Self Organized Map

(FSOM), de Vuorimaa. O segundo é gerado por RN’s do tipo das redes de Funções de Bases

Radiais (Radial Basis Function – RBF) [84].

Após a avaliação das regras fuzzy, deve-se determinar o valor real da saída do sistema

fuzzy. Este processo é chamado de defuzzificação.

Figura 4.3 – Taxonomia quanto às características de aprendizado [84]

67

No aprendizado off-line a atualização dos parâmetros/estrutura só acontece após a

apresentação de todo o conjunto de treinamento. Já o aprendizado on-line atualiza os

parâmetros para cada par de treinamentos apresentado.

A identificação da estrutura está relacionada à determinação de um número adequado

de regras fuzzy e de um particionamento de entrada/saída satisfatório, com esboço inicial das

funções de pertinência.

O perfil das funções de pertinência dos antecedentes das regras fuzzy é geralmente

ajustado por um algoritmo supervisionado de retropropagação do erro. Um exemplo típico é o

NEFCLASS de Nauck [72, 84].

Os sistemas com identificação dos antecedentes e conseqüentes representam a grande

maioria dos sistemas neurofuzzy [83]. Neste caso o peso de cada regra é fixo e de valor

unitário, o que permite uma fácil interpretação do significado das regras. Um exemplo

inovador desse tipo de SH é o FSOM. Este utiliza um algoritmo supervisionado chamado LVQ

(Linear Vector Quantization) no ajuste dos antecedentes e um algoritmo gradiente

descendente no ajuste dos conseqüentes (ver Apêndice II).

4.2.2 Sistemas Neurofuzzy

A junção entre as técnicas fuzzy e neural é basicamente dada por regras do tipo Se -

Então, que relacionam as entradas (antecedentes) com as saídas (conseqüentes) [82]. A figura

4.4 mostra uma rede neural estruturada por um conjunto de regras (premissas), onde se

indicam três conjuntos fuzzy (pequeno, médio e grande) para as duas variáveis de entrada

(largura (W) e altura (H)). A função de pertinência indicada pela letra f pode ser do tipo

triangular, trapezoidal, gaussiana, etc. Já o neurônio indicado com a letra π é um nó que

implementa a multiplicação dos sinais de entrada. Se a multiplicação é uma t-norma, então é

possível implementar a operação lógica E no neurônio. Assim, os resultados da operação E

das nove possíveis combinações (regras) estão disponíveis nos nós de saída. Cada saída

representa o grau de verdade da regra da premissa E.

68

Figura 4.4 – Estrutura neural para as premissas de uma rede fuzzy neural [82]

A partir da figura 4.4 é incorporado um método de defuzzificação (método pelas

alturas) na estrutura do sistema baseado em regras, que pode ser visto na figura 4.5, onde os

pesos wf são os valores de pico dos respectivos conseqüentes e a saída é a soma dos valores

verdades de cada regra, que multiplicam tais valores de pico (média ponderada).

69

Figura 4.5 – Rede fuzzy neural baseada em regras [82]

Um outro exemplo de rede neurofuzzy é do tipo paramétrica mostrada na figura 4.6,

com uma arquitetura de duas entradas (x1, x2) e duas saídas (y1, y2), onde as entradas acionam

as nove regras do sistema e ativam relações lineares entre as entradas x1 e x2.

70

Figura 4.6 – Topologia de uma rede fuzzy neural em forma paramétrica [82]

A importância de uma rede neurofuzzy deve-se à combinação do processamento

numérico de uma rede neural com a facilidade de descrição lingüística de um sistema fuzzy.

71

4.2.3 Modelos de Sistemas Neurofuzzy

Nesta seção serão descritos de forma sucinta os três mais conhecidos sistemas

neurofuzzy: o ANFIS, o FSOM e o NEFCLASS. Com isto, espera-se tornar clara a

compreensão de um sistema neurofuzzy.

a) Adaptive Network Based Fuzzy Inference System (ANFIS):

O ANFIS é uma rede neurofuzzy que foi criada por Jang [32, 33, 34, 35, 70, 83, 84],

cuja arquitetura pode ser usada na implementação de sistemas para previsão e aproximação de

funções (ver figura 4.7).

Figura 4.7 – Arquitetura neurofuzzy ANFIS [88]

A seguir apresenta-se a descrição das camadas que compõem a estrutura da rede

neurofuzzy ANFIS.

Camada 1: Computa o grau de pertinência das entradas x1, x2 e x3, baseada nas funções de

pertinência (Ai = alto e Bi = baixo). Os parâmetros que definem os parâmetros

das curvas de pertinência são considerados como pesos fuzzy. Cada entrada tem

apenas dois termos lingüísticos (alto e baixo), porém, nada impede que este

número seja maior.

72

Camada 2: Cada nó desta camada corresponde a uma regra e calcula com que grau de

pertinência o conseqüente da regra está sendo atendido.

S1 = A1 (x1) * A2(x2) * A3(x3)

S2 = B1 (x1) * B2(x2) * A3 (x3)

S3 = B1 (x1) * B2(x2) * B3 (x3)

(4.1)

onde: “*” representa o operador t-norma.

Camada 3: Esta camada realiza uma normalização nos níveis de disparo das regras.

S1′ = S1 / (S1 + S2 + S3)

S2′ = S2 / (S1 + S2 + S3)

S3′ = S3 / (S1 + S2 + S3)

(4.2)

Camada 4: As saídas dos neurônios são calculados pelo produto entre os níveis de disparo

normalizados e valor do conseqüente da regra.

h1 = S1′ . C1

h2 = S2′ . C2

h3 = S3′ . C3

(4.3)

onde: os Ci´s correspondem aos conseqüentes, por exemplo, funções de pertinência

“singletons”.

Camada 5: A última camada calcula a saída do sistema, ou seja, a defuzzificação.

Z = h1 + h2 + h3 (4.4)

Este sistema utiliza o particionamento fuzzy-grid adaptative [79], seu aprendizado é

feito em duas etapas que se repetem até o critério de parada:

Etapa 1: Fixam-se os parâmetros dos antecedentes, e os conseqüentes são ajustados pelo

método MQO (Mínimos Quadrados Ordinários) [3, 62];

73

Etapa 2: Fixam-se os parâmetros dos conseqüentes e os parâmetros dos antecedentes são

ajustados pelo método GD (Gradient Decrescent) [98].

Geralmente, as funções de pertinência utilizadas são do tipo gaussiana. A idéia do

sistema ANFIS é implementar um modelo fuzzy numa rede neural [70].

b) Fuzzy Self Organized Map (FSOM):

Foi desenvolvido por Vuorimaa e utiliza o particionamento fuzzy-box no espaço de

entrada [6, 83, 84]. As funções de pertinência utilizadas nos antecedentes das regras têm perfil

triangular. Os conseqüentes das regras são singletons ou combinações lineares das entradas. A

figura 4.8 mostra um sistema com 2 entradas e uma saída.

Figura 4.8 – Arquitetura de um FSOM com duas entradas e uma saída [88]

A seguir apresenta-se a descrição das camadas que compõem a estrutura da rede

neurofuzzy Fuzzy Self Organized Map.

Camada C1: A regra do sistema é baseada no formato.

If x1 ε Ui,1 and x2 ε Ui,2 then y = Si

74

onde: xj entrada da rede;

Uij conjuntos fuzzy.

Camada C2: Está relacionado ao nível de disparo das regras.

αi = min {µui,1(x1), µui,2(x2)} (4.5)

Camada C3: Normaliza os níveis de disparo das regras.

α1’ = α1 / (α1 + α2) e α2' = α2 / (α1 + α2) (4.6)

Camada C4: Produto dos níveis de disparo normalizado pelo conseqüentes.

H1 = α1' . S1 e H2 = α2' . S2 (4.7)

onde: Sj correspondem aos conseqüentes das regras.

Camada C5: Cálculo da defuzzificação, onde o método empregado é o da média ponderada.

∑ ∑= =

=m

i

m

iiii Sy

1 1

)/().( αα(4.8)

onde: Si são os singletons referentes à saída de cada regra;

αi são os níveis de disparo das regras;

m é o número de regras.

O método de treinamento deste sistema neurofuzzy é realizado em três etapas:

Etapa 1: Os valores dos centros (c) das funções de pertinências (triangulares) são auto-

organizados pelo algoritmo FSOM de Kohonen, detalhado no capítulo 6;

Etapa 2: Os conjuntos fuzzy são formados em volta destes centros, usando-se uma largura

constante ω0, de forma que a largura esquerda é 0ω+= cLe , e a largura direita é

0ω+= cLd .

Etapa 3: Os conjuntos fuzzy dos antecedentes são ajustados por um algoritmo semelhante ao

LVQ (ver Apêndice II), também criado por Kohonen.

75

A descrição das camadas deste sistema neurofuzzy é semelhante às do sistema ANFIS,

exceto pelo fato deste sistema utilizar o particionamento do tipo “fuzzy box”.

c) Neuro Fuzzy Classification (NEFCLASS):

Foram desenvolvidos por Nauck e Kruse [6, 70, 72, 84], e sua aplicação básica é em

sistemas de classificação. A figura 4.9 mostra um sistema com duas entradas, cinco regras e

duas classes de saída.

.

Figura 4.9 – Sistema NEFCLASS [72]

A seguir apresenta-se a descrição das camadas que compõem a estrutura da rede

neurofuzzy NEFCLASS.

As regras são da forma:

If x1 ε µ1 and x2 ε µ2 then pattern (x1, x2, …, xn) belongs to i

76

Camada de Entrada: Direcionar os valores x1 e x2 para as entradas das funções de

pertinência dos antecedentes das regras;

Camada de Antecedentes: Gera os graus de pertinência dos antecedentes das regras. O

universo de discurso de cada variável de entrada está dividido em três conjuntos fuzzy (alto,

médio e baixo). O particionamento do espaço de entrada implementado por esta camada é o

“adaptive fuzzy-grid”, detalhes em [84];

Camada de Regras: Esta camada gera o nível de disparo de cada regra através da operação t-

norma;

Camada de Saída: As saídas são obtidas pela operação de t-conorma entre os níveis de

disparo da camada de regras. Os pesos que interligam a camada de regras e a camada de saída

indicam que regras têm um mesmo grau de importância entre si.

O aprendizado do sistema é realizado em duas etapas separadas:

Etapa 1: Utiliza um algoritmo para criar a camada de regras. Esta camada pode ser

inicializada a partir de um conhecimento prévio ou ser inicializada com um

conjunto vazio de regras e crescer com aprendizado incremental de regras.

Etapa 2: A segunda etapa utiliza um algoritmo supervisionado GD (gradiente decrescente)

para ajustar perfis das funções de pertinências dos antecedentes [98].

A arquitetura NEFCLASS é uma rede híbrida que herda todas as características de uma

rede neural do tipo Perceptron Multicamadas (MLP) [72].

4.3 Análise dos Sistemas Híbridos

A lógica fuzzy provê uma interface de alto nível e amigável para se desenvolver

programas, auxiliando os projetistas a se concentrarem nos objetivos funcionais em vez dos

detalhes matemáticos. Por sua vez, as redes neurais artificiais são convenientes para o

manuseio massivo de dados numéricos.

77

As tecnologias fuzzy e neural estão dentro da área denominada “computação suave”

[82], mostrando um enorme potencial para aplicações que combinem conhecimento

qualitativo com robustez.

4.4 Limitações dos Sistemas Híbridos

Os SH trabalham com um reduzido número de entradas. Este fato ocorre em função da

chamada explosão combinatória das regras devido ao particionamento em forma de grade.

Suponha-se uma rede neurofuzzy com quatro variáveis de entrada e cada uma delas tenha seu

universo de discurso em três conjuntos fuzzy. Com este sistema de particionamento pode-se

chegar a um total de 81 (34) regras. Suponha-se agora que se tenha 10 entradas. Chega-se a

um total de 59049 regras, o que é impraticável.

A construção da própria estrutura é limitada ou inexiste. Algumas têm estrutura fixa

arbitrária a priori, e não se permite que ela varie. Outros sistemas neurofuzzy têm alguma

capacidade de alterar sua estrutura, permitindo que se altere o número de divisões no universo

de discurso de algumas de suas variáveis de entrada e, conseqüentemente, o número de regras.

Esta habilidade é reduzida e ainda o mantém refém do primeiro tipo de limitação.

4.5 Conclusão

Nos últimos anos os potenciais de manuseio de incertezas e de controle de sistemas

complexos se tornaram possíveis com a lógica fuzzy, e estão sendo combinados com redes

neurais artificiais, que por sua vez, possuem características de adaptação e aprendizagem.

Assim, surgiram os sistemas híbridos artificiais. Logo, efetuou-se um trabalho de pesquisa

envolvendo definições dos sistemas híbridos (fuzzy e redes neurais), seus algoritmos de

aprendizagem, suas formas de particionar os espaços de entrada/saída, os formatos das

funções de pertinência e métodos de defuzzificação.

No capítulo 6 é apresentado um sistema neurofuzzy (Neo-Fuzzy-Neuron Modificado

por Kohonen) para ajustar as funções de pertinência com um algoritmo de agrupamento (mapa

auto-organizável de Kohonen).

CAPÍTULO 5

IDENTIFICAÇÃO DE SISTEMAS

O capítulo descreve a Inteligência Artificial aplicada a técnicas de controle,

especificamente em identificação e modelagem de sistemas.

5.1Introdução

A identificação de sistemas é uma área que estuda técnicas alternativas de modelagem

matemática de sistemas. A modelagem matemática é área do conhecimento que estuda

maneiras de desenvolver e implementar modelos matemáticos de sistemas reais. A

identificação de sistemas é um dos problemas básicos em teoria de controle. No caso de

sistemas lineares, uma abordagem para identificação é construir uma função de transferência

representando o comportamento do processo, em tempo discreto ou contínuo, usando o

“Princípio da Superposição” descrito abaixo [3, 61], sendo que o estado inicial é suposto ser

zero. As funções de transferência são funções que modelam o comportamento dinâmico de

um par entrada-saída de um sistema, ou seja, descrevem como uma determinada entrada é

dinamicamente “transferida” para a saída do sistema.

Princípio da Superposição: Considere um sistema que ao ser excitado pela entrada )(1 tµ

produz a saída )(1 ty e quando excitado por )(2 tµ produz )(2 ty . Se tal sistema satisfizer o

princípio da superposição então, quando excitado por )(.)(. 21 tbta µµ + , sua saída será

)(.)(. 21 tybtya + , sendo a e b constantes reais. Por definição, um sistema é linear se ele

satisfaz o princípio da superposição.

A identificação de sistemas não-lineares é difícil, pois, o princípio da superposição não

pode ser usado, e a relação entrada-saída pode depender do estado atual e/ou histórico do

sistema. Além disso, o sistema pode ter muitos estados para os quais a saída é constante ou

zero.

79

O processo de modelagem de um determinado sistema dinâmico pode resultar num

modelo de estrutura complexa. Em tais casos, métodos de redução de modelos podem ser

utilizados para se obter uma representação mais simples do processo.

Os sistemas híbridos inteligentes representam um direcionamento alternativo para a

solução de problemas em sistemas de controle e identificação, principalmente aqueles que

envolvem não-linearidades.

5.2Sistemas de Controle

Um sistema de controle dinâmico envolve sempre o controle de um processo cujas

variáveis evoluem de acordo com um conjunto de equações diferenciais especificadas pelas

leis físicas que as governam. Os objetivos do controle, neste caso, são disciplinar a evolução

destas variáveis de acordo com certos critérios de engenharia: estabilizá-las ou impor

trajetórias nominais ou de referência [45].

A figura 5.1 apresenta uma representação bastante genérica de um sistema de controle

dinâmico. A entrada do sistema são os sinais que o processo recebe do meio externo. A saída

é a sua resposta, a qual é comparada com uma trajetória de referência. Na medida em que é

diferente desta, produz um erro, utilizado pelo controlador para determinar uma ação de

controle, ou seja, eliminar este erro.

Figura 5.1 – Sistema de controle

Sistema ou

Processo

Controlador da

Planta-

Erro

Saída Real

Referência

+

Entrada

-+

80

O projeto de um controlador depende diretamente da descrição matemática do

processo, ou seja, a sua modelagem. Não é possível projetar um controlador sem que se tenha

alguma informação sobre a dinâmica do processo. Este requisito aparentemente trivial pode

não estar satisfeito a priori em uma classe ampla de problemas de interesse prático. Para estes

casos colocam-se os problemas de identificação de sistemas.

5.3 Identificação de Sistemas

A identificação pode ser colocada como o problema de determinar um vetor de

parâmetros tal que a saída do sistema (ydesejado) e a saída do modelo (yobtido) estejam próximas

segundo algum critério adotado, por exemplo: ε<− obtidodesejado yy . O critério pode ser

baseado em algum algoritmo apropriado, que procura identificar a parametrização que mais

adequadamente representa a dinâmica do sistema. Esta medida de adequação é através da

minimização do erro que é usada para reajustar os parâmetros do modelo de identificação (ver

figura 5.2).

Figura 5.2 – Identificação de um sistema dinâmico

O processo de iteração é finalizado quando o erro de estimação é significativamente

pequeno e o modelo de identificação obtido pode então ser usado como um modelo do

sistema real [70].

Sistema ou

Processo

Modelo de

Identificação

Entradas

+

-Erro

Saída Real

Saída Obtida

81

O grau de conhecimento sobre o processo a ser identificado determina a classe de

modelo a ser utilizado [3]. De acordo com nível de informações sobre o processo identificado

podem-se classificar as classes de modelos em:

• Modelos “Caixa-Branca”: indicam que existe um conhecimento total sobre o

processo, ou seja, se conhece toda a relação entre as variáveis que descrevem o

comportamento dinâmico do sistema. Estes modelos não são realísticos porque,

mesmo sabendo-se com exatidão as equações que regem a dinâmica do processo,

sempre existirão parâmetros que têm seus valores modificados com o passar do

tempo, como a temperatura, atrito, etc;

• Modelos “Caixas-Cinzas”: indicam que existe algum conhecimento sobre o

processo, mas não se conhecem alguns parâmetros ou algumas relações entre as

variáveis que descrevem o comportamento dinâmico do sistema. Estes modelos

são mais realísticos que os modelos caixa-branca;

• Modelos “Caixa-Preta”: indica uma falta total de conhecimento sobre o processo.

Pertence a uma família de estrutura de modelos com uma flexibilidade adequada e

hábil em aproximar uma grande classe de relações entrada/saída. Em outras

palavras, o modelo caixa-preta é uma estrutura padrão que pode ser utilizada para

aproximar uma grande variedade de sistemas.

De fato, estimar o número/valores de parâmetros é uma tarefa árdua que requer

conhecimento sobre a complexidade do problema. Logo, as redes neurais artificiais têm sido

empregadas em identificação por serem modelos de caixa-preta. O problema de identificação

de sistemas dinâmicos pode ser visto como mapeamento de um espaço de entradas para um

espaço de saídas [48].

5.4 Inteligência Artificial em Identificação de Sistemas

As redes neurais artificiais têm sido exploradas na identificação de sistemas dinâmicos

não-lineares devido a serem modelos caixas-pretas não-lineares, com habilidade de aproximar

complexos mapeamentos [16, 19]. O tipo mais comum de rede neural usada para controle é o

perceptron multicamadas (MLP), com função de ativação sigmoidal. Quando comparados a

técnicas desenvolvidas para o tratamento de problemas de identificação linear, o emprego de

82

redes neurais pode ser considerado como uma abordagem muito flexível, inclusive por não

requerer informação prévia do modelo. Para a tecnologia de identificação clássica, o usuário

deve especificar a natureza do relacionamento entre as entradas e saídas. Utilizando redes

neurais em identificação, o usuário deve somente especificar a topologia da rede que é

suficiente para descrever o mapeamento das entradas-saídas.

Se há uma mudança no comportamento do sistema ou em seu ponto de operação, isto

exigiria a readaptação dos parâmetros do modelo de identificação, sob pena de o sistema de

identificação sofrer uma degradação de desempenho. Para evitar isto, algumas redes neurais

baseadas no esquema de identificação necessitam de leis de ajuste dos parâmetros do modelo

para o tempo de operação, mantendo-se fixa a dimensão da rede, a qual deve ser

suficientemente elevada para contemplar todos os possíveis requisitos de comportamento que

podem se estabelecer [50, 58, 103].

Em [45] e [98] é demonstrado que uma rede MLP com uma única camada

intermediária é suficiente para aproximar uniformemente qualquer função contínua que se

encaixe em um hipercubo unitário. O teorema afirma que um perceptron de múltiplas

camadas com única camada intermediária é capaz de realizar uma aproximação uniforme,

dado um conjunto de treinamento suficientemente significativo para representar a função. Por

outro lado, o teorema não afirma que uma rede MLP com uma única camada é ótimo no

sentido de tempo de processamento, facilidade de implementação eficiência na representação

[45, 98].

Os modelos convencionais de redes neurais artificiais apresentam limitações,

principalmente a três fatores:

• Não há um modo sistemático para determinar a estrutura de modelagem requerida

para um dado sistema;

• O algoritmo iterativo de aprendizagem (ajuste dos pesos), nem sempre leva à

convergência em direção à solução global, ou a uma solução local de boa

qualidade;

• A característica distributiva e não-linear do processamento dificulta e até pode

impedir a análise eficiente dos modelos conexionistas resultantes, durante e após o

treinamento da rede.

Na tentativa de propor soluções para tais problemas, o trabalho apresenta um modelo

híbrido inteligente, o Neo-Fuzzy-Neuron Modificado por Kohonen (NFN-MK), que mescla as

83

técnicas de redes neurais artificiais e lógica fuzzy. Neste modelo é possível associar um

conjunto de regras fuzzy, que permite a extração de conhecimento na forma lingüística e

também permite o modelo aprender por meio de exemplos, característica das redes neurais. A

implementação da rede de Kohonen tem o propósito de indicar a localização inicial das

funções de pertinência mais apropriadas para cada aplicação. Logo, o modelo NFN-MK é

aplicado no contexto de aproximação de funções. A vantagem do modelo proposto é o

reduzido esforço computacional quando comparado às RNA´s convencionais, com

convergência superior a estas. Este resultado é evidenciado no capítulo 7.

5.4.1 Aprendizado e Generalização

O principal objetivo do aprendizado em RNA’s e sistemas neurofuzzy é a obtenção de

modelos com boa capacidade de generalização tendo como base o conjunto de dados. Em

problemas de aproximação, classificação e predição, o conjunto de treinamento é composto

por pares de entrada e saída (x, ydesejado), sendo caracterizada previamente a saída desejada

(ydesejado) para um determinado vetor de entrada x. O ajuste de pesos deve modificar a saída

yobtida de forma que a diferença entre yobtida e ydesejado, ou seja, o erro, diminua a cada iteração.

No entanto, a minimização pura e simples do erro pode não levar a resultados satisfatórios

[25, 70, 98].

No modelamento da rede pode ocorrer um ou dois efeitos de resposta, conhecido como

overfitting e underfitting. O overfitting é uma situação que ocorre quando há

sobreparametrização da rede, ou seja, quando a rede tem mais parâmetros (pesos) do que

necessário para a resolução do problema. Por sua vez, o underfitting ocorre quando a rede tem

menos parâmetros do que necessário. O objetivo do treinamento deve ser então o de encontrar

o ajuste ideal na fronteira entre o overfitting e o underfitting. No entanto, estimar o número de

parâmetros é uma tarefa árdua que requer conhecimento sobre a complexidade do problema.

Este conhecimento normalmente não está disponível, principalmente tratando-se de

problemas multidimensionais, pois muitas vezes é este conhecimento que se deseja obter por

meio do processo de modelagem [70, 98].

Qual deve ser o tamanho ideal do conjunto de treinamento? Como regra prática, pode-

se calcular o número de pesos na rede e tornar o seu dobro para obter o número mínimo de

exemplos de treinamento. Dobre-se este valor novamente para se obter um tamanho melhor

de exemplos de treinamento. Alguns cuidados são necessários na escolha dos pares de

84

treinamento, como as variações que a rede deve abstrair, principalmente sem esquecer de

incluir casos fronteiriços, muito próximos aos limites de decisão, para que a rede possa

aprender a estabelecer estes limites. Senão, a rede pode responder com saídas que deixam

dúvida a que padrão pertence à entrada apresentada [52].

Após a aprendizagem ser concluída, um outro conjunto de dados, o conjunto de teste,

contendo pares de vetores de entrada e saídas desejadas, deverá ser utilizada para testar a

eficiência da rede. Caso deixe a desejar, provavelmente o conjunto de treinamento deve ter

sido insuficiente, e então se deve incluir novos exemplos no conjunto de treinamento e

retreinar a rede.

5.4.2 Critério de Convergência

A aproximação de função por RNA implica em vários fatores como: número de

neurônios e camadas escondidas, tempo de processamento (alto para mapeamentos

complexos), modelo das funções de ativação, ganhos da função de ativação, inicialização dos

pesos e taxa de aprendizagem. A escolha indevida de alguns destes fatores (principalmente a

inicialização dos pesos) pode implicar que o programa fique preso em um mínimo local (ml),

onde o desejado é o mínimo global (mg).

A convergência dos métodos de otimização não-lineares depende da condição inicial e

do comportamento da função objetivo. Por exemplo, a figura 5.3 apresenta a equação 6.1, que

possuí um mínimo local e seu mínimo global para x ∈ [-2, 2].

6.3.15.3)( 24 +−−= xxxxf (5.1)

85

Função Escalar

-20

-10

0

10

20

30

40

-3 -2 -1 0 1 2 3

Variável x

Var

iáve

l de

Saíd

a

f(x) = 3.(x^4) - 15.(x^2) - 3.x + 6

Figura 5.3 – Função com mínimo local e global

O par do mínimo local para a equação 5.1 é ml = (-1.528; -8.084); já do mínimo

global é mg = (1.628; -17.566).

Como as redes neurofuzzy possuem a propriedade de aproximação universal, foi

proposto o sistema Neo Fuzzy Neuron Modificado por Kohonen (NFN-MK). Do ponto de

vista computacional o NFN apresenta tempo de processamento inferior às redes MLP e

soluciona o problema de mínimos locais, porque a função objetiva a ser minimizada no

processo de treinamento é quadrática e convexa. A seguir será discutido algum caso prático

envolvendo a aproximação de funções.

5.5 Conclusão

Os modelos lineares têm sido amplamente usados em identificação de sistemas.

Entretanto, muitos sistemas de controle encontrados na prática são não-lineares. As

aproximações produzidas por modelos lineares não são convenientes para representar estes

sistemas. O emprego do método Neo Fuzzy Neuron Modificado por Kohonen (NFN-MK)

pode ser considerado como uma abordagem flexível, inclusive por não requerer informação

prévia do modelo e impõem poucas restrições na definição do modelo, quando comparado às

redes neurais artificiais e outras técnicas de aproximações.

Mínimo Local Mínimo Global

CAPÍTULO 6

O MODELO NFN-MK

Este capítulo apresenta a proposta de estudo que é ajustar as funções de pertinência do

tipo triangulares para o modelo Neo Fuzzy Neuron Modificado por Kohonen (NFN-MK), as

quais representam o comportamento dinâmico de um sistema identificado. A obtenção das

funções é feita com o mapa auto-organizável de Kohonen, que encontra os vértices das curvas

triangulares.

6.1 Introdução

A estrutura do modelo Neo Fuzzy Neuron Modificado por Kohonen (NFN-MK) é

aplicada ao contexto de identificação de sistemas, que está apresentado na figura 6.1. Este

modelo computacional permite ajustar as funções de pertinência do tipo triangulares, as quais

modelam o sistema identificado. O sistema neurofuzzy proposto é uma reestruturação do Neo-

Fuzzy-Neuron (NFN), proposto por Yamakawa [96] e a modificação é pelo uso do mapa auto-

organizável de Kohonen. A motivação ao uso do NFN original foi por apresentar tempo de

processamento bastante inferior, uma das motivações quando comparados à estrutura das

redes neurais multicamadas [19, 47, 48].

87

Figura 6.1 - Diagrama de blocos do treinamento do NFN

O bloco do processo da figura 6.1 é um sistema real e tipicamente não-linear. Logo,

essa não linearidade aumenta a dificuldade de modelagem através de equações matemáticas

clássicas. Uma das soluções para tal problema é utilizar o NFN-MK para obter o sistema

desejado, sem a necessidade de técnicas de linearização que podem comprometer os resultados

finais para determinadas entradas.

A capacidade de representar mapeamentos complexos das redes neurais cresce, em

geral, com o número de camadas e neurônios. Entretanto, este aumento leva a um maior tempo

de processamento, o que é um fator importante em implementação em tempo real. Além disso,

o treinamento das redes neurais multicamadas, utilizando o algoritmo backpropagation,

consiste na minimização de uma função não-linear (sigmóide). A convergência dos métodos de

otimização não-linear depende da condição inicial e do comportamento da função objetivo.

Para o treinamento das redes neurais estes dois pontos são críticos, pois a condição inicial é

atribuída aleatoriamente e a função objetivo não é estritamente convexa, apresentando mínimos

locais. Neste caso, a convergência não é assegurada, podendo às vezes apresentar um erro

significativo mesmo após longo tempo de treinamento [16, 19].

Já o sistema Neo-Fuzzy-Neuron (NFN), resolve o problema de mínimos locais, pois a

função-objetivo a ser minimizada é quadrática e convexa [16, 48]. Portanto, este algoritmo é

utilizado em várias aplicações como: previsão de temperaturas para alimentos em

congelamento, identificação de sistemas, predição de comportamentos caóticos e observação

de estados em acionamentos elétricos [73].

ProcessoNão-Linear

RedeNFN-MK

Entradas Erro

Saída Obtida

Saída Desejada

+

-

Ajuste dos Pesos

88

A rede NFN original tem funções de pertinência fixas do tipo triangular, e não existe

algoritmo para ajustá-las. No entanto, o modelo NFN-MK usa a rede de Kohonen para ajustar

as funções de pertinência. O ajuste é com base nos dados de entradas/saídas do sistema real,

assim representando uma maior precisão e conhecimento sobre o sistema em estudo.

6.2 Descrição do Modelo NFN-MK

O modelo Neo-Fuzzy-Neuron Modificado por Kohonen é um sistema híbrido que faz a

simbiose entre a lógica fuzzy e as redes neurais artificiais. Uma das etapas da lógica fuzzy é a

fuzzificação, que tem o propósito implementar as funções de pertinência, cuja tarefa é

trabalhosa. As técnicas usando RN e/ou AG estão disponíveis para auxiliar na geração e/ou

ajuste das curvas de pertinência. Tais sistemas são dotados de capacidade de aprendizagem, a

partir dos conjuntos de dados de entrada, com os quais identificam a posição e formato das

funções de pertinência [82]. Então, é implementada a rede de Kohonen, com o propósito de

indicar a localização inicial das funções de pertinência mais apropriadas para cada aplicação.

A construção de sistemas híbridos leva a associação de duas ou mais técnicas de IA

[84]. Neste trabalho são usadas duas formas básicas de associação:

a) Sistema Híbrido Incorporado: combinam dois paradigmas de IA, os sistemas fuzzy e as

redes neurais artificiais, onde não há uma separação visível entre os dois subsistemas. A

figura 6.2 traz uma representação deste modelo.

Figura 6.2 – Modelo híbrido incorporado

Sistema Fuzzy (Técnica 1)

+

Redes Neurais Artificiais (Técnica 2)

Entrada Saída= NFN

89

A rede neurofuzzy NFN tem um sistema de inferência fuzzy que é implementado

segundo a estrutura de uma rede neural artificial.

b) Sistema Híbrido Auxiliar: Nesta associação um outro paradigma, a rede de Kohonen é

chamada pelo subsistema implementado (NFN) para realizar alguma tarefa auxiliar. A figura

6.3 ilustra este conceito de hibridização.

Figura 6.3 – Modelo híbrido auxiliar

A proposta do trabalho é implementar a rede neurofuzzy NFN, onde a rede de Kohonen

auxiliará no ajuste dos centros/formatos das funções de pertinência do sistema de inferência do

NFN.

A figura 6.4 mostra as etapas de treinamento entre as redes NFN e de Kohonen,

aplicada à identificação de um sistema real.

Entrada

SaídaRede Neurofuzzy NFN

(Subsistema)

Rede de Kohonen(Técnica 3)

90

Figura 6.4 – Estrutura da rede neurofuzzy NFN-MK.

As etapas de treinamento do modelo NFN-MK empregado na identificação de um

sistema real são:

a) Etapa 1: Chave “S1” fechada e “S2” aberta

Nesta etapa as variáveis de entrada e seus respectivos domínios são definidas por sete

funções de pertinência triangulares, uniformemente distribuídas. Com o auxílio da rede de

Kohonen é possível gerar novos vértices para cada uma das curvas triangulares, tornando-as

não uniformemente distribuídas com um treinamento não-supervisionado. Os pesos da rede

correspondem aos valores dos vértices das funções de pertinência. Já o número de neurônios

na camada de processamento corresponde ao número de subconjuntos fuzzy para cada

coordenada.

Processo

Não-Linear

Rede NeurofuzzyNFN

Entrada+

-Erro

Saída Obtida

Método deKohonen

Ajuste dos Pesos

Rede NFN-MK

Ajuste dos Centros dasFunções de Pertinência

Saída Desejada

S2

S1

91

b) Etapa 2: Chave “S1” aberta e “S2” fechada

Após o posicionamento dos sete vértices das curvas triangulares pela rede de Kohonen,

são determinados: os graus de pertinência para as entradas de treinamento (processo de

fuzzificação); construção das regras fuzzy do tipo “Se - Então”; processo de defuzzificação; e

atualização dos pesos para cada padrão de entrada/saída, de modo que o erro possa ser

minimizado. O treinamento desta etapa é supervisionado, análogo ao backpropagation

clássico.

O aprendizado da rede só é finalizado quando se completa o número de épocas

desejado, quando o NFN-MK obtido pode ser usado como replicador do processo real.

6.3 Estrutura do Neo-Fuzzy-Neuron

O Neo-Fuzzy-Neuron foi proposto a partir do neurônio fuzzy, ou seja, um neurônio

utilizado que representa regras fuzzy, cujas informações de entrada podem ser fuzzificadas [16,

17, 18, 19, 48, 73, 96, 97]. A vantagem do uso de redes neurais sobre os sistemas baseados em

regras é a capacidade de generalização [63]. A estrutura do Neo-Fuzzy-Neuron é mostrada na

figura 6.5.

Figura 6.5 – Estrutura do sistema Neo-Fuzzy-Neuron [96]

92

onde cada fi(xi) é indicado em detalhe na figura 6.6, representando um neurônio fuzzy.

Figura 6.6– Estrutura do neurônio fuzzy [96]

onde: xi : entrada da rede;

fi: universo de discurso da entrada xi;

µij(xi): subconjunto fuzzy da entrada xi;

wij: peso da conexão da entrada “i” e subconjunto fuzzy “j”;

yi : soma dos termos µij(xi) . wij (i=1,..., n; j=1,..., p), gera uma saída fuzzificada;

n: número das entradas do sistema (rede);

p: número de subconjuntos fuzzy de uma determinada entrada;

y: soma dos termos y1 a yn (processo de defuzzificação).

As características de cada sinapse são representadas por uma função não linear fi(xi),

determinada a partir de inferência fuzzy e defuzzificação. Os sinais sinápticos deixam de ser

caracterizadas por uma função sigmoidal, como nas redes convencionais, passando a ser

obtidos simplesmente por uma soma algébrica. Tal analogia é apresentada na tabela 6.1.

93

Tabela 6.1 – Comparação entre o neurônio artificial e fuzzy

Parâmetros Neurônio Artificial Neo-Fuzzy-Neuron

Modelo

Entrada x1, x2, x3,..., xn x1,...,xi,...,xn

Saída y y

Pesos w1, w2, w3,..., wn w11,...,wji,...,wnp

Efeito de uma

Sinapse∑=

=n

iii wxs

1

.

=

==p

jiij

p

jijiij

ii

x

wx

xf

1

1

)(

).(

)(

µ

µ

Recodificação

do Sinal

Função de Transferência

(geralmente logística e/ou

tangente hiperbólica)

∑ ∑= =

==n

i

n

iiiii xfxyy

1 1

)()(

Sendo assim, a função erro do NFN é quadrática e convexa em relação aos pesos que

são ajustados durante o seu treinamento. Logo, o mínimo local é mínimo global, como será

demonstrado posteriormente [17, 19, 48, 96, 97].

Os valores yi são determinados a partir de um conjunto de regras fuzzy do tipo “Se-

Então”. Considerando que o universo de discurso da entrada xi é dividido em subconjuntos

fuzzy, descritos por funções de pertinência do tipo triangular (ver figura 6.7), as regras são do

tipo:

Ri1: Se xi é Ai1 Então yi é wi1

Ri2: Se xi é Ai2 Então yi é wi2

................

Rip: Se xi é Aip Então yi é wip

94

Para este conjunto de regras, as variáveis xi e yi, são determinísticas e Aij são conjuntos

fuzzy, definidos por µij(xi). Isto exige etapas de fuzzificação para xi e defuzzificação para

determinar os valores de yi. Considerando as funções de pertinência complementares (ver

figura 6.7), os valores das funções de pertinência são diferentes de zero para, no máximo, duas

funções vizinhas. Isto equivale a dizer que, para cada valor da variável de entrada xi, no

máximo duas das p regras são ativadas, sendo indexadas por ki e ki+1.

Figura 6.7 – Funções de pertinência do tipo triangular uniformemente espaçadas [19]

Utilizando o esquema de inferência max-min (ver figura 6.8), e o método do centro de

gravidade para obter a defuzzificação, pode-se encontrar o valor numérico da saída.

Figura 6.8 – Inferência fuzzy em uma sinapse não-linear do Neo-Fuzzy-Neuron [96]

95

Os valores de fi(x1) podem ser determinados da seguinte forma:

)()(

).().()(

)(

).(

)(

1

11

1

1

iikiik

ikiikikiikii

p

jiij

p

jijiij

ii

xx

wxwxxf

x

wx

xf

ii

iiii

+

++

=

=

+

+=

=

µµ

µµ

µ

µ

(6.1)

Como as funções de pertinência vizinhas são complementares, a soma de

1)()( 1 =+ + iikiik xxii

µµ , então 6.1 se simplifica em:

11 ).().()( +++=iiii ikiikikiikii wxwxxf µµ (6.2)

Para o caso de um sistema com duas entradas (x1, x2), a equação 6.2 pode se reescrita

com um “relaxamento” da notação matemática em:

1212111121 ).().().().(),( ++++ +++= nnnnmmmm wxwxwxwxxxf µµµµ (6.3)

onde m e m + 1 são os índices das curvas de pertinência, as quais são complementares na

fuzzificação de x1. Analogamente, tem-se as curvas n e n + 1 para a entrada x2.

Somente as curvas de pertinência ativadas são relevantes para o processamento da

rede. Assim, só um ou dois pesos correspondentes aos ramos ativados são ajustados durante o

treinamento do Neo-Fuzzy-Neuron. Este mecanismo sugere que o Neo-Fuzzy-Neuron deve

exibir período de treinamento inferior ao das redes neurais convencionais.

6.3.1 Ajuste dos Pesos

De forma similar à rede neural, o método de aprendizagem do NFN consiste em um

ajuste de seus parâmetros [17, 19, 48, 96]. O aprendizado supervisionado é adotado para

ajustar os parâmetros wij, conseqüentes das regras fuzzy, chamados de pesos (ver figura 6.9).

96

Figura 6.9 – Ajuste dos pesos para a rede NFN

Os algoritmos de treinamento aplicáveis ao NFN podem ser por lote e local. A seguir,

um comentário sobre as formas de treinamento:

•Treinamento em Lote: são apresentados ao NFN todos os padrões (de treinamento),

onde cada padrão consiste no par {x, y}, em que x é o vetor de entradas da rede de

um determinado padrão e y a saída desejada. Para cada vetor de entrada x

apresentado à rede, esta fornecerá um valor de saída y que será comparada com o

valor desejado y. O erro quadrático desta comparação é usado para ajustar os

parâmetros da rede após a apresentação de todos os padrões (ver figura 6.9). Estes

passos são repetidos até que a rede tenha aprendido;

•Treinamento de Modo Local: os parâmetros são atualizados a cada apresentação do

par {x, y} à rede.

Além disso, o treinamento pode ser on-line ou off-line:

• Treinamento Off-Line: os parâmetros variam durante a etapa de treinamento e são

mantidos fixos na etapa de validação;

Sistema ouProcesso

RedeNeo-Fuzzy-Neuron

EntradasErro

Saída Obtida

Saída Desejada

+

-

Ajuste dos Pesos

97

• Treinamento On-Line: os parâmetros são ajustados para cada padrão apresentado.

Convém salientar que o treinamento off-line pode ser em lote ou de modo local,

enquanto que o treinamento on-line só pode ser feito de modo local.

O treinamento das redes de Kohonen e do NFN que formam o modelo proposto, o

NFN-MK, são off-line e a apresentação dos padrões de entrada/saída é em lote.

6.3.2 Atualização dos Pesos com Taxa de Aprendizado Ótima

O procedimento de atualização dos pesos descrito a seguir é com base no trabalho de

[16, 19], que consiste em uma atualização “local”. Seja X = (x1, x2, ..., xi,...xn) o padrão

aplicado à entrada do Neo-Fuzzy-Neuron, y a saída calculada e yd seu respectivo valor

desejado. O erro quadrático para o padrão de entrada é definido como:

( ) )(.2

1

2

1 22Weyy d εε ==−=

(6.4)

Onde: w = (w11, w12, ... wij, ..., wnp).

O algoritmo de treinamento consiste na atualização dos pesos, para cada padrão de

entrada, de modo que o erro ε possa ser minimizado. O problema a ser resolvido pode ser

descrito da seguinte forma:

==∀

ℜ∈

pjni

W

W

ij

ij

,...,1;,...,1

)(min ε

(6.5)

Para cada coordenada de entrada xi dentre as entradas apresentadas ao NFN, somente

as funções µiki (xi) e µi(k+i)(xi) são diferentes de zero. Assim, pode-se reescrever a equação 6.5

como:

+==∀

ℜ∈

1,;,...,1

)(min

ii

ij

ij

kkjni

W

(6.6)

98

A vantagem de resolver a equação 6.6 ao invés da 6.5 é que a função a ser minimizada

possui 2.n variáveis, não dependendo do número de partições fuzzy, ao passo que em 6.6 o

número de variáveis é np, que é maior ou igual a 2n, sendo “n” o número de entradas e “p” o

número de neurônios da primeira camada. Como foi dito anteriormente, a função a ser

minimizada é quadrática e convexa [17].

A função ε(wij) é não-linear e a equação 6.6 é um problema de programação não-linear

onde a convergência para a solução ótima depende do ponto inicial, da direção de busca, e do

tamanho do passo. Para o sistema Neo-Fuzzy-Neuron a condição inicial será nula, sem

comprometer a convergência do algoritmo.

A escolha das direções caracteriza um algoritmo de minimização. O método padrão é o

do gradiente, sendo por isso o adotado aqui. Para este método a direção é determinada da

seguinte forma:

)( jj wh ε−∇=(6.7)

onde: )( jwε∇− é o vetor gradiente de )( jwε .

Portanto, uma componente wiki é atualizada da seguinte forma:

)()..(

)(

)(.

1

1

tiikdt

jt

jjik

jik

jik

jikjj

ikj

ik

xyyww

w

www

iii

i

i

ii

µα

εα

−−=

∂−=

+

+(6.8)

(6.9)

O tamanho do passo (α), que no caso de treinamento de redes neurais ou neurofuzzy é

chamado de taxa de aprendizado, pode ser determinado empiricamente, ou utilizando algum

método de busca unidirecional indireto (Secção Áurea e/ou Fibonacci [62, 98]) ou direto

(aproximação polinomial [98]). Em [16, 19, 48] é proposto uma alternativa para obtenção da

taxa de aprendizado a partir do resultado do teorema 1.

Teorema 1: Obtenção da Taxa de Aprendizado

Dado um padrão de entrada X = (x1, x2,..., xi,..., xn), e yd, o valor desejado para o

mapeamento y = f (X), é possível determinar uma expressão fechada para a taxa de

aprendizado “α”.

99

Demonstração:

Dado w0 o objetivo é obter α tal que o erro:

+=

==−=

∑=

+d

n

iikikikik

d

ywxwxe

eyy

iiii1

11

11

21211

).().(

0).(2

1).(

2

1

µµ

ε(6.10)

(6.11)

Para,

)(..

)(..

100

11

1

001

iikikik

iikikik

xeww

xeww

iii

iii

+++ −=

−=

µα

µα (6.12)

(6.13)

Multiplicando os dois lados da equação 6.12 por )(1iik x

iµ e 6.13 por )(1

1 iik xi +

µ , obtém-se:

21

01

011

11

2001

)](.[.)(.)(.

)](.[.)(.)(.

iikiikikiikik

iikiikikiikik

xexwxw

xexwxw

iiiii

iiiii

+++++ −=

−=

µαµµ

µαµµ (6.14)

(6.15)

Para i =1, 2,...,n, somando as 2n equações, tem-se:

[ ] [ ]

+−+=+ ∑∑∑

=+

=++

=++

n

iiikiik

n

iiikikiikik

n

iiikikiikik xxexwxwxwxw

iiiiiiiiii1

21

20

11

01

0

11

11

1 )()(..)(.)(.)(.)(. µµαµµµµ

Logo, a taxa de aprendizagem que proporciona erro de aproximação nulo é dada por:

∑=

++= n

iiikiik xx

ii1

21

2 )()(

1

µµ

α(6.16)

A equação 6.16 será usada no capítulo 7 como a taxa de aprendizagem em problemas

de aproximação das funções sen(x), chapéu mexicano e radial.

6.3.3 Análise da Complexidade dos Algoritmos NFN Versus RNA

Para avaliar as duas estruturas, serão consideradas as expressões que permitem calcular

as saídas em função das entradas, que são:

100

Neo-Fuzzy-Neuron:

lkiiik

n

ilikiikl iiii

wxwxy )1(11

)..()..( ++=∑ += µµ

(6.17)

Rede Neural:

[ ][ ][ ]ΧΓΓΓ= 123 WWWY (6.18)

onde: Y (m), X (n), W1 (n, p), W2 (p,q) e W3 (q,m) são as dimensões dos vetores e matrizes;

Γ[•] é uma função não linear, geralmente uma função sigmóide (logística ou tangente

hiperbólica).

Com base nas expressões 6.17 e 6.18 é possível fazer uma análise da complexidade dos

algoritmos, relacionando o número de operações básicas envolvidas e o número de cálculos de

funções. Esta metodologia de análise comparativa é significativa, pois independe do software e

hardware empregados [16, 19].

A tabela 6.2 resume o número de operações envolvidas utilizando as duas estruturas. A

rede neural é definida pelos parâmetros [n,p,q,m], sendo n o número de entradas, p o número

de neurônios da primeira camada oculta, q o número de neurônios da segunda camada oculta e

m o número de saídas.

Tabela 6.2 – Comparação entre a RNA e o NFN [16]

Estrutura Operações de Multiplicação Operações de + e/ou - Cálculos de Funções

RNA

[n,p,q,m]

n.p + p.q + q.m n.p + p.q + q.m p + q + m

(função sigmóide)

NFN

[n,p,m]

2.n.m n.m + n n

(função linear)

Como pode ser constatado, o número de operações e cálculo de funções no Neo-

Fuzzy-Neuron é bem menor que na rede neural artificial. As funções de pertinência calculadas

envolvem uma operação de soma e uma de multiplicação para cada cálculo. Como as funções

são complementares, para os quatro cálculos são necessárias quatro operações de soma e duas

101

de multiplicação. Levando em consideração estes resultados conclui-se que o tempo de

processamento do NFN é inferior, quando comparado com a RNA.

6.3.4 Sistema Neo-Fuzzy-Neuron Generalizado

A estrutura do NFN mostrada na figura 6.5 apresenta apenas uma saída. Portanto,

permite um mapeamento não-linear entre um espaço multidimensional e um espaço

unidimensional. Para o caso de sistemas MIMO (“Multi Input Multi Output”), o mapeamento

deve ser de um espaço multidimensional para outro. Assim, pode-se utilizar L sistemas NFN

independentes para um sistema com L saídas. Dessa forma, a etapa de fuzzificação deverá ser

feita L vezes [48]. Usando a estrutura em forma de rede chamada de Neo-Fuzzy-Neuron

Generalizada (NFNG) (figura 6.10), a etapa de fuzzificação é feita apenas uma vez, a cada

passo de cálculo.

Figura 6.10 – a) Diagrama de blocos do NFNG b) Bloco Fi(xi) [48]

102

De maneira análoga ao Neo-Fuzzy-Neuron, as saídas yl e yil do NFNG são dados por:

lkij

ikilikj

iikj

iil iiiiwxwxxf )1(

)()1(

)()( ).().()( +++= µµ (6.19)

∑∑==

==I

i

jiil

I

i

jil

jl xfyy

1

)(

1

)()( )((6.20)

Se yi é saída calculada e yld é o seu respectivo valor desejado, onde l = 1,2,...L (L é o

número de saídas), podem-se definir os L erros quadráticos como:

( ) )(2

1 )(2)()( jlipl

dl

jl

jl i

Wyy εε =−=(6.21)

O treinamento do NFNG consiste na minimização dos l erros (para cada padrão

apresentado) acima. O novo peso é calculado pela equação 6.22.

)()..( )()()()()1( jiik

dl

jl

jjlik

jlik xyyWW

iiiµα −−=+ (6.22)

Devido ao fato do NFNG possuir mais de uma saída, em analogia às RNA’s, o NFNG

pode ser encarado como uma rede NFN.

6.3.5 Taxonomia do Sistema NFN

Conforme as figuras 4.2 e 4.3 do capítulo 4, um sistema neurofuzzy contempla as

características fuzzy e o aprendizado de uma rede neural. Nesta seção é apresentada a

taxonomia da rede NFN. Com relação às características fuzzy o NFN é dividido em quatro

sub-classes, quanto:

a) Modelo Fuzzy Implementado:

As regras fuzzy formam a parte fundamental da estrutura de conhecimento em um

sistema fuzzy de inferência. O formato de regra fuzzy adotado no NFN é o modelo de Takagi-

Sugeno [70, 77, 82, 84, 91]. Por simplicidade, somente uma entrada e uma saída serão

consideradas:

Rip: Se xi é Aip Então yi é f(x)

103

A saída de cada regra é uma função das variáveis de entrada. Geralmente, a função que

mapeia a entrada e saída para cada regra é uma combinação linear da entrada, equação 6.23.

rxpy i += . (6.23)

No caso em que p = 0, tem-se y = r (fuzzy singleton), ou seja, a variável r pode ser o

peso (wi) de uma conexão da estrutura neural.

b) Formato das Funções de Pertinência:

O NFN implementa a função de pertinência do tipo triangular (equação 6.24) para os

antecedentes da regra e a função singleton (equação 6.25) para o conseqüente.

≤≤−−

≤≤−

=

outros

LDxCLDC

LDx

CxSLLEC

LEx

x

,0

,)(

,)(

)(µ

wx =)(µ

(6.24)

(6.25)

onde: µ é o nível de disparo da regra;

x é a variável de entrada;

C é o centro;

LE é o limite esquerdo;

LD é o limite direito;

w é o conseqüente da regra, no caso da rede NFN é chamado de peso.

A vantagem do perfil triangular é de ser computacionalmente simples. Já a principal

vantagem do fuzzy singleton é simplificar o processo de defuzzificação do sistema.

104

c) Particionamento do Espaço de E/S:

As variáveis de entrada/saída do sistema de inferência fuzzy são divididos em vários

termos lingüísticos, por exemplo: baixo, médio e alto, que são usados pelas regras fuzzy. O

particionamento do espaço de entrada indica a forma como as regras fuzzy estão relacionadas

com este espaço. O particionamento do espaço de saída costuma ser simples e está associado

aos conseqüentes das regras.

A definição do método de particionamento tem influência sobre o desempenho dos

SNF no que diz respeito as suas características, tais como: precisão, generalização, geração

das regras e grau de interpretabilidade [84].

A rede NFN usa o particionamento fuzzy grid, que é fixo, ou seja, não permite o ajuste

nas funções de pertinência. Os sistemas que a utilizam ajustam apenas os parâmetros dos

conseqüentes.

d) Método de Defuzzificação

Após a avaliação das regras fuzzy, deve-se determinar o valor real da saída do sistema

fuzzy, este processo chama-se de defuzzificação. O NFN usa a técnica da média ponderada que

é usada quando os conseqüentes das regras são singletons (ver equação 6.26).

=

==p

jiij

p

jijiij

ii

x

wx

xf

1

1

)(

).(

)(

µ

µ

(6.26)

onde: fi(xi) é a saída do processo de defuzzificação para a entrada xi.

p é o número de regras fuzzy;

µ é o nível de disparo da regra i;

wij é o valor do singleton (peso).

Este método é naturalmente indicado, pois combina os conseqüentes das regras com o

nível de disparo de cada uma delas.

105

Com relação às características de aprendizagem o NFN é dividido em três sub-classes, quanto:

a) Apresentação dos padrões de Treinamento:

A apresentação dos padrões de treinamentos é on-line, ou seja, a atualização dos

parâmetros acontece após cada par de treinamento ter sido apresentado. Esta estratégia de

aprendizado é indicada para sistemas com características variantes ou quando não se tem

previamente um conjunto de dados de treinamento.

b) Método de Identificação da Estrutura:

A identificação do NFN está relacionada à determinação de um número adequado de

regras fuzzy e de um particionamento de entrada/saída satisfatório, que represente o

comportamento do sistema. Há duas vertentes principais para promover a identificação da

estrutura de um sistema neurofuzzy.

Alternativas para Identificação Prévia:

Este tipo de identificação precede o ajuste dos parâmetros do sistema [84]. Utiliza-se

um conhecimento prévio sobre o sistema a ser utilizado. Pode-se destacar três métodos para

realizar tal tarefa:

• Método com Apoio do Especialista: Neste método, o conhecimento prévio é

explícito e proveniente de especialista(s). A criação das regras e o esboço

preliminar das funções de pertinência envolve um domínio de conhecimento de

interesse específico, o apoio de um ou mais especialistas neste domínio e um

engenheiro de aplicação capaz de extrair este conhecimento do especialista e

expressá-lo em termos de proposições fuzzy e variáveis lingüísticas;

• Método Auto-Organizado e Aprendizado Competitivo: Aqui o conhecimento

prévio é implícito e proveniente de um conjunto de dados de treinamento. Utiliza-

se, inicialmente, um algoritmo neural não-supervisonado e auto-organizado (por

106

exemplo: Self Organized Map de Kohonen), que determina os valores iniciais dos

centros das funções de pertinência. Em seguida, criam-se algumas regras, a partir

dos primeiros padrões apresentados no treinamento. O antecedente das regras é

criado tomando-se os conjuntos fuzzy que tiverem maior grau de pertinência para o

padrão sob treinamento. Havendo conflito entre as regras, aplica-se um processo

baseado em competição entre estas. Por exemplo, aplica-se um padrão na entrada

do sistema e verifica-se qual regra exibe maior grau de disparo. Esta regra será a

vencedora para o algoritmo de aprendizado;

• Método da Distribuição Uniforme das Funções de Pertinência: Neste método

as funções de pertinência são criadas através de uma distribuição uniforme sobre o

universo de discurso das características do espaço de entrada/saída. Após esta etapa

o aprendizado competitivo é usado para criação das regras fuzzy.

Alternativas para Identificação Automática:

Na identificação/geração automática o aprendizado das regras pode ser feito de forma

incremental ou decremental.

• Aprendizado Incremental: Partir de um determinado número de regras e

adicionar novas regras segundo uma determinada heurística. Isto só é possível se a

saída desejada é conhecida (aprendizado supervisionado);

• Aprendizado Decremental: Inicia-se com um conjunto superestimado de regras,

o que pode gerar um sistema inconsistente. Usa-se então um algoritmo de poda

para eliminar as regras supérfluas, tornando o sistema consistente. Tal

procedimento é computacionalmente dispendioso, mas pode ser feito quando não

há informação disponível sobre a saída desejada.

A proposta do trabalho é usar um algoritmo de agrupamento (mapa auto-organizável

de Kohonen) para indicar a localização inicial das funções de pertinência mais apropriada para

cada aplicação.

107

c) Aprendizado dos Parâmetros:

O aprendizado dos parâmetros entende-se como o ajuste dos parâmetros do sistema,

tais como os pesos fuzzy que definem os perfis das funções de pertinência dos antecedentes e

conseqüentes das regras fuzzy. No NFN os conseqüentes (pesos) são ajustados por um

algoritmo supervisionado, o método do gradiente.

O número de subconjuntos fuzzy (implica nas regras do sistema) nem sempre é

acompanhado de uma melhor precisão. Quando existe diferença de comportamento dinâmico

em um sistema, pode ser interessante utilizar números diferentes de subconjuntos para as

entradas do NFN-MK. Assim, as funções de pertinência do modelo NFN-MK são ajustadas e

determinadas pela rede neural de Kohonen (algoritmo não-supervisionado). Os conseqüentes

do modelo computacional NFN-MK também são ajustados pelo método do gradiente.

6.4 Redes de Kohonen

Em 1984, Teuvo Kohonen [85] desenvolveu uma família de redes, SOM – Self

Organizing Map, as quais possuem a capacidade de auto-organização. Essas redes neurais são

do tipo feedfoward e o treinamento é não supervisionado [6].

As redes de Kohonen se distinguem das demais estruturas por terem duas camadas:

uma de entrada e outra de processamento [7], conforme a figura 6.11.

108

Figura 6.11 – Topologia da rede de Kohonen

Os neurônios da camada de processamento competem entre si para serem os

vencedores. O neurônio cujo vetor de pesos gerar a menor distância Euclidiana com o vetor

de pesos de entrada é o vencedor [80], o cálculo da distância é dado por:

∑=

−=n

jijjj pwpxpd

1

2))()(()((6.27)

onde: d: é a distância do neurônio;

i: índice do neurônio;

j: índice das entradas e dos pesos;

n: número de entradas;

xj(p): entrada j;

wij(p): peso j do neurônio i.

A rede inicia com os pesos sinápticos (wij) em “off”, ou seja, contém valores aleatórios

e um sinal de entrada xi(p) é provido para a rede sem que se especifique a saída desejada.

wi1

Camada deEntrada

•••

1

2

j

n

d1

d2

dj

dn

xi

wi2

wij

win

Camada deProcessamento

Cálculo dadistância

Euclidiana (d)

Aprendizado Não-Supervisionado

Ajuste dos Pesos

dvencedor

109

Em cada passo do aprendizado, o neurônio que melhor responde (menor diferença),

deverá ser ajustado para responder ainda mais àquela entrada. O processo de adaptação da

rede de Kohonen é dado pela equação 6.28, onde η(p) é um ganho de adaptação de valor

escalar, tal que 0< η(p) <1, que é decrementado a cada padrão de entrada.

−+

=+

Vii

Vii

sepw

sepwpxppw

pw

ij

ijij

ij

),(

)),()().(()(

)1(

η

(6.28)

Se o ganho de adaptação é escolhido como linear, usa-se a expressão 6.29 para calcular

seu valor a cada instante de p, dado que se conhece o número total de iterações T no processo

de aprendizagem [6].

−=

T

pt 1).0()( ηη

(6.29)

Neste trabalho o ganho de adaptação η(p) é determinado com base nos estudos de

[19], conforme a equação 6.30.

9999.0).1()( −= pt ηη (6.30)

A rede de Kohonen é usada neste trabalho para encontrar os centros das funções de

pertinência do tipo triangular, sendo que os pesos da rede correspondem aos valores dos

centros das curvas triangulares e o número de neurônios da camada de processamento

corresponde ao número de subconjuntos fuzzy para cada entrada da rede NFN.

6.5 Ajustes das Funções de Pertinência

Existem dois tipos de distribuição de curvas de pertinência:

•Tipo 1: Funções triangulares uniformemente distribuídas (figura 6.12);

•Tipo 2: Funções triangulares não uniformemente distribuídas (figura 6.13).

110

Para os dois tipos, as funções de pertinência são complementares, ou seja, a soma de

duas funções de pertinência sucessivas é igual a “l”. A vantagem em se trabalhar com funções

complementares é uma redução do tempo de processamento, já que o cálculo de graus de

pertinência cai pela metade [15, 16, 18, 19, 31].

6.5.1 Curva do Tipo 1

Neste caso, têm-se funções de pertinência como as representadas na figura 6.12, que

são definidas pelos parâmetros ximin e ximax. O centro da função de pertinência indexada por “r”

é air, que corresponde ao ponto onde a função possui o valor máximo.

Figura 6.12 – Funções de pertinência tipo 1

Da figura 6.12, tem-se que:

1minmax

−=∆

p

XXi ii (6.31)

Com isto, define-se uma função de pertinência r da seguinte forma:

∆i

ai1 = ximin aiNp = ximaxair

Fi1 Fi

r FiNp

1

xpi

111

≤⟨+∆

−−

≤≤+∆

=

outros

axai

ax

axai

ax

x iriiriri

iriiriri

iij

,0

,1)(

,1)(

)(

1

µ(6.32)

Definida a equação 6.32, pode-se implementar as funções de pertinência uniformemente

distribuídas, conhecendo-se apenas o limite inferior (xmin) e o superior (xmax).

6.5.2 Curva do Tipo 2

A utilização de funções de pertinência do tipo 1 pode não ser interessante em situações

onde há concentração de padrões em determinadas regiões e dispersão em outras. Isso poderia

exigir utilização de um número grande de subconjuntos fuzzy [15, 16, 18, 19, 31]. Uma

alternativa para este problema é trabalhar com funções não uniformemente distribuídas (ver

figura 6.13).

Figura 6.13 – Funções de pertinência tipo 2 [15]

A figura 6.14 (a) mostra uma função não-linear, a qual deseja-se aproximar. As técnicas

de fuzzificação são usadas no universo de discurso [0, 10], dividindo em vários subconjuntos

fuzzy, igualmente espaçados (figura 6.14 (b)). A partir do intervalo [5, 10], a função começa a

diminuir a sua não-linearidade. Com isto, pode-se tratar com um menor número de

112

subconjuntos fuzzy (figura 6.14 (c)). Uma maneira de fazer o ajuste das curvas de pertinência é

usar um algoritmo de agrupamento, as redes de Kohonen.

Figura 6.14 – Determinação das funções de pertinência

O algoritmo de agrupamento utilizado é baseado na rede neural auto-organizável de

Kohonen (ver figura 6.15), onde são empregadas m estruturas uma para cada coordenada de

entrada. O número de neurônios na camada de processamento corresponde ao número de

subconjuntos fuzzy para i-ésima coordenada [15, 16, 17, 18, 19, 31]. Com o treinamento da

rede este número pode ser reduzido.

10

10

10

0

0

0

y

µ(x)

µ(x)

1

1

(b) Inicialização dasFunções de Pertinência

(uniformemente distribuídas)

(c) Após treinamento(não uniformemente

distribuídas)

(a) Análise de uma funçãonão-linear

REDE DEKOHONEN

5

5

5

113

Figura 6.15 – Rede de Kohonen para determinar os centros das funções triangulares [19]

O treinamento da rede de Kohonen da figura 6.15 é não-supervisionado e competitivo.

Somente o peso da conexão do neurônio vencedor é ajustado. Ao final do treinamento, aqueles

neurônios que tiveram um baixo índice de desempenho, isto é, venceram poucas vezes, são

eliminados da rede. Este procedimento permite determinar o número de funções de pertinência

adequado, e seus respectivos centros. A seguir, o algoritmo de treinamento da rede de

Kohonen para ajustar as curvas de pertinência [16, 19].

Os Passos do Procedimento de Kohonen:

1. Inicializações dos pesos, ou seja, dos centros da curvas de pertinências:

• Pesos air

Intervalo de análise: [xmin, xmax];

air = ximin, limite inferior;

1minmax

−=∆

p

XXi ii , passo para gerar novas funções de pertinência;

air = ai(r-1) + ∆i, para r =2,3,...,p (p representa o número de funções);

• Índice de desempenho: idi (r)=0, para r =1, 2,...,p; as funções de

pertinência iniciais são do tipo 1 (ver figura 6.14 (b)). Este

Camada deEntrada

Camada deProcessamento

114

procedimento de inicialização geralmente proporciona uma

convergência mais rápida que a inicialização aleatória [16, 19].

2. Processo iterativo de aprendizagem:

2.1 Apresentar um padrão p à rede e atualizar o peso da conexão do neurônio

vencedor da seguinte forma:

)]().[()()1( paxppapa iLiiLiL −+=+ η (6.33)

onde: L é o índice do neurônio vencedor, que é aquele cujo peso da

conexão possui o valor mais próximo de xi, ou seja:

}{ iri axL −= minarg (6.34)

2.2 Reduzir o passo η(p);

2.3 Atualizar o índice de desempenho do neurônio vencedor, fazendo:

1)()( += LdLId ii (6.35)

2.4 Verificar o teste de parada (aij (t) – aij (t-1) ≤ ε para todo j:

• Se não é satisfeito volte ao passo 2.1;

• Se é satisfeito vá para o passo 3.

3. Fim.

Uma vez definidos o número de funções de pertinência e seus respectivos centros, o

cálculo das mesmas pode ser feito com um número reduzido de operações, utilizando o

conjunto de parâmetros (air, αei e αdir), onde:

1

1

1

1

+

−=

−=

irirdir

irireir

aa

aa

α

α(6.36)

(6.37)

As equações 6.36 e 6.37 são as derivadas da curva de pertinência à esquerda e direita

de air. Com estes parâmetros o cálculo das funções de pertinência é simplificado, envolvendo

duas operações de soma e uma de multiplicação.

115

≤⟨+−

≤≤+−

= +−

outros

axaax

axaax

x iriiriridir

iriiririeir

iij

,0

,1).(

,1).(

)( 11

1

α

α

µ

(6.38)

Assim, as funções de pertinência são ajustadas distribuindo-se não uniformemente

sobre um universo de discurso, (ver figura 6.14 (c)).

No próximo capítulo o modelo NFN-MK é aplicado a estudos de caso, especificamente

em aproximação de funções. Os resultados da eficiência do NFN-MK é comparado com outras

propostas híbridas e com as RNA´s.

6.6 Conclusão

Neste capítulo foram mostradas as estruturas dos sistemas: neurofuzzy Neo-Fuzzy-

Neuron (NFN), com o seu respectivo algoritmo de aprendizagem e o algoritmo de

agrupamento ou redes de Kohonen. A proposta é apresentar uma nova estrutura para a rede

NFN de Yamakawa, que permite ajustar as curvas de pertinência pelas redes de Kohonen.

Assim o novo sistema proposto foi chamado de Neo Fuzzy Neuron Modificado por Kohonen

(NFN-MK) que será aplicado à aproximação de funções.

CAPÍTULO 7

VALIDAÇÃO E ESTUDOS DE CASOS

Este capítulo apresenta estudos de casos realizados com o modelo computacional

híbrido, o Neo Fuzzy Neuron Modificado por Kohonen (NFN-MK). Os estudos estão

associados a problemas de aproximações de funções, os quais serão descritos por um conjunto

de funções fuzzy.

7.1 Introdução

Os aproximadores de funções são normalmente módulos de um sistema mais

complexo de modelagem, como os de tomada de decisão e de controle [70]. Em tais sistemas,

freqüentemente é necessário o cálculo de valores de funções ou de suas derivadas em pontos

específicos. As expressões analíticas destas funções podem ser de difícil cálculo ou mesmo

não estarem disponíveis. Nestes casos, são necessários sistemas capazes de aproximar o

comportamento de tais funções a partir de dados práticos existentes.

As funções do sistema são desconhecidas, sendo possível apenas obter amostras ou

estimativas do valor de cada função para vetores de entrada, definidos de forma a explorar

adequadamente o espaço de aproximação. Nas funções multivariáveis foi adotado o mesmo

procedimento utilizado por Hwang (HWANG, 1994 apound LIMA; LIMA, 1998), isto é, para

produzir um conjunto de dados de treinamento, foram gerados pares de entrada (x1, x2), com

base em uma distribuição uniforme em um intervalo [xmín, xmax].

Na validação do modelo NFN-MK, foram realizados quatro experimentos. A escolha

dos mesmos deve-se ao fato de serem empregados por outros autores na área de identificação

de sistemas com técnicas híbridas de IA.

Os sistemas modelados como sistemas reais têm seus comportamentos descritos pelas

curvas: seno (1° caso), chapéu mexicano (2° caso), radial (3° caso) e não-linear (4° caso). As

curvas selecionadas como estudo de casos apresentam algumas motivações:

117

• Estas curvas foram casos de outros trabalhos, como [25, 50, 58, 70, 84, 91];

• A função sen(x) representa os fenômenos cíclicos e periódicos encontrados na

natureza;

• A curva sinc(x1, x2), conhecida como “chapéu mexicano”, ilustra um fenômeno

próximo à ruptura de superfícies quando submetidas a forças internas, distribuídas

em uma região/área;

• Já a curva radial apresenta a forma de gota em uma superfície líquida;

• A função não-linear do 4° caso é a composição das funções: rampa, degrau e

dente de serra.

Os três primeiros experimentos são considerados quase que clássicos, logo

importantes na literatura da área.

7.2 Estudos de Casos

Esta seção apresenta os resultados experimentais da eficácia do NFN-MK, em casos

práticos de aproximações de funções. Os resultados obtidos dos três primeiros casos são

comparados com as técnicas das redes neurais, bem como outros sistemas híbridos. Já o

último caso é comparado com a rede NFN original de Yamakawa [96].

O modelo proposto NFN-MK e as redes neurais apresentadas nesta seção foram

implementados computacionalmente, usando Visual Basic(VB). O software Matlab auxiliou

nas simulações das funções de multivariáveis.

7.2.1 Estudo de Caso: Função Seno

Neste 1° caso a função ( )xxf sen)( = , vista na figura 7.1 descreve o

comportamento de um sistema real típico, com características periódicas. Assim,

( )xxf sen)( = será aproximada pelo NFN-MK proposto, e para contrastar quanto à sua

eficiência, esta função será também avaliada com uma RNA clássica.

118

Estudo de Caso 1:

-1.2

-0.8

-0.4

0.0

0.4

0.8

1.2

0.0 0.8 1.6 2.4 3.2 4.0 4.8 5.6 6.4

Variável de Entrada

Fun

ção

de S

aída

Função sen(x)

Figura 7.1 – Função ( )xxf sen)( = a ser aproximada

O domínio da função é definido dentro de um arco real, mas neste estudo será

analisada no intervalo de [0, 6.3], com a imagem compreendida entre [-1, 1], ou seja, em

período completo da função [0, 2π].

a) Modelo NFN-MK:

A estrutura do NFN-MK para a função ( )xsen é dada na figura 7.2. A mesma será

aproximada com sete funções de pertinência do tipo triangular, uniformemente distribuídas no

intervalo de discurso [0, 6.3].

O modelo mescla as técnicas fuzzy, redes neurais e a rede de Kohonen. A lógica das

chaves S1 e S2 esta descrita no capítulo 6, seção 6.2. No treinamento da rede neurofuzzy com

rede de Kohonen (chaves S1 fechada e S2 aberta), novas curvas triangulares são obtidas, as

quais representam uma maior precisão e conhecimento sobre o sistema em estudo [64].

119

Figura 7.2 – Rede NFN-MK usada na aproximação da função ( )xsen

Na figura 7.2: x é a entrada da rede NFN-MK;

Fip a função de pertinência da etapa NFN;

wip os pesos da etapa NFN;

aip centro das funções de pertinência Fip;

dp é a distância Euclidiana, entre a entrada e o centro da curva de pertinência;

i é o número de entradas e p o número de funções de pertinência;

y é a saída da rede NFN-MK.

yS2

S1

∑∑

F11

F12

F16

F17

w11

w12

w16

w17

a11

a12

a16

a17

Geração dos novoscentros das funções de

pertinências

Rede de Kohonen

Rede NFN

••

••

••

••

•••

•••

•••

x

1

2

6

7

ModeloNFN-MK

d1

d2

d6

d7

120

As quantidades das funções de pertinência no universo de discurso estão baseadas nas

experiências de [82], que mostraram que uma mudança de 5 conjuntos triangulares para 7

aumenta a precisão em torno de uns 15%. A partir de valores maiores não há melhorias

significativas. Os rótulos tradicionais num sistema industrial para sete conjuntos de

pertinência são: Negativo Grande (NB), Negativo Médio (NM), Negativo Pequeno (NS), Zero

(ZE), Positivo Pequeno (PS), Positivo Médio (PM) e Positivo Grande (PB).

O formato triangular das funções é devido à facilidade de geração e tratamento na

fuzzificação e defuzzificação. Assim, para cada variável pode-se ter um conjunto de funções

de pertinência diferente, com diversas distribuições.

Os parâmetros do algoritmo de treinamento da rede NFN-MK, descrita no capítulo 6,

pode ser vista na tabela 7.1.

Tabela 7.1 – Dados de treinamento do NFN-MK

Dados de Treinamento da Rede NFN-MK

Número de entradas: 1;

Limite inferior da entrada: 0;

Limite superior da entrada: 6.3;

Número de saídas: 1;

Número de funções de pertinência: 7;

Passo p: número de padrões;

Fator de aprendizado inicial: 1;

Fator de aprendizado da rede de Kohonen: 9999.0).1()( −= pp ηη ;

Critério de convergência da rede de Kohonen: 0.1;

Inicialização dos pesos: 1;

Número de padrões: 64;

Critério de convergência da rede da NFN: 100 épocas;

Treinamentos: Não-supervisionado (etapa de Kohonen) e supervisionado (etapa NFN).

Na geração das funções de pertinência é preciso determinar os parâmetros Ns (número

de funções de pertinência), ∆i, ximin, e ximax, para i = 1 (número de entradas). Da tabela 7.1

pode-se extrair os valores de ximin = 0 e ximax = 6.3. Com isto, tem-se:

121

05.117

03.6

1min1max1

1 =−

−=

−=∆

sN

xx (7.1)

As funções de pertinência iniciadas são uniformemente distribuídas para a coordenada

x, como pode ser visto na figura 7.3.

Curvas Iniciais do Sistema

0

0.2

0.4

0.6

0.8

1

1.2

0.00 1.05 2.10 3.15 4.20 5.25 6.30

Variável de Entrada

Fun

ções

de

Per

tinê

ncia

s

Negativo Grande (NB)

Negativo Médio (NM)

Negativo Pequeno (NS)

Zero (ZE)

Positivo Pequeno (PS)

Positivo Médio (PM)

Positivo Grande (PB)

Figura 7.3 – Funções triangulares eqüidistantes para ( )xxf sen)( =

Após a geração das curvas triangulares é aplicada a rede Kohonen para gerar os novos

centros das funções triangulares. Na figura 7.4, são mostradas as novas curvas de pertinência

com seus centros deslocados em relação às curvas iniciais (ver figura 7.3).

Curvas Obtidas pelo Sistema NFN-MK

0

0.2

0.4

0.6

0.8

1

1.2

0.00 1.00 2.00 3.00 4.00 5.00 6.00

Variável de Entrada

Fun

ções

de

Per

tinê

ncia

s

Negativo Grande (NB)

Negativo Médio (NM)

Negativo Pequeno (NS)

Zero (ZE)

Positivo Pequeno (PS)

Positivo Médio (PM)

Positivo Grande (PB)

Figura 7.4 – Funções triangulares não uniformemente distribuídas para ( )xxf sen)( =

122

Em resumo, os vértices das curvas triangulares são encontrados via rede de Kohonen,

com as chaves S1 fechada e S2 aberta. As sete funções iniciadas pelo modelo foram ajustadas

para seis. Na tabela 7.2 são mostrados os novos parâmetros para os centros (C), limites à

esquerda (LE) e à direita (LD) das funções de pertinência e os pesos iniciais )( inicialw e finais

( finalw ) da rede NFN. No treinamento do NFN-MK, os valores de entrada (x) foram gerados

aleatoriamente no intervalo [0, 6.3].

Tabela 7.2 – Parâmetros da modelagem da função ( )xxf sen)( =

Parâmetros Iniciais Novos Parâmetros

Curvas LE C LD winicial LE C LDfinalw

NB 0 0 1.05 0 0 0 -0.29

NM 0 1.05 2.10 0 0 1.80 0.29

NS 1.05 2.10 3.15 0 1.80 2.80 1.13

ZE 2.10 3.15 4.20 1.80 2.80 3.80 0.30

PS 3.15 4.20 5.25 2.80 3.80 4.80 -0.60

PM 4.20 5.25 6.30 3.80 4.80 6.30 -1.19

PB 5.25 6.30 6.30

1

4.80 6.30 6.30 -0.28

A atualização dos pesos (wi) é realizada para cada padrão de entrada (xi), conforme

equação 7.2, onde, µi é o grau de pertinência de um subconjunto fuzzy. No capítulo 6 são

evidenciados os procedimentos de atualização dos pesos e a obtenção da taxa de aprendizado.

)()..(1tiik

dt

jt

jjik

jik xyyww

iiiµα −−=+ (7.2)

O passo (α), que no treinamento de redes neurais ou sistemas neurofuzzy é chamado

de taxa de aprendizado, é determinado pela equação 7.3. Este método de obtenção dinâmica é

proposto por [19] (ver seção 6.3.2) , porque a função objetivo do NFN a ser minimizada é

quadrática e convexa.

∑=

++= n

iiikiik xx

ii1

21

2 )()(

1

µµ

α(7.3)

123

A figura 7.5 ilustra a influência da escolha da taxa de aprendizado na convergência do

modelo NFN-MK, onde se mostra a evolução do erro quadrático médio para diferentes tipos

de taxa de aprendizagem. Para uma melhor visualização dos resultados foram apresentados

até a sexta época.

Influência da Taxa de Aprendizado

0

0.03

0.06

0.09

0.12

0.15

1 2 3 4 5 6

Número de Épocas

Err

o Q

uadr

átic

o M

édio

Taxa Dinâmica

Taxa = 0.5

Taxa = 0.2

Taxa = 0.8

Figura 7.5 – EQM para diferentes taxas de aprendizagem.

A tabela 7.3 mostra o erro quadrático médio após as 100 épocas de treinamento. Cada

época consiste na apresentação dos 64 padrões de entradas, distribuídos no intervalo ]3.6,0[ .

Tabela 7.3 – EQM final

Taxas de Aprendizagem Erro Quadrático Médio (EQM)

Taxa Dinâmica 0.001539

Taxa = 0.2 0.003754

Taxa = 0.5 0.003219

Taxa = 0.8 0.002459

No entanto, a taxa ajustada dinamicamente (equação 7.3) possibilita uma melhor

convergência. Após a obtenção das curvas de pertinência e do treinamento, a rede NFN-MK é

submetida a um teste com 33 amostras (ver figura 7.6).

124

Fase de Teste da Rede NFN-MK

-1.2

-0.8

-0.4

0

0.4

0.8

1.2

0 0.8 1.6 2.4 3.2 4 4.8 5.6 6.4

Variável de Entrada

Fun

ção

de T

este

Sen(x)

Fase de Teste

Figura 7.6 – Fase de teste do NFN-MK para ( )xxf sen)( =

Assim, pode-se avaliar a capacidade de generalização do mapeamento NFN-MK com

relação ao tipo de entrada do sistema. A tabela 7.4 apresenta análise dos valores analíticos

(função ( )xxf sen)( = ) e valores obtidos pelo teste do modelo NFN-MK.

Tabela 7.4 – Análise de resultados da função ( )xxf sen)( =

Entradas

Arbitrárias

Saída Real

(Valor Analítico)

Saída do Modelo

(NFN-MK)

Erro

(Valor Absoluto)

0.5 0.479426 0.507716 0.02829

2.3 0.745705 0.732683 0.01302

4.2 -0.87158 -0.83545 0.03613

5.7 -0.55069 -0.52526 0.02543

Após a apresentação de alguns valores, será ilustrado manualmente o cálculo da

entrada x = 4.2 no modelo computacional NFN-MK, onde o valor a ser calculado reproduz o

comportamento do sistema real. Este valor é fuzzificado e cruza as curvas de pertinência PS e

PM da figura 7.4, resultando nas pertinências 6.0=PSµ e 4.0=PMµ .

A partir da definição das curvas de pertinência PS e PM, os pesos são obtidos pela

última coluna da tabela 7.2. Assim, aplicando-se a equação 7.4, apresentada no capítulo 6,

11 ).().()( +++=iiii ikiikikiikii wxwxxf µµ (7.4)

125

tem-se:

836.0)19.1).(4.0()60.0).(6.0()2.4( −=−+−==xf (7.5)

Na tabela 7.4 pode-se obter o valor analítico, dado por -0.87158 e o valor simulado

dado por -0.83545, próximo ao valor acima. A diferença deve-se à precisão numérica da

máquina.

Na fase de teste pode-se ver que o modelo proposto conseguiu modelar a

função ( )xxf sen)( = , apesar de poucas épocas usadas na etapa do treinamento.

b) Método das RNA’s:

A figura 7.7 mostra a arquitetura da RN usada para modelar a função ( )xxf sen)( = . A

estrutura da rede escolhida possui uma entrada x, uma saída y e sete neurônios na camada

escondida (intermediária), com algoritmo de treinamento clássico backpropagation para

ajustar os pesos w. A definição da arquitetura da RNA com sete neurônios na camada

intermediária é em analogia com o modelo computacional NFN-MK, que usa sete funções de

pertinência para modelar a função ( )xxf sen)( = .

126

Figura 7.7 – RNA utilizada na aproximação da função sen(x)

A função de ativação (transferência) escolhida para os neurônios da camada escondida

foi à função tangente hiperbólica (equação 7.6); já para o neurônio de saída é a função linear

(equação 7.7).

( )xee

eexf

xx

xx

.tanh)(..

..

βββ

ββ

=+

−=

xxf .)( δ=

(7.6)

(7.7)

onde: β é o ganho da função tangente hiperbólica;

δ é o ganhos da função linear;

x é a variável de entrada.

1

2

3

4

5

8x f(x)

Variáveis deEntradas

Camada Escondida Neurônio de Saída Variávelde Saída

6

7

w11

w12

w13

w14

w15

w16

w17

w58

w28

w38

w48

w18

w68

w78

127

O algoritmo backpropagation utiliza as derivadas das funções de ativação. A equação

7.8 mostra a derivada da função tangente hiperbólica.

))(1.()'( 2xfxf −= β (7.8)

Verifica-se que a arquitetura do tipo perceptron com uma única camada intermediária

e sete neurônios nesta camada foi capaz de aproximar a função ( )xxf sen)( = . A apresentação

dos padrões de treinamento da rede é do tipo aprendizado off-line (ver tabela 7.5).

Tabela 7.5 – Dados de treinamento da função ( )xxf sen)( =

Dados Utilizados Para Treinamento

Número de entradas: 1;

Número de saídas: 1;

Inicialização dos pesos: 1;

Fator de aprendizado: 0.5;

Ganho da função de ativação tangente hiperbólica (β): 0.8;

Ganho da função de ativação linear (δ): 0.5;

Número de padrões: 64;

Critério de convergência da RN: 100 épocas;

Aprendizado: Backpropagation (supervisionado).

Os parâmetros adotados na rede foram escolhidos aleatoriamente. Então, o processo de

minimização do erro não tem convergência garantida, e não possui um critério de parada bem

definida. Uma forma simples de reduzir as chances de se ficar preso em um mínimo local é

escolhendo um conjunto de parâmetros ótimo [50].

Segundo [50], variar o ganho da função de ativação é equivalente a variar a taxa de

aprendizagem junto ao vetor de parâmetros ajustáveis (pesos). Isto simplifica a regra de

aprendizagem eliminando um destes parâmetros. O fator de aprendizado controla a velocidade

da aprendizagem, aumentando ou diminuindo o ajuste dos pesos que é efetuado a cada

iteração durante o treinamento. Logo, foi usado um algoritmo genético (desenvolvida por

Johan Holland no final dos anos 60) para encontrar o ganho ideal das funções de ativação, no

caso os parâmetros β e δ das equações 7.6 e 7.7. Essa técnica vem sendo aplicadas com

sucesso nos mais diversos problemas de otimização e aprendizagem de máquina [6, 12, 64,

128

77, 91]. O software utilizado foi o Goal, que permite programar em Visual Basic. Na tabela

7.6 podem-se ver os valores otimizados do ganhos das funções de ativação.

Tabela 7.6 – Ganhos otimizados pelo algoritmo genético

Dados Otimizados por Algoritmo Genéticos

Número de entradas: 1;

Número de saídas: 1;

Inicialização dos pesos: 1;

Fator de aprendizado: 0.5;

Ganho da função de transferência tangente hiperbólica (ββ*): 0.45768;

Ganho da função de transferência linear (δδ*): 1.2897;

Número de padrões: 64;

Critério de convergência da RN: 100 épocas;

Treinamento:Backpropagation (supervisionado).

Na simulação, para se obter os ganhos ideais das funções de ativação foram usados os

seguintes parâmetros para o software Goal:

• Tamanho da População: 30;

• Número de Gerações: 100;

• Etapa da Reprodução: crossover por dois pontos;

• Taxa de Reprodução: 0.85;

• Etapa da Mutação: taxa = 0.005;

• Taxa de Seleção: 0.85.

A figura 7.8 mostra a função tangente hiperbólica em um intervalo [-5, 5], para os

ganhos atribuídos aleatoriamente (β ) e os ganhos obtidos pelo algoritmo genético (β *).

129

Função Tangente Hiperbólica

-1,5

-1

-0,5

0

0,5

1

1,5

-5 -4 -3 -2 -1 0 1 2 3 4 5

Variável x

Var

iáve

l de

Saíd

a

Ganho aleatório

Ganho obtido pelo método AG

Figura 7.8 – Função tangente hiperbólica

Já na figura 7.9 é mostrado o comportamento das suas derivadas, que são usadas no

cálculo de aprendizagem (algoritmo backpropagation).

Derivada da Função Tangente Hiperbólica

-0,5

0

0,5

1

1,5

2

-5 -4 -3 -2 -1 0 1 2 3 4 5

Variável x

Var

iáve

l de

Saíd

a

Ganho aleatório

Ganho obtido pela técnica AG

Figura 7.9– Derivada da função tangente hiperbólica

A figura 7.10 mostra a função na fase de treinamento, onde foram usados 64 pontos de

treinamento (pares de entradas/saídas desejadas).

130

Fase de Treinamento

-1.2

-0.8

-0.4

0.0

0.4

0.8

1.2

0.0 0.8 1.6 2.4 3.2 4.0 4.8 5.6 6.4

Variável de Entrada

Fun

ção

Sen

(x) Sen(x)

Ganhos Arbitrários

Ganhos Obtidos porAG

Figura 7.10 – Fase de treinamento da RN para os ganhos arbitrários e obtidos por AG

A rede neural com os ganhos obtidos pela técnica de AG modelou a curva analítica

( )xxf sen)( = mais corretamente que a rede com ganhos arbitrários.

A comparação entre a saída desejada (yd) e a saída da rede (yobtida) é realizada pela

função do Erro Quadrático Médio (EQM), ver equação 7.9.

∑=

−=N

t

obtidod tytyN

EQM1

2))()((.1 (7.9)

onde N é o número de padrões e para cada N padrões de treino tem-se uma época.

Já a figura 7.11 mostra a evolução do EQM para 100 épocas, observa-se que houve

uma redução no EQM devido aos ganhos otimizados pelo AG.

131

Comparação dos EQM

00.020.040.060.08

0.10.120.14

1 34 67 100

Épocas

Err

o Q

uadr

átic

o M

édio

(E

QM

) Ganhos Arbitrários

Ganhos Obtidospor AG

Figura 7.11 – Evolução do EQM para os ganhos arbitrários e obtidos por AG

No entanto, estimar o número/valores de parâmetros é uma tarefa árdua que requer

conhecimento sobre a complexidade do problema [13]. Este conhecimento normalmente não

está disponível, principalmente tratando-se de problemas multidimensionais.

A capacidade de mapeamentos complexos das redes neurais cresce com o número de

camadas e neurônios. Entretanto, este aumento acarreta maior tempo de processamento, o que

é um fator importante em implementação em sistemas de tempo real. A convergência de

métodos de otimização não-linear depende da condição inicial e do comportamento da função

objetivo. Logo, a convergência não é assegurada, podendo às vezes apresentar um erro

significativo mesmo após um período tempo de treinamento [16, 70].

A figura 7.12 apresenta o resultado da fase de teste da rede neural da figura 7.7. As

considerações sobre esta RN foram feitas ao longo desta seção, como parâmetros e topologia.

132

Fase de Teste da Rede Neural

-1.5

-1.0

-0.5

0.0

0.5

1.0

1.5

0.0 0.8 1.6 2.4 3.2 4.0 4.8 5.6 6.4

Variável de Entrada

Fun

ção

de T

este

Sen(x)

Fase de Teste

Figura 7.12 – Fase de teste da rede neural

Já a figura 7.13 mostra a evolução do EQM em função das épocas (na fase de

treinamento) do modelo proposto NFN-MK, e da RN com os ganhos obtidos por AG e RN

com ganhos arbitrários. Para uma melhor visualização o gráfico foi plotado até a décima

época.

Evolução do EQM

00.020.040.060.080.1

0.120.14

1.0 4.0 7.0 10.0

Épocas

Err

o Q

uadr

átic

o M

édio RNA

RNA + AG

NFN-MK

Figura 7.13 – Comparação entre os erro quadrático médio

Pode-se observar que o EQM para o NFN-MK é menor quando comparado com a RNA

e RNA + AG (ver figura 7.13). Na performance da rede neural foi necessário utilizar uma

técnica de apoio, o AG. Já a rede neurofuzzy NFN-MK proposta na dissertação dispensa o

133

auxílio do AG e tem a vantagem de convergir para uma aproximação com poucas épocas. Esta

rápida convergência possibilita a utilização da rede NFN-MK em tempo real.

A tabela 7.7 resume o número de operações envolvidas nas duas estruturas (para

detalhes ver tabela 6.2).

Tabela 7.7 – Comparação entre a RNA e o NFN-MK para a função ( )xxf sen)( =

Modelos

Avaliados

Operações de

Multiplicação

Operações de

+ e/ou -

Cálculos de

Funções

RNA

[n,p,m] = [1,7,1]

n.p + p.m = 14 n.p + p.m = 14 p + m = 8

(funções tangente hiperbólica e linear)

NFN-MK

[n,p,m] = [1,6,1]

2.n.m = 2 n.m + n = 2 n = 1

(função linear)

O número de operações e cálculo de funções no NFN – MK é menor que na RNA.

Assim o tempo de processamento do sistema NFN-MK é inferior, comparado com a RNA. Isso

faz com que seja uma opção atraente em sistemas de tempo real e em treinamento on-line. O

modelo NFN-MK aparece como uma solução promissora para os problemas encontrados nas

redes neurais.

7.2.2 Estudo de Caso: Função “Chapéu Mexicano”

Uma função matemática com algum interesse em fenômenos reais é a função “chapéu

mexicano” [79], descrita pela equação 7.10.

),(sin)(

.)(

),( 212

2

1

121 xxc

x

xsen

x

xsenxxf ==

(7.10)

Neste estudo de caso as entradas (x1, x2) variaram dentro da área delimitada pelo

quadrado [-10, 10] x [-10, 10] e a saída ),(sin),( 2121 xxcxxf = variou no intervalo [-0.21, 1]

(ver figura 7.14). Este intervalo de análise foi escolhido para se poder comparar com os

resultados obtidos por [84].

134

Figura 7.14 – Curva chapéu mexicano

O modelo computacional proposto, o NFN-MK, foi comparado com outros sistemas

inteligentes: o NFHQ (Neuro-Fuzzy Hierárquico Quadtree) e FSOM de Vuorimaa,

apresentados por [84] e a rede neural da figura 7.7.

a) Modelo NFN-MK:

A função ),(sin),( 2121 xxcxxf = foi inicialmente aproximada pelo sistema

NFN-MK da figura 7.15.

Estudo de Caso 2:

Variável x1

Variável x2

Fun

ção

f(x 1

, x2)

135

Figura 7.15 – Rede NFN-MK usada na aproximação do chapéu mexicano

Na fuzzificação das entradas (x1, x2), foram usadas sete funções de pertinência do tipo

triangulares, uniformemente distribuídas no intervalo de discurso [-10, 10] x [-10, 10],

conforme figura 7.16.

Curvas Iniciais do Sistema

00,20,40,60,8

11,2

-10,00 -6,67 -3,33 0,00 3,33 6,67 10,00

Variável de Entrada

Fun

ções

de

Per

tinê

ncia

s

Negativo Grande (NB)

Negativo Médio (NM)

Negativo Pequeno (NS)

Zero (ZE)

Positivo Pequeno (PS)

Positivo Médio (PM)

Positivo Grande (PB)

Figura 7.16 – Funções triangulares para ),(sin),( 2121 xxcxxf =

Na implementação da rede de Kohonen novas funções de pertinência foram obtidas

(ver figura 7.17). O modelo otimizou o sistema para seis funções, que representam uma maior

precisão e conhecimento sobre o sistema em estudo. No treinamento foram usados 225

padrões de entradas/saídas.

Rede NFN-MKda Figura 7.2

Rede NFN-MKda Figura 7.2

x1

x2

∑∑ f(x1, x2) = y(saída do modelo)

Ent

rada

s

f(x1) = y1

f(x2) = y2

136

Curvas Obtidas pelo Sistema NFN-MK

0

0,2

0,4

0,6

0,8

1

1,2

-10,0 -8,0 -6,0 -4,0 -2,0 0,0 2,0 4,0 6,0 8,0 10,0

Variável de Entrada

Fun

ções

de

Per

tinê

ncia

sNegativo Grande (NB)

Negativo Médio (NM)

Negativo Pequeno (NS)

Zero (ZE)

Positivo Pequeno (PS)

Positivo Médio (PM)

Positivo Grande (PB)

Figura 7.17 – Funções triangulares não uniformes para ),(sin),( 2121 xxcxxf =

A tabela 7.8 apresenta as grandezas usadas na fase de aprendizagem da rede de

Kohonen e NFN. Os parâmetros usados para as duas entradas (x1, x2) do modelo

computacional são idênticos.

Tabela 7.8 – Dados de treinamento do NFN-MK

Dados de Treinamento da Rede NFN-MK

Número de entradas: 2;

Limite inferior da entrada: -10;

Limite superior da entrada: 10;

Número de saídas: 1;

Número de funções de pertinência: 7;

Passo p: número de padrões;

Fator de aprendizado inicial: 1;

Fator de aprendizado da rede de Kohonen: 9999.0).1()( −= pp ηη ;

Critério de convergência da rede de Kohonen: 0.1;

Inicialização dos pesos: 1;

Número de padrões: 225;

Critério de convergência da rede da NFN: 10 épocas;

Treinamentos: Não-supervisionado (etapa de Kohonen) e supervisionado (etapa NFN).

137

As funções triangulares uniformemente distribuídas (iniciadas pelo algoritmo) são

ajustadas pela rede de Kohonen. A tabela 7.9 apresenta os novos parâmetros para os centros

(C), limites esquerdo (LE) e limites direito (LD) das funções triangulares; os parâmetros são

iguais para as duas entradas, pois o intervalo é o mesmo. Já os pesos iniciais )( 2,1 inicialw são

ajustados pela rede NFN, onde finalw representa os pesos finais para as entradas x1 e x2.

Tabela 7.9 – Parâmetros da modelagem da função ),(sin),( 2121 xxcxxf =

Parâmetros Iniciais Novos Parâmetros

Curvas LE C LD w1,2 inicial LE C LDfinalw1 finalw2

NB -10 -10 -6.67 -10 -10 -3.5 0.0715 -0.0643

NM -10 -6.67 -3.33 -10 -3.5 -0.2 -0.1414 0.0103

NS -6.67 -3.33 0 -3.5 -0.2 3.2 0.5154 0.4973

ZE -3.33 0 3.33 -0.2 3.2 6.5 -0.0824 0.0321

PS 0 3.33 6.67 3.2 6.5 10 0.0143 0.1714

PM 3.33 6.67 10 6.5 10 10 0.0739 -0.0463

PB 6.67 10 10

1

10 10 10 0 0.0358

Após a obtenção das novas funções de pertinência e da fase de treinamento (225

padrões de entrada/saídas e 10 épocas), a rede NFN-MK é submetida a um teste de

aproximação, com 88 pontos de entrada (ver figura 7.18). A taxa de aprendizado do modelo

em estudo é obtida pela equação 7.3, ou seja, a taxa dinâmica.

138

Figura 7.18 – Fase de teste em 3D da função chapéu mexicano

O gráfico da figura 7.19 é mostrado em 2D para uma melhor visualização dos

resultados apresentados.

Fase de Teste da Rede NFN-MK

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

-10 -8 -6 -4 -2 0 2 4 6 8 10

Entradas

Fun

ção

de T

este

Função ChapéuMexicano

Fase de Teste

Figura 7.19 – Fase de teste em 2D da função chapéu mexicano

A tabela 7.10 apresenta análise de valores analíticos (função ),(sin),( 2121 xxcxxf = ) e

valores obtidos pelo teste do modelo computacional NFN-MK.

139

Tabela 7.10 – Análise de resultados função ),(sin),( 2121 xxcxxf =

Entradas Arbitrárias

x1 x2

Saída Real

(Valor Analítico)

Saída do Modelo

(NFN-MK)

Erro

(Valor Absoluto)

-9.8 -9.8 0.001398 0.002917 0.001519

-1.1 1.1 0.656405 0.644591 0.118140

-0.7 0.7 0.846972 0.782360 0.646120

-0.1 0.1 0.996671 0.950429 0.046242

2 2 0.206705 0.281905 0.075200

3 -3 0.002213 0.001689 0.000524

4.4 4.4 0.046774 0.044088 0.002686

Após a apresentação de alguns valores, será ilustrado manualmente o cálculo para as

entradas x1 = -0.1 e x2 = 0.1, no modelo computacional NFN-MK, onde o valor a ser

calculado reproduz o comportamento do sistema real. As entradas são fuzzificadas e

cruzam as curvas de pertinência ZE e NS para a entrada x1 = -0.1, resultando nas

pertinências 0294.0=ZEµ e 9706.0=NSµ . Já para a entrada x2 = 0.1, tem-se as

pertinências 0882.0=ZEµ e 9118.0=NSµ . O gráfico 7.17 mostra as funções de pertinência

em questão.

A partir da definição das curvas de pertinência ZE e NS, os pesos são obtidos pelas

duas últimas colunas da tabela 7.10. Assim, aplicando-se a equação 6.3, tem-se:

9540.0)1.0()1.0(

4562.0)4973.0).(9118.0()0321.0).(0882.0()1.0(

4978.0)5154.0).(9706.0()0824.0).(0294.0()1.0(

2211

12

11

==+−==

=+==

=+−=−=

∑ xfxff

xf

xf

(7.11)

Na tabela 7.10 pode-se obter o valor analítico, dado por 0.996671 e o valor simulado

dado por 0.950429, próximo ao valor acima. A diferença deve-se à precisão numérica da

máquina.

O modelo NFN-MK aproximou a função ),(sin),( 2121 xxcxxf = satisfatoriamente na

fase de teste; na etapa de treinamento foram usadas 10 épocas e 225 pares de entradas/saídas.

140

b) Método NFHQ:

A figura 7.20 mostra a arquitetura da rede usada para aproximar a função em estudo.

Na fase de treinamento foi utilizado um conjunto de dados de 225 amostras. O modelo NFHQ

começou com uma célula e sua estrutura foi crescendo para minimizar o EQM. Ao todo,

foram utilizados 64 parâmetros livres, relativos aos singletons (pulsos) dos conseqüentes das

regras e alocadas 21 células NFHQ. A função singleton é freqüentemente usada como função

de pertinência para saídas de controladores fuzzy, que simplificam os cálculos dos métodos de

defuzzificação.

Figura 7.20 – Rede NFHQ usada na aproximação da curva chapéu mexicano [84]

Esta seção utiliza o EQM da rede NFHQ o qual é comparado com o erro do modelo

NFN-MK. Detalhe sobre a rede NFHQ pode ser encontrado no trabalho [84]. O erro

quadrático médio obtido pela rede na fase de treinamento é 0.015. A rede NFHQ utiliza como

método de treinamento o gradiente decrescente.

CélulaNFHQ

Conseqüentesdas Regras

141

c) Método FSOM:

A topologia usada para aproximar a função pode ser vista na figura 7.21, para maiores

detalhes seção 4.2.3 (b). No treinamento também foram utilizados 225 dados de amostras.

Figura 7.21 – Rede FSOM na aproximação da curva chapéu mexicano [88]

As funções de pertinência usadas nos antecedentes das regras são triangulares e os

conseqüentes das regras são singletons (pulsos). O FSOM utilizou 100 parâmetros livres,

relativos aos singletons dos conseqüentes. Já o erro quadrático médio obtido após a fase de

treinamento é 0.0314. Maiores informações podem ser encontradas no trabalho [84]. A

apresentação dos padrões são off-line, e usam o método do gradiente decrescente para ajuste

dos conseqüentes.

c) Método das RNA´s:

A topologia da rede neural definida para modelar a função ),(sin),( 2121 xxcxxf = é a

mesma da figura 7.22, com duas entradas ),( 21 xx , sete neurônios na camada escondida e um

na camada de saída. A definição da arquitetura é em analogia com o modelo computacional

NFN-MK.

142

Figura 7.22 – RNA utilizada na aproximação da função ),(sin),( 2121 xxcxxf =

A apresentação dos padrões de treinamento da rede é do tipo aprendizado off-line. A

função de ativação usada nos neurônios da camada escondida é a tangente hiperbólica

(equação 7.6). O neurônio de saída usa uma função linear (equação 7.7) e os parâmetros

foram ajustados pelo método backpropagation (detalhes encontram-se na tabela 7.9).

1

2

3

4

5

8

x1

x2

f(x1, x2)

Variáveis deEntradas

Camada Escondida Neurônio de Saída Variávelde Saída

6

7

w11

w21 w22

w23

w12

w13

w14

w24

w15w25

w16

w26

w27

w17

w58

w28

w38

w48

w18

w68

w78

143

Tabela 7.11 – Dados de treinamento da curva chapéu mexicano

Dados Utilizados Para Treinamento

Número de entradas: 2;

Número de saídas: 1;

Inicialização dos pesos: 0.2 a 1;

Fator de aprendizado: 0.5;

Ganho da função de ativação tangente hiperbólica (β): 0.5;

Ganho da função de ativação linear (δ): 0.8;

Número de padrões: 225;

Critério de convergência da RN: 10 épocas;

Aprendizado: Backpropagation (supervisionado).

A figura 7.23 mostra a rede na fase de treinamento, em que são usados 225 padrões de

treinamento (entradas/saídas) e 10 épocas.

Figura 7.23 – Fase de treinamento da RN para a curva chapéu mexicano

A quantidades de operações matemáticas envolvidas na RNA da figura 7.22 é superior

ao modelo NFN – MK (detalhes encontram-se na tabela 7.12).

144

Tabela 7.12 – Comparação entre a RNA e o NFN-MK para ),(sin),( 2121 xxcxxf =

Modelos

Avaliados

Operações de

Multiplicação

Operações de

+ e/ou -

Cálculos de

Funções

RNA

[n,p,m] = [2,7,1]

n.p + p.m = 21 n.p + p.m = 21 p + m = 8

(funções tangente hiperbólica e linear)

NFN-MK

[n,p,m] = [2,6,1]

2.n.m = 4 n.m + n = 4 n = 2

(função linear)

Portanto, o tempo de processamento do modelo NFN-MK é inferior, quando

comparado com a RNA.

Na tabela 7.13 são comparadas as técnicas de aproximações: Neo-Fuzzy-Neuron

Modificado por Kohonen (NFN-MK), NFHQ (Neuro-Fuzzy Hierárquico Quadtree), FSOM de

Vuorimaa e RNA´s.

Tabela 7.13 – Comparação dos resultados para a função ),(sin),( 2121 xxcxxf =

Modelos Testados Número de Padrões Erro Quadrático Médio (EQM)

NFN-MK 0.0426

NFHQ 0.0150

FSOM 0.0314

RNA´s

225

0.1037

O modelo NFN-MK é uma opção atrativa quando se deseja utilizar técnicas

inteligentes de aproximação de funções, apesar das redes NFHQ e FSOM terem obtido os

menores EQM´s. A explicação para tais resultados é que as redes NFHQ e FSOM usaram um

maior número de parâmetros.

7.2.3 Estudo de Caso: Função Radial

A função descrita pela equação 7.24 e representada na figura 7.24, conhecida como

radial. As entradas (x1, x2) deste trabalho são analisadas no intervalo [0, 1] x [0, 1], com base

no trabalho de Lima (2000).

145

[ ])75,0.(.234,24),( 2221 rrxxf −= , onde 2

22

12 )5,0()5,0( −+−= xxr (7.12)

Figura 7.24 – Curva radial [50]

A função [ ])75,0.(.234,24),( 2221 rrxxf −= é aproximada pelo modelo NFN-MK. e

pela técnica das redes neurais artificiais.

a) Modelo NFN-MK:

A função radial é inicialmente aproximada pelo modelo NFN-MK da figura 7.15. As

entradas (x1, x2) foram fuzzificadas em sete subconjuntos fuzzy uniformemente distribuídos

no intervalo de [0, 1] x [0, 1], conforme a figura 7.25.

Estudo de Caso3:

Variávelx

Variável x1

Fun

ção

f(x 1

, x2)

146

Curvas Iniciais do Sistema

00,20,40,60,8

11,2

0,00 0,17 0,33 0,50 0,67 0,83 1,00

Variável de Entrada

Fun

ções

de

Per

tinê

ncia

s Negativo Grande (NB)

Negativo Médio (NM)

Negativo Pequeno (NS)

Zero (ZE)

Positivo Pequeno (PS)

Positivo Médio (PM)

Positivo Grande (PB)

Figura 7.25 – Funções triangulares para a função radial

A rede de Kohonen é usada para gerar novas curvas de pertinência, conforme a figura

7.26; o modelo ajustou a quantidade de funções para seis. No treinamento foram usados 21

padrões de entradas/saídas.

Curvas Obtidas pelo Sistema NFN-MK

0

0,2

0,4

0,6

0,8

1

1,2

0,00 0,20 0,40 0,60 0,80 1,00

Variável de Entrada

Fun

ções

de

Per

tinê

ncia

s

Negativo Grande (NB)

Negativo Médio (NM)

Negativo Pequeno (NS)

Zero (ZE)

Positivo Pequeno (PS)

Positivo Médio (PM)

Positivo Grande (PB)

Figura 7.26 – Funções triangulares não uniformes para curva radial

A tabela 7.14 apresenta as grandezas usadas na fase de treinamento do modelo

computacional NFN-MK. Os parâmetros usados para as duas entradas (x1, x2) do modelo

computacional são idênticos. A taxa de aprendizado da etapa NFN é dada pela equação 7.3.

147

Tabela 7.14 – Dados de treinamento do NFN-MK

Dados de Treinamento da Rede NFN-MK

Número de entradas: 2;

Limite inferior da entrada: 0;

Limite superior da entrada: 1;

Número de saídas: 1;

Número de funções de pertinência: 7;

Passo p: número de padrões;

Fator de aprendizado inicial: 1;

Fator de aprendizado da rede de Kohonen: 9999.0).1()( −= pp ηη ;

Critério de convergência da rede de Kohonen: 0.1;

Inicialização dos pesos: 1;

Número de padrões: 21;

Critério de convergência da rede da NFN: 100 épocas;

Treinamentos: Não-supervisionado (etapa de Kohonen) e supervisionado (etapa NFN).

Na tabela 7.15 são mostrados os parâmetros para os centros (C), limites esquerdos

(LE) e limites da direita (LD) das novas funções triangulares, obtidos pela rede de Kohonen;

os parâmetros são iguais para as duas entradas, pois o intervalo é o mesmo. Os pesos iniciais

)( 2,1 inicialw das entradas x1 e x2 são ajustados pela rede de NFN, onde finalw representa os pesos

finais. As grandezas na fase de aprendizagem são as mesmas do modelo que aproximou a

função chapéu mexicano, da seção 7.2.2, exceto o número de padrões e épocas. No

treinamento da rede os pares de entradas x1 e x2 são idênticos, logo os valores dos pesos finais

também são iguais.

148

Tabela 7.15 – Parâmetros da modelagem da função radial

Parâmetros Iniciais Novos Parâmetros

Curvas LE C LD w1,2 inicial LE C LDfinalw1 finalw2

NB 0 0 0.17 0 0 0 -0.66

NM 0 0.17 0.33 0 0 0.25 2.11

NS 0.17 0.33 0.50 0 0.25 0.45 0.92

ZE 0.33 0.50 0.67 0.25 0.45 0.6 -0.02

PS 0.50 0.67 0.83 0.45 0.6 0.75 0.08

PM 0.67 0.83 1 0.6 0.75 1 1.09

PB 0.83 1 1

1

0.75 1 1 1.82

O modelo NFN-MK é submetido a um teste de identificação com 21 padrões de

entrada, demonstrado na figura 7.27.

00.2

0.40.6

0.81 0

0.5

10

0.5

1

1.5

2

2.5

3

3.5

4

x2

Fase de Teste da Rede NFN-MK

x1

Fu

nçã

o R

ad

ial f(

x1,x

2)

Figura 7.27 – Fase de teste em 3D da função radial

Função Radial X Fase de Treinamento

149

O gráfico da figura 7.28 é mostrado em 2D, para uma melhor visualização dos

resultados.

Teste Comparativo

-0.2

0.8

1.8

2.8

3.8

0 0.2 0.4 0.6 0.8 1

Entradas

Fun

ção

de T

este

Função Radial

Fase de Teste

Figura 7.28 – Fase de teste em 2D da função radial

A tabela 7.16 apresenta análise de valores analíticos (função radial) e valores obtidos

pelo teste do modelo NFN-MK.

Tabela 7.16 – Análise de resultados função radial

Entradas Arbitrárias

x1 x2

Saída Real

(Valor Analítico)

Saída do Modelo

(NFN-MK)

Erro

(Valor Absoluto)

0.15 2.998352 2.790945 0.2074

0.3 1.298942 1.370146 0.0712

0.65 0.768824 0.838629 0.0698

0.9 3.334598 3.055852 0.2787

Após a apresentação de alguns valores, será ilustrado manualmente o cálculo para as

entradas x1 = 0.65 e x2 = 0.65, no modelo computacional NFN-MK, que o valor a ser

calculado reproduz o comportamento do sistema real. As entradas são fuzzificadas e

cruzam as curvas de pertinência PS e PM para ambas as entradas, resultando nas

pertinências 6664.0=PSµ e 3335.0=PMµ , para ambas as entradas. O gráfico 7.26 mostra as

funções de pertinência em questão.

150

A partir da definição das curvas de pertinência PS e PM, os pesos são obtidos pela

última coluna da tabela 7.15. Assim, aplicando-se a equação 6.3, tem-se:

8338.0)65.0()65.0(

4169.0)09.1).(3335.0()08.0).(6664.0()65.0(

4169.0)09.1).(3335.0()08.0).(6664.0()65.0(

2211

22

11

==+==

=+−==

=+−==

∑ xfxff

xf

xf

(7.13)

Na tabela 7.16 pode-se obter o valor analítico, dado por 0.768824 e o valor simulado

dado por 0.838629, próximo ao valor acima. A diferença deve-se à precisão numérica da

máquina.

Na fase de teste o modelo computacional NFN-MK modelou a função radial. As

variáveis do modelo foram ajustadas na fase de treinamento, com 100 épocas e 21 pares de

entrada/saída. No passo seguinte a mesma função é aproximada por uma RNA´s e será

realizada a comparação entre as duas técnicas computacionais inteligentes.

b) Método das RNA’s:

A definição da rede neural para aproximar a função radial é a mesma da figura 7.22,

com duas variáveis de entrada ),( 21 xx , sete neurônios na camada escondida e um de saída. A

função de ativação usada nos neurônios da camada escondida é hiperbólica (equação 7.6) e a

linear no neurônio de saída (equação 7.7). A definição da arquitetura da rede RNA (número de

neurônios na camada escondida)é em analogia com as sete funções de pertinência do modelo

computacional NFN-MK.

Na primeira etapa de treinamento são usados 21 padrões de entradas/saídas e 100

épocas. Conforme a quantidade de padrões apresentados no treinamento, a RNA generalizou

seu resultado, conforme a figura 7.29.

151

Figura 7.29 – Fase de treinamento da RN com 21 padrões entrada/saída

De acordo com a figura 7.29, os seus resultados são questionáveis quanto à fase de

treinamento. Então, em uma segunda etapa o número de padrões é elevado para 101 pares de

entradas/saídas, mantendo o número de épocas. Logo, a rede melhorou a modelagem do

problema proposto, conforme a figura 7.30.

Figura 7.30 – Fase de treinamento da RN com 101 padrões entrada/saída

152

A tabela 7.17 descreve os dados na fase de treinamento da rede neural.

Tabela 7.17 – Dados de treinamento da curva radial

Dados Utilizados Para Treinamento

Número de entradas: 2;

Número de saídas: 1;

Inicialização dos pesos: 0.2 a 1;

Fator de aprendizado: 0.5;

Ganho da função de ativação tangente hiperbólica (β): 0.5;

Ganho da função de ativação linear (δ): 0.8;

Número de padrões: 21 e 101;

Critério de convergência da RN: 100 épocas;

Aprendizado: Backpropagation (supervisionado).

A figura 7.31 demonstra a evolução do EQM em função das épocas para as duas

etapas de treinamento, com 21 e 101 padrões de entradas/saídas.

Evolução do EQM

00.5

11.5

22.5

3

1 14 27 40 53 66 79 92

Épocas

Err

o Q

uadr

átic

o M

édio

101 padrões deentrada

21 padrões deentrada

Figura 7.31 – Comparação entre as etapas de treinamento

Na fase de treinamento da rede NFN-MK são usadas 100 épocas, o erro quadrático

médio (EQM) obtido é de 0.044753. Este erro é comparado com o gráfico 7.31, que são os

erros obtidos pela RNA´s, com 21 e 101 pares de entrada/saída. Conclui-se que o modelo

153

NFN-MK obteve um erro quadrático médio menor, quando comparado com a RNA da figura

7.22. A tabela 7.12 resume o número de operações envolvidas nas duas estruturas.

7.2.4 Estudo de Caso: Função Não-Linear

Nesta seção diferentemente das anteriores o NFN-MK será confrontado com o NFN

original de Yamakawa [96]. Para este comparativo é proposta uma função tipicamente não-

linear como a figura 7.32, onde é formada pela composição das funções: rampa, degrau e

dente de serra. Esta terá seus valores aproximados pelos modelos NFN-MK e NFN original.

Estudo de Caso 4:

0

0.5

1

1.5

2

2.5

0 2 4 6 8 10 12 14

Variável de Entrada

Fun

ção

de S

aída

Função Não-Linear

Figura 7.32 – Função não-linear

O domínio da função é definido no intervalo de [0, 14], a sua imagem esta

compreendida entre [0, 2]. Estas definições são arbitrárias.

A seguir, a tabela 7.18 mostra um comparativo entre a rede NFN original e o modelo

proposto NFN-MK.

154

Tabela 7.18 – Comparativo entre NFN e NFN-MK

Características NFN NFN-MK

Formato das Funções de

Pertinência

Curva Tipo 1 Curva Tipo 2

Identificação Prévia das

Funções de Pertinência

Método de Distribuição

Uniforme

Método Auto-Organizavel de

Kohonen

AprendizadosSupervisionado

(ajuste dos pesos)

Não-Supervisionado (ajuste das

curvas de pertinência) e

Supervisionado (ajuste dos pesos)

A rede NFN original tem funções de pertinência fixas do tipo triangular, ou seja, não

existe algoritmo para ajustá-las. No entanto, o modelo NFN-MK usa a rede de Kohonen para

ajustar as funções de pertinência.

a) Modelo NFN-MK

A estrutura do NFN-MK para a função não-linear é dada na figura 7.2. A mesma é

aproximada por sete funções de pertinência do tipo triangular, uniformemente distribuídas no

intervalo de discurso [0, 14], pode ser vista na figura 7.33. Estas curvas de pertinência para o

NFN original e o NFN-MK, inicialmente são as mesmas. Exceto que no NFN-MK as mesmas

serão reajustadas.

Curvas Iniciais do Sistema

00.2

0.40.60.8

11.2

0.00 2.33 4.67 7.00 9.33 11.67 14.00

Variável de Entrada

Fun

ções

de

Per

tinê

ncia

s

Negativo Grande (NB)

Negativo Médio (NM)

Negativo Pequeno (NS)

Zero (ZE)

Positivo Pequeno (PS)

Positivo Médio (PM)

Positivo Grande (PB)

Figura 7.33 – Funções triangulares eqüidistantes para a função não-linear

155

Após o ajuste pela rede de Kohonen, novas curvas de pertinência são obtidas (ver

figura 7.34), onde os centros foram deslocados em relação às curvas iniciais da figura 7.33.

No ajuste das curvas foram usados 1401 padrões de entradas, também arbitrários.

Curvas Obtidas pelo Sistema NFN-NK

0

0.2

0.4

0.6

0.8

1

1.2

0.00 2.00 4.00 6.00 8.00 10.00 12.00 14.00

Variável de Entrada

Fun

ções

de

Per

tinê

ncia

s

Negativo Grande (NB)

Negativo Médio (NM)

Negativo Pequeno (NS)

Zero (ZE)

Positivo Pequeno (PS)

Positivo Médio (PM)

Positivo Grande (PB)

Figura 7.34 – Funções triangulares não uniformemente distribuídas

A sete curvas inicializadas pelo modelo, duas delas se sobrepõe. Na tabela 7.19 são

mostrados os novos parâmetros para os centros (C), limites à esquerda (LE) e à direita (LD)

das funções de pertinência. No treinamento do NFN-MK, os valores de entrada (x) foram

gerados aleatoriamente no intervalo [0, 14].

Tabela 7.19 – Parâmetros das curvas de pertinência da função não-linear

N° Padrões: 141 N° Padrões: 1401

Parâmetros Iniciais Novos Parâmetros Novos ParâmetrosCurvas

LE C LD LE C LD LE C LD

NB 0 0 2.33 0 0 0.01 0 0 0.02

NM 0 2.33 4.67 0 0.01 6.8 0 0.02 6.99

NS 2.33 4.67 7 0.01 6.8 9.2 0.02 6.99 9.32

ZE 4.67 7 9.33 6.8 9.2 11.5 6.99 9.32 11.65

PS 7 9.33 11.67 9.2 11.5 14 9.32 11.65 14

PM 9.33 11.67 14 11.5 14 14 11.65 14 14

PB 11.67 14 14 14 14 14 14 14 14

156

Os centros das funções de pertinência variam apenas com os números de padrões, o

número de épocas não é usado na rotina da rede de Kohonen.

As atualizações dos pesos (wi) são realizadas para cada padrão de entrada (xi),

conforme equação 7.2. Nesta etapa da simulação o número de épocas esta diretamente ligado

à atualização dos pesos. A figura 7.35 mostra as curvas analíticas e de teste do modelo

NFN-MK para 10 épocas.

Fase de Teste

0.0

0.5

1.0

1.5

2.0

2.5

0 2 4 6 8 10 12 14

Variável de Entrada

Fun

ção

de S

aída

Função Não-Linear

Modelo NFN-MK

(a)

Fase de Teste

0.0

0.5

1.0

1.5

2.0

2.5

0 2 4 6 8 10 12 14

Variável de Entrada

Fun

ção

de S

aída

Função Não-Linear

Modelo NFN-MK

(b)

Figura 7.35 – Fase de teste do NFN-MK: (a) Padrões = 141 e (b) Padrões = 1401

Épocas = 10Padrões = 141EQM = 0.197

Épocas = 10Padrões = 1401EQM = 0.017

157

Após a simulação pode-se avaliar que o modelo NFN-MK obteve uma melhor

aproximação com um número maior de padrões de entradas/saídas. Outros resultados, por

exemplo: épocas = 100, são mostradas no final, após o comparativo com o NFN original.

b) Rede NFN

A figura 7.2 para a estrutura do NFN é alterada, ou seja, a rotina da rede de Kohonen

é eliminada, como mostra a figura 7.36.

Figura 7.36 – Estrutura da rede NFN

Assim, a função não-linear proposta é aproximada por sete funções de pertinência do

tipo triangular, uniformemente distribuída no intervalo de discurso (ver figura 7.33).

A figura 7.37 mostra as curvas analíticas e de teste do modelo NFN para diferentes

valores de padrões.

y∑∑

F11

F12

F16

F17

w11

w12

w16

w17

Rede NFN

••

••

•••

•••

x

158

Fase de Teste

0.0

0.5

1.0

1.5

2.0

2.5

0 2 4 6 8 10 12 14

Variável de Entrada

Fun

ção

de S

aída

Função Não-Linear

Rede NFN

(a)

Fase de Teste

0.0

0.5

1.0

1.5

2.0

2.5

0 2 4 6 8 10 12 14

Variável de Entrada

Fun

ção

de S

aída

Função Não-Linear

Rede NFN

(b)

Figura 7.37 – Fase de teste do NFN: (a) Padrões = 141 e (b) Padrões = 1401

A tabela 7.20 sumariza os resultados do EQM (equação 7.9) para a rede NFN e o

modelo NFN-MK com diferentes tipos de padrões e épocas.

Épocas = 10Padrões = 1401EQM = 0.202

Épocas = 10Padrões = 1401EQM = 0.020

159

Tabela 7.20 – Resultados dos EQM

Dados da Simulação Erro Quadrático Médio (EQM)

Padrões Épocas NFN-MK NFN

10

141 100 0.197 0.202

10

1401 100 0.017 0.020

O EQM da rede NFN-MK diminui com o aumento dos padrões de entrada/saída da

função não-linear proposta, para ambos os modelos. Já a alteração do número de épocas não

influenciou no resultado final para ambas quantidades de entradas/saídas de 141 e 1401

padrões.

Finalmente, observa-se pelos valores encontrados para o EQM que o NFN-MK

apresenta um melhor desempenho que o NFN original. Com 141 padrões o

197.0=−MKNFNEQM e 202.0=NFNEQM , ou seja, uma diferença de 0.005. No caso de 1401

padrões esta diferença é 0.003. Logo, o NFN-MK se apresenta com uma maior precisão do

que o modelo original.

7.3 Conclusão

Neste capítulo foi mostrado que, ao contrário da abordagem conexionista tradicional, o

modelo proposto permite uma interpretabilidade dos resultados, através da extração do

conhecimento, sob a forma de regras fuzzy. Além das características fuzzy, o modelo

proposto também possui aprendizagem e generalização utilizada nas RNA’s.

Os estudos de casos realizados tiveram como objetivo fundamental demonstrar a

viabilidade e o potencial do modelo proposto (NFN-MK) quando aplicado a problemas com

não-linearidades significativas. Os resultados apresentados são promissores, mas não podem

ser interpretados como conclusivos, inclusive pelo fato de que os problemas abordados neste

trabalho foram escolhidos arbitrariamente.

CAPÍTULO 8

CONCLUSÃO

Este capítulo faz as considerações finais sobre o modelo computacional proposto (Neo

Fuzzy Neuron Modificado por Kohonen), aplicado a experimentos de identificação de funções

não-linerares, e descreve futuros trabalhos envolvendo este modelo.

8.1 Revisão Contextual

Na área de Identificação de Sistemas pode-se modelar um sistema matematicamente,

sendo este linear ou não. No entanto, a não-linearidade implica no aumento da complexidade

do modelamento. Logo, técnicas de Inteligência Artificial (IA) são utilizadas, a fim de

amenizar a identificação do problema em estudo.

O uso individual de diferentes tipos de técnicas de IA pode ter desvantagem,

principalmente na solução de problemas complexos. Por exemplo: no caso das Redes Neurais

Artificiais (RNA´s) não há procedimentos para especificar o número de neurônios que devem

compor as camadas intermediárias da rede neural e nem o número de camadas intermediárias.

Além disso, para cada aplicação o número de neurônios e camadas são diferentes. Já nos

Sistemas Fuzzy (SF´s), a implementação das etapas de fuzzificação, regras de inferência e

defuzzificação dependem do conhecimento de um especialista, mas este conhecimento, pode

não estar disponível.

Diante das limitações descritas, as redes neurais quando combinadas com os sistemas

fuzzy permitem que parte do conhecimento do especialista seja obtida via treinamento,

resultando em Sistemas Híbridos (SH) com alto poder de adaptação e robustez a ruído [31].

Portanto, um dos objetivos desta dissertação foi à reestruturação do modelo híbrido, o

Neo-Fuzzy-Neuron, que Yamakawa propôs em 1992. Em função deste objetivo, um trabalho

de pesquisa foi realizado sobre as definições dos sistemas fuzzy, redes neurais artificiais e a

simbiose destas técnicas, para obter um Sistema Híbrido.

161

8.2 Problema e Solução Proposta

O trabalho propõe o uso de um modelo híbrido (neurofuzzy) para identificar funções

não-lineares, as quais são de difícil modelamento matemático. O sistema neurofuzzy adotado

nesta pesquisa foi o Neo-Fuzzy-Neuron, que usa funções de pertinência do tipo triangular

(característica da lógica fuzzy) e aprendizado supervisionado (características das redes

neurais) para ajustar os pesos. Com a implementação da rede de Kohonen no estágio inicial do

modelamento é possível obter a localização inicial das funções de pertinência para cada

aplicação em estudo. Assim, resulta o modelo computacional Neo-Fuzzy-Neuron Modificado

por Kohonen (NFN-MK), que representa um melhor conhecimento sobre o sistema em

questão e a generalização do mesmo.

8.3 Resultados

O modelo NFN-MK foi submetido ao problema de Aproximação de Funções, que

foram simuladas algumas funções clássicas da matemática (equações 8.1, 8.2 e 8.3), além da

função não-linear (4° caso):

( )xxf sen)( =

),(sin)(

.)(

),( 212

2

1

121 xxc

x

xsen

x

xsenxxf ==

[ ])75,0.(.234,24),( 2221 rrxxf −= , onde: 2

22

12 )5,0()5,0( −+−= xxr

(8.1)

(8.2)

(8.3)

A função 8.2 é conhecida como chapéu mexicano e a função 8.3 como radial.

Após o treinamento do modelo proposto, os parâmetros encontrados estão treinados,

então o modelo real da função em estudo pode ser generalizado pelo NFN-MK. A seguir os

resultados do modelo proposto Neo-Fuzzy-Neuron Modificado pela rede de Kohonen (NFN-

MK):

162

• Uma melhor convergência quando comparado às redes neurais e ao NFN original.

O treinamento NFN-MK não usa derivadas, a exemplo das RNA´s com algoritmo

backpropagation;

• Uma precisão aceitável, quando analisado o Erro Quadrático Médio (EQM);

• Na aproximação da função sen(x) foi implementada uma rotina de Algoritmo

Genético (AG) para encontrar os melhores ganhos (β e δ) para as funções de

ativação da rede neural. Assim, pode-se reduzir o EQM. O AG foi implementado

na função sen(x) para avaliar o seu desempenho como uma ferramenta

computacional inteligente de otimização;

• O modelo computacional acompanha às variações da dinâmica do sistema,

adaptando-se após um novo treinamento;

• O baixo custo computacional devido ao número reduzido de operações

matemáticas, comparado às Redes Neurais Artificiais.

Em todos os casos o NFN-MK se mostrou mais eficiente, quando comparado com as

Redes Neurais Artificiais clássicas, implementadas neste trabalho.

8.4 Contribuições

Com os resultados deste trabalho, o modelo Neo-Fuzzy-Neuron Modificado por

Kohonen mostrou ser uma solução alternativa, quando comparado com problemas resolvidos

com RNA´s e SF isoladamente. As seguintes vantagens do modelo proposto:

• O processo de aquisição de conhecimento não depende de um especialista, como

nos sistemas fuzzy e no NFN original. As curvas iniciais de pertinência do tipo

triangulares são iniciadas pela rede de Kohonen, com dados de entradas do

domínio do problema. As funções de pertinência são do tipo triangulares, pois

esse formato de curva tem a vantagem de ser computacionalmente simples. Num

formato trapezoidal há mais pontos a serem considerados;

• No projeto de uma rede neural tem que ser definidos os números de neurônios e

camadas escondidas, o que não é fácil. Já no modelo Neo-Fuzzy-Neuron

Modificada por Kohonen o número de neurônios da primeira camada é substituído

163

por sete funções de pertinência e não existem camadas escondidas

(intermediárias);

• A rede Neo-Fuzzy-Neuron Modificada por Kohonen soluciona o problema de

mínimos locais encontrados nas redes neurais multicamadas. A função objetiva a

ser minimizada no processo de treinamento é quadrática e convexa (ver equação

6.2).

Essas vantagens evitam que várias estruturas sejam testadas na busca de um

desempenho ótimo para um determinado problema. Isto significa no caso de redes neurais

determinar empiricamente o melhor número de camadas escondidas, e de elementos

processadores (neurônios) por camada. No caso de sistemas fuzzy, significa encontrar o

melhor número de partições do universo de discurso para cada variável de entrada.

8.5 Trabalhos Futuro

As perspectivas de trabalhos futuro em desenvolvimentos a partir do modelo

computacional proposto, Neo-Fuzzy-Neuron (NFN) estão listadas a seguir:

• Implementar o modelo NFN-MK em um pacote de software (toolbox) para

Matlab. O qual é aplicado ao estudo e análise das áreas de controle, identificação

de processos, processamento de sinais, etc;

• Testar outros tipos de funções de pertinência, além das triangulares, por exemplo,

a curva gaussiana, que é usada nas redes neurais do tipo Radial Basis Functions

(RBF), aplicadas a aproximação de funções;

• Implementar o algoritmo LVQ (Vetor de Quantização Linear), que permite um

ajuste fino da rede de Kohonen, ou seja, melhorar a qualidade dos intervalos das

funções de pertinência;

• Utilizar uma nova expressão para a taxa de aprendizado da rede de Kohonen,

como a curva Gaussiana. Neste trabalho foi adotada uma curva linear;

• Implementar uma outra técnica de Inteligência Artificial, como os Algoritmos

Genéticos, que possibilita implementar/definir as etapas de um sistema fuzzy

(fuzzificação, inferência e defuzzificação);

164

• Implementar a rede NFN-MK em aplicações de classificação de padrões e

diagnósticos.

REFERÊNCIAS BIBLIOGRÁFICAS

[1] ABREU, G. L. C. M.; O Uso da Lógica Fuzzy no Controle Ativo de Vibrações de Sistemas

Mecânicos; Posmec, 1999.

[2] AGUIAR, H.; OLIVEIRA, JR.; Lógica Difusa – Aspectos Práticos e Aplicações; Editora

Interciência, 1a Edição, 1999.

[3] AGUIRRE, L. A.; Introdução a Identificação de Sistemas – Técnicas Lineares e Não-

Lineares Aplicadas a Sistemas Reais; Editora UFMG, 1a Edição, 2000.

[4] ARAÚJO, C. J. F.; Introdução a Teoria da Lógica Fuzzy, Notas de Palestra;

Departamento de Engenharia Elétrica, FEJ/UDESC, Joinville, 1997.

[5] AZEVEDO, F. M.; Algoritmos Genéticos em Redes Neurais Artificiais; V Escola de

Redes Neurais, 1999, São José dos Campos-SP.

[6] AZEVEDO, F. M.; BRASIL, L. M.; OLIVEIRA, R. C. L.; Redes Neurais com Aplicações

em Controle e em Sistemas Especialistas; Editora Visual Books, 1a Edição, Agosto/2000.

[7] BARRETO, G. A.; ARAÚJO, A. F. R.; Identificação e Controle de Sistemas Dinâmicos

Usando a Rede Auto-Organizável de Kohonen; XIV Congresso Brasileiro de Automática,

Natal/RN, Setembro/2002.

[8] BARRON, J. J.; A Lógica Fuzzy em Foco, Byte No 06, pág. 94 a 100 - junho / 93.

[9] BIGNOLI, A. J.; Teoria Elemental de Los Conjuntos Borrosos, Academia Nacional de

Ingeniería, Buenos Aires - Republica Argentina, 1991.

[10] BITTENCOURT, G.; Inteligência Artificial - Ferramentas e Teorias; Editora UFSC,

1998, 1° Edição.

[11] BOBRUCKY B.; KEURER P.; VITTEK, J.; PASTIEROVIC, M.; ATTIOS, J.; A

Voltage Corrent PWM of Inverter FEJ Synchronous Motor Drive with Fuzzy Control.

Intelligent Motion, França, 1998.

[12] BRAGA, A. P.; CARVALHO, A. P. de L. F. de; LUDERNIR, T. B.; Fundamentos de

Redes Neurais Artificiais; Editora LTC, 2000 1º Edição.

[13] BRASIL, L.; AZEVEDO, F.; BARRETO, J.; Uma Arquitetura Híbrida para Sistemas

Especialistas; Grupo de Pesquisas em Engenharia Biomédica (GPEB), UFSC.

166

[14]BRUCIAPAGLIA, A. SILVA, A.; COELHO A.; LUIZ, C.; Controle Adaptativo Versus

Controle Fuzzy: Em Estudo de Caso em um Processo de Nível. SBA Controle e

Automação, 1994.

[15] CAMINHAS, W. M.; TAVARES, H. M. F.; GOMIDE, F.; Pattern Classification Using

Neurofuzzy and Neural Networks; Unicamp – SP.

[16] CAMINHAS, W.; TAVARES, H. M. F.; GOMIDE, F.; Identificação de Sistemas

Dinâmicos: Abordagem Baseada em Neurônio Nebuloso; Unicamp – Campinas/SP.

[17] CAMINHAS, W.; TAVARES, H. M. F.; GOMIDE, F.; Detecção de Falhas em Sistemas

Dinâmicos: Abordagem Baseada em Redes Neurofuzzy com Aprendizado On-Line; V

Congresso Brasileiro de Redes Neurais, pp. 613-618, Abril, 2001 – RJ/RJ – Brasil.

[18] CAMINHAS, W.; PEDRYCZ, W.; GOMIDE, F.; Fuzzy Set Based Neural Networks:

Structure, Learning and Aplication; Journal of Advanced Computational Intelligence;

Vol. 03, n° 3, 1999.

[19] CAMINHAS, W.; Tese de Doutorado: Estratégias de Detecção e Diagnóstico de Falhas

em Sistemas Dinâmicos; Unicamp – Campinas/SP, 1997.

[20] CAMINHAS, W.; TAVARES, H. M. F.; GOMIDE, F.; Rede Lógica Neurofuzzy:

Aplicação em Diagnósticos de Falhas em Sistemas Dinâmicos, SBA Controle &

Automação/ vol.4 no 3/ Setembro - Outubro 1994.

[21] CAO, Z.; LI, L.; KANDEL, A.; A New Model of Fuzzy Reasoning; SUS Center for

Artificial Intelligence and the Departament of Computer Science, Florida State

University, Taliahasee, 1990.

[22] CAVALCANTI, J. H. F.; ALSINA, P. J.; FERNEDA, E.; Posicionamento de um

Pêndulo Invertido Usando Algoritmos Genéticos; SBA Controle & Automação, Vol. 10 –

1999.

[23] DELGADO, M. R. B. S.; Tese de Doutorado: Projeto Automático de Sistemas Nebulosos

– Uma Abordagem Co-Evolutiva; Unicamp – Campinas/SP; Fevereiro 2003.

[24] FEUVRIE, B.; CORRIO O.; LAFORGUE I.; TERRIEN, F.; Neural Network Position

Estimator for a Synchronous Machine. Intelligent Motion, França,. 1998.

[25] FULLÉR, R.; Neural Fuzzy Systems; April/1995.

[26] GOMIDE, F.; BALLINI, R.; Uma Rede Neurofuzzy Recorrente: Aprendizado e

Aplicação; Unicamp – Campinas/SP – Brasil.

[27] GOMIDE, Fernando A. Campos; GUDWIN, Ricardo R.; Modelagem, Controle, Sistemas

e Lógica Difusa; SBA Controle & Automação/ vol.4 no 3/ Setembro - Outubro 1994.

167

[28] GOMIDE, F.; GUDWIN, R. R.; Controle de Processos por Lógica Fuzzy; Revista

Automação & Controle - Maio 1994.

[29] HADDAD, J.. Tese de Doutorado: Uma Contribuição à Análise de Conservação de

Energia Elétrica Utilizando a Teoria dos Conjuntos Fuzzy; Unicamp, 1993.

[30] HIROTA, K.; Industrial Applications and Education on Fuzzy Systems in Japan; SBA

Controle & Automação/ vol.4 no 3/ Setembro - Outubro 1994.

[31] IYODA, E. M; Tese de Mestrado: Inteligência Computacional no Projeto Automático de

Redes Neurais Híbridas e Redes Neurofuzzy Heterogêneas; Unicamp – Campinas/SP –

2000.

[32] JANG, J. R.; Self Learning Fuzzy Controllers Based on Temporal Back Propagation;

IEEE Trans. on Neural Networks, Vol. 3, n° 05, September 1992.

[33] JANG, J. R.; ANFIS: Adaptive Network Based Fuzzy Inference System; IEEE Trans. On

Systems Man and Cybernetics, Vol. 23, n° 03, May – June 1993.

[34] JANG, J. R.; SUN, C. T.; Neurofuzzy Modeling and Control; Proc. IEEE, Vol. 83, n° 03,

1995.

[35] JANG, J. R.; Input Selection for Anfis Learning; IEEE, 1996.

[36] KASABOV, N. K.; SONG, Q.; Denfis: Dynamic Evolving Neural-Fuzzy Inference

System and Its Aplication for Time-Series Prediction; IEEE, Vol. 10, no 2, Apbril 2002.

[37] KASABOV, N. K.; On-Line Learning Reasoning Rule Extraction and Aggregation in

Locally Optimized Evolving Fuzzy Neural Networks; Neurocomputing, 2001.

[38] KASABOV, N. K.; KOZMA, R.; WATTS, M.; Phoneme-Based Speech Recognition Via

Fuzzy Neural Networks Modeling and Learning; Information Sciences, 1998.

[39] KASABOV, N. K.; KOZMA, R.; A Fuzzy Neural Network for Knowledge Acquisition in

Complex Time Series; Control and Cybernetics, Vol. 27, no 4, 1998.

[40] KASABOV, N. K.; Evolving Fuzzy Neural Networks for Supervised/Unsupervised On-

Line Knowledge – Based Learning; IEEE, Vol. 31, no 6, December 2001.

[41] KLIR, G. J.; FOLGER, T. A.; Fuzzy Sets, Uncertainty, and Information, State

University of New York, Binghamton, Prentice Hall International, 1988.

[42] KOSKO, B.; Fuzzy Systems as Universal Approximators, IEEE Trans. On Computers;

Vol. 43, n° 11, november 1994.

[43] KOSKO, B.; Fuzzy Engineering, Prentice Hall, 1997.

[44] KOSKO, B.; Fuzzy Thinking, Hyperion, New York, 1993.

[45] KOVACS, Z.L. Redes Neurais Artificiais: Fundamentos e Aplicações. Collegium

Cognitivo/SP. 2a. edição, 1996

168

[46] LAMBERT - TORRES, G.; SILVA, L. E. B. da; BRITO, S. G. de; QUINTANA, V. H.;

Um Laboratório para o Ensino da Lógica Difusa; SBA Controle & Automação/ vol.1

Setembro - Outubro 1994.

[47] LADIM, R.; MENEZES, B.; SILVA, S.; CAMINHAS, W.; Non-Linear System

Identification Using a Neo-Fuzzy-Neuron Algorithm; Eletrical Drive Aplication; UFMG.

[48] LADIM, R.; Tese de Doutorado: Estimação de Estados do Motor de Indução Utilizando

Rede Neuro-Fuzzy com Aprendizado em Tempo Real; UFMG, dezembro/2000.

[49] LEAL, A. B.; Apostila: Laboratório de Sistemas de Controle I – UDESC; Joinville,

Março/1998.

[50] LIMA; C. A. M.; Tese de Mestrado: Emprego de Teoria de Agentes no Desenvolvimento

de Dispositivos Neurocomputacionais Híbridos e Aplicação ao Controle e Identificação

de Sistemas Dinâmicos; Unicamp – Campinas/SP; Fevereiro 2000.

[51] LIU, S.L. Minium Cast Flow Problems With Fuzzy Are Lenghts. 5th World.

[52] LOESCH, C.; SARI, S. T.; Redes Neurais Artificiais - Fundamentos e Modelos; Editora

FURB, 1995 , 1º Edição.

[53] LOPES, H. S.; PILLA, V.; Reconhecimento de Padrões em Sinais Eletrocardiográficos

com Redes Neurofuzzy e Algoritmos Genéticos; IV Congresso Brasileiro de Redes

Neurais, ITA - São José dos Campos - SP, 1999.

[54] LUCENA, P.; DE PAULA, M. F.; Árvores de Decisão Fuzzy; Internet, dezembro/2001.

[55] MAMDANI, E. H.; KING, P. J.; The Application of Fuzzy Control Systems to Industrial

Processes, Automatica vol.13, pág. 235- 242, Pergamon Press, Printed in Great Britain,

1976.

[56] MAMDANI, E. H., Member, IEEE; Application of Fuzzy Logic to Approximate

Reasoning Using Linguistic Synthesis,, 1977.

[57] MARTINS, R; FERREIRA, R; GONÇALVES, W.K.A .; A Contribution to the Analysis

of the Process of Logistics Using the Theory of Fuzzy Sets. 5th World Multi-Conference

on Systemics, Cybernetics and Informatics, EUA, 2001.

[58] MORALES, A. B. T.; Tese de Doutorado: Identificação Difusa de Sistemas - Proposta

de um Modelo Adaptativo; Universidade do Estado de Santa Catarina, Abril, 1997.

[59] NISHIKAWA, T.; Fuzzy Theory the Science of Human Intuition, Japan Computer

Quartely, 1989.

[60] NOBRE, F. S. M.; PALHARES, Á. G. B.; Informações Quantitativas e Qualitativas no

Projeto de Controladores Nebulosos; SBA Controle & Automação/ vol.8 no 2/ mai., jun.,

Julho e Agosto 1997.

169

[61] OGATA, Katsuhiko; Engenharia de Controle Moderno; Editora PHB, 1999, 3º Edição.

[62] PACITTI, T.; ATKINSON, C. P. Programação e Métodos Computacionais – Volume 2;

Livros Técnicos e Científicos Editora S.A. – 2a Edição, 1977.

[63] PADILHA, P. C. C.; PINHEIRO, G. M.; Aplicação de Controladores Neuro-fuzzy para

Processos Industriais; XIV Congresso Brasileiro de Automática, Natal/RN,

Setembro/2002.

[64] PAGLIOSA, A. L.; SÁ, C. C.; Obtenção das Funções de Pertinência de um Sistema

Neurofuzzy pelo Método de Kohonen; Congresso Brasileiro de Computação, Itajaí/SC,

2003.

[65] PAGLIOSA, A. L.; SÁ, C. C.; Sistema “Neo-Fuzzy-Neuron” Modificado pela Rede de

Kohonen Aplicado a Aproximação de Função; Revista da Universidade da Região de

Joinville, 2003.

[65] PASSOLD, F.; Notas de Aula: Automação Inteligente de Processos; UPF, 1995.

[66] PASSOLD, F.; BORGES, P. S. S.; ALMEIDA, O. M.; Design Issues and Laboratory

Experiments in Fuzzy PID Control Teaching.

[67] PEDRYCZ, W.; Rocha, A. F.; Fuzzy Set Based Models of Neurons and Knowledge

Based Networks; IEEE Trans. On Fuzzy Systems; Vol. 1, n° 4, november 1993.

[68] PIERI, E. R.; BATTISTELA, S.. Controle de Posição de um Robô Manipulador SCARA

Utilizando Redes Neurais Artificiais com Treinamento On-line. IV Conferência Brasileira

de RN, 1999.

[69] QUADRELLI, G.; TANSCHEIT, R.; VELLASCO, M. M.; Modelagem e Controle

Neuro-Fuzzy de Sistemas Dinâmicos Não-Lineares; V Congresso Brasileiro de Redes

Neurais, pp. 205-210, Abril, 2001- RJ/RJ – Brasil.

[70] REZENDE, S. O.; Sistemas Inteligentes: Fundamentos e Aplicações; Editora Manole

Ltda, 1a Edição, 2003.

[71] REZENDE, J.A .D.; MATITELLI, A .L. Um Estudo Comparativo entre Diferentes

Técnicas de Otimização do Treinamento de Neurocontroladores. 4a. Conferência

Brasileira de RN, 1999.

[72] RISSOLI, V. R. V.; CAMARGO, H. A.; FABRI, J. A.; Geração Automática de Regras a

Partir da Arquitetura Neuro-Fuzzy para Classificação de Dados (NEFCLASS); Simpósio

Brasileiro de Automação Inteligente, São Paulo/SP, Set. 1999.

[73] ROMERO, R. A. F.; ARNAUTS, T.; Desenvolvimento de um Sistema de Produção

Neuro-Fuzzy para a Itaipu Binacional.

170

[74] SÁ, C. C.; Teoria dos Conjuntos Difusos, Notas de Aula; Departamento de Engenharia

Elétrica, FEJ/UDESC, Joinville, 1997.

[75] SÁ, C. C.; Uma Arquitetura para Agentes Autônomos Móveis sob a Visão da

Inteligência Artificial Distribuída - Dissertação de Doutorado, Capítulo 4; Instituto

Tecnológico da Aeronáutica - São José dos Campos (SP), 1997.

[76] SALLES. F.P.; SUEMITSU, W.; HUY, H.L. Controle de um Motor Síncrono de Ímãs

Permanentes através de um Controlador Adaptativo Fuzzy. SBA Controle e Automação,

1994.

[77] SANDRI, S.; CORREA, C.; Lógica Nebulosa; V Escola de RN, Julho/1999, ITA – São

José dos Campos/SP.

[78] SILVA, I. N.; ARRUDA, L. V. R.; AMARAL, W. C.; Uma Abordagem Neuro-Nebulosa

para Identificação Paramátrica, SBA Controle & Automação/ vol.4 no 3/ Setembro -

Outubro 1994.

[79] SILVA, O.O; Minimização de Funções Nebulosas. Tutorial da UNITAU, 1997.

[80] SILVA, L. N. C.; Análise e Síntese de Estratégias de Aprendizado para Redes Neurais

Artificiais; Unicamp – Campinas/SP, 1998.

[81] SHAW, I. S.; SIMÕES, M. G.; As Vantagens da Aplicação da Lógica Difusa a Sistemas

de Controle; Eletricidade Moderna, Fevereiro de 1998.

[82] SHAW, I. S.; SIMÕES, M. G.; Controle e Modelagem Fuzzy; Editora Edgard Blucher

Ltda, 1999, 1º Edição.

[83] SOUZA, F. J. de; Sistemas Neuro-Fuzzy, ICA: Núcleo de Pesquisa Em IA,

http://www.ele.puc-rio/br/labs/ica/icahome.htlm

[84] SOUZA, F. J. de; Modelos Neuro-Fuzzy Hierárquicos, Tese de doutorado - ICA: Núcleo

de Pesquisa Em [3] IA, http://www.ele.puc-rio/br/labs/ica/icahome.htlm

[85] TAFNER, M. A.; XEREZ, M. ; FILHO, I. W. R.; Redes Neurais Artificiais - Introdução

e Princípios de Neurocomputação; Editora Eko, 1996, 1º Edição.

[86] TANSCHEIT, R.; Fundamentos de Lógica Fuzzy e Controle Fuzzy; http:// www.ele.puc-

rio/br/labs/ica.

[87] TEIXEIRA, E.; ARAÚJO, M.; BREUNIG, A; AZEVEDO, H. LIMA, Carlos.

Implementação de um Controlador Nebuloso de Baixo Custo. SBA Controle de

Automação, 1994.

[88] TITO, E. A. H.; Tópicos Avançados em Inteligência Artificial, 2001; http://

www.ele.puc-rio/br/labs/ica.

171

[89] TRILLAS, E.; DELDADO, M.; VILA, M. A.; CASTRO, J. L.; VERDEGAY, J. L.;

MORAGA, C.; CUENA, J.; GUTIERREZ, J.; RUIZ, A.; Fundamentos e Introdución a la

Ingeniería Fuzzy, Omron Electronics S.A., 1994.

[90] TRUCK, I.; AKDAG, H.; BORGI, A.; Using Fuzzy Modifiers in Calorimetry; 5 th

World Multiconference on Systemics, Cybernetics and Informatics; July, 2001, EUA.

[91] VAS, Peter; Eletrical Machines And Drives. Oxford University Press, 1999

[92] VELLASCO, M. M. B. R.; Inteligência Computacional, ICA: Núcleo de Pesquisa e IA,

http://www.ele.puc-rio/br/labs/ica/icahome.htlm

[93] VIANNA, G. K.; Dissertação de Mestrado: Sistemas Inteligentes de Arquitetura Híbrida

Neuro-Difusa para Reconhecimento de Padrões; Universidade Federal do Rio de Janeiro,

2000.

[94] XIANGYU, S.; FEIHU, Q.; Fast Convergence Algorithm for Wavelet Neural Network

Used for Signal or Function Approximation; Proceedings of ICSP 1996.

[95] YAGER, R. R.; On the Theory of Approximate Reasoning; SBA Controle & Automação/

vol.4 no 3/ Setembro - Outubro 1994.

[96] YAMAKAWA, T.; UCHINO, E.; Neo Fuzzy Neuron Based New Approach to System

Modeling, With Application to Actual System; IEEE, 1994.

[97] YAMAKAWA, T.; HORIO, K.; Modified Conuterpropagation Employing Neo Fuzzy

Neuron and Its Application to System Modeling; IEEE, 2001.

[98] YONEYAMA, T.; JUNIOR, C. L. N.; Inteligência Artificial em Controle e Automação;

Editora Edgard Blucher Ltda, 2000, 1º Edição.

[99] WARWICK, K.; An Introduction to Control Systens Second Edition. World Scientific,

1996.

[100] ZADEH, L.; Fuzzy Sets, Selected Papers by L. A. Zadeh, pág. 29 - 44.

[101] ZADEH, L. A.; Outline of a New Approch to the Analysis of Complex Systems and

Decision Processes, IEEE Transactions on Systems, Man, and Cybernetics, Vol. SMC -

3, no 1 pág. 28 - 44, Janeiro de 1973.

[102] ZHOU, Y. S.; LAI, L. Y.; Aptimal Design for Fuzzy Controllers by Genetic Algoritms;

IEEE, vol. 36, no 1, Janeiro/Fevereiro 2000.

[103] ZUBEN; F. J. V.; Tese de Doutorado: Modelos Paramétricos e Não-Paramétricos de

Redes Neurais Artificiais e Aplicações; Unicamp – Campinas/SP; Fevereiro 1996.

[104] ZOMER; G.; Excel – Macros e Visual Basic for Applications.

APÊNDICE I

ALGORITMO BACKPROPAGATION

173

ALGORITMO BACKPROPAGATION

As redes neurais multicamadas (MLP) são as mais populares. O treinamento é

supervisionado, e suas principais aplicações são: classificação de padrões, predição e

interpolação. A seguir, a figura AI.1, mostra uma rede multicamadas.

Figura AI.1 – Rede multicamadas

a) Treinamento de uma Rede Multicamadas:

É a otimização dos pesos das sinapses de forma que se obtenha o melhor mapeamento

“entrada-saída” possível. O treinamento é feito da seguinte forma:

1. Inicializa-se com pesos aleatoriamente;

2. Fornece-se amostra (entrada/saída);

3. Compara-se saída da rede com a saída desejada;

4. Corrige-se os pesos de acordo com o erro entre saída da rede e saída desejada;

5. Se o critério de parada for atingido então “PARA”, senão “volta para 2”.

O problema de otimização pode ser resolvido de várias formas, sendo o mais usual o

algoritmo de retropropagação de erro (backpropagation).

...... ...

Camada de Entrada Camada de Intermediária Camada de Saída

x1

xn

y1

ym

x2 y2

174

b) A Correção dos Pesos no Algoritmo de Retropropagação (Backpropagation):

O erro no neurônio j na iteração n é dado por:

)()()( nyndne jjj −= (AI.1)

onde: dj(n) é a saída desejada;

yj(n) é a saída da rede.

Define-se o Erro Quadrático Instantâneo como:

)(2

1)( 2 nen jj =Ε

(AI.2)

Somando-se os Ej(n) da camada de saída, tem-se:

∑∈

=ΕCj

j nen )(2

1)( 2 (AI.3)

O Erro Médio Quadrático, tido como função-custo é então definido como a média dos

Erros Quadráticos Instantâneos durante as iterações:

∑=

Ε=ΕN

nav n

N 1

)(1 (AI.4)

Seja o trecho de rede (ver figura AI.2):

Figura AI.2 – Rede neural com suas respectivas conexões

Seja a correção de pesos dada por:

)(

)()(

nw

nnw

jiji ∂

Ε∂−=∆ η

(AI.5)

onde: η é a taxa de aprendizado.

i jyi

wji

yj

175

Desejamos achar:

)(

)(

nw

n

ji∂Ε∂ (AI.6)

Logo, segundo a regra da cadeia pode-se escrever:

)(

)(

)(

)(

)(

)(

)(

)(

)(

)(

nw

nv

nv

ny

ny

ne

ne

n

nw

n

ji

j

j

j

j

j

jji ∂

∂Ε∂

=∂Ε∂ (AI.7)

Diferenciando (AI.3), temos:

)()(

)(ne

ne

nj

j

=∂Ε∂ (AI.8)

Diferenciando (AI.1), teremos:

1)(

)(−=

ny

ne

j

j(AI.9)

Como:

)()( jjj vny ϕ= (AI.10)

então,

)(')(

)(jj

j

j vnv

nyϕ=

∂ (AI.11)

Como,

)().()( nynwnv ij

jij ∑= (AI.12)

assim,

)()(

)(ny

nw

nvi

ji

j =∂

∂ (AI.13)

Substituindo (AI.8), (AI.9), (AI.11) e (AI.13) em (AI.7), obtêm-se:

)()).((').()(

)(nynvne

nw

nijj

ji

ϕ−=∂

Ε∂ (AI.14)

Logo,

)()).((').(.)( nynvnenw ijjji ϕη=∆ (AI.15)

Define-se gradiente local δj(n) como:

))((').()( nvnen jji ϕδ = (AI.16)

176

então,

)().(.)( nynnw ijji δη=∆ (AI.17)

c) Momentum:

Outra pequena alteração da fórmula acima é a introdução da inércia, também

conhecida como momentum ou momento. A utilização de uma taxa de aprendizado pequena

torna o aprendizado demorado. No entanto, a utilização de uma taxa alta pode fazer com que a

rede oscile, dificultando bastante o aprendizado. Um método simples para contornar esta

situação é a utilização de um termo denominado momento [12, 52, 70]. Este termo depende

da correção do peso na iteração anterior, introduzindo, assim um termo de realimentação, que

tornará a rede mais estável.

)().(.)1()( nynnwnw ijjiji δηα +−∆=∆ (AI.18)

onde α é denominada constante de momento.

d) Propagação dos Sinais de Entrada:

Através da propagação dos sinais de entrada obtém-se as saídas da rede, que subtraídas

dos valores desejados (fornecidos), fornecem os erros na camada de saída (ver figura AI.3).

177

Figura AI.3 – Propagação dos sinais de entrada

e) Retropropagação do erro:

O gradiente local (equação AI.16) aplicado à camada de saída é trivial. No entanto, na

camada intermediária, sua aplicação é menos trivial. Veja a figura AI.4, onde k é um neurônio

da camada de saída e j um neurônio de uma camada anterior.

Figura AI.4 – Rede com três camadas.

Mostra-se, entretanto que para a camada anterior à de saída, tem-se:

ϕΣv1

ϕΣv2

ϕΣv4

ϕΣv6

ϕΣv7

ϕΣv3

ϕΣv5

y1

x1y1

y1

y2

y2

y2

y3

y3

y4

y5

y4

y5

y6

y7

w13.y1

w23.y2

w14.y1

w24.y2

w15.y1

w25.y2

w13

w14

w15

w23

w24

w25

w36

w37

w46

w47

w56

w57

w36.y3

w46.y4

w56.y5

w37.y3

w47.y4

w57.y5

1

1x2

e6=d6-y6

e7=d7-y7

i jyi

wji

yjk

wkj

yk

178

∑=k

kjkji nwnnvn )().())((')( δϕδ (AI.19)

A equação AI.12 nos leva a entender a operação de retropropagação como

exemplificado na figura AI.5, onde através da equação AI.16 pode-se calcular os valores de

δi. De posse dos δi pode-se, através das equações AI.17 ou AI.18, calcular as correções dos

pesos.

Figura AI.5 – Retropropagação do erro

Vamos resumir aqui alguns dos parâmetros mais importantes que podem ser alterados

e que nos permitem modificar o comportamento do processo de aprendizagem:

• Número de neurônios e a forma em que estão conectados;

• Valores de inicialização dos pesos da rede (estado inicial);

• Taxa de aprendizado;

• Momentum;

• Aprendizado por épocas ou por exemplos;

• Tipo de função de transferência (sigmóide simétrica, assimétrica);

• Uso da temperatura na sigmóide;

w13

w14

w15

w23

w24

w25

w36

w37

w46

w47

w56

w57

δ61 e6=d6-y6

e7=d7-y7

v6ϕ

Σ*

v7ϕ

Σ*

δ6

δ6

v3ϕ

Σ*

v4ϕ

Σ*

v5ϕ

Σ*

δ7

δ7

δ7

v1ϕ

Σ*

v2ϕ

Σ*

1

δ3

δ3

δ4

δ4

δ5

δ5

179

• Uso de técnicas do tipo weight-decay (depreciação dos pesos);

• Critério de parada da aprendizagem (erro, número máximo de épocas,

generalização, ...).

O algoritmo backpropagation procura minimizar o erro obtido pela rede ajustando

pesos e limiares para que eles correspondam às coordenadas dos pontos baixos da superfície

de erro.

APÊNDICE II

ALGORITMO LVQ (VETOR DE QUANTIZAÇÃO LINEAR)

181

ALGORITMO VETOR DE QUANTIZAÇÃO LINEAR

O LVQ (Linear Vector Quantization), vetor de quantização linear, introduzido por

Kohonen em 1986, consiste em uma RNA utilizada para classificação de padrões, a qual cria

setores de saída para estes padrões e ao mesmo tempo ajusta os limites entre os setores de

classes para minimizar a classificação errônea [6, 12, 19]. O LVQ é também considerado por

alguns autores, como uma técnica de aprendizado supervisionado que utiliza informações de

classe para mover suavemente os vetores de peso de modo a melhorar a qualidade das regiões

de decisão de classificação.

Quanto à topologia (ver figura AII.1), o LVQ possui uma camada de entrada para

receber os padrões de entrada e uma camada de neurônios competitivos, que também usa um

esquema de aprendizado tipo vencedor leva-tudo.

Figura AII.1 – Esquema da rede para o LVQ [6]

Os pesos do nó vencedor e de seus vizinhos são ajustados pela equação AII.1:

))()().(()()1( twtettwtw ijjijij −+=+ η (AII.1)

para todo j classificado corretamente. E a equação AII.2:

))()().(()()1( twtettwtw ijjijij −−=+ η (AII.2)

para todo j classificado incorretamente.

182

onde: η é a taxa de aprendizado;

wij pesos dos neurônios selecionados.

Os passos para treinamento com algoritmo LVQ são apresentados a seguir:

1. Inicializar pesos e parâmetros;

2. Repetir;

2.1 Para cada padrão de treinamento X faça;

2.1.1 Definir modo vencedor;

2.1.2 Atualizar os pesos do modo vencedor e seus vizinhos

2.1.3 Reduzir taxa de aprendizado.

3. Até o erro ser menor que um dado valor.

A rede LVQ é considerada adequada a aplicações que requerem quantização de dados.

Exemplos onde esta habilidade é útil inclui análise estática, compreensão de dados e

problemas de otimização combinatorial. Além disso, pode ser empregada em processamento

de imagem, controle e processamento de fala.