Sei sulla pagina 1di 84

MINISTRIO DA EDUCAO

UNIVERSIDADE FEDERAL DO PARAN


DEPARTAMENTO DE EXPRESSO GRFICA
PROGRAMA DE PS-GRADUAO EM MTODOS
NUMRICOS EM ENGENHARIA
Prof. Paulo Henrique Siqueira
Disciplina : Metaheursticas e aplicaes

PARTE I
INTRODUO
1.1. HEURSTICAS
As principais caractersticas de uma heurstica so:
consiste em um mtodo ou tcnica aproximativa;
desenvolvido para resolver um tipo de problema;
tempo mximo polinomial (ideal);
no garantem solues timas.
1.2. METAHEURSTICAS
As principais caractersticas de uma metaheurstica so:
consiste em um mtodo ou tcnica aproximativa;
resolve de forma genrica:
problemas de otimizao;
classificao;
agrupamentos, etc
heursticas de uso geral ou heurstica de heursticas;
boas solues mas, no garantem solues timas [Viana, 1998];
podem ser definidas como heursticas derivadas da Natureza rea limite entre a
Pesquisa Operacional e a Inteligncia Artificial [Colorni et al., 1996];
inspiradas na Fsica, Biologia, Cincias Sociais;
operam atravs de repeties de tentativas;
utilizam um ou mais agentes (neurnios - RNA, partculas - SA ou PSO, cromossomos - AG,
formigas ACO);
usam mecanismo de competio-cooperao;
so geralmente aplicadas a problemas que no se conhece algoritmo eficiente;
geram bons resultados em problemas de otimizao combinatorial NP-hard (No-Polinomial
rduo um problema que pelo menos to difcil quanto qualquer problema em NP; a classe
NP-Completo contm os problemas de maior dificuldade dentre todos em NP).
As metaheursticas mais usadas so:
Genetic Algorithm ou Algoritmo Gentico (AG);
Artificial Neural Networks ou Redes Neurais Artificiais (RNA ou RN);
Simulated Annealing ou Tmpera Simulada (SA);
Tabu Search ou Busca Tabu (BT);
Particle Swarm Optimization ou Nuvem de partculas (PSO);
Ant Colony Optimization ou Colnia de Formigas (ACO);

Metaheursticas e Aplicaes

Greedy Randomized Adaptive Search Procedures (GRASP);


Algoritmos Memticos (AM);
Algoritmos Hbridos.
Os procedimentos comuns para melhoria de resultados so:
emprego de mais agentes;
procedimentos de auto-modificao dos parmetros heursticos ou da representao do
problema.
Elementos da natureza
Na natureza:
seleo premia indivduos mais fortes e penaliza os mais fracos;
mutao introduz elementos aleatrios, permitindo o nascimento de novos indivduos.
Nas heursticas:
seleo idia bsica para otimizao (busca de melhores solues);
mutao usada para procura no-determinstica (melhoria).
Caractersticas das heursticas da natureza:
modelam um fenmeno da natureza;
no-determinsticas;
apresentam implicitamente estrutura paralela (mltiplos agentes);
adaptativas: capacidade do sistema de usar informao anterior para modificar seus
parmetros e seu modelo interno.
exemplo: RNA, com a modificao dos pesos das ligaes.
Classificao das Metaheursticas
Metaheursticas de relaxao:
usam relaxao do modelo original;
modificaes do problema original para facilitar a soluo;
exemplo: relaxao Lagrangeana.
Metaheursticas construtivas:
estrutura que representa a soluo: inicialmente vazia;
incorporam iterativamente elementos estrutura;
baseadas em uma funo gulosa;
escolhe elementos que produzem melhores resultados imediatos;
no possuem espao de solues estruturado;
exemplos: Algoritmo Multistart, Colnia de Formigas, GRASP e Redes Neurais
Artificiais. [Santana et al., 2004].
Metaheursticas de busca:
estratgias para percorrer o espao de solues do problema;
transformam de forma iterativa a soluo inicial;
exemplo: busca local k-opt.
Metaheursticas evolutivas:
estratgias evolutivas no espao de busca do conjunto de solues;
utiliza um conjunto de solues simultaneamente;

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

Metaheursticas e Aplicaes

define a melhor soluo do conjunto para gerar mais solues;


exemplos: Simulated Annealing, Busca Tab, Algoritmos Genticos e Algoritmos
Memticos.
Metaheursticas de decomposio:
determinam subproblemas a partir do problema original;
intermedirias entre as de relaxao e as construtivas;
objetivo principal: obter subproblemas mais fceis de resolver que os originais.
Espao
no-estruturado

alg. construtivos

Espao
no-estruturado

Espao
estruturado

Espao
estruturado

Soluo nica

Soluo de
populao

Soluo nica

Soluo de
populao

RNA

MS

GR

ACO

alg. de
GRASP
AG, ES
SA, TS
melhorias
MS: Algoritmo Multistart Algoritmo que inicia de diferentes pontos iniciais
GR: Greedy Random Mtodo de procura randmica gulosa
ACO: Ant Colony Optimization Colnia de Formigas
ES Evolution Strategies
SC Sampling and Clustering Amostragem e Agrupamento.

SC

Caractersticas importantes
grau de exploitation (profundidade)
esforo da busca local em regies do espao de busca;
se a regio promissora, procure mais profundamente.
grau de exploration (amplitude)
esforo da procura em regies distantes;
algumas vezes se escolhe uma soluo em uma regio distante;
aceita-se uma soluo pior para descobrir novas solues;
probabilidade de encontrar melhores solues.
So caractersticas conflitantes: uma boa troca entre elas muito importante e devem ser
cuidadosamente afinadas em cada algoritmo.
Outra troca que deve ser avaliada: esforo (nmero de iteraes) x eficcia (soluo final).
Alguns algoritmos usam um parmetro de controle:
tambm chamado de taxa de aprendizagem ou de equilbrio;
varia lentamente para evitar timos locais e permitir uma explorao maior do espao de
solues;
quanto mais lentamente variar, maior a probabilidade de encontrar uma soluo tima
global;
existem metaheursticas para procurar o valor timo deste parmetro de controle.

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

Metaheursticas e Aplicaes

PARTE II
REDES NEURAIS ARTIFICIAIS
Uma rede neural artificial consiste de um modelo inspirado no crebro humano.
Tem habilidade de adquirir e armazenar conhecimento para realizar uma tarefa.
A motivao biolgica tem os elementos bsicos que so neurnios ou ns.

So compostas de elementos simples, inspirados pelo sistema nervoso biolgico.


Operam em paralelo, onde a funo determinada pelas conexes entre os neurnios.
Pode-se treinar uma rede neural para executar uma funo particular ajustando-se os
valores das conexes entre os elementos.
Sinnimos:
Sistemas Neurais Artificiais;
Conexionismo;
Sistemas Adaptativos;
Neurocomputadores;
Sistemas Paralelos Distribudos.
Histrico:
paradigmas bsicos:
o simblico
o conexionista
perceptron: 1 camada de pesos ajustveis-1957;
descrdito a partir do final da dcada 60;
em 1974, Werbos lana bases para o algoritmo Backpropagation;
impulso a partir da dcada de 80:
o 1985, com a rede de Hopfield, aplicada ao PCV;
o 1986, com o Backpropagation;
pouco formalismo matemtico em muitas reas.
Etapas de um projeto:
definio do problema;
escolha das informaes:
o obteno dos dados; criao de arquivos da rede;
treinamento da rede;
testes da rede;
adaptao para uso no problema definido.

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

Metaheursticas e Aplicaes

Razes para usar uma RNA:


paralelismo;
capacidade de adaptao;
memria distribuda;
capacidade de generalizao;
facilidade de construo;
desempenho depende da qualidade do pr-tratamento dos dados.

Alguns exemplos de aplicaes das RNAs:


regras desconhecidas de resoluo de um problema ou difceis de formalizar;
problemas com conjuntos de exemplos e suas solues;
necessidade de grande rapidez na resoluo do problema (respostas em tempo real);
no existem solues tecnolgicas atuais;
reconhecimento de formas;
tratamento de sinal;
viso, fala;
previso e modelagem;
auxlio deciso;
problemas de otimizao [Siqueira, Scheer, Steiner, 2005, 2006, 2007];
robtica;
diagnstico mdico [Bennett e Mangasarian, 1990], [Steiner, Carnieri, 1994];
predio de falncia bancria [Tam et al, 1992];
aplicao fabricao da pasta e papel industrial [Fadum, 1993];
controle do processo de produo do papel industrial [Rudd, 1991], [Steiner et al, 1994];
mundo financeiro [Business Week, 1993], [Cipra, 1992];
controle de processos qumicos [Nascimento et al, 1993];
obteno de um modelo organizacional [Almeida, 1995];
deteco fraudes com cartes [Financial Times, 1993];
problemas de administrao de empresas [Almeida, 1995].

Relevncia matemtica:
A matemtica utilizada em RNA para:
desenvolver e propor algoritmos
o lgebra linear, anlise, estatstica, otimizao, fsica, geometria
investigar aplicabilidade, avaliar algoritmos
o estatstica
investigar propriedades tericas
o lgebra, anlise, lgebra linear, anlise funcional

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

Metaheursticas e Aplicaes

2.1. ELEMENTOS DE UMA REDE NEURAL


conjunto de pesos sinpticos (ou conexes sinpticas);
uma operao binria: combina entradas com as conexes;
regra de agregao: combina entradas dos neurnios ponderados com as respectivas
conexes sinpticas;
funo de ativao: introduz no-linearidade no modelo, ou pode confinar a sada do neurnio
em um intervalo;
topologia organizada: o projeto da rede e determina o modo como os neurnios so
conectados;
aprendizagem: processo que modifica os pesos com a inteno de se atingir um objetivo.

Dendritos: entradas
Corpo celular:
o Soma ponderada
o Funo no-linear
Axnio: distribuio aos neurnios

Elemento Processador (PE) de McCulloch-Pitts (1 rede neural 1943)

Equao entrada-sada: y k = f ( y *k ) = f w k i x i + k
i =1

1 , se y * k 0
Funo de ativao f chamada de sinal: f ( y * k ) =
1 , se y * k < 0

Alguns modelos de neurnios tambm incluem um termo externo ou bias (ttendncia).

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

Metaheursticas e Aplicaes

Entretanto, na maioria dos casos, o bias pode ser interpretado como um peso sinptico
conectado a uma entrada constante.
Qual o papel do bias?
Notaes para o bias: k, bk, w0

REDES NEURAIS PR-ALIMENTADAS


So chamadas de redes feed-forward. Alguns exemplos so:

O nmero de neurnios no garante uma boa convergncia da rede. Exemplo:

Nestas redes existem conjuntos de ns de entrada, de sada e os ns escondidos


(intermedirios entre os de entrada e sada).
Quando a RN est em operao, um valor de entrada ser aplicado a cada n de entrada
Cada n passa seu dado valor para as conexes que saem dele.
Em cada conexo o valor multiplicado por um peso associado.

Cada n na camada seguinte recebe a soma dos valores produzidos pelas conexes que
chegam at ele.
Cada n realiza uma computao simples sobre esse valor: funo sigmide, limiar ou tanh
O processo repetido com os resultados sendo passados atravs de camadas subsequentes de
ns at que os ns de resultados sejam atingidos (camada de sada).

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

Metaheursticas e Aplicaes

2.2. PERCEPTRON
um tipo de rede neural usado para conjuntos de treinamento linearmente separveis
(Rosenblatt, 1950).
n

S = w0 + w j x j
j =1

Tem a incluso de bias (tendncia).


O algoritmo de aprendizagem do Perceptron procura um
vetor w com projeo positiva (produto interno) com todos os
exemplos positivos e projeo negativa com os exemplos negativos.
A aprendizagem do perceptron sempre tem sucesso em
tempo finito para um conjunto de treinamento finito e separvel de
exemplos de treinamento.

Um exemplo de funcionamento da aprendizagem de uma rede perceptron:

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

Metaheursticas e Aplicaes

Algoritmo do Perceptron:
0. Inicializar os pesos, o bias e a taxa de aprendizado: w = 0, = 0, = 1
1. Enquanto o critrio de parada no for satisfeito, execute os passos 2-6:
2. Para cada par de dados de treinamento (x,d), execute os passos 3-5:
3. Calcule y* = + ixiwi
4. Se y* > , ento y = 1
Se - y* , ento y = 0
Se y* < -, ento y = -1
5. Atualize os pesos e a tendncia:
Se y d, faa
wi(novo) = wi(atual) + dxi e (novo) = (atual) + d
Caso contrrio
wi(novo) = wi(atual) e (novo) = (atual)
6. Teste a condio de parada.

Funcionamento de um perceptron:

(a) As entradas (b) Separao inicial do espao (c) Separao final [Demuth, 1994]
Os valores finais encontrados para os pesos e bias foram:
w1 = -2,1642; w2 = -0,6922; = -0,6433
Perceptrons podem achar solues diferentes se iniciarem o processo de aprendizado de
diferentes condies iniciais. A rede anterior foi treinada novamente, e uma soluo
satisfatria, separando totalmente as entradas, foi encontrada, porm com diferentes valores:
w1 = -2,1642; w2 = 0,0744; = -0,6433
Exerccios:
1. Classificao da funo lgica E com entradas 0-1 e sadas bipolares:
Valores iniciais: = 0,2 = 1 = 0 w = 0
1 iterao:
x1
x2
d
1
1
1
1
0
-1
0
1
-1
0
0
-1

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

10

Metaheursticas e Aplicaes

2. Classificao da funo lgica E com entradas e sadas bipolares:


1 iterao:
x1
x2
d
1
1
1
1
-1
-1
-1
1
-1
-1
-1
-1
3. Classificao da funo lgica OU com entradas e sadas bipolares:
1 iterao:
x1
x2
d
1
1
1
1
-1
1
-1
1
1
-1
-1
-1
4. Classificao de padres, conforme tabela abaixo:
x1
0,75
0,75
0,25
0,25

x2 classe
0,75 A
0,25 B
0,75 B
0,25 A

5. Classificao de padres, conforme tabela abaixo, com o conjunto de treinamento dos 30


vetores. Aps 3 iteraes, apresente o conjunto de testes abaixo:
n
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

x1
-0,6508
-1,4492
2,0850
0,2626
0,6418
0,2569
1,1155
0,0914
0,0121
-0,0429
0,4340
0,2735
0,4839
0,4089
1,4391

x2
0,1097
0,8896
0,6876
1,1476
1,0234
0,6730
0,6043
0,3399
0,5256
0,4660
0,6870
1,0287
0,4851
-0,1267
0,1614

