Denise Maria Lopes Martins de Oliveira
_______________________________________________________________
Classificação Hierárquica Inteligente de
Elementos Finitos em um Esquema XML
2
Denise Maria Lopes Martins de Oliveira
Classificação Hierárquica Inteligente de
Elementos Finitos em um Esquema XML
Dissertação apresentada ao Curso de Mestrado em
Modelagem Matemática e Computacional (MMC) do
Centro Federal de Educação Tecnológica de Minas
Gerais, como requisito parcial à obtenção do título de
Mestre em Modelagem Matemática e Computacional.
Área de pesquisa: Sistemas Inteligentes.
Orientador: Prof. Dr. Gray Farias Moita
Co-orientador: Prof. Dr. Paulo Eduardo Maciel de Almeida
Belo Horizonte
Centro Federal de Educação Tecnológica de Minas Gerais
Diretoria de Pesquisa e Pós-Graduação
2005
3
Oliveira, Denise Maria Lopes Martins de
Classificação Hierárquica Inteligente de Elementos Finitos em
um Esquema XML. – Belo Horizonte: CEFET-MG/DPPG, 2005.
115 p.
Dissertação (mestrado) CEFET-MG. DPPG
1. Classificação. 2. Elementos Finitos. 3. Redes Self-organizing
Map Supervisionada. 4. Algoritmo Learning Vector Quantization. 5.
Esquema XML.
4
Folha de aprovação. Esta folha será fornecida
pelo Programa de Pós-Graduação e deverá
substituir esta página.
5
À minha mãe (in memoriam)
Neydinha,
É assim que continuo chamando carinhosamente a minha mãe.
Amor, Carinho e Dedicação, foram as porções mágicas que dela recebi
diariamente durante todos os anos em que vivemos juntas.
A Fé, a Determinação e a Persistência, foram as maiores heranças que dela recebi
e são os pilares pelos quais tenho construído a minha trajetória até aqui.
Mamãe, obrigada por tudo!
6
AGRADECIMENTOS
Ao Francisco, Matilde, Miguel e Maria, pelo amor e dedicação incondicional.
A Mônica e Margareth, pelas palavras de conforto, compreensão e pelo "ombro"
amigo.
Ao meu orientador, Prof. Dr. Gray Farias Moita, pelo apoio e confiança
dedicados a mim.
Ao meu co-orientador, Prof. Dr. Paulo Eduardo Maciel de Almeida, por ter me
apresentado o mundo maravilhoso das tecnologias em redes neurais artificiais.
Ao Prof. Dr. Sérgio Ricardo de Souza, pelo incentivo ao meu ingresso no curso
de mestrado.
Aos colegas do Grupo de Pesquisa em Sistemas Inteligentes – GPSI, do
CEFET-MG, pelas críticas e sugestões durante a prática dos nossos seminários.
7
"Importa, porém, caminhar hoje,
amanhã e no dia seguinte."
(Lucas, 13:33)
8
RESUMO
A utilização da XML como base para linguagens distintas na criação de vocabulários
visando o intercâmbio de informações entre aplicações diversas já é fato
consolidado. Os programas de modelagem computacional através do Método dos
Elementos Finitos possuem metodologias e especificações distintas, embora
apresentem um conjunto de regras que tratam das definições básicas destes
elementos. A incorporação da tecnologia XML se apresenta como facilitadora no
processo de importação e exportação de dados entre os diferentes programas de
elementos finitos através da FEML (PINHEIRO, 2003). Este trabalho apresenta
resultados de uma ferramenta, criada através da tecnologia das Redes Neurais
Artificiais, especificamente da rede Self-organizing Map (rede SOM) juntamente com
a técnica Learning Vector Quantization, implementada para fazer a classificação das
famílias dos elementos finitos para uso na FEML. A ferramenta aqui apresentada
realiza a classificação, em termos de elementos equivalentes ou semelhantes, sob
os elementos informados como padrões para uma rede SOM. Esta rede, através da
auto-organização do mapa das características comuns recebidas, juntamente
verificados entre um conjunto de classes informadas pelo supervisor da rede, é
capaz de encontrar com maior eficiência a equivalência entre os padrões, obtendo
como resposta a classe que representa o agrupamento dos padrões por ela
identificados. Enfim, a ferramenta permite aos programas de interface efetuarem
operações de intercâmbio entre o formato proprietário e o formato neutro, de forma
inteligente e dinâmica, minimizando os erros decorrentes do processo de transcrição
manual dos dados e diminuindo a necessidade de re-digitação total dos dados.
Palavras-chave: Classificação, Elementos Finitos, Rede Self-organizing Map
Supervisionada, Algoritmo Learning Vector Quantization, Esquema XML.
9
ABSTRACT
The extensive use of XML as the basis for distinct languages and in the creation of
vocabularies for the exchange of information besides several other applications is
already established. The computational modeling of finite elements programs
involves distinct methodologies and specifications, although they basically represent
a group of rules for the basic definitions of these elements. The incorporation of the
XML technology is here presented in order to facilitate the data import and export
process between the different programs of finite elements through FEML (PINHEIRO,
2003). This work presents the results of a tool that was created through the
technology of artificial neural networks, specifically from Self-organizing Map
networks together with the Learning Vector Quantization technique, and it intends to
classify finite elements families in FEML. The tool here presented will categorize, in
terms of equivalent or similar elements, the pattern for the SOM network. Through
the map of common received characteristics self-organization verified in a class
group informed by the net supervisor, this tool is able to efficiently find the
equivalence between the patterns, which will enable it to get as the result the class
which is represented by the group of patterns that it identifies. As a final point, it
allows the interface programs to make interchanges between a specific format and
the neutral format in an intelligent and dynamic way, minimizing errors caused by the
manual data transcription process and reducing the necessity of searching the entire
tree of elements.
Keywords: Classification, Finite Elements, Supervised Self-organizing Map Network,
Algorithm Learning Vector Quantization, XML Schema.
10
LISTA DE ABREVIATURAS E SIGLAS
ART
– Adaptive Resonance Theory
ART1
– Adaptive Resonance Theory, versão 1.0
ART2
– Adaptive Resonance Theory, versão 2.0
CML
– Chemical Markup Language
DTD
– Document Type Definition
FEML
– Finite Element Markup Language
HTML
– HyperText Markup Language
LVQ
– Learning Vector Quantization
MathML
– Mathematical Markup Language
MCP
– McCulloch e Pitts
MEF
– Método dos Elementos Finitos
MLP
– Multi-Layer Perceptron
MusicML
– Music Markup Language
RNA
– Redes Neurais Artificiais
SOM
– Self-organizing Map
W3C
– World Wide Web Consortium
XML
– Extensible Markup Language
11
LISTA DE ILUSTRAÇÕES
Figura 2.1 – Proposta básica da FEML .................................................... 28
Figura 2.2 – Árvore de elementos da família 2D ...................................... 29
Figura 3.1 – Visão esquemática de um neurônio MCP ............................ 32
Figura 3.2 – Visão esquemática de uma rede feed-forward .................... 34
Figura 3.3 – Visão da função Chapéu Mexicano ..................................... 43
Figura 3.4 – Arquitetura da rede SOM ..................................................... 43
Figura 3.5 – Formatos de vizinhança em torno do nodo vencedor ........... 45
Figura 3.6 – Redução da região de vizinhança ........................................ 45
Figura 3.7 – Diagrama da classificação adaptativa de padrões ............... 49
Figura 4.1 – Topo da hierarquia das famílias dos elementos .................. 53
Figura 4.2 – Topo da hierarquia da família Bidimensional (2D) ............... 54
Figura 4.3 – Hierarquia da família Triangular (2D) .................................... 54
Figura 4.4 – Hierarquia da família Quadrilateral (2D) ............................... 55
Figura 4.5 – Topo da hierarquia da família Tridimensional (3D) .............. 56
Figura 4.6 – Hierarquia da família Tetrahedral (3D) ................................ 56
Figura 4.7 – Hierarquia da família Pentahedral (3D) ................................ 57
Figura 4.8 – Hierarquia da família Hexahedral (3D) ................................. 58
Figura 4.9 – Situação do mapa topológico após 500 iterações ................ 70
Figura 4.10 – Situação após 25.000 iterações .......................................... 71
Figura 4.11 – Situação após 50.000 iterações .......................................... 71
Figura 4.12 – Situação após 1.500 iterações ........................................... 76
Figura 4.13 – Situação após 3.000 iterações ........................................... 77
Figura 4.14 – Situação após 4.500 iterações ........................................... 77
12
Figura 4.15 – Resultados práticos do programa lvqEF.m ........................ 79
Gráfico 5.1 – Resultados da Topologia 1 sobre os
padrões conhecidos ............................................................. 81
Gráfico 5.2 – Resultados da Topologia 1sobre os
padrões desconhecidos ...................................................... 83
Gráfico 5.3 – Resultados da Topologia 2 sobre os
padrões conhecidos/desconhecidos .................................... 89
Gráfico 5.4 – Resultados da Topologia 3 sobre os
padrões conhecidos/desconhecidos ................................... 94
Quadro 3.1 – Algoritmo de treinamento para redes MLP ........................ 39
Quadro 3.2 – Algoritmo de treinamento para redes SOM ........................ 47
Quadro 3.3 – Algoritmo de treinamento LVQ ........................................... 50
Quadro 4.1 – Codificação das Famílias dos elementos ........................... 60
Quadro 4.2 – Codificação da Geometria .................................................. 60
Quadro 4.3 – Codificação da Aplicação ................................................... 60
Quadro 4.4 – Codificação da Ordem ........................................................ 60
Quadro 4.5 – Codificação do Tipo_Elemento ........................................... 61
Quadro 4.6 – Codificação dos Nomes dos Elementos ............................. 61
Quadro 4.7 – Vetor de pesos w inicialmente iguais (Topologia 2) ............ 69
Quadro 4.8 – Vetor de pesos w inicialmente iguais (Topologia 3) ............ 75
Quadro 5.1 – Agrupamentos dos elementos semelhantes
por Aplicação, Ordem e Tipo_Elemento ............................. 86
Quadro 5.2 – Agrupamentos dos elementos semelhantes
13
por Família e Geometria ...................................................... 86
Quadro 5.3 – Agrupamentos dos elementos semelhantes
por seqüência ...................................................................... 87
Quadro 5.4 – Agrupamentos dos elementos equivalentes ....................... 88
Quadro 5.5 – Agrupamentos dos elementos semelhantes ....................... 88
14
LISTA DE TABELAS
Tabela 4.1 – Classificação das características básicas dos elementos ... 62
Tabela 5.1 – Resultados da Topologia 1 sobre os
padrões conhecidos ............................................................. 82
Tabela 5.2 – Resultados da Topologia 1 sobre os
padrões desconhecidos ....................................................... 83
Tabela 5.3 – Resultados da Topologia 2 sobre os
padrões conhecidos/desconhecidos .................................... 89
Tabela 5.4 – Resultados da Topologia 3 sobre os
padrões conhecidos ............................................................. 92
Tabela 5.5 – Resultados da Topologia 3 sobre os
padrões desconhecidos ....................................................... 93
15
SUMÁRIO
RESUMO
......................................................................................
08
ABSTRACT ......................................................................................
09
LISTAS
10
......................................................................................
1 INTRODUÇÃO
...........................................................................
18
1.1 MOTIVAÇÃO
...........................................................................
19
1.2 CARACTERIZAÇÃO DO PROBLEMA
1.3 OBJETIVOS
................................
20
...........................................................................
21
1.3.1 Objetivos específicos
......................................................
22
1.4 PROPOSTA DE DESENVOLVIMENTO
................................
22
1.5 ESTRUTURAÇÃO DESTE TRABALHO
................................
23
2 CONTEXTUALIZAÇÃO DO TRABALHO
................................
24
2.1 CARACTERÍSTICAS BÁSICAS DA XML ................................
24
2.2 ESQUEMA XML
................................................................
26
2.3 FEML – FINITE ELEMENT MARKUP LANGUAGE ……………
27
2.4 DISCUSSÕES FINAIS
30
......................................................
3 REDES NEURAIS ARTIFICIAIS E CLASSIFICAÇÃO
DE PADRÕES
................................................................
31
3.1 FUNDAMENTOS
................................................................
32
3.2 APLICAÇÕES
................................................................
35
3.3 MÉTODOS DE APRENDIZADO
...........................................
36
3.4 REDES DE MÚLTIPLAS CAMADAS ..........................................
38
3.4.1 Algoritmo de aprendizado de uma rede MLP
......................
38
3.4.2 Algoritmo de treinamento de uma rede MLP
......................
39
16
3.5 REDES AUTO-ORGANIZÁVEIS
...........................................
40
...........................................................................
41
3.5.2 Redes SOM ...........................................................................
42
3.5.2.1 Algoritmo de treinamento da rede SOM
......................
45
3.6 ALGORITMO LEARNING VECTOR QUANTIZATION (LVQ) ....
48
3.6.1 Treinamento LVQ
................................................................
49
......................................................
50
3.5.1 Redes ART
3.7 DISCUSSÕES FINAIS
4 DESENVOLVIMENTO DOS MODELOS DE
CLASSIFICAÇÃO
................................................................
51
4.1 ATUALIZAÇÃO DA FEML
......................................................
52
4.1.1 Modelo Hierárquico Atual
......................................................
53
4.1.2 Resultados obtidos com a expansão da FEML ......................
58
4.2 CODIFICAÇÃO DA FEML
......................................................
59
4.2.1 Codificação das características básicas dos elementos..........
59
4.2.2 Tabela de classificação para os elementos finitos
61
...........
4.3 DESENVOLVIMENTO DO PRIMEIRO MODELO DE REDE –
TOPOLOGIA 1 ...........................................................................
4.3.1 Implementação da Topologia 1
63
...........................................
63
4.3.2 Resultados da Topologia 1 ......................................................
65
4.4 DESENVOLVIMENTO DO SEGUNDO MODELO DE REDE –
TOPOLOGIA 2 ............................................................................
4.4.1 Implementação da Topologia 2
66
............................................
66
4.4.2 Resultados da Topologia 2 .......................................................
68
4.5 DESENVOLVIMENTO DO TERCEIRO MODELO DE REDE –
TOPOLOGIA 3 .............................................................................
73
17
4.5.1 Implementação da Topologia 3
...........................................
73
4.5.2 Resultados da Topologia 3 ....................................................
75
4.6 DISCUSSÕES FINAIS
.....................................................
79
5 ANÁLISE DA FERRAMENTA ......................................................
80
5.1 TOPOLOGIA 1 – classEF.m ......................................................
80
5.1.1 Aspectos positivos e negativos da Topologia 1 – classEF.m ...
81
5.2 TOPOLOGIA 2 – somEF.m .......................................................
84
5.2.1 Aspectos positivos e negativos da Topologia 2 – somEF.m
...
85
........................................................
90
5.3 TOPOLOGIA 3 – lvqEF.m
5.3.1 Aspectos positivos e negativos da Topologia 3 – lvqEF.m
...
90
5.4 COMPARAÇÃO ENTRE AS TOPOLOGIAS DE REDE
UTILIZADAS
...........................................................................
95
6 CONCLUSÕES E CONSIDERAÇÕES FINAIS...............................
96
6.1 NOVOS DESAFIOS
98
.................................................................
6.1.1 Extensão do trabalho para outras famílias e atributos
dos elementos
.................................................................
98
6.1.2 Extensão do trabalho para outros programas MEF..................
99
6.1.3 Rotinas de busca por padrões definidos em uma
base de dados
.................................................................
99
6.1.4 Rotina de exportação dos dados ............................................
100
6.1.5 Aplicação do modelo ART ......................................................
100
6.2 CONSIDERAÇÃO FINAL
......................................................
101
...........................................................................
102
ANEXO A – CÓDIGO FONTE DOS PROGRAMAS ........................
105
REFERÊNCIAS
18
1
INTRODUÇÃO
Muito se tem feito na resolução de problemas por classificação empregando a
tecnologia das Redes Neurais Artificiais (RNA). Alguns dos exemplos típicos são o
reconhecimento de voz, de caracteres e de imagens (BRAGA et al., 2003). Outros,
em
sistemas
complexos
capazes
de
capturar
importantes
características
estatisticamente intrínsecas em um espaço de entrada (dados), descrever os
fenômenos de ordenação coletiva a partir de uma certa desordem inicial e formar
agrupamentos de padrões semelhantes em um mapa de características autoorganizáveis (HAYKIN, 2001).
Neste contexto, o presente trabalho representa um prosseguimento da pesquisa
iniciada a partir da ferramenta Finite Element Markup Language (FEML) proposta por
Pinheiro (2003). A FEML é a proposição de um formato neutro para a estruturação e
intercâmbio de dados entre os programas que utilizam o Método dos Elementos
Finitos (MEF), criado através da tecnologia da Extensible Markup Language (XML) e
de esquemas XML. A atual contribuição representa a criação de uma ferramenta
baseada na tecnologia das RNA, especificamente por redes auto-organizáveis, que
será utilizada em conjunto com a linguagem FEML e que irá permitir aos programas
de interface entre os diferentes programas MEF existentes, efetuarem as operações
de intercâmbio dos dados de maneira inteligente e dinâmica a partir da própria
FEML.
19
Os programas de análise de estruturas que utilizam o MEF são programas que
tratam fenômenos físicos que são expressos em modelos bastante complexos e que
tendem a gerar grande volume de dados na sua descrição. Projetos de maior
envergadura, que utilizam os programas de elementos finitos, são desenvolvidos em
etapas que nem sempre são executadas em um mesmo programa. Muitas dessas
etapas são complexas, tornando-se às vezes inviável o emprego de um único
sistema que contemple todas as fases do projeto, sendo necessária, em sua maioria,
a utilização encadeada de vários programas (OLIVEIRA et al., 2004). Geralmente, os
dados gerados por um sistema devem alimentar a entrada do próximo dentro de
uma cadeia, utilizando programas que empregam algoritmos ou métodos distintos de
resolução (PINHEIRO E MOITA, 2003).
Este trabalho pretende realizar a sua contribuição: aperfeiçoando as operações de
exportação e importação entre o formato proprietário e o formato neutro entre os
programas de interface MEF, de maneira inteligente e dinâmica, eliminando os erros
decorrentes da redigitação dos dados e dinamizando o processamento dos mesmos.
1. 1 MOTIVAÇÃO
Existem atualmente, no mercado, diversos programas que são utilizados para
análise de estruturas e que utilizam o MEF (MACKERLE, 2002). Entretanto, observase a ausência de um formato padrão para o intercâmbio de dados entre esses
programas, o que dificulta a realização do trabalho com mais de um aplicativo para a
20
solução ou modelagem de um problema qualquer (PINHEIRO, 2003). Assim, novas
propostas de padrões para transcrição destes dados são sempre bem vindas.
Portanto, a motivação maior deste trabalho é facilitar e permitir que o intercâmbio de
informações entre os diversos programas de elementos finitos existentes possam
utilizar de um padrão de saída para alimentar a entrada de outro sistema, mantendo
a integridade dos dados e dinamizando o processamento dos mesmos através da
ferramenta aqui construída e executada a partir da FEML.
1.2 CARACTERIZAÇÃO DO PROBLEMA
Os programas de elementos finitos trabalham com elementos básicos que, em sua
maioria, possuem elementos equivalentes em todos os outros programas. Assim
sendo, a existência de uma hierarquia que contemple as características básicas que
descrevem as famílias dos elementos finitos, que cubra a maior parte dos elementos
presentes na maioria dos programas de elementos finitos, pode ser bastante útil. Na
exportação dos dados entre os programas de modelagem de elementos finitos, as
características do elemento devem ser bem definidas, para que um outro programa
possa mapeá-lo corretamente durante sua importação.
A XML é uma candidata natural para que se faça a criação de um amplo vocabulário
para a descrição dos dados e das estruturas a serem utilizados nas interfaces de
entrada e de saída de cada sistema modelado entre os diversos programas de
elementos finitos existentes. Sua utilização vem crescendo consideravelmente em
21
ambientes dentro e fora da Internet como base para linguagens e vocabulários na
criação de formatos neutros, não proprietários e extensíveis, visando o intercâmbio
eletrônico de dados entre as diferentes aplicações. A tecnologia XML permite tanto a
estruturação de dados como também a sua validação através da criação de
vocabulários (esquemas XML) que são utilizados para garantir a correção e
integridade dos mesmos, assim como a proposta da FEML (PINHEIRO, 2003).
O conjunto das características básicas dos elementos, devidamente estruturadas,
seria suficiente para que o programa determinasse um elemento equivalente, ou o
mais próximo possível (semelhante), fazendo um mapeamento interno de acordo
com as características recebidas. Mas a geração da hierarquia proposta tende a ficar
muito grande com a adesão da grande parte dos elementos finitos presente nas
diversas famílias existentes nos programas MEF. O que poderá comprometer o
processamento na execução de rotinas programadas para encontrar o elemento
equivalente ou semelhante presentes nesta hierarquia, fazendo-se necessária a
implementação de rotinas inteligentes para que o acesso às especializações, a partir
da generalização, seja mais dinâmico.
1.3 OBJETIVOS
Este trabalho de pesquisa objetiva a criação e a implementação de uma ferramenta
inteligente para o reconhecimento e classificação de famílias de elementos finitos na
FEML.
22
1.3.1 Objetivos específicos
Este trabalho pretende: (a) estender o trabalho já desenvolvido na ferramenta FEML
para que se possa contemplar novas famílias dos elementos finitos, neste caso,
através da adesão da família do espaço contínuo tridimensional (3D) do programa
LUSAS; e (b) aperfeiçoar os programas de interface MEF durante a operação de
importação entre o formato neutro e o formato proprietário, de forma inteligente,
dinâmica e mantendo a integridade dos dados.
1.4 PROPOSTA DE DESENVOLVIMENTO
O desenvolvimento aqui proposto utilizará as RNA na criação da ferramenta objeto
desta pesquisa. As RNA possuem capacidade computacional adquirida por meio de
aprendizado e generalização, são capazes de resolver problemas de aproximação,
predição, classificação, categorização e otimização (BRAGA et al., 2003). A
resolução por classificação se dá através da atribuição de padrões como entrada a
ser identificada entre um conjunto de classes conhecidas. Já na categorização, a
resolução se dá através da descoberta de características estatisticamente relevantes
de um determinado conjunto de dados e como os mesmos se dividem e se autoorganizam em classes.
A ferramenta aqui proposta fará a classificação dos elementos finitos, em termos de
elementos equivalentes ou de elementos semelhantes (menos especializados)
durante a importação dos dados entre os programas MEF a partir da FEML.
23
1.5 ESTRUTURAÇÃO DESTE TRABALHO
A apresentação escrita deste trabalho não está na ordem cronológica do
desenvolvimento realizado, mas, por uma questão de clareza, serão apresentadas,
no Capítulo 2, as características básicas da XML e uma descrição sucinta da FEML.
No Capítulo 3, serão apresentados os fundamentos da tecnologia das Redes
Neurais Artificiais, com a descrição do algoritmo e treinamento das redes Selforganizing. O Capítulo 4 apresenta detalhadamente a metodologia aplicada na
criação de três diferentes modelos de redes, apresentados de maneira cronológica
os estudos realizados para atender a proposta inicial desta pesquisa, sendo
apresentado no final, um modelo conclusivo que utiliza o algoritmo Learning Vector
Quantization (LVQ) juntamente com a rede Self-organizing Map (SOM) em sua
construção e validação. Finalmente, os Capítulos 5 e 6 apresentam as análises,
conclusões e considerações finais a respeito do desenvolvimento do trabalho, bem
como traçam algumas sugestões para desenvolvimentos futuros.
24
2
CONTEXTUALIZAÇÃO DO TRABALHO
O presente trabalho procura sanar um dos problemas apontados por Pinheiro (2003)
no que diz respeito ao mapeamento dos diversos elementos finitos de um software
para o outro, empregando-se o esquema FEML que utilizou a XML na sua
concepção. As tipificações dos elementos e a ampliação dos mesmos para outras
famílias foram apontadas como iniciativas necessárias para validação da FEML,
visando sua efetiva aplicabilidade entre os diversos programas de modelagem por
Elementos Finitos existentes. Naturalmente, a ampliação da FEML implica na
expansão do modelo hierárquico atual e assim, torna-se necessário a criação de
rotinas inteligentes para que o processamento das informações nos programas de
interface entre os programas MEF seja mais dinâmico.
Neste capítulo, serão apresentados os fundamentos da tecnologia XML e suas
aplicações. Assim como também, fará uma breve descrição da ferramenta FEML. As
seções 2.1 e 2.2 apresentam a tecnologia XML e a seção 2.3 apresenta a FEML.
2.1 CARACTERÍSTICAS BÁSICAS DA XML
A XML foi proposta e desenvolvida pelo W3C (The World Wide Web Consortium –
grupo baseado no MIT, responsável por desenhar padrões para Web) para ser um
complemento à HyperText Markup Language (HTML) ou linguagem de marcação de
25
hipertexto (TOLENTINO, 2002). O papel destinado à HTML é a formatação dos
dados, ou seja, como os mesmos serão expostos no arquivo a ser exibido, já a XML
descreve a estrutura dos dados. Sendo assim, a camada da formatação fica
separada do dado, facilitando e gerando layouts diferentes para clientes distintos.
A proposta da XML é basicamente estruturar um documento e seus dados,
utilizando-se de marcações (tags) criadas indefinidamente – por isto o sentido de
extensibilidade da linguagem – dando ao documento uma formatação com regras
fixas, podendo ser interpretado e apresentado através de variadas formas,
dispositivos e aplicações distintas entre mundos diferentes (TOLENTINO, 2002). Ou
seja, a XML separa o esquema de exibição do documento do seu conteúdo,
permitindo que um mesmo documento seja apresentado de maneira variada e de
acordo com o dispositivo (monitor de um computador, celular e palmtop). Outra
grande vantagem é que, além de transmitir as informações, ela também interpreta o
seu significado, pois cada categoria de informações possui sua marcação específica
e significado. Além da possibilidade da estruturação de um documento no formato
XML ser facilmente visualizado em formato de uma estrutura em árvore.
A XML apresenta um forte conjunto de aplicações e especificações que permitem a
geração
de
ferramentas
avançadas
de
validação,
consulta,
exibição
e
transformação, fato este que comprova seu crescimento em ambientes dentro e fora
da rede mundial de computadores (FÜRST E SCHMIDT, 2000).
Necessidades crescentes de novas marcações são sempre adicionadas à
linguagem, algumas para atender determinados setores, outras para acompanhar a
26
evolução tecnológica. Neste sentido, a evolução da linguagem nos permite a criação
de vocabulários especificamente para uma determinada cultura e aplicação
chamados de esquema XML (XML schema).
2.2 ESQUEMA XML
Um esquema XML é uma aplicação da XML, ou melhor, é um vocabulário capaz de
definir e validar a estrutura das classes de documentos, os elementos existentes,
bem como sua ordem e os valores possíveis para os conteúdos do documento XML,
garantindo sua correção e integridade dos dados e de sua estrutura. A possibilidade
de que cada categoria de informação tenha seu próprio “vocabulário” possibilitou
que as informações contidas num documento possam ser identificadas e trocadas
entre aplicações distintas e entre diferentes plataformas, criando assim, uma espécie
de língua universal pelo qual todos podem ler e escrever (TOLENTINO, 2002).
Ainda, segundo Tolentino (2002), existem duas classes de documentos em XML: os
“bem formados” e os “válidos”. Um documento que segue as regras básicas de
sintaxe XML respeitando as normas sintáticas da linguagem é considerado um
documento bem formado. Um documento válido, além de ser bem formado, também
tem que estar de acordo com uma Document Type Definition – DTD (definição da
XML que permite a descrição e a caracterização da estrutura e do conteúdo de um
documento) ou com um Esquema – Schema existente, obedecendo as regras de
seqüência, alinhamento, atributos e valores para um documento de maneira
previamente estabelecidos. Portanto, todo documento XML que é “válido” é
27
logicamente considerado “bem formado”. Porém um documento válido para um
determinado esquema em particular não deve ser necessariamente válido para outro
esquema.
Através dos esquemas XML é possível criar estruturas e conteúdos de documentos
específicos (vocabulários) aplicados a diversas famílias (HAROLD, 1999).
Exemplificando, a Chemical Markup Language (CML) é uma linguagem de marcação
para descrição dos elementos químicos, a Mathematical Markup Language
(MathML) é uma linguagem de marcação para descrição das equações
matemáticas, Music Markup Language (MusicML) é uma linguagem de marcação
para descrição da notação musical e mais tantas outras que estão sendo criadas.
A seção seguinte, fará uma descrição sucinta sobre o esquema FEML, que é uma
linguagem de marcação para a descrição das características básicas dos elementos
finitos entre os programas MEF, criado e implementado por Pinheiro (2003).
2.3 FEML – FINITE ELEMENT MARKUP LANGUAGE
A FEML é um esquema XML como proposta de um formato neutro, que visa o
intercâmbio de dados em elementos finitos (PINHEIRO, 2003). Em seu estágio atual,
a FEML contempla apenas os programas voltados para análises de estruturas e está
restrita à descrição dos elementos no espaço contínuo bidimensional (2D). A Figura
2.1 representa graficamente a proposta. Nesta figura também está indicado o ponto
de inserção do presente trabalho.
28
FIGURA 2.1 – Proposta básica da FEML
Fonte: PINHEIRO, 2003.
Pinheiro (2003) propôs em seu trabalho de mestrado a criação de um modelo
hierárquico de tipos de elementos (visando mapeá-los), para que fosse utilizado
entre os diversos programas de elementos finitos, uma vez que é impossível tratálos através do relacionamento um-para-um. Tal limitação de relacionamento se deve
ao fato de que os programas criam elementos altamente especializados e que nem
sempre possuem elementos equivalentes no sistema de destino. Mas, pode-se
constatar que estes elementos diferenciados são de fato especializações de tipos
mais básicos e que provavelmente serão encontrados na maioria dos sistemas.
Assim sendo, deve-se criar um modelo hierárquico para mapear um conjunto básico
de elementos típicos de cada família, para que os programas de interface
desenvolvidos pelos diversos programas de elementos finitos possam, através desta
hierarquia básica, realizar operações de exportação e importação facilitadas através
de um esquema XML. Assim, um modelo original seria espelhado no sistema destino
com um elemento equivalente ou pelo menos semelhante (menos especializado).
A visão da árvore mencionada está ilustrada na Figura 2.2. Trata-se da hierarquia
das características dos elementos da família do espaço contínuo bidimensional (2D)
29
e as geometrias triangular e quadrilateral do programa LUSAS (2003a, b). A título de
exemplo, tome-se um elemento estruturado de acordo com a sintaxe (tag) XML:
<Example
Family= ”2D”
Shape= ”tri”
Application= ”static”
Order= ”linear”
Element_type= ”plane stress” />
Este elemento poderia ser facilmente identificado no programa LUSAS (2003a) como
o elemento de nome “TPM3”.
FIGURA 2.2 – Árvore de elementos da família 2D
Fonte: PINHEIRO, 2003.
30
Com a expansão natural da atual hierarquia (Figura 2.2), por adição de novas
famílias de elementos, a hierarquia gerada tende a crescer consideravelmente, o
que implica em mais tempo despendido em processamento para encontrar o
elemento equivalente ou semelhante. No estágio em que se apresenta, a FEML
necessita da criação de uma rotina, utilizando-se da lógica tradicional e a linguagem
de programação C++, com um total mínimo de duzentos e cinqüenta e três (253)
linhas de código (sem os comentários de efeito documental) para se obter como
resposta a classificação do elemento face às características recebidas (ver Anexo
A).
Como proposta do presente trabalho, pretende-se ampliar a ferramenta FEML
agregando-se a ela novas famílias dos elementos, com isto, aumentando bastante a
hierarquia mencionada anteriormente. Assim sendo, torna-se necessária a
implementação de rotinas inteligentes, para que o acesso às especializações à partir
da generalização seja mais dinâmica.
2.4 DISCUSSÕES FINAIS
Nesse capítulo foram apresentadas a tecnologia XML, sua proposta e aplicação na
construção de esquemas, como embasamento teórico para o entendimento sobre o
esquema FEML. Foram abordados também, os fundamentos da FEML e o modelo
hierárquico proposto para o mapeamento dos elementos finitos existentes na família
do espaço contínuo bidimensional (2D) desenvolvidos por Pinheiro (2003).
31
3
REDES NEURAIS ARTIFICIAIS E CLASSIFICAÇÃO DE PADRÕES
As RNA são modelos matemáticos inspirados nas estruturas neurais biológicas e
que possuem capacidade computacional adquirida por meio de aprendizado e
generalização (HAYKIN, 2001). São constituídas por um número grande de
elementos de processamento simples (neurônios), com várias conexões entre si
(sinapses),
as
quais
apresentam
propensão
para
o
armazenamento
do
conhecimento experimental e de sua disponibilização para posterior utilização. O
conhecimento é adquirido através do processo de treinamento. As capacidades das
conexões entre os neurônios, conhecidas como ponderações sinápticas, são usadas
para o armazenamento do conhecimento adquirido.
A solução de problemas através das RNA é bastante atrativa, uma vez que a
maneira com que os mesmos são internamente representados e estruturados
(paralelismo natural), criam possibilidades de desempenho superior aos dos
modelos convencionais (BRAGA et al., 2000). Mas, sem dúvida, a capacidade de
aprender através de exemplo e de generalizar a informação aprendida são as
maiores vantagens na solução de problemas através das RNA.
Neste capítulo, serão apresentados os fundamentos das RNA, suas aplicações e
modos de aprendizado. Também serão apresentadas as redes auto-organizáveis e a
técnica de quantização por vetor de aprendizado em suas aplicações. A intenção
deste capítulo é servir como um embasamento teórico para os modelos das redes
32
construídos como objeto de estudo deste trabalho e que serão apresentadas nos
próximos capítulos. As seções 3.1 a 3.3 referem-se aos fundamentos das RNA e
suas aplicações, a seção 3.4 às redes auto-organizáveis e a seção 3.5 à técnica do
algoritmo para quantização por vetor de aprendizado.
3.1 FUNDAMENTOS
O processamento da informação em RNA utiliza-se de estruturas neurais artificiais,
nas quais a informação é armazenada e processada de maneira paralela e
distribuída por elementos processadores que correspondem ao neurônio artificial.
Um modelo de RNA possui um vetor de n entradas (ou padrões de entrada), um
vetor de saída, ponderações nas entradas, somatório de entradas ponderadas e a
função de ativação que irá disparar ou inibir o neurônio.
A Figura 3.1 mostra a visão de um neurônio artificial conhecido como modelo de
McCulloch e Pitts (MCP).
FIGURA 3.1 – Visão esquemática de um neurônio MCP
Fonte: BRAGA et al., 2003.
33
Na Figura 3.1 pode-se visualizar as entradas dos neurônios que correspondem ao
vetor x = [x1, x2, ..., xn]T de dimensão n, representando o padrão fornecido à rede.
Para cada uma das entradas xi, há um peso correspondente wi na entrada dos
neurônios. A soma das entradas xi ponderadas pelos pesos correspondentes wi é
chamada de saída linear u, onde:
u = ∑ wi xi
(3.1)
i
A saída y do neurônio é também chamada de ativação e é obtida pela aplicação de
uma função f(.) para a saída linear u, indicada por y = f(u). A função f(.) de ativação
pode assumir diversas formas, geralmente não-lineares, dependendo dos valores
dos pesos w e do limiar θ. A função degrau unipolar é um exemplo de função de
ativação, também chamada de limiar ou threshold, representada pela equação a
seguir:
⎧0, se (u < θ )
f (u ,θ ) = ⎨
⎩1, se (u ≥ θ )
(3.2)
onde θ é o limiar através do qual a saída do neurônio é ativada.
Portanto, uma RNA é formada por elementos processadores simples como o
esquema da Figura 3.1, onde cada processador executa uma função simples. Mas
uma RNA tem capacidade computacional para a resolução de problemas complexos.
Entre os vários modelos de rede neural artificial, tem-se a rede do tipo feed-forward
(propagação para frente), na qual os neurônios de uma camada recebem
informações apenas dos neurônios de camadas anteriores ou diretamente da
entrada, por onde cada elemento processado executa uma função semelhante à
34
equação f(θ,u) anteriormente demonstrada. Este tipo de rede poderá possuir xm
entradas, yp saídas e n camadas intermediárias, conforme visualização da Figura
3.2, sendo capaz de resolver problemas de regressão, classificação ou predição no
espaço Rn (BRAGA et al., 2003).
FIGURA 3.2 - Visão esquemática de uma rede feed-forward
Fonte: MEIRELES et al., 2003.
Segundo BRAGA et alli (2003), o número de entradas e saídas depende da
dimensionalidade dos dados, enquanto que o número de neurônios nas camadas
intermediárias depende da complexidade do problema. Assim, quanto maior o
número de neurônios nas camadas intermediárias, mais complexas são as funções
mapeadas com a RNA. Mas o número excessivo de neurônios intermediários pode
levar a resultados indesejáveis. Portanto, a escolha da estrutura da rede neural
determinará diretamente a qualidade do modelo obtido. O grande desafio é
encontrar o melhor modelo entre as inúmeras soluções possíveis, o que requer
estudos sistematizados como o proposto neste trabalho.
35
3.2 APLICAÇÕES
As RNA são capazes de resolver problemas de aproximação, predição,
classificação, categorização e otimização (BRAGA et al., 2003).
Em problemas de classificação, o objetivo é atribuir um padrão de entrada (vetor x) a
uma classe a ser identificada entre um conjunto de classes conhecidas. Neste caso,
as classes devem ser bem definidas e representadas para que se faça o
reconhecimento diante das características recebidas. Aplica-se ao reconhecimento
de voz, de caracteres, de imagens, dentre outros.
Em problemas de categorização, o objetivo é a descoberta de características
estatisticamente relevantes em um determinado conjunto de dados e como os
mesmos se dividem e se auto-organizam em classes. Neste caso, somente os dados
de entrada são conhecidos, cabendo à rede encontrar uma harmonia com o conjunto
de entrada, realizando o agrupamento de padrões através da codificação das
características recebidas, sendo isto somente possível quando há redundância nos
dados de entrada.
A utilização de uma RNA na solução de um problema inicia-se pela fase do
aprendizado, por onde a rede extrai informações importantes sobre os padrões
apresentados a ela, criando uma representação própria sobre o problema. Nesta
etapa, ocorre um processo iterativo de ajustes de parâmetros da rede: os pesos das
conexões entre as unidades de processamento são ajustados guardando, ao final do
processo, o conhecimento adquirido sobre o ambiente operado.
36
3.3 MÉTODOS DE APRENDIZADO
O aprendizado nas RNA consiste na atualização da topologia e ponderações
sinápticas de maneira que a rede possa realizar uma determinada tarefa
eficientemente. Normalmente, consistirá na determinação das ponderações para
uma topologia (arquitetura da rede) definida por critérios heurísticos ou por
tentativas.
Existem diversos métodos desenvolvidos para o treinamento das redes, podendo ser
agrupados em dois tipos básicos: aprendizado supervisionado e o aprendizado não
supervisionado. Variações destes dois tipos são também bastante utilizadas como,
aprendizado por reforço (caso intermediário entre o aprendizado supervisionado e o
aprendizado não supervisionado) e aprendizado por competição (caso particular de
aprendizado não supervisionado).
O que caracteriza o aprendizado supervisionado é a presença de um "professor", ou
supervisor, que realiza o papel de monitorar a resposta da rede. O conjunto de
treinamento é formado por pares de entrada e saída (xi,yid), onde xi representa o
padrão de entrada e o yid a saída desejada para o padrão xi fornecido. Portanto,
neste caso, já se conhece a resposta desejada da rede para cada entrada xi. O
ajuste de pesos representado por Δw é feito de maneira que a resposta yi da rede
para o padrão xi se aproxime da saída yid desejada.
No aprendizado não supervisionado, não existe a presença do supervisor para o
acompanhamento da resposta da rede. O treinamento é formado pelos padrões de
37
entrada xi e o ajuste de pesos Δw é obtido apenas através de valores do padrão de
entrada. O conhecimento da rede é adquirido através da harmonia com as
regularidades estatísticas existentes no conjunto dos padrões de entrada da rede e
através da redundância dos dados por ela recebidos. Assim, é desenvolvida na rede
uma habilidade de formar representações internas para codificar as características
percebidas na entrada e criar novas classes ou grupos automaticamente. Sem a
redundância, seria impossível agrupar estas características em quaisquer padrões
(BRAGA et al., 2000).
No aprendizado por competição, o padrão é recebido nas entradas que "disputam"
entre si e apenas uma sairá como a vencedora. Aqui, as entradas são diretamente
conectadas às saídas e estas também podem estar ligadas entre si via conexões
laterais inibitórias (ou negativas). A saída com maior ativação inicial terá maior
chance de vencer a disputa entre as outras saídas e estas perderão o poder de
inibição ao longo do tempo sobre a saída de maior ativação, fazendo com que
fiquem completamente inativas, exceto a vencedora. Este método é conhecido como
Winner-Takes-All.
Os modelos de redes auto-organizáveis, descritos na seção a seguir, utilizam o
paradigma de aprendizado não supervisionado. O algoritmo de treinamento da rede
auto-organizável utiliza um conjunto de regras de natureza local para o ajuste dos
pesos, ou seja, o ajuste dos pesos é realizado segundo as informações recebidas
pela rede.
38
3.4 REDES DE MÚLTIPLAS CAMADAS
As redes Multi-Layer Perceptron (MLP) caracterizam-se por apresentarem o fluxo de
sinal unidirecional, uma camada de entrada, uma ou mais camadas escondidas e
uma camada de saída. Uma das suas principais vantagens é a capacidade de
aproximação de funções não lineares.
3.4.1 Algoritmo de aprendizado de uma rede MLP
O aprendizado em uma rede MLP ocorre através de um conjunto de padrões de
treinamento, composto de vetores de entrada e as respectivas saídas desejadas
para estes vetores, que serão apresentados à rede. Calcula-se a saída da rede e o
erro entre a saída desejada e a saída obtida, para que se faça o ajuste do
aprendizado.
Existem muitas conexões em várias camadas em uma rede MLP, onde cada
conexão poderá contribuir para mais de uma saída da rede. É comum o emprego de
funções de ativação não-lineares nos neurônios de uma rede MLP, o que dificulta a
obtenção do algoritmo de treinamento adequado (MEIRELES et al., 2003). Os
neurônios de uma certa camada de uma rede MLP são conectados a cada um dos
neurônios da camada subseqüente, não existindo conexão entre os neurônios de
camadas não adjacentes e nem conexões entre os neurônios de mesma camada.
39
3.4.2 Algoritmo de treinamento de uma rede MLP
O algoritmo de treinamento para redes MLP se dá através dos passos descritos no
Quadro 3.1 a seguir (MEIRELES et al., 2003):
Quadro 3.1 – Algoritmo de treinamento para redes MLP
1 Inicialização
1.1 iniciar de forma aleatória os pesos wij ;
1.2 iniciar as variáveis de limiar θi uniformemente distribuídos em uma
faixa pré-definida de valores
⎡− 2,4
⎤
; 2,4
( m + n + o)
(m + n + o)⎥⎦
⎢⎣
onde: m é o número de entradas da rede e
n é o número de neurônios na camada oculta da rede;
2 Ativação
2.1 processar a rede MLP pela aplicação das entradas xi ;
2.1.1 calcular as saídas yi ;
2.1.2 incrementar a iteração 1 (p=1);
2.1.3 calcular as saídas da camada escondida para o neurônio j
desta camada:
y j (1) =
1
1 + e − xi (1)
m
onde:
xi (1) = ∑ x j (1).w ji (1)
j =0
2.1.4 calcular as saídas da rede MLP para todos os neurônio
da camada de saída:
y k (1) =
1
1 + e − xi (1)
n
onde:
x j (1) = ∑ y j (1).wkj (1)
j =0
3. Ajuste dos pesos da camada de saída
3.1 calcular o gradiente do erro cometido na iteração atual
para os neurônios da camada de saída:
δ k ( p) = y k ( p).(1 − y k ( p)).e( p) ;
3.2 atualizar os pesos da camada de saída:
Δwkj ( p ) = αy j ( p ).δ k ( p ) ;
4. Ajuste dos pesos da camada oculta
4.1 calcular o gradiente do erro cometido na iteração atual para
os neurônios da camada oculta:
o
δ j ( p) = y j ( p).(1 − y j ( p )).∑ δ k ( p ).wkj ( p )
k =0
4.2 atualizar os pesos da camada oculta:
Δw ji ( p ) = α .xi ( p ).δ ( p )
5. Repetição iterativa
5.1 incrementar o contador unitário de iteração p;
5.2 retornar ao passo 2;
6. Até que o critério de parada seja alcançado, como:
6.1 convergência dos valores dos pesos seja alcançada
ou
6.2 um nível de erro (ou de desempenho) pré-determinado seja alcançado.
;
40
3.5 REDES AUTO-ORGANIZÁVEIS
Este tipo de rede tipicamente não necessita de um supervisor externo para o seu
treinamento pois possui a capacidade de se auto-organizar. Neste caso, as
informações são fornecidas através do conjunto de padrões por ela recebidos como
entrada, a partir dos quais a rede se auto-organiza segundo o conceito do
aprendizado não supervisionado. Aplica-se no reconhecimento de padrões e
categorização, onde as classes são conhecidas a priori.
O algoritmo de treinamento das redes auto-organizáveis agrupa padrões que
compartilham características comuns, onde cada grupo de padrões será
representado por apenas uma classe rotulada. Na realização deste agrupamento, o
algoritmo precisa encontrar características comuns significativas nos dados de
entrada, sem o auxílio do supervisor, sendo isto possível apenas se houver
redundância entre os dados recebidos. É através desta redundância dos dados que
a rede constrói seu conhecimento por entre as similaridades e diferenças dos dados
por ela recebidos. Caso contrário, na ausência de redundância, os dados serão
caracterizados apenas como ruídos aleatórios (BRAGA et al., 2000).
O algoritmo é simples: apresentar um conjunto de padrões como entrada; calcular a
ativação inicial de cada saída; deixar as saídas competirem até que apenas uma
fique ativa (a vencedora); aumentar os pesos sobre as conexões entre a saída ativa
e as entradas conectadas a ela, assim, a saída encontrada tem mais chance de ficar
ativa com a próxima repetição do padrão.
41
Os algoritmos de aprendizado por competição têm sido bastante utilizados em
problemas de classificação, de extração de características, de compressão de dados
e de categorização (BRAGA et al., 2000). Os modelos de redes auto-organizáveis
conhecidos que utilizam o aprendizado competitivo são os modelos da família
Adaptive Resonance Theory (ART) e o modelo Self-organizing Map (SOM).
3.5.1 Redes ART
A família das redes ART possui inspiração biológica e cognitiva. Inicialmente foi
proposta a rede ART1, modelo que trabalha apenas com valores binários.
Posteriormente, foi desenvolvido o modelo ART2, que se diferencia do modelo
anterior por permitir também valores contínuos como entrada. A literatura aponta
ainda a existência de outros modelos criados na família ART (BRAGA et al., 2000).
Os modelos da família ART foram inspirados na necessidade de representação do
conhecimento a respeito de determinado domínio na descrição do mundo real, onde
as informações a respeito de um dado problema ocorrem em constantes
modificações ao longo do tempo (modelo incremental). Similarmente, o mesmo
acontece com os padrões recebidos como entrada em uma RNA, ou seja, podem
modificar com o tempo para acomodar mudanças ocorridas. Assim, para que se faça
a adaptação de novos padrões de entrada indefinidamente, o algoritmo de
aprendizado da rede deveria ser plástico e estável (dilema da estabilidade plástica)
[HERTZ et al., 1991] 1 (citado por BRAGA et al., 2000).
1
HERTZ, J. KROGH, A. PALMER, R.G.. Introduction to the Theory of Neural Computation, Lecture Notes
Volume 1 of Santa Fe Institute Studies in The Science of Complexity. Addison-Wesley, 1991.
42
São características básicas destes modelos: (a) não é necessário recomeçar o
treinamento da rede do ponto inicial a cada vez que aparecerem novos padrões de
entrada; e (b) o conhecimento adquirido anteriormente é preservado. Caso contrário,
a rede deveria ser retreinada com os novos padrões de entrada, o que levaria à
perda das informações anteriormente aprendidas.
3.5.2 Redes SOM
A rede SOM – mapas auto-organizáveis – foi desenvolvida por Teuvo Kohonen nos
anos 80. Possui forte inspiração neurofisiológica e foi inicialmente baseada no mapa
topológico presente no córtex cerebral (áreas responsáveis por funções específicas),
como por exemplo o córtex visual (intensidade da luz, orientação e curvatura de
linhas) e o córtex auditivo (freqüências e duração dos sons), por onde os neurônios
topologicamente próximos tendem a responder a padrões ou estímulos semelhantes.
Os neurônios têm forças de conexões laterais que dependem da distância entre
eles. Esta ordenação topológica é resultado do uso de realimentação lateral entre as
células do córtex cerebral (ZURADA, 1995).
Nas redes SOM, o uso de realimentação lateral é modelado por uma função
conhecida como Chapéu Mexicano (Figura 3.3). Segundo esta função, cada
neurônio influencia o estado de ativação de seus vizinhos de três maneiras:
excitatória (vizinhos próximos – raio de 50 a 100 μm), inibitória (dentro de uma
segunda área – intermediária) e levemente excitatória (área mais externa – raio de
200 a 500 μm) (ZURADA, 1995).
43
FIGURA 3.3 – Visão da função Chapéu Mexicano
Fonte: BRAGA et al., 2000.
O conjunto de padrões fornecidos como entrada da rede – que correspondem aos
nodos da rede – é organizado em uma grade, geralmente bidimensional. Cada nodo
da rede recebe todas as entradas e que também são conectadas aos nodos vizinhos
(mais próximos), conforme visualização da Figura 3.4.
FIGURA 3.4 – Arquitetura da rede SOM
Fonte: ZURADA, 1995.
Quanto mais semelhante for a entrada do vetor de pesos de um determinado nodo,
maior será o valor de sua saída. No aprendizado, os nodos se especializam para a
detecção de um conjunto de padrões de entrada, ou seja, os nodos se organizam
topologicamente na rede, fazendo com que os padrões detectados por um certo
nodo estejam relacionados com as coordenadas da posição do nodo no reticulado.
44
Assim, é formado o mapa de características auto-organizáveis sobre os padrões de
entrada, por onde os padrões semelhantes são detectados como sendo os nodos
mais próximos dentro do reticulado.
3.5.2.1 Algoritmo de treinamento da rede SOM
O algoritmo de treinamento das redes SOM se dá por competição, ou seja, para
cada padrão de entrada fornecido, apenas uma saída se tornará ativa (a vencedora)
– método Winner-Takes-All. Quando o nodo da rede vence a competição, não
apenas ele mas também os nodos vizinhos terão os pesos ajustados, resultado
semelhante à função do Chapéu Mexicano.
O funcionamento da rede SOM ocorre basicamente quando um certo padrão p é
apresentado. A rede então procurará o nodo mais parecido com p. Durante o
treinamento, a rede aumenta a semelhança do nodo escolhido e de seus vizinhos ao
padrão p. Desta maneira, a rede constrói o mapa topológico, onde os nodos
próximos respondem de maneira similar aos padrões de entradas semelhantes.
O estado de ativação de um nodo é determinado pela distância euclidiana entre o
peso e o padrão de entrada, como a seguir:
n
y = ∑ || xi − w ji || 2
(3.3)
i =1
onde xi é o padrão de entrada, wji é o peso da conexão, n é a quantidade de nodos
da rede.
45
O critério de vizinhança define quantos nós em torno do vencedor terão seus pesos
ajustados, ou seja, aqui é definida a área de influência do nodo vencedor. A região
de vizinhança pode apresentar magnitudes e formatos diferentes, conforme
visualização da Figura 3.5. Geralmente, utiliza-se as formas: linear, quadrado,
hexágono, círculo dentre outras, sendo que o formato para a vizinhança mais
utilizado é o quadrado. A definição do formato mais adequado depende do problema
em questão e de como os dados serão distribuídos, normalmente definido por
tentativa e erro (BRAGA et al., 2000).
FIGURA 3.5 – Formatos de vizinhança em torno do nodo vencedor
Fonte: BRAGA et al., 2000.
O tamanho é modificado durante o treinamento; inicialmente é grande, mas é
deduzido progressivamente até o limite pré-definido, onde a taxa de redução é a
função linear do número de ciclos, conforme visualização da Figura 3.6.
FIGURA 3.6 – Redução da região de vizinhança
Fonte: BRAGA et al., 2000.
46
A Equação 3.4 se refere à atualização dos pesos do nodo vencedor e dos nodos
vizinhos:
⎧⎪w ji (t ) + η (t )( xi (t ) − w ji (t )), se j ∈ Δ (t )
w ji (t + 1) = ⎨
⎪⎩w ji (t ), caso contrário
(3.4)
onde wji é o peso da conexão no tempo (t), entre o elemento de entrada xi(t) e o
nodo j, η(t) é a taxa de aprendizado e Δ é a vizinhança do nodo vencedor, no
instante de tempo (t+1).
Aqui, cabe ressaltar que a utilização de vetores de peso com diferentes magnitudes
tende a prejudicar a competição entre os nodos, causando o desvio da atenção da
rede para a magnitude em vez da orientação dos vetores de peso que é a parte mais
interessante. O algoritmo tem um desempenho melhor para a rede quando os
vetores de pesos são normalizados, geralmente de forma unitária (BRAGA et al.,
2000). Os padrões de entrada também devem ser normalizados, podendo assumir,
para o estado de ativação do nodo, qualquer valor real no intervalo de [0, N], onde N
é dado pelo número de neurônios como entrada. Os pesos iniciais devem ser
obtidos de maneira aleatória, preferencialmente com diferenças entre si. Após várias
apresentações do conjunto de treinamento, percebe-se que os vetores de pesos
tendem a seguir as distribuições dos padrões de entrada. Neste ponto, constata-se
que a rede se encontra em um bom nível de treinamento e aprendizado, ou seja, ela
é capaz de responder a um novo padrão segundo as semelhanças entre os padrões
por ela já treinados.
47
O treinamento é afetado pela taxa de aprendizado, pela taxa de redução de
vizinhança e pelo formato da região vizinha. Após o treinamento, a rede forma
agrupamentos (clusters), que deverão ser rotulados para indicar a classe que
representam e assim permitir que se faça classificações de padrões desconhecidos.
Resumidamente, o algoritmo de treinamento para redes SOM se dá através dos
passos descritos no Quadro 3.2 a seguir (BRAGA et al., 2000):
Quadro 3.2 – Algoritmo de treinamento para redes SOM
1 Inicializar os pesos e parâmetros
2 Repetir
2.1 Para cada padrão de treinamento x faça
2.1.1 definir nodo vencedor;
2.1.2 atualizar os pesos deste nodo e dos seus vizinhos;
2.1.3 se o número do ciclo for múltiplo de N
então reduzir a taxa de aprendizado e
da área de vizinhança;
3 Até o mapa de características não sofrer modificações significativas.
A rede SOM necessita de duas fases de treinamento para atingir o seu melhor
desempenho: na primeira fase (ou ordenação), há um mapeamento mais grosseiro
dos padrões de entrada, sendo utilizados até 1000 ciclos (ou iterações) para avaliar
o conjunto dos dados, a uma taxa de aprendizado inicialmente alta (1,0), que será
gradualmente reduzida (próxima de 0,1); já na segunda fase (ou convergência) do
treinamento, ocorre um ajuste mais fino no mapeamento da rede, onde serão gastos
48
de 100 a 1000 vezes mais ciclos que a 1ª fase, a uma taxa de aprendizado na ordem
de 0,01 (HAYKIN, 2001). Ainda, segundo Haykin (2001), não se deve permitir que a
taxa de aprendizado diminua a zero, pois isto resultaria em um mapa topológico da
rede preso a um estado metaestável, ou seja, um estado que pertence a uma
configuração do mapa de características com defeitos em sua topologia.
3.6 ALGORITMO LEARNING VECTOR QUANTIZATION (LVQ)
O algoritmo LVQ é uma técnica de aprendizado supervisionada que utiliza as
informações sobre as classes para mover levemente os vetores de peso, visando
melhorar a qualidade das regiões de decisão do classificador para cada padrão
fornecido como entrada na rede. Ou seja, por ser supervisionado, o algoritmo LVQ
pode, após o treinamento da rede SOM, avaliar a classificação gerada pela rede
para cada padrão (BRAGA et al., 2000). É através desta avaliação que o algoritmo
LVQ atua, ajustando os pesos para que haja uma melhor classificação do padrão.
O ajuste do mapa de características pode ser visto como o primeiro de dois estágios
– através da rede SOM – para resolver de maneira adaptativa um problema de
classificação de padrões. O segundo estágio utilizará o algoritmo LVQ para
realização de um ajuste mais fino no mapa de características, conforme ilustração da
Figura 3.7.
49
FIGURA 3.7 – Diagrama da classificação adaptativa de padrões
Adaptado de: HAYKIN, 2001.
3.6.1 Treinamento LVQ
O treinamento ocorre quando um padrão x é obtido aleatoriamente do espaço de
entrada. Daí, se os rótulos de classe do padrão de entrada x e se o vetor de pesos w
estiverem em conformidade então o vetor de peso será movido em direção ao
padrão x. Caso contrário, ou seja, se os rótulos de classe do padrão x e se o vetor de
peso não estiverem em conformidade, o vetor de peso será afastado do padrão x.
Durante a classificação, o algoritmo LVQ ajusta os pesos do nodo vencedor e de
seus vizinhos, fazendo a comparação de cada padrão de entrada e saída da rede
com a saída desejada. A equação seguinte apresenta os cálculos para o ajuste dos
pesos:
⎧⎪w ji (t ) + η (t )( xi (t ) − w ji (t )), classe correta
w ji (t + 1) = ⎨
⎪⎩w ji (t ) − η (t )( xi (t ) − w ji (t )), classe incorreta
onde η(t) é a taxa de aprendizado.
(3.5)
50
O Quadro 3.3 descreve resumidamente o treinamento segundo o algoritmo LVQ
conforme os passos a seguir (BRAGA et al., 2000) :
Quadro 3.3 – Algoritmo de treinamento LVQ
1 Inicializar os pesos e os parâmetros;
2 Repetir
2.1 Para cada padrão de treinamento x faça
2.1.1 definir nodo vencedor;
2.1.2 atualizar os pesos do nodo vencedor e seus vizinhos;
2.1.3 reduzir taxa de aprendizado;
3 Até o erro ser menor que um dado valor.
3.7 DISCUSSÕES FINAIS
Este capítulo apresentou as RNA dando ênfase aos modelos auto-organizáveis e à
técnica de quantização por vetor de aprendizado. Estes algoritmos são a base
teórica dos modelos de classificação construídos neste trabalho e que serão
apresentados no próximo capítulo.
51
4
DESENVOLVIMENTO DOS MODELOS DE CLASSIFICAÇÃO
A proposta da FEML é facilitar o intercâmbio de dados entre os variados programas
MEF existentes. Para tal, propõe-se um modelo hierárquico para mapear o conjunto
das características básicas dos elementos típicos de cada família presentes nos
programas de interface desenvolvidos por diferentes fabricantes. A partir do modelo
hierárquico atualizado, deverão ser criadas sub-rotinas de interface pelos programas
de elementos finitos que facilitem as operações de exportação e importação dos
dados a partir da FEML. A idéia é que um modelo original faça a correspondência no
sistema destino com um elemento equivalente ou pelo menos semelhante.
A ferramenta aqui desenvolvida é baseada na implementação de rotinas inteligentes
em um processo dinâmico de busca por informações para a classificação dos
elementos finitos presentes na estrutura do modelo hierárquico atual. Para tal,
utilizou-se da tecnologia RNA na sua concepção.
Neste capítulo, será apresentada a metodologia aplicada na atualização da FEML e
na construção dos modelos de redes aqui criados. A intenção deste capítulo é
apresentar toda a implementação necessária na construção e validação da
ferramenta desenvolvida, seus diferentes modelos, objetivos e aplicações. Os
modelos construídos serão apresentados de forma cronológica e de acordo com os
resultados apresentados nas implementações devido às limitações e soluções
encontradas. De acordo com as limitações apresentadas nos testes realizados, fez-
52
se necessário novos estudos a fim de apontar o melhor modelo como solução para
as necessidades já mencionadas neste trabalho. Assim, a Seção 4.1 discute a
expansão e atualização das famílias presentes na FEML. A Seção 4.2 mostra a
codificação dos atributos dos elementos necessários para a alimentação dos dados
de entrada da rede construída e treinada. A Seção 4.3 apresenta o primeiro modelo
de rede construída (Topologia 1) através do programa classEF.m. A Seção 4.4
apresenta o segundo modelo de rede construída (Topologia 2) através do programa
somEF.m. E finalmente, a Seção 4.5 apresenta o terceiro modelo de rede construída
(Topologia 3) através do programa lvqEF.m.
4.1 ATUALIZAÇÃO DA FEML
A partir da criação do modelo hierárquico de tipos de elementos proposto por
Pinheiro (2003), conforme visualização da Figura 2.2, pôde-se mapear melhor o
conjunto básico das características de cada família de elementos finitos. Isto permite
que se faça um mapeamento mais imediato e de maneira direta sob a descrição de
um elemento através da FEML entre as famílias de elementos de um programa
qualquer.
Pinheiro (2003) aponta em seu trabalho, como um novo desafio, a necessidade de
inclusão de outras famílias de elementos dando maior robustez à aplicabilidade da
FEML no sentido de buscar um padrão efetivo entre os programas MEF. Este
trabalho avançou nesse ponto propondo a inclusão da família do espaço contínuo
53
tridimensional (3D) e da família Field, como também, na ampliação da família do
espaço contínuo bidimensional (2D).
4.1.1 Modelo Hierárquico Atual
Um dos objetivos iniciais deste trabalho é estender a ferramenta FEML (PINHEIRO,
2003) para que haja uma maior aplicabilidade da mesma. Assim, foi realizada uma
atualização do modelo hierárquico proposto, adicionando ao mesmo a família do
espaço contínuo tridimensional (3D). Ainda, houve uma atualização da família do
espaço contínuo bidimensional (2D), adicionando a esta novos elementos que ainda
não tinham sido contemplados e mais, realizou-se uma expansão da família Field
por esta contemplar tanto a família bidimensional quanto à família tridimensional.
Como resultado, tem-se uma nova versão do modelo hierárquico conforme
visualização das figuras 4.1 a 4.8.
FIGURA 4.1 – Topo da hierarquia das famílias dos elementos
54
FIGURA 4.2 – Topo da hierarquia da família Bidimensional (2D)
FIGURA 4.3 – Hierarquia da família Triangular (2D)
55
FIGURA 4.4 – Hierarquia da família Quadrilateral (2D)
56
FIGURA 4.5 – Topo da hierarquia da família Tridimensional (3D)
FIGURA 4.6 – Hierarquia da família Tetrahedral (3D)
57
FIGURA 4.7 – Hierarquia da família Pentahedral (3D)
58
FIGURA 4.8 – Hierarquia da família Hexahedral (3D)
4.1.2 Resultados obtidos com a expansão da FEML
O modelo hierárquico atual obteve um acréscimo de duzentos e vinte cinco por cento
(225%) sobre o modelo anterior (PINHEIRO, 2003) ao adicionar as famílias 3D e
Field, o que representa apenas três das dez famílias existentes no programa
LUSAS.
59
Naturalmente, esta hierarquia tende a crescer ainda mais ao adicionar as outras
famílias. Sendo assim, acredita-se que será despendido muito tempo em
processamento com as rotinas de busca de informações em cada nó desde o topo
ao chão desta hierarquia, ou seja, no sentido da generalização (família do elemento)
até a especialização (classificação do elemento), para que se possa encontrar o
elemento equivalente ou semelhante ao elemento pesquisado. Assim, torna-se
necessária a implementação de rotinas inteligentes, para que o acesso às
especializações a partir da generalização seja mais dinâmico.
4.2 CODIFICAÇÃO DA FEML
Em uma RNA, as informações que alimentam a entrada da rede e que representam
o conjunto de padrões informados são numéricas. Daí, fez-se necessário codificar
numericamente as características básicas dos elementos anteriormente descritos na
Seção 2.3 como representação dos elementos segundo a descrição do programa
LUSAS e que serão recebidos como entrada da rede mais adiante mostrada.
4.2.1 Codificação das características básicas dos elementos
O conjunto dos padrões (vetor x) que irá alimentar a entrada da rede possui
dimensão cinco (5), ou seja, serão fornecidas cinco posições do vetor contendo os
atributos que descrevem o elemento de maneira assim ordenada: Família,
Geometria, Aplicação, Ordem e Tipo do elemento.
60
Os quadros 4.1 a 4.5 a seguir apresentam separadamente a codificação de cada
atributo. Assim sendo, o Quadro 4.1 representa a codificação de todas as famílias
dos elementos finitos existentes no programa LUSAS, o Quadro 4.2 representa a
codificação das geometrias presentes nas famílias 2D e 3D dos elementos, o
Quadro 4.3 o tipo de aplicação, o Quadro 4.4 a ordem e o Quadro 4.5 o tipo de
elemento. O Quadro 4.6 representa a codificação dos elementos e seus respectivos
nomes.
Quadro 4.1 – Codificação das Famílias dos elementos
Cód_1 Família
1
Unidimensional (1D)
2
Bidimensional (2D)
3
Tridimensional (3D)
4
Barras
5
Campos
6
Cascas
7
Juntas
8
Membranas
9
Placas
10
Vigas
Quadro 4.2 – Codificação da Geometria
Cód_2 Geometria
1
Triangular
2
Quadrilateral
3
Tetrahedral
4
Pentahedral
5
Hexahedral
Quadro 4.3 – Codificação da Aplicação
Cód_3 Aplicação
1
Dynamic
2
Static
3
Field
Quadro 4.4 – Codificação da Ordem
Cód_4
1
2
3
Ordem
N/A
Linear
Quadratic
61
Quadro 4.5 – Codificação do Tipo_Elemento
Cód_5
1
2
3
Tipo_Elemento(2D)
Plane Stress
Plane Strain
Axisymmetric
Tipo_Elemento(3D)
Solid
Solid
Solid
Quadro 4.6 – Codificação dos Nomes dos Elementos
Cód Nome Cód Nome Cód Nome Cód Nome
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
N/A
TPM3E
TPN3E
TAX3E
TPM3
TPN3
TAX3
TPM6
TPN6
TAX6
TPK6
TNK6
TXK6
TFD3
N/A
TXF3
TAX3F
TFD6
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
N/A
TXF6
TAX6F
N/A
QPM4E
QPN4E
QAX4E
QPM4
QPN4
QAX4
QPM4M
QPN4M
QAX4M
QPM8
QPN8
QAX8
QPK8
QNK8
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
QXK8
QFD4
N/A
QXF4
QAX4F
QFD8
N/A
QXF8
QAX8F
N/A
TH4E
TH4
TH10
TF4
TF10
N/A
PN6E
PN6
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
PN12
PN15
PN12L
PF6
PF12
PF15
PF12C
N/A
HX8E
HX8
HX8M
HX16
HX20
HX16L
HF8
HF16
HF20
HF16C
Tabela 4.1 foi criada para fazer as associações entre os padrões de entrada (vetor
x) e o nome do elemento a ser identificado após sua classificação, aos valores das
classes rotuladas que representam os agrupamentos dos padrões semelhantes
apresentados como resposta na saída da rede (vetor y).
4.2.2 Tabela de classificação para os elementos finitos
Como legenda, seguem as descrições para o cabeçalho da Tabela 4.1 sobre a
classificação dos elementos finitos.
62
Entrada da rede (vetor x):
F : Cód_1, Família; G : Cód_2, Geometria; A : Cód_3, Aplicação;
O : Cód_4, Ordem; T : Cód_5, Tipo_Elemento.
Saída da rede (vetor y):
Classe: Rótulo identificador do conjunto de padrões agrupados.
Classificação:
Cód: Código identificador do nome do elemento na classificação;
Nome: Nome do elemento na classificação.
Tabela 4.1 – Classificação das características básicas dos elementos
F
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
G
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
A
1
1
1
1
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
O
1
2
2
2
2
2
2
3
3
3
3
3
3
2
2
2
2
3
3
3
3
1
2
2
2
2
2
2
2
2
2
3
3
3
3
3
T
1
1
2
3
1
2
3
1
2
3
4
5
6
1
2
3
4
1
2
3
4
1
1
2
3
1
2
3
4
5
6
1
2
3
4
5
Classe
1
2
2
2
3
3
3
4
4
4
4
4
4
5
5
5
5
6
6
6
6
7
8
8
8
9
9
9
9
9
9
10
10
10
10
10
Cód
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Nome
N/A
TPM3E
TPN3E
TAX3E
TPM3
TPN3
TAX3
TPM6
TPN6
TAX6
TPK6
TNK6
TXK6
TFD3
N/A
TXF3
TAX3F
TFD6
N/A
TXF6
TAX6F
N/A
QPM4E
QPN4E
QAX4E
QPM4
QPN4
QAX4
QPM4M
QPN4M
QAX4M
QPM8
QPN8
QAX8
QPK8
QNK8
F
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
G
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
A
2
3
3
3
3
3
3
3
3
1
1
2
2
3
3
1
1
2
2
2
2
3
3
3
3
1
1
2
2
2
2
2
3
3
3
3
O
3
2
2
2
2
3
3
3
3
1
2
2
3
2
3
1
2
2
3
3
3
2
3
3
3
1
2
2
2
3
3
3
2
3
3
3
T
6
1
2
3
4
1
2
3
4
1
1
1
1
1
1
1
1
1
1
2
3
1
1
2
3
1
1
1
2
1
2
3
1
1
2
3
Classe
10
11
11
11
11
12
12
12
12
13
14
15
16
17
18
19
20
21
22
22
22
23
24
24
24
25
26
27
27
28
28
28
29
30
30
30
Cód
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
Nome
QXK8
QFD4
N/A
QXF4
QAX4F
QFD8
N/A
QXF8
QAX8F
N/A
TH4E
TH4
TH10
TF4
TF10
N/A
PN6E
PN6
PN12
PN15
PN12L
PF6
PF12
PF15
PF12C
N/A
HX8E
HX8
HX8M
HX16
HX20
HX16L
HF8
HF16
HF20
HF16C
63
4.3 DESENVOLVIMENTO DO PRIMEIRO MODELO DE REDE – TOPOLOGIA 1
O primeiro modelo de rede (Topologia 1) foi implementado através do programa
intitulado classEF.m. Este programa tem como objetivo realizar a classificação do
elemento finito através da atribuição dos padrões de entrada a serem identificados
entre um conjunto de classes previamente conhecidas.
4.3.1 Implementação da Topologia 1
O programa classEF.m é uma rede do tipo MLP (Multi-Layer Perceptron). Ela tem a
capacidade de aprendizado e classificação de padrões de entrada através das
modificações das conexões de entrada nos neurônios com funções de limiar na
saída, conforme descrito na Seção 3.1. Seu aprendizado é supervisionado, do tipo
backpropagation, baseado na aproximação entre o comportamento ideal conhecido
e um comportamento real ajustável, através de um conjunto de dados de entrada e
sua respectiva classificação (veja descrição na Seção 3.2).
Para a criação deste programa, utilizou-se a Neural Network Toolbox (uma espécie
de biblioteca de funções) do software MatLab versão 6.5. Este software permite a
criação, o treinamento e a realização de simulações de uma rede neural utilizando
uma interface gráfica de fácil utilização; permite acessar um conjunto de funções de
treino, a fim de melhorar a rede treinada e; também, permite acessar funções
postprocessing para avaliar o seu desempenho (MATLAB, 2004a, b).
64
Foram informados para esta rede: um conjunto de padrões que representam os
elementos finitos segundo a codificação descrita na Seção 4.2.1 para o vetor x de
entrada da rede; e um conjunto de classes para o vetor y como saída desejada para
esta rede – também codificados segundo a Tabela 4.1 – a ser associado após o
treinamento ao vetor x inicialmente informado. Assim, esta rede foi criada contendo
cinco elementos de entrada, trinta camadas intermediárias e cinco elementos na
saída.
Para o treinamento da Topologia 1, foram utilizadas as seguintes funções: (a) newff()
com os parâmetros 'magnitude', 'dimensão' e 'tipo' para sua configuração; e (b)
train() com os parâmetros 'número de iterações', 'conjunto de padrões' e 'conjunto de
classes', encarregada de realizar o treinamento da mesma.
Durante a fase do treinamento, a taxa de aprendizado é inicialmente alta, próxima de
um (1), sendo gradualmente reduzida até um certo valor aceitável e previamente
informado. Neste caso, foram necessárias até quinhentas (500) épocas, ou ciclos de
iterações, para que esta rede chegasse a uma taxa de aprendizado na ordem de
0,01 desejado, o que equivale a um por cento (1%) de erro nos resultados durante a
execução da mesma. A indicação do valor final para a taxa de aprendizado é
informada pelo construtor da rede (ou programador) sendo um limite inferior por ele
aceitável e que indicará a condição na qual finalizará o treinamento da rede. O
equipamento utilizado para a criação, o treinamento e os testes desta rede foi um
computador pessoal (PC) modelo Pentium ® 4, com CPU de 2.40 GHz e 512 MB de
memória RAM. O tempo gastos para a realização completa do treinamento desta
rede foi de apenas cinco segundos.
65
4.3.2 Resultados da Topologia 1
Os testes realizados para verificação deste modelo de rede apresentaram uma
solução cem por cento (100%) satisfatória, uma vez que a entrada e a saída foram
previamente informadas e a rede treinada apenas relacionou em um-para-um os
vetores de entrada/saída, o que já era de se esperar de uma rede supervisionada.
Em outras palavras, a rede foi capaz de associar os padrões por ela conhecidos às
classes correspondentes também já conhecidas. Ao contrário, para os novos
padrões ainda desconhecidos, a rede foi incapaz de associá-los a uma classe
representativa de acordo com as semelhanças entre os padrões já conhecidos e
treinados.
Verifica-se que esta rede apresentou, para o problema em questão, uma limitação
diante de uma resposta desconhecida para um novo padrão fornecido como entrada.
Conclui-se que esta rede não saberia classificar um novo padrão face às
semelhanças com os outros padrões já conhecidos pela rede. As análises
"quantitativa e qualitativa" destes resultados serão apresentadas no próximo
capítulo.
Face à limitação constatada, novas pesquisas foram realizadas no intuito de se
empregar outros tipos de rede, como, por exemplo, as redes Self-organizing Map
através do modelo descrito a seguir (Topologia 2).
66
4.4 DESENVOLVIMENTO DO SEGUNDO MODELO DE REDE – TOPOLOGIA 2
O segundo modelo de rede (Topologia 2) foi implementado pelo programa intitulado
somEF.m (ver Anexo A). O objetivo deste programa é realizar a classificação dos
elementos finitos, dos quais só são conhecidos os dados de entrada, necessitando
que a rede desempenhe o papel de encontrar a classe que mais se assemelha ao
conjunto dos dados fornecidos. Portanto, esta rede é um modelo Self-organizing
Map (SOM) com aprendizado não supervisionado, conforme descrição da Seção
3.4.2.
4.4.1 Implementação da Topologia 2
O programa somEF.m utilizou a Self-organizing Map Toolbox 2 (VESANTO et al.,
1999) do software MatLab na criação, treinamento e simulação desta rede. Para
este modelo foram utilizadas as seguintes funções: (a) initsm(), com os parâmetros
'conjunto dos padrões' e 'dimensão', encarregada de iniciar a rede SOM; (b)
nbman(), com os parâmetros que definem o formato da vizinhança; e (c) trainsm(),
com os parâmetros 'pesos iniciais', 'formato vizinhança', 'conjunto dos padrões' e
'número de iterações', encarregada de realizar o treinamento da rede.
Foram informados para esta rede: um conjunto de padrões que representam os
elementos finitos segundo a codificação descrita na Seção 4.2.1; os valores iniciais
SOM Toolbox is Copyright © by Esa Alhoniemi, Johan Himberg, Kimmo Kiviluoto, Jukka
Parviainen and Juha Vesanto – Laboratory of Information and Computer Science in the
Helsinki University of Technology. Finland,1997.
2
67
para os pesos foram obtidos de maneira aleatória; e a forma escolhida para a
vizinhança em torno do nodo vencedor foi a retangular, segundo descrição da Seção
3.5.2.1.
Para o treinamento das redes SOM, utiliza-se uma taxa de aprendizado inicialmente
alta, próxima da unidade, mas que deverá ser gradualmente reduzida até um certo
valor aceitável e previamente informado. Aqui, foram necessárias até quinhentas
(500) épocas, ou ciclos de iterações, para que esta rede chegasse a uma taxa de
aprendizado na ordem de 0,01 desejada, segundo descrição da Seção 3.4.2.2, o
que equivale a um por cento (1%) de erro nos resultados durante sua execução. A
Topologia 2 necessitou de um total de cinqüenta mil (50.000) ciclos de iterações
para atingir um desempenho adequado.
Utilizou-se, para a realização do treinamento desta rede, uma amostragem de
cinqüenta por cento (50%) como representação dos elementos finitos das famílias do
espaço contínuo bidimensional e tridimensional presentes na Tabela 4.1, para o
conjunto dos padrões informados para a entrada da rede. O equipamento utilizado
para o treinamento desta rede foi o mesmo da topologia anterior (Topologia 1) –
Pentium ® 4 com CPU de 2.40 GHz e 512 MB de memória RAM – foram gastos um
total de quatro minutos e trinta segundos para se concluir o treinamento desta rede.
Assim, esta rede, após o treinamento deveria ser capaz de: (a) realizar a
classificação, em termos de elementos equivalentes ou semelhantes (menos
especializados), sob os novos elementos a ela apresentados de acordo com a
68
equivalência entre os padrões já existentes; e (b) apresentar como resposta a classe
que representa o agrupamento dos padrões por ela identificados.
4.4.2 Resultados da Topologia 2
De acordo com os parâmetros anteriormente descritos – o conjunto dos padrões, o
conjunto dos pesos iniciais, o formato da vizinhança, a quantidade de iterações –
pôde-se construir a estrutura da rede. Após o treinamento, tem-se como resultado
um mapa de características por onde é possível visualizar o agrupamento dos nodos
e seus respectivos vizinhos, distribuídos em forma de rede, onde o vetor de pesos
de cada um dos nodos corresponde a um dos vértices desta rede, conforme já
descrito na Seção 3.4.2.
Os resultados parciais do treinamento podem ser observados conforme visualização
do mapeamento da rede nas figuras 4.9 a 4.11 e ainda segundo os valores de ajuste
dos pesos iniciais do Quadro 4.7.
O Quadro 4.7 representa a condição inicial do mapa em que todos os pesos foram
iniciados aleatoriamente e com os mesmos valores, para dar a todos os nodos as
mesmas condições de competir pela representação de uma das classes. Os pesos
igualmente iniciados serão representados pelas mesmas coordenadas no mapa
topológico da rede. Neste instante, dá-se início a formação topológica da rede.
69
Quadro 4.7 – Vetor de pesos w inicialmente iguais (Topologia 2)
W=[2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000;
2.0000];
A Figura 4.9 mostra graficamente o mapa topológico da rede já nas primeiras
iterações e logo após o início do treinamento. O eixo W(i,1) representa as
coordenadas dos pesos sobre a descrição das Famílias dos elementos e o eixo
W(i,2) representa as coordenadas dos pesos sobre a descrição das Geometrias dos
elementos. Neste instante, a rede já começou a assumir a topologia dos dados,
conforme descrição da Seção 3.4.2. Os valores dos pesos foram ajustados conforme
distribuição e agrupamento dos nodos.
70
FIGURA 4.9 – Situação do mapa topológico após 500 iterações
A visualização da Figura 4.10 apresenta a rede formada após vinte e cinco mil
(25.000) ciclos de iterações, ou seja, já com o desenvolvimento da metade do
treinamento. Neste instante, o mapa topológico da rede já se encontra com a
apresentação de agrupamentos dos nodos mais bem definidos e organizados
topologicamente
pela
rede.
Aqui,
os
padrões
detectados
apresentam-se
relacionados de acordo com as coordenadas da posição dos seus respectivos nodos
no reticulado e próximos aos padrões semelhantes também detectados como sendo
os nodos dos vizinhos mais próximos, segundo os critérios já apresentados na
Seção 3.5.2.
71
FIGURA 4.10 – Situação após 25.000 iterações
Finalmente, a Figura 4.11 mostra a situação final da simulação da rede após
cinqüenta mil (50.000) iterações, apresentando o mapa topológico em sua
versão final e segundo a disposição dos agrupamentos de padrões realizados
de acordo com as semelhanças detectadas entre os dados recebidos como
entrada da rede.
FIGURA 4.11 – Situação após 50.000 iterações
72
As análises "quantitativa e qualitativa" acerca dos testes realizados neste modelo
serão apresentadas no próximo capítulo (ver seção 5.2.1). Segundo os resultados
encontrados, verifica-se que esta rede foi capaz de reconhecer apenas quarenta por
cento (40%) dos elementos apresentados de acordo com as semelhanças entre os
elementos por ela já conhecidos e treinados. Segundo os mesmos resultados,
conclui-se que esta rede ainda não encontrou um bom nível de aprendizado e que
as etapas de treinamento realizadas não foram suficientes para que a rede
apresentasse resultados satisfatórios segundo as necessidades desta pesquisa.
Este fato pode ser facilmente verificado se for comparado o vetor de peso final com
o vetor de entrada inicial, onde os mesmos não apresentam uma equivalência entre
os seus valores, conforme descrição na Seção 3.4.2.1. E mais, verificou-se que, se
forem realizados novos ciclos no treinamento desta rede – até dez vezes mais
iterações – os resultados ficam ainda piores, ou seja, tendem a decrescer até dez
por cento (10%) no reconhecimento dos novos padrões.
A partir desta limitação, constata-se que a rede SOM é indicada para o
agrupamento, visualização e abstração de padrões por ela conhecidos, mas que não
é adequada para o reconhecimento de padrões por ela desconhecidos. Assim, para
que o reconhecimento ou classificação de padrões seja realizado de maneira mais
eficiente, aconselha-se que a rede projetada seja utilizada junto com um modelo de
aprendizado supervisionado (KOHONEN,1989) 3 (citado por BRAGA et al., 2000).
Assim, deu-se o prosseguimento à pesquisa através da utilização da técnica de
quantização por vetor de aprendizado – Learning Vector Quantization (LVQ) –
indicada para classificação de padrões, a ser trabalhada juntamente com a rede
3
KOHONEN,T. Self-organizing and Associative Memory. Springer-Verlag, Berlin, 3 edition, 1989.
73
SOM. Para tal, foi criado o terceiro modelo de rede (Topologia 3), implementado
através do programa lvqEF.m e detalhado na seção seguinte.
4.5 DESENVOLVIMENTO DO TERCEIRO MODELO DE REDE – TOPOLOGIA 3
O programa lvqEF.m (Topologia 3) foi criado com intuito de realizar a classificação
dos elementos dos quais são conhecidos os dados de entrada e um conjunto de
classes – informados pelo Supervisor da Rede – que representa o universo em
questão, cabendo à rede desempenhar o papel de relacionar classes e padrões que
mais se assemelham ao conjunto dos dados fornecidos (ver Anexo A). Esta rede é
um modelo Self-organizing Map com aprendizado supervisionado, conforme
descrição da Seção 3.5.
4.5.1 Implementação da Topologia 3
Utilizou-se a Toolbox para redes neurais do software MatLab também na criação,
treinamento e simulação deste modelo (Topologia 3). As funções utilizadas foram:
(a) initlvq(), com os parâmetros 'conjunto dos padrões', 'dimensão' e 'conjunto das
classes', encarregada de iniciar a rede; e (b) trainlvq() com os parâmetros 'pesos
iniciais', 'conjunto dos padrões', 'conjunto das classes' e 'número de iterações',
encarregada de realizar o treinamento da mesma.
74
Foram informados para esta rede: um conjunto de padrões que representam os
elementos finitos segundo a codificação descrita na Seção 4.2.1; um conjunto de
classes representativas e elaboradas pelo Supervisor da Rede a ser transformado
no vetor de classes segundo a codificação descrita na Tabela 4.1; iniciou-se os
pesos aleatoriamente; foram utilizadas mil e quinhentas (1.500) épocas, ou ciclos de
iterações, para se chegar à taxa de aprendizado na ordem de 0,01 a cada fase de
treinamento; e um total de quatro mil e cinqüentas (4.500) iterações para que a rede
chegasse a um desempenho adequado.
O conjunto de padrões informados para o treinamento desta rede como conteúdo
para o vetor x de entrada foi obtido, aproximadamente, por uma amostragem de
cinqüenta por cento (50%) como representação dos elementos finitos das famílias do
espaço contínuo bidimensional e tridimensional presentes na Tabela 4.1. O conjunto
de classes informadas, também numericamente codificado segundo a Tabela 4.1, foi
obtido através do Supervisor da Rede, ou seja, por um especialista humano que
detêm o conhecimento sobre o domínio do problema. O critério utilizado pelo
Supervisor da Rede para a escolha das classes representativas para o agrupamento
dos padrões realizados pela rede foi baseado nas características sobre a Família,
Geometria, Aplicação e Ordem comuns entre os elementos finitos assim
organizados, conforme o modelo hierárquico apresentado nas figuras de 4.1 a 4.8
anteriores e também relacionados segundo a Tabela 4.1.
75
4.5.2 Resultados da Topologia 3
De acordo com o treinamento, pôde-se construir a estrutura topológica da rede,
resultando em um mapa de características que permite visualizar o agrupamento dos
padrões e as respectivas classes de forma distribuída na rede. Os resultados podem
ser observados segundo a visualização do mapeamento da rede nas figuras 4.12 a
4.14. e pelos valores de ajuste dos pesos do Quadro 4.8.
O Quadro 4.8 representa a condição inicial do mapa, onde os pesos iniciais são
igualmente distribuídos. Assim, inicia-se a formação topológica da rede, onde todos
os nodos têm as mesmas condições de competir pela representação das classes.
Quadro 4.8 – Vetor de pesos w inicialmente iguais (Topologia 3)
W=[2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
3.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
1.0000;
1.0000;
1.0000;
1.0000;
1.0000;
1.0000;
1.0000;
1.0000;
1.0000;
1.0000;
1.0000;
1.0000;
1.0000;
1.0000;
1.0000;
1.0000;
1.0000;
1.0000;
1.0000;
1.0000;
1.0000;
1.0000;
1.0000;
1.0000;
1.0000;
1.0000;
1.0000;
1.0000;
1.0000;
1.0000];
A visualização da Figura 4.12 apresenta a rede formada após mil e quinhentos
(1.500) ciclos de iterações. O eixo P(1),W(1) representa as coordenadas dos pesos
sobre a classe e a descrição das Famílias dos elementos e o eixo P(2),W(2)
76
representa as coordenadas dos pesos sobre a classe e a descrição das Geometrias
dos elementos. Neste instante do treinamento, percebe-se que a rede começa
assumir a topologia dos dados e o ajuste dos valores dos pesos está sendo
calculado segundo a Equação 3.5. O conjunto dos padrões está representado
segundo o agrupamento à direita (cor rosa) da Figura 4.12 e o conjunto das classes
informadas está representado segundo o agrupamento à esquerda (cor azul) na
mesma figura.
FIGURA 4.12 – Situação após 1.500 iterações
A Figura 4.13 apresenta a rede formada após três mil (3.000) iterações. Neste
instante, a visualização do mapa de característica apresenta o agrupamento dos
padrões (cor rosa) e das classes (cor azul) organizados de formas semelhantes.
77
FIGURA 4.13 – Situação após 3.000 iterações
Finalmente, a Figura 4.14 mostra a situação final da simulação da rede após quatro
mil e quinhentos (4.500) ciclos de iterações, no instante do melhor desempenho
alcançado, onde os agrupamentos dos padrões e das classes assumiram uma
organização de formas e valores mais representativos segundo a distribuição dos
dados informados.
FIGURA 4.14 – Situação após 4.500 iterações
78
Utilizou-se o mesmo equipamento que as topologias anteriores (Topologia 1 e
Topologia 2), sendo gasto um total de vinte segundos para se realizar o treinamento
completo desta rede (Topologia 3).
Os testes realizados na ferramenta lvqEF.m foram cem por cento (100%)
satisfatórios. Verificou-se que este modelo de rede foi capaz de realizar a
classificação com maior eficiência, em termos de elementos equivalentes ou
semelhantes (menos especializados), em relação aos novos elementos a ela
apresentados e de acordo com a equivalência entre os padrões já existentes,
obtendo como resposta a classe que representa o agrupamento dos padrões por ela
identificados.
A Figura 4.15 sintetiza o resultado prático desta avaliação. Ao apresentar um novo
padrão ( [3;4;2;3;4]T ) para esta rede, tem-se como resposta o número da classe (22)
que representa o agrupamento dos padrões por ela conhecidos e que possuem
características semelhantes ao novo padrão informado. Segundo as descrições
semânticas (Código e Nome) dos elementos presentes na Tabela 4.1,
pode-se
classificar o novo padrão com um tipo de padrão semelhante aos padrões
agrupados e rotulados pela classe encontrada, o que atesta a capacidade de
generalização do modelo treinado.
79
FIGURA 4.15 – Resultados práticos do programa lvqEF.m
Assim, os resultados e os testes realizados certificam que a metodologia aplicada na
criação e validação da ferramenta lvqEF.m aqui construída atenderam as
necessidades propostas e já mencionadas por este trabalho na descrição da Seção
1.4.
As análises "quantitativa e qualitativa" deste programa, assim como a relação
comparativa do mesmo com os modelos 1 e 2 das redes anteriormente
apresentadas, serão abordadas no próximo capítulo.
4.6 DISCUSSÕES FINAIS
Neste capítulo foi apresentada a metodologia aplicada na atualização do modelo
hierárquico proposto por Pinheiro (2003) e na criação e implementação dos modelos
de classificação – Topologia 1, Topologia 2 e Topologia 3 – desenvolvidos para
atender a proposta deste trabalho. No próximo capítulo, serão apresentadas as
análises "quantitativa e qualitativa" dos resultados de cada modelo aqui construído,
assim como o estudo comparativo entre os mesmos.
80
5
ANÁLISE DA FERRAMENTA
Este trabalho de pesquisa apresenta o projeto, a análise e os resultados de uma
ferramenta construída através da tecnologia das redes neurais artificiais. Durante a
concepção desta ferramenta, foi necessária a criação de três diferentes modelos de
redes para se alcançar os objetivos iniciais, ou seja, a classificação precisa dos
elementos finitos presentes na FEML.
Neste capítulo, serão analisados os resultados obtidos face à proposta inicial do
trabalho. Serão pontuados a seguir os diferentes modelos de redes construídos: a
Seção 5.1 apresenta a análise dos resultados da Topologia 1 implementada através
do programa classEF.m; a Seção 5.2 apresenta a análise dos resultados da
Topologia 2 através do programa somEF.m; desta mesma maneira, a Seção 5.3
apresenta a análise dos resultados da Topologia 3 através do programa lvqEF.m; e
finalmente, a Seção 5.4 faz uma análise comparativa entre os modelos
anteriormente apresentados.
5.1 TOPOLOGIA 1 – classEF.m
A aplicação deste modelo é mais adequada onde se tem previamente as
informações sobre o domínio do problema e suas respectivas relações. As
discussões a seguir evidenciam esta afirmação.
81
5.1.1 Aspectos positivos e negativos da Topologia 1 – classEF.m
Segundo a configuração do modelo de Topologia 1 anteriormente apresentada na
Seção 4.3.1, foram realizados vários testes a fim de validar este modelo. Os
resultados foram obtidos através da realização de duas diferentes etapas de teste.
Na primeira etapa dos testes, foram informados para a rede um conjunto de padrões
obtidos de maneira aleatória e representados por cinqüenta por cento (50%) dos
padrões por ela já conhecidos. A cada padrão testado foi coletado o resultado e
assim adicionado à Tabela 5.1, conforme visualização da mesma. Exemplificando,
ao informar um certo padrão ( [2;1;3;2;1]T ) a rede respondeu (Código="14")
acertadamente sua classificação (Nome="TPD3") conforme descrição da Tabela 4.1.
No final, foram totalizados nesta mesma tabela (Tabela 5.1) todos os resultados
encontrados durante esta etapa de teste. A visualização do Gráfico 5.1 apresenta os
mesmos resultados de maneira facilitada.
100%
80%
60%
40%
20%
0%
Acertos
Erros
GRÁFICO 5.1 – Resultados da Topologia 1 sobre os padrões conhecidos
82
TABELA 5.1 – Resultados da Topologia 1 sobre os padrões conhecidos
Teste
Nº
Classificação
Teste
Padrão
Cód
Nome
Resultado
Nº
1
[2;1;3;2;1]'
14
TFD3
1
19
[2;1;2;3;5]'
2
[2;1;1;2;3]'
4
TAX3E
1
20
3
[2;2;3;3;3]'
44
QXF8
1
4
[2;1;2;3;6]'
13
TXK6
5
[3;3;3;3;1]'
51
6
[2;2;3;3;4]'
7
Cód
Nome
Resultado
12
TNK6
1
[3;5;3;2;1]'
69
HF8
1
21
[3;4;3;2;1]'
58
PF6
1
1
22
[3;5;2;3;3]'
68
HX16L
1
TF10
1
23
[2;1;2;3;2]'
9
TPN6
1
45
QAX8F
1
24
[2;2;2;2;1]'
26
QPM4
1
[3;5;2;2;1]'
64
HX8
1
25
[3;3;1;2;1]'
47
TH4E
1
8
[3;4;2;3;3]'
57
PN12L
1
26
[3;4;3;2;1]'
58
PF6
1
9
[3;5;2;3;2]'
67
HX20
1
27
[3;3;1;2;1]'
47
TH4E
1
10
[2;1;3;2;2]'
15
N/A
1
28
[3;4;3;3;2]'
60
PF15
1
11
[2;2;2;2;3]'
28
QAX4
1
29
[3;3;2;3;1]'
49
TH10
1
12
[3;4;2;2;1]'
54
PN6
1
30
[3;5;2;2;1]'
64
HX8
1
13
[3;3;1;1;1]'
46
N/A
1
31
[2;1;2;2;2]'
6
TPN3
1
14
[3;5;3;3;3]'
72
HF16C
1
32
[2;1;1;2;1]'
2
TPM3E
1
15
[2;2;3;2;3]'
40
QXF4
1
33
[2;1;3;2;4]'
17
TAX3F
1
16
[2;2;1;1;1]'
22
N/A
1
34
[2;2;3;3;1]'
42
QFD8
1
17
[2;1;2;3;5]'
12
TNK6
1
35
[3;5;2;2;2]'
65
HX8M
1
18
[2;2;3;2;1]'
38
QFD4
1
36
[2;1;2;3;3]'
10
TAX6
1
Legenda
Acertos
Erros
Padrão
Classificação
Totalização
1 Acertos
-1 Erros
100%
0%
Na segunda etapa, foram informados para esta rede um conjunto de padrões obtidos
da mesma maneira (aleatoriamente), representando cinqüenta por cento (50%) dos
outros padrões desconhecidos pela rede, ou seja, novos padrões que ainda não
tinham sido treinados pela rede. Foi adicionado à Tabela 5.2 o resultado de cada
padrão testado, conforme visualização da mesma. Pode-se observar nesta tabela,
exemplificando o primeiro teste realizado, que a resposta da rede (Código="21") não
representa corretamente a classificação do padrão ( [2;1;3;2;5]T ) conforme a Tabela
4.1, assim como no teste dos outros padrões restantes.
83
Ainda nesta mesma tabela, consta a totalização de todos os resultados obtidos
durante esta etapa do teste. No Gráfico 5.2 tem-se uma visualização mais facilitada
dos mesmos resultados.
TABELA 5.2 – Resultados da Topologia 1 sobre os padrões desconhecidos
Teste
Nº
Padrão
Classificação
Cód
Teste
Resultado
Nº
Padrão
Classificação
Cód
Resultado
1 [2;1;3;2;5]'
21
-1
19 [2;1;2;3;7]'
17
-1
2 [2;1;1;2;7]'
13
-1
20 [3;5;3;2;3]'
18
-1
3 [2;2;3;3;5]'
11
-1
21 [3;4;3;2;3]'
29
-1
4 [2;1;2;3;8]'
32
-1
22 [3;5;2;3;5]'
34
-1
5 [3;3;3;3;3]'
15
-1
23 [2;1;2;3;7]'
19
-1
6 [2;2;3;3;6]'
22
-1
24 [2;2;2;2;8]'
60
-1
7 [3;5;2;2;4]'
14
-1
25 [3;3;1;2;5]'
35
-1
8 [3;4;2;3;5]'
27
-1
26 [3;4;3;2;4]'
14
-1
9 [3;5;2;3;5]'
37
-1
27 [3;3;1;2;4]'
70
-1
10 [2;1;3;2;7]'
35
-1
28 [3;4;3;3;5]'
30
-1
11 [2;2;2;2;7]'
18
-1
29 [3;3;2;3;3]'
18
-1
12 [3;4;2;2;4]'
45
-1
30 [3;5;2;2;4]'
34
-1
13 [3;3;1;1;3]'
64
-1
31 [2;1;2;2;4]'
16
-1
14 [3;5;3;3;5]'
27
-1
32 [2;1;1;2;6]'
12
-1
15 [2;2;3;2;6]'
22
-1
33 [2;1;3;2;7]'
54
-1
16 [2;2;1;1;3]'
11
-1
34 [2;2;3;3;6]'
31
-1
17 [2;1;2;3;8]'
10
-1
35 [3;5;2;2;4]'
72
-1
18 [2;2;3;2;6]'
15
-1
36 [2;1;2;3;7]'
27
-1
Legenda
Acertos
Erros
Totalização
1
-1
0%
100%
100%
80%
60%
40%
20%
0%
Acertos
Erros
GRÁFICO 5.2 – Resultados da Topologia 1 sobre os padrões desconhecidos
84
Conforme os resultados dos testes nas duas diferentes etapas apresentadas,
verifica-se que o modelo de Topologia 1 apresentou uma solução com cem por cento
(100%) de acertos na classificação dos elementos por ela conhecidos. Porém, esta
mesma rede apresenta um resultado de zero por cento (0%) de acertos sobre os
elementos por ela desconhecidos.
Ainda, os resultados sobre os testes realizados condizem com o modelo aplicado.
Como esperado, uma rede do tipo Perceptron é capaz de relacionar em um-para-um
os respectivos vetores de entrada/saída. Assim, constata-se que esta rede responde
com exatidão à classe que representa o elemento por ela conhecido e treinado, mas
diante de um novo padrão, esta rede não se mostrou capaz de classificá-lo face às
semelhanças com os outros padrões por ela já conhecidos, para o problema em
questão.
5.2 TOPOLOGIA 2 – somEF.m
Este modelo de rede difere do anterior (Topologia 1) por possuir a capacidade de
classificação em termos de elementos equivalentes ou semelhantes, de acordo com
as informações sobre os padrões apresentados à rede, obtendo como resposta, a
classe que representa o agrupamento dos padrões por ela identificados, conforme
descrito na Seção 4.4.
85
Este modelo é adequado para aplicações que necessitam de realizar
agrupamentos, visualização e abstração entre um conjunto de padrões
conhecido.
5.2.1 Aspectos positivos e negativos da Topologia 2 – somEF.m
Os testes realizados com a Topologia 2 utilizaram as configurações
apresentadas na Seção 4.4.1. Para tal, foram necessários vários testes durante
repetidas etapas de diferentes treinamento da rede a fim de validar
estatisticamente este modelo, ou seja, foram elaboradas sistematicamente dez
(10) diferentes etapas com variados testes, sendo a rede retreinada a cada
etapa realizada, para se obter uma melhor análise do comportamento
classificatório deste modelo de rede.
Durante as etapas de realização dos testes, verificou-se que esta topologia foi
capaz de realizar diversos tipos de agrupamentos, segundo os seus próprios
critérios de semelhança e que são baseados nas características da topologia
da auto-organização. A visualização dos quadros 5.1 a 5.3 mostra alguns dos
agrupamentos que esta rede foi capaz de realizar.
O Quadro 5.1 mostra a classificação dos elementos segundo as três últimas
posições do vetor de entrada x, ou seja, segundo a aplicação, a ordem e o tipo
do elemento comuns encontrados, conforme a codificação descrita na Seção
4.2.1.
Aqui, o critério para o agrupamento executado por esta rede parece ter
86
relação com a identificação de padrões que possuem os mesmos valores
("1;1;1") nas três últimas posições e que apresentaram valores diferentes nas
duas primeiras posições. Assim, os padrões agrupados foram classificados
como padrões semelhantes por esta topologia.
Quadro 5.1 – Agrupamentos dos elementos semelhantes
por Aplicação, Ordem e Tipo_Elemento
Elementos
P=[2;1;1;1;1]
P=[2;2;1;1;1]
P=[3;3;1;1;1]
P=[3;4;1;1;1]
P=[3;5;1;1;1]
O Quadro 5.2 mostra a classificação dos elementos segundo as duas primeiras
posições do vetor de entrada x, ou seja, segundo a família e a geometria
comuns encontradas, conforme codificação descrita na Seção 4.2.1. Neste
quadro, a classificação por semelhança entre os padrões foi identificada pela
igualdade dos valores das duas primeiras ("2;1") posições do vetor x e pela
diferença entre as três outras posições.
Quadro 5.2 – Agrupamentos dos elementos semelhantes
por Família e Geometria
Elementos
P=[2;1;2;2;1]
P=[2;1;1;2;2]
O Quadro 5.3 mostra a classificação dos elementos segundo uma certa
distribuição comum encontrada pela rede de acordo com as informações e
posições do vetor x de entrada. Esta rede foi capaz de realizar a classificação
87
de padrões que apresentam uma certa harmonia na distribuição do grau e
ordem dos valores encontrados, onde: ( [n;n-1;n;n-1;n-1]' ) para n={2 ou 3}.
Quadro 5.3 – Agrupamentos dos elementos semelhantes
por seqüência
Elementos
P=[2;1;2;1;1]
P=[3;2;3;2;2]
Segundo as necessidades e os objetivos da classificação dos elementos
presentes a FEML, esta rede deveria ser capaz de organizar com maior
aproximação as características que descrevem os padrões, levando em conta
os valores presentes nas cinco posições que compõem o vetor x de entrada da
rede, ou seja, os valores das três primeiras posições do vetor deveriam ser
equivalentes e as duas últimas posições poderiam apresentar um pouco mais
de flexibilidade entre a equivalência ou aproximação dos valores, conforme
visualização dos quadros 5.4 e 5.5. Tais características podem ser observadas
nas figuras 4.2 a 4.8 que mostram a hierarquia de elementos finitos
empregada.
O Quadro 5.4 apresenta como equivalentes os padrões que possuem a mesma
família, geometria, aplicação e ordem do elemento correspondentes às quatro
primeiras posições do vetor, conforme descrição da codificação na Seção
4.2.1. Estes devem estar classificados, segundo a proposta deste trabalho,
como padrões equivalentes e agrupados em uma mesma classe.
88
Quadro 5.4 – Agrupamentos dos elementos equivalentes
Elementos
P=[2;1;2;2;1]
P=[2;1;2;2;4]
O Quadro 5.5 apresenta como semelhantes os padrões que possuem a mesma
família, aplicação, ordem e tipo do elemento, podendo apresentar diferentes
geometrias. Estes padrões, também, devem estar classificados como padrões
semelhantes e agrupados em uma mesma classe, segundo as necessidades
da FEML já mencionadas.
Quadro 5.5 – Agrupamentos dos elementos semelhantes
Elementos
P=[2;1;2;2;1]
P=[2;2;2;2;1]
Os resultados dos testes realizados neste modelo foram obtidos através de dez
etapas diferentes. Em cada etapa dos testes realizados, a rede passou por um
novo treinamento. Foi informado para a rede durante a realização dos testes
um
conjunto
de
padrões
obtidos
aleatoriamente,
representando
uma
amostragem de cinqüenta por cento (50%) dos padrões por ela conhecidos
(padrões já treinados pela rede) ou desconhecidos (padrões ainda não
treinados pela rede). A cada padrão testado foi coletado seu resultado e
adicionado à Tabela 5.3 conforme sua visualização. No final desta tabela
(Tabela 5.3) encontram-se os resultados segundo o somatório de todas as
etapas dos testes individualmente realizados. O Gráfico 5.3 apresenta de
maneira mais facilitada os mesmos resultados.
89
TABELA 5.3 – Resultados da Topologia 2 sobre os padrões
conhecidos/desconhecidos
Nº Teste
Etapa1
Etapa2
Etapa3
Etapa4
Etapa5
1
0
-1
2
-1
1
3
-1
0
4
1
-1
Etapa6
Etapa7
-1
1
-1
-1
-1
0
0
-1
Etapa8
Etapa9
-1
0
0
-1
-1
-1
Etapa10
-1
0
-1
0
0
-1
-1
-1
1
-1
-1
-1
-1
-1
1
1
-1
1
5
1
1
0
-1
-1
0
-1
1
-1
1
6
-1
-1
1
-1
-1
0
-1
-1
1
-1
7
-1
0
1
-1
0
-1
-1
-1
1
-1
8
0
-1
-1
-1
1
-1
0
-1
-1
0
9
-1
0
-1
1
0
0
0
1
0
-1
10
-1
-1
-1
-1
-1
1
-1
-1
0
-1
11
0
-1
-1
0
-1
-1
0
-1
-1
0
12
0
-1
0
-1
0
-1
-1
-1
0
-1
13
-1
1
-1
-1
-1
-1
1
0
-1
-1
14
0
0
0
-1
1
-1
-1
-1
0
-1
15
-1
-1
-1
0
-1
0
0
-1
-1
0
16
0
1
-1
-1
0
-1
-1
0
-1
1
17
-1
-1
-1
0
0
1
-1
-1
0
-1
18
-1
-1
-1
-1
-1
-1
-1
0
-1
1
Equivalentes
11,11 %
22,22 %
11,11 %
11,11 % 11,11 %
16,67 %
11,11 %
16,67 %
11,11 %
11,11 %
Semelhantes
33,33 %
22,22 %
22,22 %
22,22 % 33,33 %
27,78 %
27,78 %
22,22 %
33,33 %
27,78 %
Erros
55,56 %
55,56 %
66,67 %
66,67 % 55,56 %
55,56 %
61,11 %
61,11 %
55,56 %
61,11 %
Semelhantes
Erros
Totalização
Legenda
Equivalentes
1
13 %
Semelhantes
0
27 %
Erros
-1
59 %
60%
50%
40%
30%
20%
10%
0%
Iguais
GRÁFICO 5.3 – Resultados da Topologia 2 sobre os padrões
conhecidos/desconhecidos
90
Conforme os resultados dos testes apresentados pelas dez diferentes etapas
realizadas, verifica-se que o modelo de Topologia 2 foi capaz de reconhecer
apenas quarenta por cento (40%) dos elementos à ela apresentados de acordo
com a equivalência e semelhança entre os elementos por ela conhecidos e
treinados, conforme descrição da Seção 4.4.1. Ainda, constata-se que esta
rede não foi capaz de realizar com eficiência os agrupamentos de acordo com
os critérios apresentados anteriormente nos quadros 5.4 e 5.5 elaborados
segundo as exigências do modelo hierárquico atual descrito na Seção 4.1.1.
5.3 TOPOLOGIA 3 – lvqEF.m
Esta rede é um modelo Self-organizing Map com aprendizado supervisionado.
A Topologia 3 supera a anterior (Topologia 2) por ser capaz de relacionar
classes e padrões que mais se assemelham ao conjunto dos dados fornecidos,
a fim de melhorar a qualidade das regiões de decisão do classificador,
conforme já mencionado na Seção 3.5. Este modelo é indicado para aplicações
que necessitam incluir novos padrões em uma rede SOM já treinada.
5.3.1 Aspectos positivos e negativos da Topologia 3 – lvqEF.m
Os resultados dos testes da Topologia 3 foram obtidos através da realização de
duas etapas diferentes, representadas por grupos de padrões diferenciados.
Sendo que, para a primeira etapa dos testes foram informados apenas os
91
padrões conhecidos pela rede, ou seja, um grupo de padrões que já foi
treinado pela rede. Já na segunda etapa, todos os padrões testados ainda não
tinham sido treinados pela rede, portanto desconhecidos pela mesma. A
intenção desta metodologia de teste foi atestar com maior segurança o poder
de classificação e generalização deste modelo face à equivalência dos padrões
(primeira etapa) e semelhança (segunda etapa) dos novos padrões
apresentados à rede.
Para a realização da primeira etapa dos testes, foram informados para a rede
um conjunto aleatório de padrões representados por um grupo de cinqüenta
por cento (50%) dos padrões por ela conhecidos. O resultado do teste de cada
padrão foi coletado e adicionado à Tabela 5.4 conforme visualização desta. No
final da tabela (Tabela 5.4) encontra-se o total dos resultados durante esta
etapa de teste.
Na Tabela 5.4 pode-se observar que o teste de número 10 realizado, por
exemplo, apresenta como resposta da rede (Código="15") uma classificação
exata do padrão ( [2;1;3;2;2]T ) conforme a Tabela 4.1, assim como o restante
dos outros padrões testados durante esta etapa.
92
TABELA 5.4 – Resultados da Topologia 3 sobre os padrões conhecidos
Teste
Resposta
Classificação
Nº
Padrão
Classe
Cód
1
[2;1;3;2;1]'
5
14
Teste
Resposta Classificação
Nome Resultados
Nº
Padrão
Classe
Cód
1
19
[2;1;2;3;5]'
4
12
TNK6
1
1
20
[3;5;3;2;1]'
29
69
HF8
1
1
21
[3;4;3;2;1]'
23
58
1
1
1
Nome Resultados
2
[2;1;1;2;3]'
2
4
TFD3
TAX3
E
3
[2;2;3;3;3]'
12
44
QXF8
4
[2;1;2;3;6]'
4
13
TXK6
1
22
[3;5;2;3;3]'
28
68
PF6
HX16
L
5
[3;3;3;3;1]'
18
51
TF10
QAX
8F
1
23
[2;1;2;3;2]'
4
9
TPN6
1
24
[2;2;2;2;1]'
9
26
QPM4
1
1
25
[3;3;1;2;1]'
14
47
TH4E
1
6
[2;2;3;3;4]'
12
45
7
[3;5;2;2;1]'
27
64
8
[3;4;2;3;3]'
22
57
HX8
PN12
L
1
26
[3;4;3;2;1]'
23
58
PF6
1
9
[3;5;2;3;2]'
28
67
HX20
1
27
[3;3;1;2;1]'
14
47
TH4E
1
10
[2;1;3;2;2]'
5
15
1
28
[3;4;3;3;2]'
24
60
PF15
1
1
11
[2;2;2;2;3]'
9
28
N/A
QAX
4
1
29
[3;3;2;3;1]'
16
49
TH10
12
[3;4;2;2;1]'
21
54
PN6
1
30
[3;5;2;2;1]'
27
64
HX8
1
13
[3;3;1;1;1]'
13
46
1
31
[2;1;2;2;2]'
3
6
[3;5;3;3;3]'
30
72
1
32
[2;1;1;2;1]'
2
2
15
[2;2;3;2;3]'
11
40
QXF4
1
33
[2;1;3;2;4]'
5
17
TPN3
TPM3
E
TAX3
F
1
14
N/A
HF16
C
16
[2;2;1;1;1]'
7
22
N/A
1
34
[2;2;3;3;1]'
12
42
QFD8
1
17
[2;1;2;3;5]'
4
12
TNK6
1
35
[3;5;2;2;2]'
27
65
HX8M
1
18
[2;2;3;2;1]'
11
38
QFD4
1
36
[2;1;2;3;3]'
4
10
TAX6
1
1
-1
Acertos
Erros
Legenda
Acertos
Erros
Totalização
100%
0%
Na segunda etapa, foram informados para esta rede um conjunto aleatório de
padrões como amostragem de cinqüenta por cento (50%) dos padrões por ela
desconhecidos. Os resultados dos testes foram coletados e adicionados à
Tabela 5.5 conforme visualização a seguir. No final da Tabela 5.5 encontra-se
a totalização dos resultados desta etapa de teste.
Observa-se na Tabela 5.5 que o teste de número 10 realizado, por exemplo,
apresenta como resposta da rede (Código="30") representando o agrupamento
de padrões semelhantes segundo classificação do novo padrão ( [3;5;3;3;5]T ) e
conforme a Tabela 4.1, assim como todo o resto dos padrões testados nesta
etapa.
1
1
93
TABELA 5.5 – Resultados da Topologia 3 sobre padrões desconhecidos
Teste
Resposta
Nº
Padrão
Classe
Cód
Nome
Cód
Nome
Cód
Nome
Resultados
1
[3;4;2;3;4]'
22
55
PN12L
56
PN15
57
PN12L
1
2
[2;1;1;2;4]'
2
2
TPM3E
3
TPN3E
4
TAX3E
1
3
[3;3;3;3;5]'
18
51
TF10
4
[3;5;2;2;4]'
27
64
HX8
65
HX8M
5
[3;5;2;3;4]'
28
66
HX16
67
HX20
6
[2;2;1;1;3]'
7
22
N/A
7
[2;1;2;2;4]'
3
5
TPM3
8
[3;4;2;2;3]'
21
54
PN6
1
9
[3;3;1;1;3]'
13
46
N/A
1
10
[3;5;3;3;5]'
30
70
HF16
71
HF20
11
[3;5;2;2;4]'
27
64
HX8
65
HX8M
12
[2;2;1;1;3]'
7
22
N/A
1
13
[3;5;3;2;3]'
29
69
HF8
1
14
[3;4;3;2;4]'
23
58
PF6
1
15
[3;3;1;2;5]'
14
47
TH4E
1
16
[3;4;3;3;4]'
24
59
PF12
17
[3;3;2;3;3]'
16
49
TH10
18
[2;1;2;2;4]'
3
5
TPM3
6
TPN3
19
[3;5;2;2;5]'
27
64
HX8
65
HX8M
20
[3;3;3;3;3]'
18
51
TF10
21
[2;1;2;2;5]'
3
5
TPM3
6
TPN3
7
TAX3
1
22
[3;4;2;3;6]'
22
55
PN12L
56
PN15
57
PN12L
1
23
[3;5;3;3;4]'
30
70
HF16
71
HF20
72
HF16C
1
24
[3;3;3;3;4]'
18
51
TF10
25
[3;5;3;3;6]'
30
70
HF16
26
[3;3;1;2;4]'
14
47
TH4E
1
27
[2;2;1;1;4]'
7
22
N/A
1
28
[3;5;2;2;4]'
27
64
HX8
65
HX8M
29
[2;1;2;2;7]'
3
5
TPM3
6
TPN3
30
[3;4;2;2;5]'
21
54
PN6
31
[3;5;2;2;6]'
27
64
HX8
32
[3;3;1;2;3]'
14
47
TH4E
33
[3;5;2;2;4]'
27
64
HX8
65
HX8M
34
[3;5;3;3;7]'
30
70
HF16
71
HF20
35
[2;1;1;1;3]'
1
1
N/A
1
36
[3;5;1;1;3]'
25
1
N/A
1
Classificação: Agrupamento de padrões semelhantes
Legenda
1
1
68
HX16L
1
1
6
60
TPN3
PF15
7
72
TAX3
HF16C
1
1
1
61
PF12C
1
1
7
TAX3
1
1
1
1
71
HF20
72
HF16C
1
1
7
TAX3
1
1
65
HX8M
1
1
Totalização
Acertos
1
Acertos
100%
Erros
-1
Erros
0%
1
72
HF16C
1
94
De acordo com os resultados apresentados nas tabelas anteriores (Tabela 5.4
e Tabela 5.5), constata-se que esta topologia (Topologia 3) apresentou um
resultado cem por cento (100%) satisfatório, ou seja, este modelo de rede foi
capaz de realizar a classificação com maior eficiência, segundo os novos
elementos a ela apresentados de acordo com a equivalência (Tabela 5.4) e
aproximação (Tabela 5.5) entre os padrões por ela já conhecidos e treinados,
obtendo como resposta, a classe que representa o agrupamento dos padrões
identificados. A visualização do Gráfico 5.4 sintetiza os resultados práticos
desta avaliação.
100%
80%
60%
40%
20%
0%
Padrões
conhecidos
Padrões
desconhecidos
Erros
GRÁFICO 5.4 – Resultados da Topologia 3 sobre os padrões
conhecidos/desconhecidos
Conclui-se que a Topologia 3 (lvqEF.m) é capaz de reconhecer e com bastante
precisão, o agrupamento dos padrões equivalentes em uma mesma classe
rotulada dentre os padrões que possuem a mesma família, geometria,
aplicação, ordem do elemento e que diferem no tipo do elemento, conforme
necessidade já apontada por este trabalho.
95
5.4 COMPARAÇÃO ENTRE AS TOPOLOGIAS DE REDE UTILIZADAS
Conforme o que foi apresentado neste capítulo, a Topologia 1 desenvolvido
não foi capaz de classificar os padrões desconhecidos (novos padrões)
segundo as semelhanças com os padrões conhecidos pela rede. Os resultados
comprovam que este tipo de rede (Perceptron) tem melhor aplicação em
classificação onde se tem previamente as informações sobre o domínio do
problema e suas relações, não se mostrando indicada para solução do
problema em questão.
A Topologia 2 reconheceu bem pouco os elementos à ela apresentados de
acordo com a equivalência e semelhança entre os elementos por ela
conhecidos e treinados. Ela se mostrou ineficiente para inclusão de novos
padrões e, portanto, inadequada segundo as necessidades da FEML. Porém,
certificou-se a capacidade deste tipo de rede (rede SOM) em realizar diversos
agrupamentos, o que enfatiza sua aplicação em problemas que necessitam de
visualização e abstração dos dados entre um conjunto de padrões conhecidos.
Os resultados e as análises anteriormente apresentados comprovam que a
Topologia 3 (lvqEF.m) é a mais indicada entre as topologias aqui apresentadas.
A Topologia 3 foi capaz de reconhecer, eficientemente, agrupamentos de
padrões semelhantes ou equivalentes em uma mesma classe, permitir a
inclusão de novos padrões e, assim, atender prontamente as necessidades e
os objetivos da classificação dos elementos finitos apontadas pela FEML.
96
6
CONCLUSÕES E CONSIDERAÇÕES FINAIS
Ao término deste trabalho, pode-se concluir que: (a) a ferramenta criada como
objeto desta pesquisa e projetada para ser utilizada a partir da linguagem
FEML poderá de fato contribuir para que os programas de interface entre os
diferentes programas MEF existentes possam efetuar as operações de
importação dos dados de maneira inteligente e dinâmica; (b) a utilização desta
ferramenta fará com que sejam eliminados por completo os erros decorrentes
das operações manuais com a redigitação dos dados.
Como é sabido, o problema do transporte dos dados entre formatos e
plataformas diferentes requer aplicação constante de novas tecnologias,
agilidade de processamentos e confiabilidade no transporte das informações.
Estes argumentos são plausíveis para o surgimento de novas propostas de
pesquisa. Neste sentido, há ainda muito que fazer além do que foi feito até o
momento.
A meta inicial, que era estender o modelo hierárquico desenvolvido por
Pinheiro (2003), para que o mesmo pudesse contemplar novas famílias dos
elementos descritas no programa LUSAS, foi atingida, ao adicionar a família do
espaço contínuo tridimensional (3D), assim como, a atualização e ampliação da
família do espaço contínuo bidimensional (2D) e a inclusão da família Field.
Como resultado desta expansão, o modelo hierárquico sofreu um acréscimo de
97
225% (duzentos e vinte cinco por cento) até o presente estágio, o que tende a
crescer bem mais na sua continuidade através de novos trabalhos sucessivos a
este.
A meta seguinte, de construção de uma ferramenta capaz de realizar a
classificação, em termos de elementos equivalentes ou de elementos
semelhantes presentes na FEML, de maneira eficiente, aplicando os recursos
da RNA foi atingida. O projeto, a análise e os resultados apresentados nos
capítulos 4 e 5 anteriores podem ser considerados como comprovação da
viabilidade desta proposta. E mais, o método aplicado no desenvolvido da rede
construída por este trabalho apresentou-se bem eficiente, podendo ser
aproveitado em outras aplicações que requer a solução de problemas na
classificação de padrões.
Espera-se, assim, que esta ferramenta venha contribuir, dando maior
aplicabilidade à linguagem FEML como um padrão de intercâmbio de dados
efetivo entre os programas MEF, permitindo aos programas de interface dos
programas de elementos finitos otimizarem as operações de importação entre o
formato proprietário e o formato, assim como, espera-se que este trabalho
venha fomentar novas pesquisas.
98
6.1 NOVOS DESAFIOS
Algumas idéias serão apontadas a seguir, com o intuito de dar continuidade a
este trabalho.
6.1.1 Extensão do trabalho para outras famílias e atributos dos elementos
Até o presente momento, foram contempladas apenas três das dez famílias
dos elementos existentes no programa LUSAS. A inclusão das outras famílias
de elementos, assim como a descrição de novas características, como por
exemplo, a descrição da carga e do material, provavelmente, daria maior
importância à aplicabilidade da FEML e, conseqüentemente, à necessidade de
aplicação da rede construída por este trabalho.
O método de classificação utilizado na ferramenta construída está efetivamente
bem testado e apresenta-se eficiente. Assim sendo, tudo indica que o
redimensionamento desta rede na inserção de novos atributos será de fácil
implementação (BELTZER E SATO, 2003), uma vez que a topologia da rede
utilizada (rede SOM e algoritmo LVQ) permite novas inserções de padrões em
redes já treinadas sendo desnecessário refazer seu treinamento.
99
6.1.2 Extensão do trabalho para outros programas MEF
Tanto a FEML quanto a rede construída neste trabalho contemplaram apenas o
programa LUSAS e a maneira pelo qual o mesmo constrói a estruturação dos
seus dados. Sabe-se, porém, que a maioria dos programas MEF trabalham
com os mesmos conceitos que nortearam o vocabulário presente na FEML, os
quais orientaram a elaboração dos padrões existentes na rede aqui construída.
Entretanto, é natural que ocorram divergências entre os fabricantes dos
programas. Assim, torna-se necessário analisar os formatos e dados existentes
nos programas MEF mais comercializados, a fim de conhecer o processo de
importação e exportação entre os mesmos. A expansão da FEML parece ser
viável, pois viabilizaria o intercâmbio de dados entre todos, ou pelo menos
entre a maioria dos programas MEF comercializados.
6.1.3 Rotinas de busca por padrões definidos em uma base de dados
Até o presente momento, a relação entre a saída da rede, que representa a
codificação da classe, com a identificação do agrupamento dos padrões por ela
representados, está sendo feita manualmente, ou seja, a rede informa na saída
o rótulo da classe que identifica o agrupamento dos padrões por ela
identificado como equivalentes ou semelhantes, porém a identificação dos
Códigos e Nomes dos padrões que ela representa está ainda sendo feita por
uma operação manual de consulta à Tabela 4.1.
100
Como sugestão para dinamizar ainda mais o processo de intercâmbio de dados
entre os programas MEF, a estrutura e o conteúdo presentes na Tabela 4.1
deverão ser transformados em uma base de dados e a partir daí, poderá ser
criada uma rotina de consulta a esta base de dados relacionando classes e
padrões.
6.1.4 Rotina de exportação dos dados
O foco deste trabalho foi dinamizar a operação de importação a partir de um
formato neutro (FEML) para um certo programa MEF. Entretanto, falta ainda a
criação de uma rotina que realize a operação inversa, ou seja, falta
implementar uma rotina que fará a operação de exportação dos dados a partir
de um programa MEF qualquer para o esquema FEML. Isto fará com que todo
o ciclo para a realização do intercâmbio de dados entre os programas que
utilizam o Método dos Elementos Finitos esteja completo, independentemente
de suas particularidades de formatação.
6.1.5 Aplicação do modelo ART
Uma outra possibilidade de estudo seria a análise do desempenho de uma
outra rede construída com os mesmos propósitos, mas utilizando um dos
modelos da família das redes ART, como por exemplo a ART MAP
101
[CARPENTER et al., 1991] 4 (citado por BRAGA et al., 2000), de forma
comparativa com a rede aqui construída e utilizada.
6.2 CONSIDERAÇÃO FINAL
Fica claro que a ferramenta criada como objeto deste estudo serve para auxiliar
o processo de importação dos dados entre os programas MEF, de maneira
eficiente, a partir do formato padrão existente na linguagem FEML. Entretanto,
é possível também a utilização do método de aprendizado por classificação
desenvolvido por este trabalho e aplicado na ferramenta aqui construída para
outros vocabulários existentes e que necessitam também realizar a
classificação de padrões, dentre eles: a Mathematical Markup Language
(MathML), a Music Markup Language (MusicML), e mais tantas outras
linguagens de marcação que foram e que ainda estão sendo criadas.
4
CARPENTER, G. A. GROSSBERG, S. & REYNOLDS, J. H.. ARTMAP: Supervised real time learning and
classification of nonstationary data by a self-organizing neural network. Neural Networks, 1991.
102
REFERÊNCIAS
BELTZER, Abraham I.; SATO, Tadanobu. Neural classification of finite elements.
Computers & Structures, v. 81, p. 2331-2335, 2003.
BRAGA, Antônio P.; CARVALHO, André Carlos P. L. F.; LUDEMIR, Teresa B.
Redes Neurais Artificiais. In: REZENDE, Solange O. (Org.). Sistemas Inteligentes:
fundamentos e aplicações. Barueri, SP: Manole, p.141-168, 2003.
BRAGA, Antônio P.; CARVALHO, André Carlos P. L. F.; LUDEMIR, Teresa B.
Redes Neurais Artificiais: teoria e aplicações. Rio de Janeiro, RJ: LTC – Livros
Técnicos e Científicos Editora S. A., 2000.
FÜRST, Karl; SCHMIDT, Thomas. Internet Electronic Data Interchange with XML
and Java. In: XML EUROPE, jun. 2000, Paris, França. Proceedings...
HAROLD, Elliotte R. XML Bible. IDG Books Worldwide Web, 1999. Disponível em:
<www.idgbooks.com> Acesso: mar. 2004.
HAYKIN, Simon. Redes neurais: princípios e prática. 2. ed. Porto Alegre, RS:
Bookman, 2001.
LUSAS. Element Library. Version 13.5 Media Date 04-Aug-03. Kingston upon
Thames, Inglaterra: FEA Ltd., 2003a.
103
LUSAS. User Manual. Version 13.5 Media Date 04-Aug-03. Kingston upon Thames,
Inglaterra: FEA Ltd., 2003b.
MACKERLE, J. FEM and BEM in the context of information retrieval. Computers and
Structures, v.80, p. 1595-1604, 2002.
MATLAB. MathWorks Products Used. Disponível em: <www.mathworks.com>.
Acesso: abr. 2004a.
MATLAB. User Manual. Disponível em: <www.mathworks.com>. Acesso: abr. 2004b.
MEIRELES, M.R.G.; ALMEIDA, P.E.M. & SIMÕES, M.G. A Comprehensive Review
About
Industrial
Applicability of Artificial Neural Networks. IEEE Trans. on
Industrial Electronics, v. 50, n. 3, p. 585-601, 2003.
OLIVEIRA, D.M.L.M.; MOITA, G.F.; ALMEIDA, P.E.M. An intelligent model for
hierarchical classification of finite elements within a xml schema. At the 25th Iberian
Latin-American Congress on Computational Methods in Engineering, CILAMCE 2004.
ISBN 8574-09869-8.
PINHEIRO, Marden C. Proposta de um Esquema XML para o Intercâmbio de Dados
entre Programas de Análise por Elementos Finitos. 2003. 117 f.. Dissertação (Mestrado
em Tecnologia) – DPPG/CEFET-MG, Belo Horizonte, 2003.
104
PINHEIRO, M.C.; MOITA, G.F. Usando XML para criação de um padrão para o
Intercâmbio de dados entre programas de Elementos Finitos. At the 24th Iberian Latin-
American Congress on Computational Methods in Engineering, CILAMCE 2003.
TOLENTINO, Ricardo J. V. Aplicações Web em XML: Estágio Atual e Tendências
Futuras. 2002. 136 f.. Dissertação (Mestrado em Tecnologia) – DPPG/CEFET-MG,
Belo Horizonte, 2002.
VESANTO, Juha et al. Self-organizing map in MatLab: the SOM toolbox. In
Proceedings of the MatLab DSP Conference – Espoo,
University
of
Technology,
1999.
Finland: Helsinki
Disponível
em:
<http://www.cis.hut.fi/projects/somtoolbox>. Acesso: jun. 2004.
W3C – World Wide Web Consortium. Disponível em: <http://www.w3.org>.
Acesso: mar. 2004.
ZURADA, Jacek M. Introduction to Artificial Neural Systems. Boston, MA: PWS
Publishing Company, 1995.
105
ANEXO A
CÓDIGO FONTE DOS PROGRAMAS
Para esclarecimentos complementares que se fizerem necessários, serão
apresentados a seguir o código fonte de cada programa desenvolvido neste
trabalho. A Seção A.1 apresenta o programa intitulado arvoreEF.cpp; a Seção
A.2 apresentado o programa intitulado classEF.m; a Seção A.3 apresenta o
programa somEF.m e a Seção A.4 o programa lvqEF.m.
A.1 PROGRAMA arvoreEF.cpp
Este programa foi desenvolvido segundo a lógica tradicional e a linguagem de
programação C++ do compilador Borland Turbo C++. O objetivo deste
programa é realizar a classificação dos elementos finitos presentes na
hierarquia da família do espaço contínuo bidimensional (2D) do programa
LUSAS, segundo o modelo hierárquico proposto por Pinheiro (2003).
A.1.1 Código fonte do programa arvoreEF.cpp
// bibliotecas
#include "stdio.h"
#include "conio.h"
106
// documentação
/* *****************************************
Tabela: Family
int codFamily[11] = {1,2,3,4,5,6,7,8,9,10,0};
String Family[11] = {"1D","2D","3D","Barras","Campos","Cascas",
"Juntas","Membranas","Placas","Vigas","DES"};
DES = "Desconhecida", cod= 0
Tabela: Shape
int codShape[3] = {1,2,0};
String Shape[3] = {"Triangular","Quadrilateral","DES"};
Tabela: Application
int codApplication[4] = {1,2,3,0};
String Application[4] = {"Dynamic","Static","Field","DES"};
Tabela: Order
int codOrder[4] = {1,2,3,0};
String Order[4] = { "N/A","Linear","Quadratic","DES"};
Tabela: Element_Type
int codType[4] = {1,2,3,0};
String Type[4] = { "Plane Stress","Plane Strain","Axisymmetric","DES"};
*****************************************
*/
// método principal do programa
void main () {
// declarações de variáveis
int i;
int vetorX [5]= {0, 0, 0, 0, 0};
// entrada dos dados
clrscr();
for (i=1; i<=5; i++) {
printf ("Informe o %d valor do Vetor ",i," : ");
scanf("%d",&vetorX[i]);
}
// mostra o vetor preenchido
clrscr();
printf ("Vetor preenchido: \n");
for (i=1; i<=5; i++) {
printf (" %d",vetorX[i]);
}
printf ("\n\nIdentificação do Elemento: ");
// teste para identificação da Família
if (vetorX[1] == 1)
{printf ("\n Family= 1D");}
else if (vetorX[1] == 2)
{printf ("\n Family= 2D");}
else if (vetorX[1] == 3)
{printf ("\n Family= 3D");}
107
else if (vetorX[1] == 4)
{printf ("\n Family= Barras");}
else if (vetorX[1] == 5)
{printf ("\n Family= Campos");}
else if (vetorX[1] == 6)
{printf ("\n Family= Cascas");}
else if (vetorX[1] == 7)
{printf ("\n Family= Juntas");}
else if (vetorX[1] == 8)
{printf ("\n Family= Membranas");}
else if (vetorX[1] == 9)
{printf ("\n Family= Placas");}
else if (vetorX[1] == 10)
{printf ("\n Family= Vigas");}
else if (vetorX[1] == 0)
{printf ("\n Family= Desconhecida");}
else
{printf ("\n ERRO: Family ");}
// teste para identificação da Geometria
if (vetorX[2] == 1)
{printf ("\n Shape= Triangular ");}
else if (vetorX[2] == 2)
{printf ("\n Shape= Quadrilateral");}
else if (vetorX[2] == 0)
{printf ("\n Shape= Desconhecida");}
else
{printf ("\n ERRO: Shape");}
// teste para identificação da Aplicação
if (vetorX[3] == 1)
{printf ("\n Application= Dynamic");}
else if (vetorX[3] == 2)
{printf ("\n Application= Static");}
else if (vetorX[3] == 3)
{printf ("\n Application= Field");}
else if (vetorX[3] == 0)
{printf ("\n Application= Desconhecida");}
else
{printf ("\n ERRO: Application");}
// teste para identificação da Ordem
if (vetorX[4] == 1)
{printf ("\n Order= N/A");}
else if (vetorX[4] == 2)
{printf ("\n Order= Linear");}
else if (vetorX[4] == 3)
{printf ("\n Order= Quadratic");}
else if (vetorX[4] == 0)
{printf ("\n Order= Desconhecida");}
else
{printf ("\n ERRO: Order");}
// teste para identificação do Tipo do elemento
if (vetorX[5] == 1)
{printf ("\n Element_Type= Plane Stress");}
else if (vetorX[5] == 2)
{printf ("\n Element_Type= Plane Strain");}
else if (vetorX[5] == 3)
{printf ("\n Element_Type= Axisymmetric");}
108
else if (vetorX[5] == 0)
{printf ("\n Element_Type= Desconhecida");}
else
{printf ("\n ERRO: Element_Type");}
// teste de classificação para o Nome do elemento
// restrito a Família 2D
printf("\n\n");
printf ("Classificação do elemento: ");
printf ("\n Nome do elemento= ");
if (vetorX[1] == 2) {
// 2D
if (vetorX[2] == 1) {
if (vetorX[3] == 1) {
if (vetorX[4] == 1)
{printf ("N/A");}
// Triangular
// Dynamic
// N/A
else if (vetorX[4] == 2) {
// Linear
if (vetorX[5] == 1)
{printf ("TPM3E");}
else if (vetorX[5] == 2)
{printf ("TPN3E");}
else if (vetorX[5] == 3)
{printf ("TAX3E");}
else
{printf ("ERRO: Elemento desconhecido");}
}
else
{printf ("ERRO: Order desconhecida");}
}
else if (vetorX[3] == 2){
// Static
if (vetorX[4] == 2) {
// Linear
if (vetorX[5] == 1)
{printf ("TPM3");}
else if (vetorX[5] == 2)
{printf ("TPN3");}
else if (vetorX[5] == 3)
{printf ("TAX3");}
else
{printf ("ERRO: Elemento desconhecido");}
}
else if (vetorX[4] == 3) {
// Quadratic
if (vetorX[5] == 1)
{printf ("TPM6");}
else if (vetorX[5] == 2)
{printf ("TPN6");}
else if (vetorX[5] == 3)
{printf ("TAX6");}
else
{printf ("ERRO: Elemento desconhecido");}
}
else
{printf ("ERRO: Order desconhecida");}
}
else if (vetorX[3] == 3) {
// Field
109
if (vetorX[4] == 2) {
// Linear
if (vetorX[5] == 1)
{printf ("TFD3");}
else if (vetorX[5] == 2)
{printf ("N/A");}
else if (vetorX[5] == 3)
{printf ("TXF3");}
else
{printf ("ERRO: Elemento desconhecido");}
}
else if (vetorX[4] == 3) {
// Quadratic
if (vetorX[5] == 1)
{printf ("TFD6");}
else if (vetorX[5] == 2)
{printf ("N/A");}
else if (vetorX[5] == 3)
{printf ("TXF6");}
else
{printf ("ERRO: Elemento desconhecido");}
}
else
{printf ("ERRO: Order desconhecida");}
}
else
{printf ("ERRO: Application desconhecida");}
}
else if (vetorX[2] == 2) {
// Quadrilateral
if (vetorX[3] == 1) {
// Dynamic
if (vetorX[4] == 1)
{printf ("N/A");}
// N/A
else if (vetorX[4] == 2) {
// Linear
if (vetorX[5] == 1)
{printf ("QPM4E");}
else if (vetorX[5] == 2)
{printf ("QPN4E");}
else if (vetorX[5] == 3)
{printf ("QAX4E");}
else
{printf ("ERRO: Elemento desconhecido");}
}
else
{printf ("ERRO: Order desconhecida");}
}
else if (vetorX[3] == 2) { // Static
if (vetorX[4] == 2) {
// Linear
if (vetorX[5] == 1)
{printf ("QPM4");}
else if (vetorX[5] == 2)
{printf ("QPN4");}
else if (vetorX[5] == 3)
{printf ("QAX4");}
else
{printf ("ERRO: Elemento desconhecido");}
}
else if (vetorX[4] == 3) {
// Quadratic
110
if (vetorX[5] == 1)
{printf ("QPM8");}
else if (vetorX[5] == 2)
{printf ("QPN8");}
else if (vetorX[5] == 3)
{printf ("QAX8");}
else
{printf ("ERRO: Elemento desconhecido");}
}
else
{printf ("ERRO: Order desconhecida");}
}
else if (vetorX[3] == 3) { // Field
if (vetorX[4] == 2) {
// Linear
if (vetorX[5] == 1)
{printf ("QFD4");}
else if (vetorX[5] == 2)
{printf ("N/A");}
else if (vetorX[5] == 3)
{printf ("QXF4");}
else
{printf ("ERRO: Elemento desconhecido");}
}
else if (vetorX[4] == 3) {
// Quadratic
if (vetorX[5] == 1)
{printf ("QFD8");}
else if (vetorX[5] == 2)
{printf ("N/A");}
else if (vetorX[5] == 3)
{printf ("QXF8");}
else
{printf ("ERRO: Elemento desconhecido");}
}
else
{printf ("ERRO: Order desconhecida");}
}
else
printf ("ERRO: Application desconhecida");
}
else
{printf ("ERRO: Shape desconhecida");}
}
else
{printf ("ERRO: Família ainda não contemplada");}
// fim do If
getch();
}
111
A.2 PROGRAMA classEF.m
Este programa foi desenvolvido utilizando a Neural Network Toolbox do
software MatLab versão 6.5. Este programa tem como objetivo realizar a
classificação do elemento finito através da atribuição dos padrões de entrada a
serem identificados entre um conjunto de classes também informado para a
rede.
A.2.1 Código fonte do programa classEF.m
% Modelo rede MLP, aprendizado Supervisionado
% Cria a rede com 5 elementos de entradas, 30 camadas, 5 neurônios na
saída
net = newff([0 5; 0 5; 0 5; 0 5; 0 5], [5 1],{'tansig' 'purelin'});
% Vetor
P= [2 1
2 1
2 1
2 1
2 1
2 1
2 2
2 2
2 2
2 2
2 2
2 2
3 3
3 3
3 3
3 3
3 3
3 3
3 4
3 4
3 4
3 4
3 4
3 4
3 5
3 5
3 5
3 5
3 5
3 5
de entrada X
1 1 1;
1 2 1;
2 2 1;
2 3 1;
3 2 1;
3 3 1;
1 1 1;
1 2 1;
2 2 1;
2 3 1;
3 2 1;
3 3 1;
1 1 1;
1 2 1;
2 2 1;
2 3 1;
3 2 1;
3 3 1;
1 1 1;
1 2 1;
2 2 1;
2 3 1;
3 2 1;
3 3 1;
1 1 1;
1 2 1;
2 2 1;
2 3 1;
3 2 1;
3 3 1 ]';
112
% Vetor da saída Y desejada
T= [1;
2;
3;
4;
5;
6;
7;
8;
9;
10;
11;
12;
13;
14;
15;
16;
17;
18;
19;
20;
21;
22;
23;
24;
25;
26;
27;
28;
29;
30 ]';
% Treinamento da rede
net.trainParam.epochs = 500;
net = train(net,P,T);
A.3 PROGRAMA somEF.m
Este programa foi desenvolvido utilizando a SOM Toolbox do software
MatLab versão 6.5. O objetivo é realizar a classificação dos elementos
finitos, sendo conhecidos os dados de entrada, necessitando que a rede
encontre a classe que mais se assemelha ao conjunto dos dados
fornecidos.
113
A.3.1 Código fonte do programa somEF.m
% Modelo rede SOM, aprendizado Não supervisionado
% Valores
P= [2 1 1
2 1 1
2 1 2
2 1 2
2 1 3
2 1 3
2 2 1
2 2 1
2 2 2
2 2 2
2 2 3
2 2 3
3 3 1
3 3 1
3 3 2
3 3 2
3 3 3
3 3 3
3 4 1
3 4 1
3 4 2
3 4 2
3 4 3
3 4 3
3 5 1
3 5 1
3 5 2
3 5 2
3 5 3
3 5 3
3 5 3
3 5 3
de entrada para o vetor P (conjunto de 32 padrões)
1 1;
2 1;
2 1;
3 1;
2 1;
3 1;
1 1;
2 1;
2 1;
3 1;
2 1;
3 1;
1 1;
2 1;
2 1;
3 1;
2 1;
3 1;
1 1;
2 1;
2 1;
3 1;
2 1;
3 1;
1 1;
2 1;
2 1;
3 1;
2 1;
3 1;
3 2;
3 3 ]';
% Inicia os pesos aletoriamente
W= initsm(P, 32);
% Formato da vizinhança (4 x 8 = 32)
M= nbman(4, 8);
% Visualização da rede
plotsm(W, M);
% Exibição do mapa na progressão [passos, épocas]
tp= [20, 500];
% Treinamento da rede
N= 100;
i= 0;
for i= 1:N
i
W= trainsm(W,M,P,tp);
i= i+1;
end
114
A.4 PROGRAMA lvqEF.m
Este programa foi desenvolvido utilizando a técnica do algoritmo LVQ e a
SOM Toolbox do software MatLab versão 6.5. O objetivo deste programa
é realizar a classificação dos elementos dos quais são conhecidos os
dados de entrada e um conjunto de classes informadas pelo Supervisor
da rede, cabendo a rede desempenhar o papel de relacionar classepadrões que mais se assemelham ao conjunto dos dados fornecidos.
A.4.1 Código fonte do programa lvqEF.m
% Modelo rede SOM supervisionada (algoritmo LVQ)
% Define status para visualização gráfica da rede
clf reset;
colordef(gcf,'none')
figrect = get(gcf,'Position');
set(gcf,'Position',[figrect(1:2) 400 400]);
echo on
% Define o vetor de entrada => 30 padrões
P= [2 1 1 1 1;
2 1 1 2 1;
2 1 2 2 1;
2 1 2 3 1;
2 1 3 2 1;
2 1 3 3 1;
2 2 1 1 1;
2 2 1 2 1;
2 2 2 2 1;
2 2 2 3 1;
2 2 3 2 1;
2 2 3 3 1;
3 3 1 1 1;
3 3 1 2 1;
3 3 2 2 1;
3 3 2 3 1;
3 3 3 2 1;
3 3 3 3 1;
3 4 1 1 1;
3 4 1 2 1;
3 4 2 2 1;
3 4 2 3 1;
115
3
3
3
3
3
3
3
3
4
4
5
5
5
5
5
5
3
3
1
1
2
2
3
3
2
3
1
2
2
3
2
3
1;
1;
1;
1;
1;
1;
1;
1 ]';
% Define as classes para o vetor de entrada => 30 classes
C = [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
27 28 29 30];
% Transforma as classes em vetor para alimentar a rede
T = ind2vec(C);
% Plota a rede: Red = class 1, Cyan = class 2
colormap(hsv)
plotvec(P,C)
alabel('P(1)','P(2)','Input Vectors')
% Inicia a rede
S = 30;
[W1,W2] = initlvq(P,S,T);
% Plota os neurônios competitivos da rede
hold on
plot(W1(1,1),W1(1,2),'ow')
alabel('P(1), W(1)','P(2), W(2)','Input/Weight Vectors')
%
%
%
%
df
me
lr
tp
=
=
=
=
100;
1500;
0.01;
[df me lr];
%
%
%
%
passos de exibição
números de épocas
taxa de aprendizado
equação tp
tp = [100 1500 0.01];
% Treinamento da rede, total de 4500 iterações (3 x 1500)
N= 3;
i= 0;
for i=1:N
i
[W1,W2] = trainlvq(W1,W2,P,T,tp);
i=i+1;
end
Download

Denise Maria Lopes Martins de Oliveira