x3
4,0009
4,4005
12,0710
7,7985
7,0427
8,3265
7,4446
7,0677
4,6316
5,4323
8,2287
7,1934
7,4850
5,5019
8,5843

d
-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

n
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

x1
-0,9115
0,3654
0,2144
0,2013
0,6483
-0,1147
-0,7970
-1,0625
0,5307
-1,2200
0,3957
-0,1013
2,4482
2,0149
0,2012

x2
-0,1973
1,0475
0,7515
1,0014
0,2183
0,2242
0,8795
0,6366
0,1285
0,7777
0,1076
0,5989
0,9455
0,6192
0,2611

x3
2,1962
7,4858
7,1699
6,5489
5,8991
7,2435
3,8762
2,4707
5,6883
1,7252
5,6623
7,1812
11,2095
10,9263
5,4631

d
-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

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

11

Metaheursticas e Aplicaes

Conjunto de testes:
n
1
2
3
4
5
6
7
8
9
10

x1
-0,3665
-0,7842
0,3012
0,7757
0,157
-0,7014
0,3748
-0,03
0,122
-0,147

x2
0,062
1,1267
0,5611
1,0648
0,8028
1,0316
0,1536
0,3145
0,9877
0,461

x3
5,9891
5,5912
5,8234
8,0677
6,3040
3,6005
6,1537
11,068
-0,006
5,353

Concluses sobre o perceptron:


Para um conjunto finito de exemplos de treinamento d:
o o algoritmo de aprendizagem do perceptron, em tempo finito:
produz um vetor peso que satisfaz todos os exemplos de treinamento (se e
somente se d separvel); ou
abandona e reutilizar um vetor peso (se e somente se d no-separvel).
o quando d no separvel, ento
no existe um vetor de pesos w que classifique corretamente todos os
exemplos de treinamento em d utilizando o algoritmo do perceptron;
a alternativa encontrar um vetor de pesos w* que classifique tantos
exemplos de treinamento quanto possvel de d (conjunto timo de pesos).

Perceptron Algoritmo do Bolso


O perceptron tem algoritmo de aprendizagem com comportamento pobre:
o mesmo aps um grande nmero de iteraes, no se tem garantia da qualidade dos
pesos que so produzidos;
o o mesmo usa somente reforo negativo;
o ignora totalmente os exemplos que so corretamente classificados.
O algoritmo do bolso leva em conta as classificaes corretas:
bolso

o mantm um conjunto de pesos em separado W

no bolso
bolso

o armazena o nmero de iteraes consecutivas que W


exemplos de treinamento escolhidos

classificou corretamente

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

12

Metaheursticas e Aplicaes

Algoritmo do Bolso
bolso

0. Inicializar os pesos, o bias e a taxa de aprendizado: w = 0,w


= 0, = 0, = 1.
1. Enquanto o critrio de parada no for satisfeito, execute os passos 2-7:
2. Para cada par de dados de treinamento (x,d), execute os passos 3-5:
3. Calcule y* = + x w

i i i

4. Se y* > , ento y = 1
Se - y* , ento y = 0
Se y* < -, ento y = -1
5. Atualize os pesos e a tendncia:
Se y d, faa
wi(novo) = wi(atual) + dxi e (novo) = (atual) + d
Caso contrrio
wi(novo) = wi(atual) e (novo) = (atual)
bolso

6. Se w classifica corretamente mais exemplos do que w

bolso

7.

w
= w; grave o nmero de exemplos corretos
Teste a condio de parada.

Separao em 4 classes com Perceptron:

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

13

Metaheursticas e Aplicaes

FUNES DE ATIVAO
Limiar: sadas em [0,1] ou [-1,1]
1 , se x k
f (xk ) =
1 , se x k <

Tangente hiperblica: sadas em [-1,1]


f ( x k ) = tanh ( x k ) =

exk ex k 1 e2xk
=
exk + ex k 1 + e2xk

f
2
= 1 f ( xk ) > 0
x k

= 0,9
= 0,5
= 0,3

Sigmide: sadas em [0,1]


f ( xk ) =

1
1 + e xk
exk

f
=
x k
1 + ex k

=2
=1
= 0,5

Gaussiana: sadas em [0,1]


f ( xk ) = e

( x k c )2
22

f
e
= ( xk c )
x k

x 2 2cx + c2
22

onde c o centro.

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

14

Metaheursticas e Aplicaes

=2
= 1,3
= 0,8

As curvas sigmoide, tangente hiperblica e gaussiana so suaves, ou seja, continuamente


diferenciveis.
A funo limiar tambm chamada de degrau.

FORMAS DE APRENDIZAGEM
A caracterstica principal das RNA a aprendizagem atravs da experincia. Esta
aprendizagem pode ser feita das seguintes formas:
Supervisionada
apresenta-se rede um conjunto de
treinamento com a sada desejada
de cada padro;
a distncia entre a sada desejada e
a sada da rede usada como erro e
serve para corrigir os pesos da
rede.

No-supervisionada
a rede atualiza os parmetros e pesos sem o controle
de sadas desejadas para os padres de entrada;
a rede descobre sozinha as propriedades das entradas,
e constri a sada baseando-se nestas descobertas.

Com reforo
cada entrada possui uma indicao (reforo) da sada
desejada;
o reforo constitui de penalidade para respostas ruins e estmulo para as respostas
boas;
os pesos da rede ajustam-se para
melhorar os estmulos dos reforos;
no existe uma medida para as
respostas desejadas.

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

15

Metaheursticas e Aplicaes

Autoassociao:

Heteroassociao:

Classificao:

Memria associativa:
Um determinado conceito A lembra o conceito B.
Por exemplo:
Entrada
Hipotenusa
Derivada
Seno

Sada
lembra
lembra
lembra

Geometria
Clculo
Trigonometria

ARQUITETURAS DAS RNAs


Sem realimentao:
Os sinais dos neurnios percorrem a rede em uma nica
direo: da entrada para a sada.
Os neurnios de uma mesma camada no so
conectados.

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

Metaheursticas e Aplicaes

Com realimentao:
Os sinais dos neurnios percorrem a
rede nas duas direes.

Recorrentes:
Os sinais dos neurnios percorrem a rede nas duas
direes.
Os sinais de alguns neurnios alimentam neurnios da
mesma camada, ou das camadas anteriores, alm de camadas
posteriores.
Em alguns casos os prprios neurnios so conectados a si
mesmos.

Competitivas:
Os dados de entrada so designados a um mapa de
neurnios, e escolhe-se o vencedor (que possui peso mais
prximo da entrada).
Ocorrem os ajustes dos pesos dos neurnios, com o
objetivo de minimizar as distncias dos dados de entrada aos
respectivos neurnios vencedores.

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

16

17

Metaheursticas e Aplicaes

2.3. REDE ADALINE E A REGRA DELTA


A rede Adaline (A
Adaptive Linear Neuron) foi idealizada por Widrow e Hoff (1960) e tambm
tem um funcionamento bem simples como o Perceptron. Pode ter camadas escondidas, assim como o
MLP.

A sada calculada da mesma forma que no Perceptron, com a funo limiar ou limiar bipolar.
O erro desta rede calculado como:
e = d y,
e pode ser usado para corrigir os pesos w. Este processo de ajuste de pesos chamado de Regra Delta
ou mtodo do Gradiente descendente.

REGRA DELTA
A ideia bsica minimizar a distncia entre as sadas desejadas e as respostas y* da RNA. Logo,
existir um vetor timo de pesos w*, tal que:
E(w*) E(w), w n+1.
Considerando uma rede Adaline simples de uma sada y, a funo de erro quadrtico de uma
sada k definida como:
Ek =

1
2
( dk y * ) ,
2

e para todas os p padres de entrada teremos:


E( w ) =

1 p
2
( dk y * ) .
2 k =1

Como y* = ( w i x i ) , temos que:


i =1

E( w ) =

1 p
d

( w i xi )
k
2 k =1
i =1

E( w ) =

1 p
dk w T x
2 k =1

))

Aplicando-se o gradiente em relao ao vetor w para encontrar o erro mnimo para o erro
quadrtico mdio obtemos:
Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

18

Metaheursticas e Aplicaes

E ( w ) =

E ( w )
w

(d ( w
p

k =1

))

x .( x k ) .

E ( w ) = ( dk y * ) .x k .
k =1

A adaptao da RNA deve ser feita na direo contrria do gradiente, pois o objetivo de
minimizar o erro mdio quadrtico, ou seja,
w = .E ( w ) =

(d

k =1

y * ) .x k .

Logo, a atualizao dos pesos de uma RNA Adaline feita atravs da expresso abaixo:
w atual = w anterior +

(d

k =1

y * ) .x k ,

onde a taxa de aprendizagem da RNA.


E(w)

-E(w)

w
w* w2 w1 w0

Algoritmo da rede Adaline


0. Inicializar os pesos (w
w = rnd), a tendncia ( = 0) e a taxa de aprendizagem
0 < < 1 (convergncia fica muito lenta quando a taxa muito prxima de zero;
e a convergncia no garantida para valores muito prximos de 1).
1. Enquanto o critrio de parada no for satisfeito, execute os passos 2-5:
2. Para cada par de dados para treinamento (x,d), execute os passos 3-4:
3. Faa y* = + ixiwi
4. Atualize os pesos e a tendncia:
wi(novo) = wi(atual) + (d y*)xi

(novo) = (atual) + (d y*)


se y* 0, y = 1; caso contrrio, y = 0 (ou y = -1 para bipolar)
5. Teste a condio de parada:
6. Se a maior alterao de pesos no ultrapassa um limite mnimo de tolerncia,
pare; caso contrrio, continue.

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

19

Metaheursticas e Aplicaes

Exerccios:
1. Classificao da funo lgica OU com entradas e sadas bipolares:
Valores iniciais: = 0,5 w1 = 0,3 w2 = 0,5
x1
1
1
-1
-1

x2
1
-1
1
-1

d
1
1
1
-1

2. Classificao da funo lgica E com entradas e sadas bipolares:


Valores iniciais: = 0,4 w1 = 0,9 w2 = -0,7
x1
1
1
-1
-1

x2
1
-1
1
-1

d
1
-1
-1
-1

3. Utilizando uma rede do tipo Adaline, calcule uma matriz de pesos que seja capaz de
reconhecer a classificao dos vetores dados abaixo (parmetros iniciais: = 0,2 e w=0):
x =(1,1,1,1), d = 0,9; x =(-1,-1,-1,-1), d = 0,8; x =(1,1,-1,-1), d = -0,7; x =(1,-1,-1,1),
1

d = -0,8; x =(-1,-1,1,1), d = -0,7.


4

4. Classificao de padres, conforme tabela abaixo, com o conjunto de treinamento dos 30


vetores. Aps 3 iteraes, apresente o conjunto de testes abaixo:
n
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

x1
-0,6508
-1,4492
2,0850
0,2626
0,6418
0,2569
1,1155
0,0914
0,0121
-0,0429
0,4340
0,2735
0,4839
0,4089
1,4391

x2
0,1097
0,8896
0,6876
1,1476
1,0234
0,6730
0,6043
0,3399
0,5256
0,4660
0,6870
1,0287
0,4851
-0,1267
0,1614

x3
4,0009
4,4005
12,0710
7,7985
7,0427
8,3265
7,4446
7,0677
4,6316
5,4323
8,2287
7,1934
7,4850
5,5019
8,5843

d
-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

n
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

x1
-0,9115
0,3654
0,2144
0,2013
0,6483
-0,1147
-0,7970
-1,0625
0,5307
-1,2200
0,3957
-0,1013
2,4482
2,0149
0,2012

x2
-0,1973
1,0475
0,7515
1,0014
0,2183
0,2242
0,8795
0,6366
0,1285
0,7777
0,1076
0,5989
0,9455
0,6192
0,2611

x3
2,1962
7,4858
7,1699
6,5489
5,8991
7,2435
3,8762
2,4707
5,6883
1,7252
5,6623
7,1812
11,2095
10,9263
5,4631

d
-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

Conjunto de testes:

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

20

Metaheursticas e Aplicaes

n
1
2
3
4
5
6
7
8
9
10

x1
-0,3665
-0,7842
0,3012
0,7757
0,157
-0,7014
0,3748
-0,03
0,122
-0,147

x2
0,062
1,1267
0,5611
1,0648
0,8028
1,0316
0,1536
0,3145
0,9877
0,461

x3
5,9891
5,5912
5,8234
8,0677
6,3040
3,6005
6,1537
11,068
-0,006
5,353

2.4. PERCEPTRON MULTI CAMADAS (Multi layer perceptron MLP)


Consiste de um conjunto de Perceptrons arranjados em diversas camadas.
Possuem pelo menos uma camada escondida.
Solucionam problemas no-lineares de classificao.

Uma rede MLP com pelo menos uma camada escondida supera as limitaes de classificao
do perceptron [Minsky e Papert, 1969].
O ajuste dos pesos foi proposto por Rumelhart, Hinton, Williams, Parker, Le Cun e Werbos .
Cada camada recebe dados da camada imediatamente inferior e envia para a camada
seguinte.
No existem conexes entre elementos da mesma camada.
Uma MLP pode ter qualquer nmero de camadas e de neurnios.
Uma MLP com uma camada escondida suficiente para aproximar com preciso arbitrria
qualquer funo com um nmero finito de descontinuidades, desde que a funo de ativao dos
neurnios escondidos seja no-linear

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

21

Metaheursticas e Aplicaes

Superfcies de separao

REGRA DELTA GENERALIZADA


Usando o mesmo raciocnio da Regra Delta para a Rede Adaline, podemos fazer a
denominada Regra Delta Generalizada, vlida para rede MLP.
Considere o caso de uma MLP com uma camada escondida, conforme figura abaixo.

z j* =

v x +
ij j

yk* =

jk z j

+ b

( )

zj = f zj *

yk = f (yk * )

A ativao a funo diferencivel da sada da rede:


yk* =

jk z j

+ b , onde y k = f ( y k * ) .

A medida do erro E para um determinado padro :


Ek =

1
2
( dk y k ) .
2

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

22

Metaheursticas e Aplicaes

Para obter o decrscimo mais rpido do erro, devemos ter o erro na direo
Usando a Regra da Cadeia, temos:

Ek
.
w jk

Ek
Ek y k *
=
w jk y k * w jk

Mas

y k *

=
w jk w jk

z w
j

jk

Ek
Ek
+ b = z j
=
zj

w jk y k *

Aplicando novamente a Regra da Cadeia, obtemos:


Ek Ek
Ek
E y k
y k
=
f ' ( y k * ) zj .
= k

= f' (yk * )
w jk y k
y k * y k y k *
y k *

Como

Ek
= ( dk y k ) podemos concluir que o erro descresce mais rapidamente quando o
y k

ajuste dos pesos feito da forma:


w jk = ( dk y k ) f ' ( y k * ) z j

(1)

No caso da utilizao da funo de ativao sigmoidal, temos:


f (yk * ) =

e y k *
1
e
f
'
y
*
=
(
)
k
1 + e y k *
1 + e y k *

(2)

Substituindo-se (2) em (1) obtemos:


Ek
e y k *
= ( dk y k )
w jk
1 + e y k *

Como

z =
2 j

1
e y k *
( dk y k ) z j
1 + e y k * 1 + e y k *

e y k *
1 + e y k *
1
1
1
=

=1
=
y
e
temos:
k
yk *
yk *
yk *
yk *
1+e
1+e
1+e
1 + e y k *
1+e

Ek
= y k (1 y k )( dk y k ) z j ,
w jk

w jk = y k (1 y k )( dk y k ) z j .
Exerccio:
Qual parmetro foi usado na funo sigmoidal da deduo acima? Calcule a atualizao de wjk
quando a funo de ativao for tangente hiperblica.

Agora vamos calcular a atualizao para a camada escondida. A ativao a funo


diferencivel da camada da rede:
z j* =

v x

ij i

( )

+ a , onde z j = f z j *

A medida do erro E para um determinado padro na camada escondida :

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

23

Metaheursticas e Aplicaes

Ej

v ij

Considere

Ej
y

(d

Ej y
.
y v ij

(3)

y k ) . Usando a Regra da Cadeia, temos:

y
y y *
.
=
v ij y * v ij

(4)

Mas
y * y * z j
=
=
v ij z j v ij

z j

jk

v ij

(5)

Temos tambm que:


z j
v ij

z j z j *

z j * v ij

( )

= f ' zj * xi

Substituindo-se (5) em (4), e (4) em (3) obtemos:


Ej
v ij

( d

( )

y k ) f ' ( y k * ) w jk f ' z j * x i ,

v ij = ( dk y k ) f ' ( y * k ) w jk f ' ( z * j ) x i .

(6)

No caso da utilizao da funo de ativao sigmoidal, temos:


f ' ( yk * ) =

e y k *
1 + e y k *

e f ' ( zj * ) =

zj*

1+e

zj*

(7)

Substituindo (7) em (6) obtemos:


Ej
v ij

e y k *
d y
(
)
k
k
1 + e y k *

zj *
e
w
jk
2
zj *
1 + e

xi ,

ou seja,
Ej
v ij

( d
k

y k ) y k ( 1 y k ) w jk z j 1 z j x i .

v ij = ( dk y k ) y k (1 y k ) w jk z j (1 z j ) x i .
k

Exerccio:
Calcule a atualizao de vij quando a funo de ativao for a tangente hiperblica.

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

Metaheursticas e Aplicaes

ALGORITMO BACKPROPAGATION
Neste algoritmo, o treinamento da RNA feito em duas fases:

Fase forward:

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

24

Metaheursticas e Aplicaes

Fase backward:

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

25

Metaheursticas e Aplicaes

Repete-se o processo enquanto a rede no aprender o padro de entrada

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

26

27

Metaheursticas e Aplicaes

Resumindo:

Algoritmo 1:
1 camada escondida, funes de ativao sigmoidais, m sadas
0. Inicialize os pesos das conexes e do bias com valores aleatrios; inicialize a
taxa de aprendizagem . Para cada padro de entrada, execute os passos de 1 a 3:
1. Calcule as entradas na camada escondida, e a sada da rede:
zj* = ivijxi+aj

zj = 1/(1 + e^(-zj*), onde j = 1, ..., p, i = 1, ..., n

yk* = jwjkzj+bk
yk = 1/(1 + e^(-yk*), onde k = 1, 2, ..., m
2. Calcule as correes das conexes da camada de sada:
wjk = yk(1 yk)(dk yk)zj

wjk = wjk + wjk

bk = yk(1 yk)(dk yk)


bk = bk + bk
3. Calcule as correes das conexes da camada escondida:
vij = k[(dk yk)yk(1 yk)wjk]zj(1 - zj)xi

vij = vij + vij

aj = k[(dk yk)yk(1 yk)wjk]zj(1 - zj)


aj = aj + aj
4. Atualize a taxa de aprendizagem, verifique os erros para todos os padres de
entrada, e teste o critrio de parada.

Algoritmo 2:
1 camada escondida, funes de ativao sigmoidais, 1 sada
0. Inicialize os pesos das conexes e dos bias com valores aleatrios; inicialize a
taxa de aprendizagem . Para cada padro de entrada, execute os passos de 1 a 3:
1. Calcule as entradas na camada escondida, e a sada da rede:
zj* = ivijxi+aj

zj = 1/(1 + e^(-zj*), onde j = 1, ..., p, i = 1, ..., n

y* = jwjzj+b
y = 1/(1 + e^(-y*)
2. Calcule as correes das conexes da camada de sada:
wj = y(1 - y)(d - y)zj

wj = wj + wj

b = y(1 - y)(d - y)

b = b + b

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

28

Metaheursticas e Aplicaes

3. Calcule as correes das conexes da camada escondida:


vij = (d - y)y(1 - y)wjzj(1 - zj)xi

vij = vij + vij

aj = (d - y)y(1 - y)wjzj(1 - zj)


aj = aj + aj
4. Atualize a taxa de aprendizagem, verifique os erros para todos os padres de
entrada, e teste o critrio de parada.

Algoritmo 3:
1 camada escondida, funes de ativao tanh, m sadas
0. Inicialize os pesos das conexes e dos bias com valores aleatrios; inicialize a
taxa de aprendizagem . Para cada padro de entrada, execute os passos de 1 a 3:
1. Calcule as entradas na camada escondida, e a sada da rede:
zj* = ivijxi+aj

zj = tanh(zj*) , onde j = 1, ..., p, i = 1, ..., n

yk* = jwjkzj+bk
yk = tanh(yk*), onde k = 1, 2, ..., m
2. Calcule as correes das conexes da camada de sada:
wjk = (1 yk2)(dk yk)zj

wjk = wjk + wjk

bk = (1 yk2)(dk - yj)
bk = bk + bk
3. Calcule as correes das conexes da camada escondida:
vij = k[(dk yk)(1 yk2)wjk](1 zj2)xi

vij = vij + vij

aj = k[(dk yk)(1

aj = aj + aj
4. Atualize a taxa de aprendizagem, verifique os erros para todos os padres de
entrada, e teste o critrio de parada.
yj2)wjk](1

zj2)

Exerccios:
1. Utilizando a Rede Neural MLP com aprendizagem Backpropagation em 2 camadas,
resolva o problema de classificao dos pontos A e B dados abaixo:
i

A1
A2
A3
B1
B2

x1
0
1
1
1
2

x2
2
2
3
0
1

d
1
1
1
0
0

Pesos iniciais:
w1=0,9; w2=-0,9; =0,9

x1

w1

x2

y*

w2
1

0
0

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

29

Metaheursticas e Aplicaes

2. Com os dados do problema anterior, utilize a Rede Neural Perceptron com aprendizagem
Backpropagation em 3 camadas para resolver o problema de classificao dos pontos.
a
b

x1

x2

Pesos iniciais:
a
1
2
1 0,900 0,900
b
1
1 -0,900

3
-0,900

v
1
2

w
1
2
3

-0,900 0,900 -0,900


0,900 -0,900 0,900

1
0,900
-0,900
0,900

3. Utilize a MLP com aprendizagem Backpropagation em 3 camadas para resolver o


problema de classificao dos pontos abaixo, com 2 entradas e 2 sadas.
a

z * = v x +
aj: zj = 1/(1+e^(-zj*))
j
ij i

y * = w z +
b : y = 1/(1+e^(-y *))
k

x1 x2 d1 d2
-1 -1 0 0
-1 1 0 1
-1 -1 0 0
1 1 1 1
1 1 1 1

w =w +
wjk
jk
jk

b
(dk-yk)yk(1-yk)
k=

vij=[
[y
[ k(1-yk)(dk-yk)wjk]zj(1-zj)xi

x2

yk(1-yk)(dk-yk)zj
wjk=

x1

vij

jk j

v =v +
vij
ij
ij

wjk

a
[y
j=
k(1-yk)(dk-yk)wjk]zj(1-zj)

Pesos iniciais:
a

1 0,300 0,250 0,300


b 1
2
1 -0,800 -0,400

v
1
2

0,750

0,900 0,850

0,850

0,900 0,750

w
1
2
3

0,650 0,700
0,600 0,750
0,650 0,700

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

30

Metaheursticas e Aplicaes

4. Utilize uma rede neural MLP com aprendizagem Backpropagation com pelo menos uma
camada escondida para resolver o problema de classificao abaixo. Faa 4 iteraes
completas e interprete graficamente a soluo no final de cada iterao.
A 0, 92 0, 29
1


B 0, 28 0, 32
1
1
C 0, 21 0, 07


D 0, 81
1
1
X=
, onde d =
E 0, 5
1
1


F 0, 62
0, 87
1

1
G 0,71 0, 87


1
H 0, 42
0, 09

Exemplo:
Com os dados abaixo, utilize a Rede Neural Perceptron com aprendizagem Backpropagation
em 2 camadas para resolver o problema de classificao dos pontos.
0 1

0 2
1 1

1 2
1 3

2 2
2 3

3 2

4 1
4 3

2 0
2 1

3 0
3 1

3 3

4 0
4 2

5 0
5 1

5 2

5 3
x1 x2

1
1

1
1

1
1

1
1

0
0

0
0
0

0
0

0
0

0
d

0
0

Usando o Perceptron com 2 camadas, e aprendizagem Backpropagation, temos os


seguintes resultados:

x1

w1

x2

y*

w2

Na 10 iterao, temos:
w1=2,95 w2=-2,79 =-1,94
erro=1,52

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

31

Metaheursticas e Aplicaes

Na 100 iterao, temos:


w1=4,19 w2=-4,08 =-4,39
erro=1,38

Adicionando-se uma camada escondida, e utilizando os pesos abaixo com sadas lineares em
todos os neurnios, temos:
a
b

a
1
b
1

x1

x2
v

0,000

0,100

v
1
2

0,000

0,000

0,100

-0,100

w
1
2

1
0,200
-0,200

0,200

Na 100 iterao, temos: erro=1,07


a
1
b

-1,370

1,390

-0,190

v
1
2

2,830

-3,630

-2,860

3,710

w
1
2

1
2,870
-2,740

Equaes discriminantes encontradas:


w1(x1v11+x2v21+a1)+b=0
2,87(2,83x1-3,63x2-1,37)-0,19=0
8,12x1-10,4x2=4,12
w2(x1v12+x2v22+a2)+b=0
-2,74(-2,86x1+3,71x2+1,39)-0,19=0
7,84x1-10,17x2=4

...
Na 500 iterao, temos:
erro=0,966

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

32

Metaheursticas e Aplicaes

Adicionando-se mais um neurnio na camada escondida,temos:


a

x1

x2
v

Na 100 iterao, temos:


erro=1,05
Na 500 iterao, temos:
erro=0,863

Observaes:
Sobre a parada da rede:
se os pesos forem ajustados em valores muito grandes a ativao se torna zero ou um e
os ajustes passam a ser nulos, parando a rede
Sobre mnimos locais:
a superfcie de erro de uma rede complexa cheia de montanhas e vales
a RNA pode ficar presa em um ponto de mnimo local
Uma MLP pode conduzir a erro mnimo local ao invs de global
este erro mnimo local pode ser satisfatrio, mas e se no for?
o uma rede com mais neurnios poder fazer um trabalho melhor
O nmero de neurnios ou camadas adequados no de determinao simples:
pode-se usar diferentes conjuntos de solues iniciais para melhorar a soluo do
problema
Sobre a escolha do nmero de neurnios das camadas:
Para a camada de entrada, o nmero de variveis fornecidas
Para a camada de sada, um neurnio para cada item de classificao
Para camadas escondidas com i unidades, onde 0 i k:
o comea-se com i = 0 (sem camada oculta) e verifica-se o nmero de padres
classificados corretamente
o prossegue-se com i = 1 (um neurnio na camada escondida) e verifica-se o nmero
de padres classificados corretamente
o ... e assim continua-se at i = k. Destas k tentativas escolhe-se para i, aquela que
classificou o maior nmero de padres corretamente
Sobre a taxa de aprendizagem inicial:
deve ser alta no incio do treinamento e decline gradativamente medida que ele
evolui [Gorni, 1993]

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

33

Metaheursticas e Aplicaes

Isto deve proporcionar rapidez na convergncia do treinamento, estabilidade e


resistncia ao aparecimento de mnimos locais
Escalonamento: ( n ) =

0 o tamanho inicial do passo


0
, onde
, tal que:
n
n0 um contador iterativo
1+
n0

o muito grande conduz aprendizagem instvel


0

o quando n for muito pequeno no existe aprendizagem


0

o quando n for muito grande, ento a aprendizagem lenta


0

Diferentes pesos conduzem a resultados diferentes


conjuntos de pesos diferentes podem conduzir a mnimos locais diferentes ou ao
mnimo global
os pesos, W, para cada uma das topologias 0 i k, so arbitrrios, variando no
intervalo (-1, 1)
todo o processo repetido para r conjuntos de pesos diferentes.
registra-se a situao que para a topologia com i* unidades e com um conjunto de
pesos W apresentar melhor desempenho
Sobre o ajuste dos pesos
mais recomendada a regra de aprendizado aplicada a cada padro separadamente,
isto , o padro p aplicado, calculado, e os pesos so atualizados
Existe uma indicao emprica que isto resulta em convergncia mais rpida [Krose et
al, 1993]
Vrios autores fazem a atualizao dos pesos aps a apresentao completa do
conjunto de padres
Sobre os possveis critrios de parada: considere a rede com nmero de neurnios i na
camada escondida, 0 i k, e conjunto de pesos W:
o desempenho da rede apresenta 0% de erro
o W registrado e o processo finalizado
a rede com i neurnios na camada escondida apresenta uma variao de erro entre 2
iteraes consecutivas menor do que um valor
o se todas as topologias, 0 i k, j foram analisadas, ento toma-se W (da topologia
com i neurnios) que tiver maior percentagem de acerto i*
o repete-se este processo para os r conjuntos de pesos, obtendo-se r valores para i*
o entre os r conjuntos de pesos, escolhe-se o conjunto W correspondente a i*, que
classifique o maior nmero de padres corretamente
A apresentao dos padres pode ser feita em ordem aleatria para a rede durante o
treinamento
a cada iterao na aplicao do algoritmo backpropagation recomendvel fazer um
sorteio na sequncia de apresentao dos padres de entrada
O dimensionamento da rede deve ser feito com critrio, fazendo testes com vrias topologias
ou arquiteturas
deve-se evitar uma rede super-dimensionada (com muitos neurnios)
deve-se evitar tambm uma rede sub-dimensionada (poucos neurnios)
Provveis motivos para a no convergncia de uma rede [Hadjiprocopis, 1993]
coeficiente de aprendizado inicial muito alto

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

34

Metaheursticas e Aplicaes

dados com magnitude incompatvel com a funo de ativao escolhida


rede mal dimensionada
Critrios de parada de uma RNA:
Nmero de iteraes
Determinado valor do erro total mnimo:
o varivel indireta da classificao
o porm, no h garantia de que o sistema possa atingir um erro mnimo
especificado
Taxa de decrscimo de erro:
o indica quando no h mais extrao de informao da rede
o porm, em alguns casos pode haver parada prematura da rede
Parada com validao cruzada:
o dois conjuntos: treinamento e validao
o conjunto de validao: geralmente entre 10 e 25% do total
o com certa freqncia (em geral, de 5 a 10 iteraes) verifica-se o
desempenho no conjunto de validao
o quando o erro aumenta, pra-se o treinamento
Algumas heursticas para melhorar a convergncia de uma RNA:
Normalizar os dados em relao faixa de ativao da rede
Usar no-linearidade do tipo tanh ou sigmide
Normalizar o sinal desejado ligeiramente acima/abaixo do limite
(por exemplo 0,9 e no 1)
Sempre ter mais padres de treinamento que pesos
Usar validao cruzada para parar o treinamento
Rodar a rede vrias vezes para medir o desempenho

APRENDIZAGEM COM TAXA DE MOMENTO


Aprendizagem com momento usa uma memria (incremento anterior) para aumentar a
velocidade e estabilizar a convergncia. uma variao simples do Algoritmo Backpropagation
para acelerar a convergncia da RNA.
w ij ( n + 1 ) = w ij ( n ) + i ( n ) x j ( n ) + w ij ( n ) w ij ( n 1 )

Normalmente, ajustada entre 0,5 e 0,9.

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

35

Metaheursticas e Aplicaes

Quando o termo momento acrescentado e a taxa de aprendizagem pequena, leva bastante tempo
para o mnimo ser alcanado (trajetria "a");
Quando o termo momento no considerado e a taxa de aprendizagem alta, o mnimo nunca
alcanado porque ocorrem oscilaes (trajetria "b");
Quando a taxa de aprendizagem alta, mas o termo momento considerado, o mnimo alcanado
rapidamente (trajetria "c") [Krose et al, 1993].

Exerccio:
Resolva o exerccio 2 da pgina 29 aplicando a taxa de momento com coeficiente = 0,6.

APROXIMAO DE FUNES
O objetivo da aprendizagem descobrir a funo f dado um nmero finito (de preferncia
pequeno) de pares entrada-sada (x,d).
As RNAs so teis para aproximao de funes pois so aproximadores universais, eficientes e
podem ser implementadas como mquinas de aprendizagem

Teorema da projeo linear:


Em uma rea compacta S do espao de entrada descrever uma funo f(x), pela combinao
de funes (x) mais simples:
i

f ( x , w ) =

w (x)
i

i =1

onde w so elementos reais do vetor w = [w ,,w ] tais que f ( x ) f ( x , w ) < e pode ser arbitrariai

mente pequeno. A funo chamada de aproximante e as funes { (x)} so chamadas de funes


elementares f ( x , w ) .

Quando f(x) externo ao espao de projeo, o erro diminui fazendo f ( x , w ) mais prximo de
f(x). Para diminuir o erro da aproximao, basta aumentar o nmero de bases (funes
elementares).

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

36

Metaheursticas e Aplicaes

O requisito para o mtodo funcionar que -1(x) deve existir. Se as funes elementares
constiturem uma base, isto , elas forem linearmente independentes teremos:
w 1 1 ( x ) + + w n n ( x ) = 0 se e somente se

( w 1 , , w n ) = 0

As decises bsicas na aproximao de funes so:


escolha das funes elementares {i(x)}
como calcular os pesos wi
seleo do nmero de funes elementares
Se o nmero de vetores de entrada xi igual ao nmero de funes elementares { (x)} a
i

soluo torna-se w = f .
As funes elementares podem ser globais (abrangem todo o espao de entrada) ou locais,
(abrangem uma rea limitada do espao de entrada).
Uma rede MLP com uma camada escondida com um neurnio de sada linear pode ser
considerada uma implementao de um sistema para aproximao de funes, onde as bases so os
neurnios escondidos.
A composio de neurnios sigmoidais corresponde a todo o espao de entrada. A MLP
implementa uma aproximao com funes elementares globais.
MLPs realizam aproximao de funes com um conjunto adaptativo de bases, determinado a
partir dos dados entrada-sada. As bases so alteradas em funo dos dados: o espao de projeo
dependente dos dados.
O treinamento mais difcil, pois no somente a projeo como tambm a base est sendo
alterada. Devido alta conectividade e natureza global das funes elementares, um bom ajuste
obtido com poucas bases (poucos neurnios escondidos).

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

37

Metaheursticas e Aplicaes

Exerccios:
1. Dada a matriz de valores de entrada x e os desejados d, elabore uma arquitetura de MLP,
com pelo menos uma camada escondida, que seja capaz de aproximar a funo dada abaixo:
d

x
-3
-2,5
-2
-1,5
-1
-0,5
0
0,5
1
1,5
2
2,5
3

-10
-6
-3,6
-2,1
-1,2
-0,5
0
0,52
1,18
2
3,6
6,05
10,02

2. Utilizando o algoritmo do Perceptron simples, encontre os pesos e bias para classificar os


seguintes conjuntos de treinamento:
a)

x1

x2

x3

x1

x2

x3

x4

-1

-1

-1

-1

-1

-1

-1

-1

x1

x2

x3

-1

-1

-1

-1

-1

-1

b)

c)

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

38

Metaheursticas e Aplicaes

3. Encontre os novos pesos e bias da rede MLP ao lado


quando o padro x=(0,1) apresentado rede, com d=1
(use =0,25 e funo de ativao sigmide, aprendizagem
backpropagation)
4. Encontre os novos pesos e bias da rede MLP ao lado
quando o padro x=(-1,1) apresentado rede, com d=1
(use =0,25, funo de ativao tanh e aprendizagem
backpropagation)

5. Dada a rede MLP ao lado, calcule os novos pesos e bias na seguinte sequncia de apresentao
de dados xi de entrada (use =0,4, funo de ativao sigmide, e calcule o erro de classificao
em cada entrada):
5.1. x =(-1,1), com d=0,9;
1
5.2. x2=(1,-1), com d=0,8;
5.3. x3=(1,1), com d= -0,7.
Depois calcule a sada (com os pesos e bias atualizados)
para o vetor de testes x=(-1,-1), com d= -0,8, e calcule o
erro de classificao.

Exemplo de aplicao de MLP para aproximao de funes


No exemplo a seguir, o n de sada faz uma combinao de duas funes:
y = f tanh1(x) + g tanh2(x) + a, onde
tanh (x) = tanh(dx + b)
1

tanh2(x) = tanh(ex + c)
Os pesos foram inicializados com valores aleatrios e cada n escondido computa uma funo
tanh aleatria.

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

Metaheursticas e Aplicaes

39

Exemplo de aplicao de MLP para classificao de imagens


Um dos trabalhos pioneiros neste estudo compara o desempenho de mtodos estatsticos de
classificao de dados multiespectrais, com o desempenho de classificadores por redes neurais
[Benediktsson, Swain & Ersoy, 1990].
As redes neurais com conjunto de treinamento mnimo, fornecem resultados superiores aos
obtidos por classificadores supervisionados tradicionais [Hepner et all, 1990].
Seguem abaixo as imagens e respectivas classificaes dos autores:

Foto area digitalizada, com os dados que devem ser classificados

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

Metaheursticas e Aplicaes

40

Aplicao do mtodo de Mxima Verossimilhana (MAXVER). Dados classificados corretamente: 71,19%

Perceptron com Backpropagation (usando 20 dados de entrada). Classificao correta = 18,82%

Perceptron com Backpropagation (usando 1 amostra de cada classe que se deseja classificar).
Classificao correta = 58,52%

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

41

Metaheursticas e Aplicaes

Perceptron com Backpropagation (usando mais amostras de cada classe que se deseja classificar).
Classificao correta = 95,19%

No trabalho de [Mark Gahegan, Geoff West, 1998] os autores utilizaram 3 tcnicas para
classificaes de imagens.
As imagens a seguir mostram os resultados encontrados:

Mxima Verossimilhana. Classificao correta: 40%

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

Metaheursticas e Aplicaes

rvore de deciso. Classificao correta: 75%; MLP + BackPropagation. Classificao correta: 85%

2.5. SUPPORT VECTOR MACHINES (SVM)


A idia bsica a de separao de dados linear, a mesma do Perceptron. A fundamentao
terica surgiu com separaes no lineares [Boser, Guyon e Vapnik, 1992].
Funes no-lineares so apresentadas para separao nolinear de dados [Chervonenkis, 1992], usando hiperplanos de
margens fixas e flexveis [Cortes e Vapnik, 1995]. Mais detalhes
podem ser encontrados na pgina de Andrew W. Moore:
www.cs.cmu.edu/~awm.
Esta rede neural tambm pode ser usada na resoluo dos
seguintes problemas:
Classificao de textos
Classificao de imagens
Bioinformtica (classificao de protenas, diagnstico mdico)
Reconhecimento de caracteres escritos mo livre
Um classificador simples pode obter diversos resultados, como mostra a figura abaixo:

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

42

43

Metaheursticas e Aplicaes

Um classificador com margem pode obtem a seguinte configurao:

Este tipo de classificador define uma margem mxima:

A largura ideal desta margem pode ser encontrada da maneira descrita abaixo:

wx i + +1 para y i = +1
wx i + 1 para y i = 1

Primeiro vamos determinar qual a distncia de um ponto x reta suporte wx+ = 0:


d(x) =

wx +
w

wx +

k
i =1

w 2i

O ponto mais prximo da margem pode ser encontrado da seguinte forma:


m = min d ( x ) = min
xD

xD

wx +

k
i =1

w 2i

A ideia de uma SVM de maximizar a margem de tal forma que respeite a menor distncia
m, ou seja:

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

44

Metaheursticas e Aplicaes

wx i +

M = max min d ( x i ) = max min


k
w , x i D
w , x i D
w2
i =1 i

Para encontrar a margem ideal recamos na resoluo do seguinte problema de


programao quadrtica:

wx i +

max min

k
x D
w ,
2
i

w
i
i =1

sujeito a y (wx +) 0, x D
i

Mas |wx +| 1, x D, logo o problema fica simplificado como:


i

min
w

k
i =1

w 2i

sujeito a yi(wxi+) 0, xiD


Utilizando os multiplicadores de Lagrange, obtemos:
L ( w , , ) = 12 w 2
2

k
i =1

i ( y i ( wx i + ) 1)

L ( w ,,) = 0 ,
L ( w ,,) = 0

Logo, o hiperplano classificador fica com as seguintes caractersticas:


k

i y i = 0

w=

i =1

y x

i i i

i =1

Usando as condies KKT (KarushKuhnTucker) temos:


i y i ( wx i + ) 1 = 0 , i = 1 ,..., k .

Os vetores suporte so os quais possuem i > 0.


Encontrando o Problema de otimizao dual do Lagrangeano temos:
max W ( ) = i=1 i 12 i ,j=1 i jy i y jx i x j
k

sujeito a

k
i =1

i y i = 0 e i 0 , i = 1 ,..., k ,

onde a funo de deciso f ( x ) = sgn

k
i =1

y i i x i x + = sgn ( wx + ) .

As funes bsicas de uma SVM podem ser:


funo polinomial de x
k

x c 2
k
j
radial basis function (RBF) de x : j ( x k ) = exp
2

sigmoidal de x

funes Kernel (ncleo): K ( x i , x j ) = ( x i ) ( x j )


Para utilizar outras funes na SVM basta substituir x pela funo (x), resultando em:
Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

45

Metaheursticas e Aplicaes

max W ( ) = i=1 i 12 i ,j=1 i jy i y j ( x i ) ( x j )


k

sujeito a

k
i =1

i y i = 0 e i 0 , i = 1 ,..., k ,

onde a funo de deciso f ( x ) = sgn

k
i =1

y ii ( xi ) ( x ) + .

i =1

i =1

Na funo w, como w = i y i x i , ento w = i y i ( x i ) .


As funes Kernel precisam ser decompostas: K(a,b)=(a)(b).

Condio de Mercer
Para decompor uma funo Kernel atravs de um produto interno K(x,y)= (x)(y), K(x,y) deve
ser semi-definida positiva, ou seja, para qualquer funo f(x) que f 2 ( x ) dx seja finito:

f ( x ) K ( x , y ) f ( y ) dxdy 0
K(a,b)=(ab +1)d um exemplo de funo Kernel SVM
Outras funes no lineares Kernel SVM:
( a b )2
.
Kernel em formato RBF: K ( a , b) = exp

22

Kernel do tipo Rede Neural: K ( a , b) = tanh ( a .b ) .


Exemplo:
Seja o conjunto de 5 pontos x =1, x =2, x =4, x =5, x =6, que devem ser separados em 2 classes:
1

y =1, y =1, y =-1, y =-1 e y =1. Usando a funo Kernel K(a,b)=(1+aTb), temos:
1

Resolvendo-se o PPQ abaixo:


Maximizar W ( ) =
sujeito a

5
i =1

12
i =1 i

y y 1 + xi x j
i ,j=1 i j i j

i y i = 0 e i 0 , i = 1 ,...,5 ,

Obtemos: =0, =2,5, =0, =7,333 e =4,833.


1

Logo os vetores suporte sero x =2, x =5 e x =6.


2

A funo de deciso fica:


f (x) =

5
i =1

y i i ( x i ) ( x ) + =1.2 ,5 (1 + 2x ) + ( 1) .7 ,333 (1 + 5x ) + 1.4 , 833 (1 + 6x ) + =


2

= 0 , 6667x2 5 ,333x + .

Fazendo-se f(2)=1 ou f(5)=-1 ou f(6)=1, temos =9. Logo, f ( x ) = 0 , 6667x2 5,333x + 9 .

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

46

Metaheursticas e Aplicaes

Exemplo:
Considere o exemplo de classificao da funo lgica ou exclusiva.
( w ) = 12 w T w

L ( w , , ) = 12 w T w
W () =

i =1

i 12

(d ( w
n

) )

xi + 1

i =1
n

d d x x
i

T
j i j i j

i =1 j=1

Usando a funo Kernel K ( x , x i ) = 1 + x T x i

= 1 + x12x2i1 + 2x1 x i1 x2 x i2 + x22x2i2 + 2x1 x i1 + 2x2x i2

temos ( x ) = 1 , x12 , 2x1 x2 , x22 , 2x1 , 2x2 . Logo,

W ( ) = 1 + 2 + 3 + 4 12 912 212 213 + 21 + 922 + 223 22 4 + 932 23 4 + 924

...
x1

x2

-1

-1

-1

-1

-1

-1

Outros exemplos:

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

Metaheursticas e Aplicaes

47

2.6. REDES DE BASES RADIAIS (RBF)


Depois das redes MLP, as redes do tipo RBF (Radial Basis Function - 1987) so as mais utilizadas
na literatura.
Estas redes resolvem bem os mesmos tipos de problemas que as redes MLP: classificao,
aproximao de funes e previso de sries temporais. O treinamento das RBF mais rpido do que
de MLP.
O funcionamento deste tipo de rede difere significativamente, pois elas contm uma camada
escondida com funes de bases radiais e a ativao dos neurnios da camada escondida:
nas MLPs: produto interno entre o vetor de entrada e o vetor de pesos;
nas RBF: distncia entre o vetor de entrada e um vetor prottipo.
Quando um padro de entrada apresentado rede, a distncia entre o neurnio central e o
padro de entrada calculada, e a sada da rede para o neurnio central o resultado da aplicao da
funo de base radial esta distncia.

A aprendizagem consiste nos ajustes dos parmetros para o conjunto de treinamento.


A generalizao a fase de utilizao dos parmetros ajustados na aprendizagem para interpolar
dados que no pertencem ao conjunto de aprendizagem, mas que pertenam a alguma vizinhana
deste conjunto.
A funo gaussiana a funo de base radial mais utilizada neste tipo de rede.
Os valores dos raios das funes podem ser considerados iguais para problemas de aproximao
de funes (custo computacional mais baixo).
Possuem clculos com maior custo computacional do que de outras RNAs.

O aprendizado de uma RBF feito em trs etapas:


selecionar o nmero de centros;
escolher os valores dos centros;
ajustar os pesos.

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

48

Metaheursticas e Aplicaes

Outros tipos de redes RBF so:


Redes Probabilsticas (PNN)
Redes de Regresso Generalizada (GRNN)

As redes RBF tm melhor performance em aproximao de funes e sries temporais do que


MLP, enquanto que MLP tm melhor performance em problemas de classificao. Estas redes fazem
parte do denominado conjunto de tcnicas de funes gaussianas.
Vantagens das RBFs:
aprendizado rpido;
no comeam com pesos aleatrios;
treinamento incremental;
sem problemas de paralisia da rede e mnimo local.
Desvantagem:
Aps o treinamento, as redes RBFs so mais lentas para efetuar a recuperao da
informao (recall), por serem compostas de mais processadores que as MLP com
aprendizado tipo Backpropagation.
A idia bsica de uma RBF pode ser resumida em:
supondo que os vetores de entrada e pesos definam pontos no espao N-dimensional, o
objetivo ter uma resposta do neurnio que diminua rapidamente conforme esses pontos
se distanciem;
o conjunto de neurnios escondidos projetado de forma que as suas respostas cubram
todas as regies significativas do espao de vetores de entrada.
O princpio fundamental de uma RBF determinar uma funo h(x) tal que:
h(xn) = dn , n = 1, ... N [Bishop, 1985]
A aproximao por RBF usa um conjunto de N funes base da forma:

(||x - xn||)
uma para cada ponto da srie, onde (.) uma funo no-linear.
A sada uma funo h:
h(x) = nwn(||x - xn||) [Powel, 1988]
As redes RBFs so aproximadores universais, isto , dado um nmero suficiente de neurnios
na camada escondida, as redes RBFs podem aproximar qualquer funo contnua com preciso
arbitrria.

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

49

Metaheursticas e Aplicaes

Exemplos:

A funo gaussiana que vamos utilizar :

2
1

x ( t ) u j ( t )
22j ( i ) j

j ( t ) = e

onde j representa o raio da funo base do neurnio j e uj(t) o vetor com as coordenadas do centro
do neurnio.
Os valores dos raios extendem a funo de base radial, e a sada da rede uma combinao
das funes de bases radiais com os pesos ajustados na iterao t:
Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

50

Metaheursticas e Aplicaes

yk (t ) =

w (t )
jk

j=1

Exemplos:

Algoritmo Bsico de um Projeto para uma rede RBF


Seja uma base de dados (xi, di), i = 1, ..., N, onde xi um exemplo da base de dados e di o vetor de
sadas desejadas correspondentes.
definir o nmero l de neurnios ocultos (nmero de bases radiais), em geral escolhe-se
l n.
selecionar aleatoriamente l exemplos do conjunto de dados, e fazer a seguinte
atribuio: uj = xj, j = 1, 2,..., l.
especificar o valor do raio da funo de base radial,
apresentar todos o conjunto de treinamento para a rede, guardando a sada da camada
escondida de cada entrada em uma linha da matriz G, onde gij = j, e gi(l+1) = bias.
aps a apresentao de todas as entradas, calcular os pesos da sada:

( )

w = G TG

GT d

Exerccios:
1. Utilizando a Rede Neural RBF com centros u = {(0 2), (1 0)}, encontre os pesos desta rede
para o problema de classificao dos pontos Ai e Bj dados abaixo:
3

A1
A2
A3
B1
B2

x1
0
1
1
1
2

x2
2
2
3
0
1

d
1
1
1
0
0

0
0

Use os parmetros = 0 ,5 , k = 2 (centros), = 1, sada com 1 neurnio.

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

51

Metaheursticas e Aplicaes

2. Utilizando a Rede Neural RBF com 3 centros u = {(0 2), (1 0), (2 1)}, encontre os pesos desta
rede para o problema de classificao dos pontos Ai e Bj do problema anterior.
3. Utilizando a Rede Neural RBF com 3 centros u = {-5, 3, 7}, encontre os pesos desta rede para
aproximar a funo x3 + 2x2 + 4x 12 atravs de 21 pontos no intervalo [-3, 3].
4. Utilize uma rede RBF para a funo OU EXCLUSIVO com os seguintes parmetros: = 0 ,5 ,
u = {(1 1), (-1 -1)}, k = 2 (centros), = 1, sada com 1 neurnio.
x
1,0
1,0
d
1,0

-1,0
1,0

-1,0
-1,0

1,0
-1,0

-1,0

1,0

-1,0

5. Utilizando a Rede Neural RBF com 4 centros, encontre os pesos da rede para aproximar a
funo sen(x)+ 4cos(x) 1 atravs de 21 pontos no intervalo [-2, 4].
6. Utilize uma RBF para resolver o problema de classificao dado abaixo com os 21 pontos e
seus respectivos valores desejados. Utilize = 5, u = {(1 3), (4 0), (5 3)}, k = 3 (centros), =
1, sada com 1 neurnio.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

x1 x2
0 1
0 2
1 1
1 2
1 3
2 2
2 3
3 2
4 1
4 3
2 0
2 1
3 0
3 1
3 3
4 0
4 2
5 0
5 1
5 2
5 3

d
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0

7. Utilize uma RBF com centros u = {(0 0), (1 1), (3 3)} para
classificar os dados abaixo. Use = 5 e = 1.
A1
A2
B1
B2
B3

x1
0
1
0
2
1

x2
1
2
3
3
3

d
0
0
1
1
1

8. Resolva o problema 7 com sadas desejadas bipolares.

Resumindo, a arquitetura de uma RBF composta dos elementos mostrados na figura


abaixo:

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

52

Metaheursticas e Aplicaes

2.7. REDE NEURAL DE HEBB


Na rede Neural de Hebb (1949) a comunicao entre dois neurnios facilitada pela iterao
repetida em cada neurnio.
A Regra de Hebb diz que se a sada do i-simo processador yi e a ativao do j-simo
processador xj, ento
wij = xjyi
onde o tamanho do passo.
Para aplicar a regra de Hebb, somente os sinais de entrada precisam fluir atravs da rede.
Esta rede denominada local ao peso e pode ser modificada para treinamento no-supervisionado.

Algoritmo:
0. Inicialize os pesos
1. Para cada par
2.
wi(novo) =

(w
wi = 0, onde i = 1, 2, ..., n)
de treinamento (x
x,d
d), faa:
wi(atual) + xidi (i
i = 1, 2, ..., n)

i(novo) = i(atual) + di
3. Faa y* = wixi + .

4. Teste a convergncia. Se necessrio, repita os passos 1-3.

Em notao vetorial a sada do neurnio


y* = wTx +
Assumindo entradas e pesos normalizados, y maior significa que a entrada est mais
prxima da direo do vetor peso.
Durante a aprendizagem os dados expostos aos pesos condensam toda informao nos
valores dos pesos.
O processador Hebbiano simples e cria uma medida de similaridade (produto interno) no
espao de entrada de acordo com a informao contida nos pesos. Ele programa um tipo de
memria associativa.

x1
x2
x3

xn

w1
w2
w3

wn

Exerccios:
1. Use a rede de Hebb para a funo lgica E com entradas bipolares.
2. Use a rede de Hebb para a funo lgica OU com entradas bipolares

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

53

Metaheursticas e Aplicaes

3. Use a rede de Hebb para classificar os dados do problema de 5 pontos:


A1
A2
A3
B1
B2

x1
0
1
1
1
2

x2
2
2
3
0
1

x j x min
x j = 2
xmax xmin

A1
A2
1 A3
B1
B2

x1
-1,00
-0,33
-0,33
-0,33
0,33

x2
0,33
0,33
1,00
-1,00
-0,33

4. Use a rede de Hebb para classificar os dados do problema de 21 pontos:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

x1
0
0
1
1
1
2
2
3
4
4
2
2
3
3
3
4
4
5
5
5
5

x2
1
2
1
2
3
2
3
2
1
3
0
1
0
1
3
0
2
0
1
2
3

d
1
x j xmin
1 x j = 2
1
x

x
max
min

1
1
1
1
1
1
1
1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1

x1

x2

5. Utilizando o algoritmo da Rede de Hebb, encontre os pesos e bias para classificar os


seguintes conjuntos de treinamento:
5.1.
5.2.
5.3
x1 x2 x3 d
x1 x2 x3 d
x1 x2 x3 d
1 1 1 1
1 1 1 1
1 1 1 1
1

0 -1

1 -1

1 -1 1 -1

1 -1

-1 1

1 -1 -1
1 -1

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

54

Metaheursticas e Aplicaes

2.8. REDE NEURAL HETEROASSOCIATIVA


A rede neural heteroassociativa tem os pesos determinados para o
armazenamento de P padres (x(p), y(p)), onde os vetores x e y possuem
dimenses n e m, respectivamente.
Ela tem a aprendizagem que usa a regra de Hebb.

x1

y1

x2

y2

Algoritmo:

xn

ym

wij

0. Inicialize os pesos (w
wi = 0, onde i = 1, 2, ..., n)
x,d), faa os passos 2-4:
1. Para cada par de treinamento (x
2. yj* = ixiwij
3. Se yj* > 0, yj = 1
Se yj* = 0, yj = 0
Se yj* < 0, yj = -1
4. wij(novo) = wij(atual) + xidj (i
i = 1, 2, ..., n)
5. Reduza e teste a convergncia. Se necessrio, repita os passos de 1-4.

Um exemplo de aplicao desta RNA est no reconhecimento de caracteres:


.#. -1 1 -1
#.# 1 -1 1
### 1 1 1
#.# 1 -1 1
#.# 1 -1 1
O###...
#..@.#.
o...#.@
@###.#@
#..##@.
#....#.
.#..o#.
#.....#
#####o.

##.
#.#
##.
#.#
##.

##.
#.#
##.
#.#
##.
O###.##
#.@@...
##.....
@#.....
#@...@.
#......
.#.@...
#.....#
##oo###

@..#...
...#@..
..#.#.@
..#.#@.
.####@.
.#...#.
.#...#o
#...@.#
#o....#

###
#..
#..
#..
###

###
#..
#..
#..
###

..@#.@.
.@.#@..
@.###.@
..O.#@.
.@##o..
@#.@.#@
.#@..o#
#@..@.#
o..@..o

.#.
#.#
###
#.#
#.#

.#.
#.#
###
#.#
#.#

Exerccios:
1. Dados dos vetores x e y treine a rede para associar a cada vetor x o respectivo vetor y:
x
(1,0,0,0)
(1,1,0,0)
(0,0,0,1)
(0,0,1,1)

d
(1,0)
(1,0)
(0,1)
(0,1)

x1
x2

y1

x3

y2

2. Resolva o exerccio 1 com dados bipolares.

x4

wij

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

55

Metaheursticas e Aplicaes

2.9. REDE NEURAL AUTOASSOCIATIVA


A RNA autoassociativa tem os pesos determinados para reconhecer os
dados de um conjunto de padres x(p), e cuja sada consiste no reconhecimento
dos prprios vetores de entrada.
O algoritmo o mesmo da RNA heteroassociativa, com a sada y = x.
utilizada para reconhecer erros nos vetores de entrada, como falta de
dados, ou coordenadas erradas.
A matriz de pesos pode ser iniciada com coordenadas de alguns vetores de
entrada para acelerar a convergncia.

x1

y1

x2

y2

xn

wij

Exerccios:
1. Utilizando uma rede autoassociativa, calcule a matriz W de pesos que seja capaz de
reconhecer os vetores dados abaixo:
(1 1 -1 -1)
(1 -1 1 1)
Usando a matriz de pesos W, verifique se os vetores acima so mesmo reconhecidos
corretamente pela rede.
O vetor (-1 1 1 -1) reconhecido corretamente pela rede?
2. Use uma rede autoassociativa para reconhecer o vetor V1=(1,1,1,1,1,1). Teste a rede com o
vetor V1. Teste a rede com o vetor T=(1,1,1,1,-1,-1). Encontre a rede que reconhece
V2=(1,1,1,-1,-1,-1). Teste a rede com V1, V2 e V3=(1,1,1,-1,0,0)

2.10. MAPAS AUTO-ORGANIZVEIS


Os principais tipos de RNA com mapas auto-organizveis so: PCA Principal Component
Analysis, ICA Independent Component Analysis, LVQ Learning Vector Quantization, SOM Self
Organizing Maps e redes com mapas e ativaes estatsticas.

ICA/PCA

LVQ

SOM

Estatstica

Treinamento de uma rede auto-organizvel:

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

yn

56

Metaheursticas e Aplicaes

So redes chamadas de competitivas. Existe uma competio por


recursos como maneira de diversificar e otimizar a funo dos elementos
de um sistema distribudo, alm de conduzir otimizao a nvel local
sem controle global para assinalar recursos do sistema.
Os neurnios de redes competitivas recebem informao idntica das
entradas mas competem pelos recursos:
atravs de conexes laterais na topologia; ou
pela formulao da regra de aprendizagem.
Os neurnios especializam-se em reas diferentes da entrada. Trata-se de uma operao
no-linear, sem um tratamento matemtico muito desenvolvido como em outras redes.
Existem dois tipos principais:
Hard: somente um neurnio ganha os recursos;
Soft: h um vencedor, mas seus vizinhos tambm recebem uma parte dos recursos.
O objetivo da aprendizagem competitiva criar uma regra de aprendizagem que possa ser
aplicada a uma topologia de camada nica e que atribua os neurnios a reas diferentes do espao
de entrada.
A aprendizagem competitiva um paradigma de aprendizagem no-supervisionada, a qual
extrai informao somente dos padres de entrada sem a necessidade de uma resposta desejada.

Critrios de competio:
O neurnio mais prximo entrada atual deve vencer a
competio, portanto precisa-se de uma medida de proximidade.
O produto interno sensvel no somente s direes mas
tambm ao comprimento dos vetores, isto , a entrada e os pesos
devem ser normalizados.
Uma alternativa ao produto interno o uso da distncia
Euclidiana como mtrica para definir o vencedor:

vencedor = max i ( w iT x ) ou vencedor = mini x wi

x.PE1=0,5+1=1,5
x.PE2=2,5+0=2,5

).

Como a raiz quadrada uma funo computacionalmente cara, a distncia mtrica menos
eficiente que o produto interno:
xw =

(x

wk ) .
2

s vezes a mtrica retangular (conhecida tambm


como mtrica de Manhattan) usada, pois s envolve
subtraes e valores absolutos:
Distncia Euclidiana: dEAB =

( x A xB ) + ( y A yB )
2

Distncia Retangular: dRAB = x A xB + y A yB .

y
B(xB, yB)

.
A(xA, yA)
x

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

57

Metaheursticas e Aplicaes

Agrupamento
Usando a regra competitiva uma rede linear de camada nica agrupa e representa dados que
residem em uma vizinhana do espao de entrada. Cada vizinhana representada por um nico
neurnio.
Os pesos de cada neurnio representam pontos no espao de entrada chamados vetores
prottipos. Se os vetores forem unidos por uma linha e forem traadas perpendiculares na metade
de cada uma, as mesmas se encontraro e formaro uma estrutura semelhante a uma colmia de
abelhas.
A Tesselao de Voronoi um exemplo de formao de
agrupamentos. As amostras de dados que esto nas regies so
assinaladas aos correspondentes vetores-prottipos.
O algoritmo no-neural tpico de agrupamento o kmdio, o qual encontra a melhor diviso de N amostras em K
grupos, tal que a distncia total entre as amostras agrupadas e seus respectivos centros, isto , a
varincia total, seja minimizada.
Redes competitivas implementam uma espcie de verso do agrupamento k-mdio
Agrupamento:
o processo de agrupar amostras de entradas que so vizinhas espaciais;
um processo no-supervisionado.
Classificao:
consiste na rotulao de amostras de entrada atravs de algum critrio externo;
um processo supervisionado.
Como agrupamento no-supervisionado, ele no
pode ser usado diretamente para classificao. Em vrias
aplicaes prticas, os dados de cada classe tendem a ser
densos e, portanto, h um vale natural entre as classes.
Nestes casos o agrupamento pode ser um pr-processador
para a classificao. Com isto obtm-se redes de
classificao mais simples.
Se o vetor de pesos de um neurnio est muito
distante dos grupos de dados ele nunca vencer a
competio (neurnio morto).

Classe 2

cluster 2
cluster 4

cluster 1

Classe 1

cluster 3

Conscincia: penaliza um neurnio se ele vence em demasia ou ajuda-o em caso contrrio.


O chamado mapa de densidade identifica os neurnios que mais vencem, e auxilia na
escolha dos prottipos mais significativos (centrides dos agrupamentos).
O nmero de centros controlado pelo nmero de neurnios de sada:
Se o nmero de neurnios menor que o nmero de grupos reais, cada neurnio
representa mais de um grupo e colocado no centro de massa destes;
Se o nmero de neurnios maior que o nmero de grupos reais, alguns neurnios
podem congelar ou mais de um representar o mesmo grupo.

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

58

Metaheursticas e Aplicaes

O princpio da competio diferencial por natureza, ou seja: o neurnio que ganhou a


competio confivel?
O agrupamento cria uma bolha de atividade no espao de sada, onde o neurnio mais
prximo o mais ativo e seus vizinhos so menos ativos.
A rede SOM (Self Organizing Map) de Kohonen realiza um mapeamento de um espao
contnuo de entrada para um espao discreto de sada, onde as propriedades topolgicas da
entrada so preservadas.
A rede SOM de Kohonen uma rede linear de camada nica totalmente conectada, cuja sada
organizada em uma, duas ou trs dimenses.
Quando a SOM se adapta a entradas de altas dimenses, ela deve se estender e enrolar para
cobrir o espao de entrada.
pi

O neurnio vencedor e seus vizinhos


so atualizados a cada apresentao de um
padro.
O processo de aprendizado de uma
rede de Kohonen consiste em reforar as
ligaes que produzem respostas mais
eficientes.
R=2

R=1

R=0

Vizinhanas

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

Metaheursticas e Aplicaes

Exemplo:

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

59

60

Metaheursticas e Aplicaes

Aps o treinamento da rede:

Em um dos primeiros trabalhos de Kohonen sobre as SOMs, o seguinte exemplo foi


apresentado:
Considere os 32 vetores abaixo, que representam agrupamentos rotulados pelas letras A-Z e
nmeros 1-6:
A
1
0
0
0
0

B
2
0
0
0
0

C
3
0
0
0
0

D
4
0
0
0
0

E
5
0
0
0
0

F
3
1
0
0
0

G
3
2
0
0
0

H
3
3
0
0
0

I
3
4
0
0
0

J
3
5
0
0
0

K
3
3
1
0
0

L
3
3
2
0
0

M
3
3
3
0
0

N
3
3
4
0
0

O
3
3
5
0
0

P
3
3
6
0
0

Q
3
3
7
0
0

R
3
3
8
0
0

S
3
3
3
1
0

T
3
3
3
2
0

U
3
3
3
3
0

V
3
3
3
4
0

W
3
3
6
1
0

X
3
3
6
2
0

Y
3
3
6
3
0

Z
3
3
6
4
0

1
3
3
6
2
1

2
3
3
6
2
2

3
3
3
6
2
3

4
3
3
6
2
4

5
3
3
6
2
5

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

6
3
3
6
2
6

61

Metaheursticas e Aplicaes

Algoritmo
0. Iniciar os pesos dos n neurnios da rede com valores aleatrios baixos: w

ij

1. Apresentar cada entrada x para a rede, e executar os passos 2 e 3:


2. Determinar o neurnio i que possui a menor distncia (euclidiana) do peso
sinptico w com o vetor x.
j

di =

( x ( t ) w ( t ))

ij

j=1

Este neurnio denominado vencedor.


3. Ajustar os pesos do neurnio vencedor e de todos os neurnios
a uma vizinhana centrada nele, V (t).

que pertencem

wij(t + 1) = wij(t) + (t)[xj(t) - wij(t)]


onde i V (t).
i

4. Ajustar a taxa de aprendizado e o raio de vizinhana. Se no existirem mais


mudanas substanciais no mapa, pare; caso contrrio, volte ao passo 1.

Exerccios:
1. Utilizando o conjunto de treinamento X e a matriz inicial de pesos W dados abaixo, treine a
SOM com 3 iteraes completas, e depois apresente o conjunto de testes. Interprete
geometricamente os resultados de cada iterao.
Conjunto de treinamento X:
A(-1,5 2,5) B(-2 -2) C(2 2) D(1,5 2,5) E(-2 3) F(-2,5 3) G(-3 -2)
Conjunto de teste:
H(0 0) I(10 0) J(2 -7) K(2 3) L(-2 -2)
taxa de aprendizagem inicial: = 0,5
0,1 0,1

matriz inicial de pesos: WT = 0,1 0,1


0
0

0,1 0,1

2. Utilizando o exemplo dado anteriormente, faa 4 iteraes completas utilizando as


coordenadas de A, F, K, R, S, 1 e 2 para treinar um mapa auto-organizvel de dimenso 2 x 3.
Depois, utilize os dados de V, 6, C e L para testar a rede.
Conjunto de treinamento:
A
1
0
0
0
0

F
3
1
0
0
0

K
3
3
1
0
0

R
3
3
8
0
0

S
3
3
3
1
0

1
3
3
6
2
1

2
3
3
6
2
2

Conjunto de teste:
V
3
3
3
4
0

6 C L
3 3 3
3 0 3
6 0 2
2 0 0
6 0 0

taxa de aprendizagem inicial: = 0,5

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

62

Metaheursticas e Aplicaes

0,1

0,5
0,3
matriz inicial de pesos: W T =
0,2
0,1

0,5
opes de arquitetura da rede:

0,5

0,1
0,4

0,1
0,2

0,3 0,2 0,1 0,4

0,2
0,4
0,1
0,5
0,4

0,3
0,3
0,5
0,3
0,3

0,4
0,2
0,2
0,4
0,5

3. Considere o mapa de Kohonen unidimensional dado.


3.1. Utilizando a distncia Euclidiana como mtrica,
encontre o neurnio vencedor para o padro de entrada
(0,5 0,2);
3.2. Utilize a taxa de aprendizagem 0,2 e raio de
vizinhana 1 para encontrar os novos pesos para os
neurnios da rede;
3.3. Faa o mesmo para o padro de entrada (0,5 0,5).

0,3

0,6

2
0,1
0,4
0,8

0,5
0,9
0,3
0,7

u1

0,2
u2

4. Considere o mapa de Kohonen com 2 neurnios e 5 entradas com a matriz de pesos W.


1

0,8
T
W = 0,6

0,4
0,2

0,2

0,4
0,6

0,8
1

4.1. Use a distncia Euclidiana como mtrica para encontrar o neurnio vencedor para o
padro (0,5 1 0,5 0 0).;
4.2. Use a taxa de aprendizagem 0,2 com raio de vizinhana 0 para encontrar os novos pesos
para os neurnios da rede.

A Rede de Kohonen tem inibio lateral produz uma distribuio gaussiana centrada no
neurnio vencedor. Como aplica-se a regra de aprendizagem do tipo instar, que escala a regra
competitiva pela atividade de sada de cada neurnio, a regra competitiva SOM de Kohonen tornase
wi ( t + 1 ) = wi ( t ) + ii* ( t ) (t) x ( t ) wi ( t )
onde a funo ii* uma funo de vizinhana centrada no neurnio vencedor
O tamanho do passo e a vizinhana diminuem com o tempo. A funo de vizinhana em
geral uma gaussiana:
d 2
ii* (t) = exp 2ii* ,
2R (t)

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

63

Metaheursticas e Aplicaes

com uma varincia (raio) que decresce com a iterao. Inicialmente ela cobre todo o mapa, mas
reduz-se progressivamente a uma vizinhana de zero, isto , somente o neurnio vencedor
atualizado.
Outro tipo de vizinhana que pode ser usada chamada de vizinhana discreta:
1, se i V(i*)
ii* (t) =
0, caso contrrio

Conforme a vizinhana reduzida, a rede move-se de uma competio muito soft (quase
todo neurnio atualizado) para uma competio hard (somente o vencedor atualizado).
H evidncias que a SOM cria um espao de sada discreto onde relaes topolgicas dentro
das vizinhanas do espao de entrada so preservadas. A rede SOM criada de uma maneira nosupervisionada.
A seleo de parmetros crucial para a preservao de topologia.
Existem duas fases na aprendizagem SOM:
Fase de ordenao topolgica dos pesos, ou seja, definio das vizinhanas;
Fase de convergncia com o ajuste fino da distribuio de entrada.
Com t iteraes, a funo de vizinhana decresce, em geral, com um raio definido por:

t
R ( t ) = R0 ( t ) 1 .
R0

Normalmente a taxa de aprendizagem alta (acima de 0,1) para permitir rede se autoorganizar. Ela ajustada da seguinte forma:

( T)

( t ) = 0 exp t

onde 0 a taxa de aprendizagem inicial e T uma aproximao do nmero total de iteraes


(segundo HAYKIN, geralmente T =1000).
A fase de convergncia a mais demorada, onde se mantm uma taxa de aprendizagem
pequena (0,01) e usa-se a menor vizinhana (somente o neurnio ou seus vizinhos mais prximos).
A escolha do nmero de neurnios feita experimentalmente. O nmero de sadas afeta a
preciso do mapeamento e o tempo de treinamento. O aumento do nmero de neurnios aumenta a
resoluo, mas aumenta em muito o tempo de treinamento.
Aproximao do Espao de Entrada: A SOM capaz de preservar a estrutura do espao de
entrada relativamente bem.
Ordenamento Topolgico: Os neurnios na sada da SOM esto topologicamente ordenados
no sentido de que neurnios vizinhos correspondem a regies similares no espao de entrada.
Manuteno da densidade: Regies no espao de entrada com maior densidade de pontos so
mapeadas para regies maiores no espao de sada.
Os clculos mais comuns dos erros em SOM so:
n

Erro de Quantizao: EQ = 1 xk w*
n k =1

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

64

Metaheursticas e Aplicaes

Erro Mdio Quadrtico: EMQ = 1 xk w*

n k =1

1, se i** Vi*
0, caso contrrio

Erro Topolgico: ET = 1 uk , onde uk =


n

n k =1

Visualizao de agrupamentos
Existem duas formas de visualizao de resultados de agrupamentos das RNA do tipo SOM:
Mapa de densidade
grupo 1

U-Matriz (RGB)
grupo 1

grupo 5

grupo 5

grupo 2

grupo 2

grupo 6

grupo 6

grupo 7

grupo 7
grupo 3

grupo 3

grupo 8

grupo 8

grupo 4

grupo 4

grupo 9

grupo 9

Exerccios:
1. Considere o conjunto de cidades A, B, C, D, E e F, e o conjunto de pesos iniciais dos neurnios
1, 2, 3, 4, 5 e 6. Use 2 iteraes de uma rede tipo SOM para aproximar uma soluo do PCV
(problema do Caixeiro Viajante) usando as coordenadas abaixo:
x1
x2
w1
w2
1
2
3
4
5
6

1
0,5
0
0
0,5
1

A
B
C
D
E
F

1
1
1
0
0
0

0,1
0,2
0,7
0,8
0,9
0,4

0,1
0,8
0,7
0
0,8
0,9

3
F

0,8

E
C

0,6
0,4
0,2
A
4

0
0

5
0,2

0,4

D
0,6

0,8

6
1

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

65

Metaheursticas e Aplicaes

2. Considere o mapa de Kohonen bidimensional dado abaixo, com a matriz de pesos W.


0
0
0,5
0,8 0,7 0,1 0,2 0,9

W = 0,6 0,7 0,5 0,7 0,7 0,6 0,5 0,1


0 1 0,7 0,5 0,7 0,1 0,2 0,9

2.1. Utilizando a distncia Euclidiana como mtrica, encontre o neurnio vencedor para o
padro de entrada (0,7 0,4 0,1);
1 2 3 4
2.2. Utilize a taxa de aprendizagem 0,2, raio de vizinhana 1, e a funo
gaussiana de vizinhana para encontrar os novos pesos para os
5 6 7 8
neurnios da rede;
2.3. Faa o mesmo para o padro de entrada (0,1 -0,4 0,9).

Alguns exemplos de aplicaes da SOM para o problema do Caixeiro Viajante:

Problema rd100 TSPLib


An Efficient Approach to the Travelling Salesman
Problem Using Self-Organizing Maps
[Vieira, Dria Neto, Costa, 2003]

bier127

rd100 solues parciais: (a) inicial; (b) aps 1 iterao;


(c) Aps 8 iteraes; (d) aps 16 iteraes

pcb442

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

66

Metaheursticas e Aplicaes

Os padres de entrada so as coordenadas das cidades.


Os pesos so aleatrios no incio, que se aproximam aos valores das coordenadas das cidades.
O nmero de neurnios deve ser maior do que o nmero de cidades.

Aplicao de uma SOM para calcular custos para designao: problema do Ensalamento
Os clculos dos custos para executar a designao podem ser feitos atravs da classificao
das salas e das disciplinas com Redes de Kohonen.

salas
disciplinas

A partir de um arquivo com modelos de sala


de aula, a Rede de Kohonen classifica tais modelos e
cria uma matriz de pesos com as caractersticas
selecionadas: capacidade, tipo de carteira e bloco.
Nmero de modelos para o treinamento: 72
Matriz de caractersticas:
tipo de carteira:
0,1 (tipoc = Q);
1 (tipoc = D)
capacidade: capac = capac / capacmax

Alunos cart
90
Q
70
D
40
D
50
Q
60
Q
70
Q
90
D
60
D
70
D
40
D
70
Q
50
Q
60
Q

Bloco nBloco class


PH
Q
90
PH
Q
213
PH
Q
217
PH
Q
45
PH
Q
60
PH
Q
75
PH
Q
211
PH
Q
215
PG
Q
213
PG
Q
216
PG
Q
74
PG
Q
30
PG
Q

A terceira coordenada dos padres de entrada foi


determinada de acordo com a localizao de cada bloco.
(0,12)
(0,63)
(0,88)
PA
PE
PG

PC
(0)

CT
(0,2)

PD
(0,5)

PF
(0,75)

PH
(1)

Dados utilizados para o Estudo de Caso: disciplinas


de Graduao e Ps-Graduao dos Setores de Cincias
Exatas, de Cincias da Terra e de Tecnologia da UFPR
(650), e 46 salas de aula.
Os padres de entrada para o treinamento da rede
representam 2/3 do nmero total de disciplinas, ou seja,
433 padres.
Seguem abaixo as U-Matrizes de algumas simulaes para este problema:

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

erro
0,0086129745
0,0031832433
0,0030573665
0,002961881
0,0029451081
0,0029362412
0,0023920017
0,002052875
0,0019005249
0,0018594109
0,0017608452
0,0017114819

67

Metaheursticas e Aplicaes

196 neurnios
60
Q PD/PE
R(0.5)G(0.1)B(0.6)

100
Q PG/PH
R(0.85)G(0.1)B(1.0)

40
Q PC/PA
R(0.30)G(0.1)B(0.1)

80
Q PC/PA
R(0.7)G(0.1)B(0.1)

40
Q CT/PD
R(0.30)G(0.1)B(0.45)

70
D PC/PA
R(0.60)G(1.0)B(0.15)

50
Q PE/PF
R(0.40)G(0.2)B(0.70)

60
D CT/PD
R(0.50)G(1.0)B(0.45)

50
Q PF/PG
R(0.40)G(0.1)B(0.80)

70
D PF/PG
R(0.60)G(1.0)B(0.85)
50
D PG/PH
R(0.40)G(1.0)B(0.95)
50
D CT/PD
R(0.40)G(1.0)B(0.25)

70 Q PG/PH
R(0.55)G(0.1)B(0.95)

50
D PF/PG
R(0.40)G(1.0)B(0.85)

100 neurnios

400 neurnios

144 neurnios

225 neurnios

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

68

Metaheursticas e Aplicaes

Mapa de densidade
grupo 1

U-Matriz (RGB)
grupo 1

grupo 5

grupo 2

grupo 2

grupo 5
Salas: grandes
cart:
cart: qualquer
bloco: PA/PC
grupo 6

grupo 6

grupo 7

grupo 7
grupo 3

grupo 3

grupo 8

grupo 8

grupo 4

grupo 4

grupo 9

grupo 9

Erro de quantiza
quantizao

Erro Topolgico

0,3

18%

0,275

15%

0,25
0,225

13%

0,2

Mdia

10%

0,15

Treinam.

0,125

Turmas
8%

Erro topolgico

Erro de quantizao

0,175

0,1
0,075
0,05
0,025
0
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Dimenso do mapa

Treinam.
Turmas
Salas

Salas

5%
3%
0%
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Dimenso do mapa

Erro mdio quadrtico


0,3
0,275
0,25
0,225
0,2

Erro de quantizao

0,175
0,15

Treinam.

0,125

Turmas

0,1

Salas

0,075
0,05
0,025
0
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Dimenso do mapa

2.11. LEARNING VECTOR QUANTIZATION (LVQ)


A rede do tipo Learning Vector Quantization utiliza informaes de classes para ajustar os
limites das regies de classificao.
Se a regra competitiva produz a sada certa, no h alterao; se a sada estiver errada, os
pesos dos neurnios devem ser repelidos do agrupamento atual, pela regra:
( x j wi*j ) , para classe correta
wi*j =
( x j wi*j ) , para classe incorreta

A arquitetura idntica ao SOM, com exceo da representao topolgica dos mapas. um


tipo de RNA supervisionada.

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

69

Metaheursticas e Aplicaes

Exerccios:
1. Utilize os vetores iniciais w para classificar os vetores x em 2 classes:
w1 = (1, 1, 0, 0) classe1
w2 = (0, 0, 1, 1) classe 2
w3 = (0, 0, 1, 0) classe 2
x1 = (0, 0, 1, 1) classe 2
x2 = (1, 0, 0, 0) classe 1
x3 = (0, 1, 1, 0) classe 2
x4 = (1, 1, 1, 0) classe 1
Use a taxa de aprendizagem inicial (0) = 0,1

2. Considere o LVQ com as 4 classes mapeadas


x2
abaixo, onde a posio de uma classe depende
1
dos valores de x1 e x2.
Utilize a distncia Euclidiana como mtrica e a
0,8
posio de cada classe no mapa ao lado para
0,6
determinar novas classes e atualizar as
0,4
existentes.
2.1. Apresente o vetor (0,25 0,25) com classe C1. 0,2
2.2. Atualize o LVQ com taxa de aprendizagem
0
=0.5, e determine as mudanas no mapa
0
(pesos);
2.3. Faa o mesmo com os vetores:
(0,4 0,35) e (0,4 0,45), ambos pertencentes classe C1;
(0,6 0,65) e (0,75 0,8), ambos pertencentes classe C4.

C3

C4

C1

C2

C1

C2

C3

C4

C3

C4

C1

C2

C1

C2

C3

C4

0,2 0,4 0,6 0,8

x1

2.12. REDES NEURAIS TEMPORAIS


As simulaes de Sries Temporais atravs das Redes Neurais Artificiais envolvem os
seguintes elementos: Perodos de amostragem, Conjuntos de teste e treinamento, Validao da rede
e Metodologias de aprendizado.
11
10
9
8
7
6
5
4
3
2
1
nov/08

set/08

out/08

jul/08

ago/08

jun/08

abr/08

mai/08

mar/08

jan/08

fev/08

dez/07

nov/07

set/07

out/07

jul/07

ago/07

jun/07

abr/07

mai/07

mar/07

jan/07

fev/07

dez/06

nov/06

set/06

out/06

jul/06

ago/06

jun/06

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

70

Metaheursticas e Aplicaes

A maior dificuldade determinar o nmero ideal de informaes para um bom aprendizado


da rede, onde informaes redundantes dificultam a aprendizagem e, por outro lado, poucas
informaes garantem aprendizagem fraca.
As principais Redes Neurais para resolver problemas de Sries Temporais so:
MLP (Perceptron com mltiplas camadas)
Redes estticas (Adaline, Hebb)
Redes RBF
Redes dinmicas
Redes recorrentes
Redes competitivas
Uma alternativa inicial a aproximao por memria finita atravs de mapas, onde
encontram-se classes de mapas que aproximam as sries com estruturas simples e no-lineares,
geralmente com funes sigmoidais e gaussianas.
As aproximaes de RNA para Sries Temporais envolvem 2 estgios:
Pr-processamento com implementao de memria nas estruturas;
Aprendizagem com exemplos.
Podem ser construdas redes com filtros de memria conectados aos neurnios com
aprendizagem com retropropagao do erro.
Como inserir a varivel tempo na estrutura operacional de uma rede neural artificial?
Representao implcita: sinal colocado na estrutura da RNA (na entrada, por
exemplo);
Representao explcita: tempo colocado como vetor na estrutura.
As redes estticas podem resolver problemas de sries temporais. Uma rede considerada
dinmica quando possui memria.
Para variveis temporais, a RNA deve possuir memria de curto prazo para funcionar
adequadamente, onde esta memria pode ser considerada como atrasos de tempo colocados na
entrada da rede.
Alguns efeitos que as RNAs acompanham com dados de uma srie temporal so:

Sem efeitos tendenciosos

Efeito tendencioso aditivo

Efeito tendencioso multiplicativo

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

71

Metaheursticas e Aplicaes

Problemas que no envolvem o tempo (tais como classificao de padres) so chamados


estticos. O tempo estabelece uma ordem nos dados de entrada. O tempo e as variveis fsicas so
contnuas, compondo os sinais analgicos.
A cada T segundos, chamado perodo de amostragem, o sinal analgico x(t) medido,
produzindo um sinal x(tp), chamado sequncia ou srie temporal.
x(t p ) = x(t 1 ), x(t 2 ), x(t 3 ), , x(t p ) .

x(t)

x(tp)

Conversor
de sinais

x(t1)

Amostra do perodo t

Vetor com atraso:


p-1
x(n-p-1)

x(n)=x

x(n)

x(n-1)

x(n)

z-1

x(n-1)

Um elemento de atraso ideal, denotado por z-1, atrasa o sinal em uma amostra. Uma linha de
atraso um sistema de uma entrada e vrias sadas, composto pela ligao em cascata de vrios
operadores de atraso.
x(n)

p-1

x(n)
z-1
z-1

x(n-p-1)

x(n)=x

x(n-1)

x0
x1

x(n-1)

z-1
x(n-p+1)
Representao do sinal temporal

x(n)

x(p-1)
Padro esttico

O espao cujos eixos so os sinais dos terminais da linha de atraso chamado espao de
sinais ou de reconstruo.
A cada instante de tempo, o vetor do sinal muda sua posio, criando uma trajetria do sinal.

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

72

Metaheursticas e Aplicaes

z
entrada

x(n)

x(n-p-1)

x(n)

x(n-1)

x(n-1) x(n-2)

z-1
z-1
z-1

x(n-1) x(n-2) x(n-3)


x(n-2)

x(n-2) x(n-3) x(n-4)


x(n-3) x(n-4) x(n-5)

x(n-3)

Janela de tempo
A construo de uma janela de tempo
essencial para a soluo de um problema de
Sries Temporais com RNA:
x(t1)

O tamanho do espao de reconstruo


determina o comprimento n de uma janela de
tempo que desliza sobre a srie temporal
completa.

x(tp)

t
entrada

Este comprimento corresponde ao


tamanho da linha de atraso e estabelece a
dimensionalidade do espao de reconstruo.

x(n) x(n-1) x(n-2)


z-1
x(n-1) x(n-2) x(n-3)
x(n)
x(n-1)

x(n-3)
x(n-2)

Algumas arquiteturas que podem ser usadas em Sries Temporais so:


MLP com janela de tempo e 1 sada:

xk
xk-1

yk

xk-2

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

73

Metaheursticas e Aplicaes

MLP com janela de tempo e k sadas:


Camada de
sada

Camada
escondida

Camada de
entrada
x1(t) x2(t) ... xn(t) x1(t-1) x2(t-1)...xn(t-1) x1(t-p) x2(t-p)... xn(t-p)

Janela de tempo

Rede Neural com atraso de tempo:


Camada de sada
Camada escondida 2

Camada escondida 1

xn(t)
x2(t)

Camada de entrada

x1(t)
t-p-1 t-p ... t-1 t

Janela de tempo

A camada 2 recebe uma janela de tempo da camada 1, e a sada recebe


uma janela de tempo da camada 2

O tempo ajuda a remover a ambiguidade dos dados. necessria memria de curto prazo. Se
o problema a ser resolvido possui dinmica, deve-se usar uma topologia com memria

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

74

Metaheursticas e Aplicaes

Outro fator que auxilia uma RNA para Sries Temporais a padronizao dos dados de
entrada:
Procedimento 1: Indicado quando os neurnios utilizam a funo de ativao sigmoidal (logstica)
x j =

xj
xmax

x j [0, 1]

Procedimento 2: Indicado quando os neurnios utilizam a funo de ativao tangente hiperblica.


x x

x j = 2 j min 1 x j [1, + 1]
xmax xmin

Algumas metodologias que podemos usar so as seguintes:


Metodologia 1: Rede Neural com k entradas em janela de tempo, e 1 sada.
entrada [x1(t), x2(t),, xk(t)]
sada yk(t)
Metodologia 2: Rede Neural com p vetores de entrada (com atrasos) e k sadas (Focused Time-Delay
Neural Network).
entrada {[x1(t), x2(t),, xn(t)], [x1(t-1), x2(t-1),, xn(t-1)], , [x1(t-p), x2(t-p),, xn(t-p)]}
sada {y1, y2, , yk}
Metodologia 3: Rede com N vetores de entrada e N sadas.

Segue um exemplo da metodologia 1:


x(t)

__ conjunto de treinamento
__ conjunto de testes

Entradas da rede:
p valores passados (por exemplo, 4 valores)
Sada desejada:
valor da srie k passos frente (por exemplo, 1 passo)

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

75

Metaheursticas e Aplicaes

x(t)

__ conjunto de treinamento
__ conjunto de testes

valor desejado
janela

Ajuste dos pesos:


erro = valor desejado valor previsto

Sada da rede
1 passo frente

x(t)
janela

valor desejado

Ajuste dos pesos:


erro = valor desejado valor previsto

x(t)

janela

valor desejado

ltimo valor do conjunto de treinamento:


Retorna-se ao primeiro valor deste conjunto

Ajuste dos pesos:


erro = valor desejado valor previsto

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

76

Metaheursticas e Aplicaes

x(t)
valor desejado
janela

Ajuste dos pesos:


erro = valor desejado valor previsto

Repete-se o treinamento at que o erro atinja um valor mnimo

x(t)

janela

valor previsto

t
A rede utilizada com os pesos
ajustados da ltima
configurao encontrada na
fase de treinamento
Entrada da rede:
Inclui os valores previstos

x(t)

janela

valor previsto

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

77

Metaheursticas e Aplicaes

Exemplo de funcionamento de uma RNA temporal:

Exerccios:
1. Utilize uma rede MLP com uma camada de entrada de 2 neurnios (k=2) e sada com um
neurnio para a seguinte srie temporal:
x
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8

x1
x2

y
1
0,9
0,6
0,5
0,3
0,2
0,1
0

w1= -1,0

w2= -1,0

=1,0

y* = w
jxj+ j
y = 1/(1+e^(-y*))
wj=
(d-y)xjy(1-y)
wj=wj+ wj
=
(d-y)y(1-y)

y1

x1

w1

x2

y*

w2
1
0,9
0,8
0,7

Esta a aplicao da metodologia 1, com entradas x.

0,6
0,5
0,4

2. Resolva o problema anterior usando entradas t,


e = 0,8.
x1
x2

t
x
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8

x
y
1
0,9
0,6
0,5
0,3
0,2
0,1
0

0,3
0,2
0,1
0
0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

x1
x2
y1

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

78

Metaheursticas e Aplicaes

3. Utilize uma rede MLP com uma camada de entrada de 2 neurnios (k=2), uma camada
escondida com 3 neurnios (sigmoidais) e sada com um neurnio (sigmoidal) para a srie
temporal do exerccio 1. Use entradas x com os seguintes parmetros:
a
1
b
1

-0,150 0,260

v
1
2

1,600

-1,500 -1,300 -1,200


-1,300 -1,500 -1,900

0,450

w
1
2
3

1
1,800
-2,950
-3,700

a
b

x1

zj* = vijxi+
aj
zj = 1/(1+e^(-zj*))
y* = wjzj+
b
y = 1/(1+e^(-y*))
wj= (d-y)zjy(1-y)
wj=wj+
wj
b=
(d-y)y(1-y)
vij=
y(1-y)(d-y)wjzj(1-zj)xi
vij=vij+
vij
aj= y(1-y)(d-y)wjzj(1-zj)

x2

4. Resolva o problema anterior com entradas t e os seguintes parmetros:


a
1
b
1

-1,100 -0,900 -1,050

v
1
2

-4,500 -2,500 -3,250


-2,100 -6,752 -2,725

-1,050

w
1
2
3

1
7,200
5,400
6,700

5. Utilize uma rede MLP com uma camada de entrada de 2 neurnios (k=2), uma camada
escondida com 3 neurnios (tanh) e sada com um neurnio (sigmoidal) para a srie
temporal do exerccio 1. Use entradas x com os seguintes parmetros:
a

1
b

0,300

0,500

1,250

0,900

v
1
2

-1,400 -1,200 -1,000


-1,200 -1,400 -1,800

w
1
2
3

1
1,950
1,700
-2,890

a
b

x1

6. Resolva o problema anterior com entradas t e os


seguintes parmetros:

x2

1
b

0,950

1,150

0,870

0,980

zj* = vijxi+
aj
zj = tanh(zj*)
y* = wjzj+
b
y = 1/(1+e^(-y*))
wj= (d-y)zjy(1-y)
wj=wj+
wj
b=
(d-y)y(1-y)
vij=
y(1-y)(d-y)wj(1-zj^2)xi
vij=vij+
vij
aj= y(1-y)(d-y)wjzj(1-zj^2)

v
1
2

-1,150 -0,950 -1,000


-1,050 -1,200 -1,750

w
1
2
3

1
2,100
1,900
-2,540

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

Metaheursticas e Aplicaes

79

7. Utilize uma rede RBF para a srie temporal dada a seguir, com entradas x e os seguintes
parmetros: = 1; = 1; u = {(0,2 0,3), (0,5 0,6)}; k = 2; = 1; sada com 1 neurnio.
x1
x2

x
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1

y
1
0,9
0,75
0,6
0,55
0,6
0,4
0,3
0,2
0,05

y1

8. Resolva o problema anterior com entradas t e os mesmos parmetros.


9. Utilize uma rede RBF para a srie temporal dada no exerccio 7, com entradas x e os
seguintes parmetros: = 0,5; =1; k=2; = 1; u = {(0,1 0,2), (0,4 0,5)}; sada com 2
neurnios.
x1
x2

x
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1

y
1
0,9
0,75
0,6
0,55
0,6
0,4
0,3
0,2
0,05

y1
y2

10. Resolva o problema anterior com entradas t e os mesmos parmetros.

2.13. REDES NEURAIS RECORRENTES


As RNA so chamadas recorrentes quando possuem uma ou mais conexes de realimentao
as quais proporcionam comportamento dinmico rede.
A realimentao pode ser:
Local se est dada por apenas um neurnio
Global se a realimentao engloba alguma(s) camada(s) completa(s).
A realimentao armazena, indiretamente, os valores prvios apresentados rede,
constituindo uma memria.
Existem dois usos funcionais para as redes recorrentes:
Memria associativa
Mapeamento de entrada-sada
Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

80

Metaheursticas e Aplicaes

So redes que tm maior estabilidade, tambm chamadas de TLFN (time layer focused neural
network). Elas tornam o mecanismo de memria de curto prazo estvel.
A recorrncia torna mais trabalhosos os clculos.
As redes recorrentes mais conhecidas so simples, baseadas em neurnios de contexto,
fceis de treinar (com parmetros de realimentao fixos), com correes de erros usando o
algoritmo backpropagation.
Elas realizam o mapeamento com topologias pequenas e no h recorrncia no caminho
entrada-sada.
A rede neural de Elman (1990) tem cada um dos neurnios da camada oculta com
realimentao para as unidades de contexto. conhecida como Perceptron de mltiplas camadas
recorrentes.
y1

y2

y3

...

ym

w
z2(t) ...

z1(t)

z-1

zp(t)

x2

x3

...

xn

z-1

wb 1

wa
x1

z-1

z1(t-1) z2(t-1)

...

zp(t-1)

O clculo da sada de uma rede neural de Elman feito de maneira similar MLP, com as
seguintes atribuies:
Camada de sada (3):

y (3) (t ) = wz ( 2) (t ) + (3)
y1

y2

y3

...

ym

w
Camada escondida (2):

z2(t) ... zp(t)

z1(t)

z-1

z *( 2 ) (t ) = wa x (1) (t ) + wb z (1) (t 1) + ( 2 )

z-1

wb 1

wa
x1

z-1

x2

x3

...

xn

z1(t-1) z2(t-1)

...

zp(t-1)

Camada de contexto (1):


z (t ) = z ( 2 ) (t 1) = z *( 2 ) (t 1)
(1)

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

81

Metaheursticas e Aplicaes

A rede neural de Jordan (1986) considera somente realimentao dos valores de ativao
de sada para as unidades de contexto.

y1

y2

...

y3

ym

w
z1(t)

wb

x2

z-1

z-1

zp(t)

wa
x1

z-1

z-1

z2(t) ...

...

x3

xn

y1(t-1) y2(t-1)

y3(t-1) ... ym(t-1)

O clculo da sada de uma rede neural de Jordan feito de maneira similar rede de Elman,
com as seguintes atribuies:

Camada de sada (3):

y ( 3) (t ) = wz ( 2 ) (t ) + ( 3)

y1

y2

y3

...

ym

w
Camada escondida (2):

z*

(2)

(t ) = wa x (t ) +
(1)

+ wb y (1) (t 1) + ( 2 )

wb

wa
x1

x2

x3

...

z-1

z-1

z2(t) ... zp(t)

z1(t)

xn

z-1

z-1

y1(t-1) y2(t-1)

y3(t-1) ... ym(t-1)

Camada de contexto (1):


y (1) (t ) = y (3) (t 1)
A rede neural de Williams-Zipser (1988) tem a(s) camada(s) oculta(s) com unidades de
contexto e um lao de realimentao da sada da rede para as unidades escondidas.

y1

y2

y3

...

ym

w
z-1

z-1

1
wb

z-1

z2(t) ... zp(t)

z1(t)

z-1

z-1

wd

z-1

z-1

wa
z1(t-1) z2(t-1) ... zp(t-1)

x1

x2

x3

...

xn

y1(t-1) y2(t-1)

y3(t-1) ... ym(t-1)

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

82

Metaheursticas e Aplicaes

O clculo da sada de uma rede neural de Williams-Zipses feito de maneira similar s redes
de Elman e de Jordan, com as seguintes atribuies:

Camada de sada (3):

y (3) (t ) = wz ( 2 ) (t ) + ( 3)

Camada escondida (2):

z *( 2) (t ) = wa x (1) (t ) +

y1

y2

y3

...

ym

+ wb z (t 1) + wd y (t 1) +
(1)

(1)

+ ( 2)
z-1

z-1

wb

z-1

z1(t)

z-1

z-1

z2(t) ... zp(t)

wd

z-1

z-1

wa
z1(t-1) z2(t-1) ... zp(t-1)

x1

x2

x3

...

xn

y1(t-1) y2(t-1)

y3(t-1) ... ym(t-1)

2 camada de contexto (1):


y (1) (t ) = y (3) (t 1)

1 camada de contexto (1):


y (1) (t ) = y (3) (t 1)

Uma aplicao interessante das Redes recorrentes a soluo de problemas de Sries


Temporais, por suas caractersticas dinmicas.

Exerccios:
1. Utilize as redes recorrentes de Elman e Jordan para resolver os problemas de classificao
OU exclusivo e E. Use arquitetura de entrada com 2 neurnios x, 2 neurnios na camada
escondida z(t) e 2 neurnios de contexto z(t-1).
Arquitetura Elman

Arquitetura - Jordan

b
z1(t)

z2(t)
z-1

z-1

z1(t)

z2(t)

z-1

x1

x2

y(t-1)

a
x1

x2

z1(t-1)

z2(t-1)

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

83

Metaheursticas e Aplicaes

2. Utilize uma Rede de Elman para resolver o problema de sries temporais dado abaixo com
entradas x. Considere os seguintes parmetros: =1, 1 camada escondida, com 2 neurnios,
aprendizagem backpropagation, pesos iniciais:
a

1
b

-1,00

1,00

1,00

1
x1
1
2
3
4
5

x2
2
3
4
5
6

wa
1
2

1,00

-1,00

-1,00

1,00

d
0,6
0,5
0,3
0,2
0,1

wb
1
2

-1,00

1,00

1,00

-1,00

x1

y2(t-1)= 1

1
-1,00
1,00

x2

y1(t-1)= 1

wa

yj

w
1
2

wb

yj* = iwaijxi+
wbkjyk(t-1)+
aj
yj = 1/(1+e^(-yj*))
y* = wjyj+
b
y = 1/(1+e^(-y*))
wj=
(d-y)yjy(1-y)
wj=wj+
wj
b=
(d-y)y(1-y)
waij=
y(1-y)(d-y)wjyj(1-yj)xi
waij=waij+
waij
a=
y(1-y)(d-y)wjyj(1-yj)
wbkj=
y(1-y)(d-y)wjyk(1-yk)yj(t-1)
wbij=wbij+
wbij

3. Resolva o problema 2 com entradas t e os mesmos parmetros de entrada.


4. Resolva o problema 2 com uma rede de Jordan com entradas x.
5. Resolva o problema 2 com uma rede de Williams-Zipses com entradas x.

Alm das RNA recorrentes, uma rede hbrida tambm pode resolver o problema de sries
temporais.
Uma das RNAs a Rede de Kohonen, com MLPs conectadas a cada agrupamento feito pelo
mapa de Kohonen [Le Coadou & Benabdeslem, 2006]. Outra configurao possvel de uma rede de
Kohonen dupla.
Os seguintes passos so feitos para a rede hbrida SOM+MLP:
Classificar todos os vetores de entrada
(xt , xt-1 ,..., xt-N-1)
Criar um mapa com prottipos similares aos vetores apresentados para a rede:

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

84

Metaheursticas e Aplicaes

Associar a cada agrupamento (representado pelo centride Gk) uma rede do tipo
MLP. Os vetores do agrupamento so considerados como entrada para a MLP.
A previso de cada entrada apresentada rede o resultado do processamento de
cada MLP.

x(t)
x(t-1)
...
x(t-p)

x(t+1)

Resultados:

Global MLP

SOM + MLP

8 neurnios na camada escondida


Mse: 0,00504

mapa 10x12, 40 agrupamentos


40 MLPs
Mse: 0,003

REFERNCIAS
DORIGO, M.; GARAMBARDELLA, L.M., Ant Colonies for the Traveling Salesman Problem. Biosystems,
vol 43, n. 2, p. 73-81, 1997
FAUSETT, L. Fundamentals of Neural Networks. Prentice Hall, 1994
HAYKIN, S. Neural Networks A Compreensive Foundation. Macmillan College Publishing, 1994
KOHONEN, T. Self-Organizing Maps. Springer, 1995
SILVA, I.N.; SPATTI, D.H.; FLAUZINO, R.A. Redes Neurais Artificiais para engenharia e cincias
aplicadas. Artliber, 2010
TAFNER, M.A.; XEREZ, M.; RODRGUEZ FILHO, I.W. Redes Neurais Artificiais: introduo e princpios
da neurocomputao. FURB, 1996
http://www.swarmintelligence.org/tutorials.php

Universidade Federal do Paran Departamento de Expresso Grfica Prof. Paulo Henrique Siqueira

Potrebbero piacerti anche