Você está na página 1de 18

Algoritmos Genticos e Redes Neurais

Prof. Pasteur Ottoni de Miranda Junior DCC PUC MG


Disponvel em www.pasteurjr.blogspot.com

1-Algoritmos genticos
Os algoritmos genticos (AG) so uma famlia de algoritmos computacionais inspirados
na teoria da evoluo, que incorporam conceitos semelhantes aos de cromossomo,
seleo, reproduo e mutao para resolver, principalmente, problemas de otimizao.
O conjunto de estados possveis de um problema denominado populao. Cada estado
constitui

um indivduo e codificado como um cromossomo. Usualmente, os

cromossomos so representados por vetores binrios cujos elementos indicam a


presena (1) ou ausncia (0) de uma caracterstica. Entretanto, representaes por meio
de vetores inteiros, reais ou de caracteres, tambm so possveis. A combinao dessas
caractersticas determina o aspecto (fentipo) final do indivduo.
Os indivduos se reproduzem, gerando novas populaes. Nessas populaes os
indivduos so selecionados de forma que os mais aptos tm mais chance de se
reproduzir, transmitindo sua herana gentica s populaes seguintes.. Para quantificar
essa aptido, uma funo de avaliao utilizada, de forma que

retorne valores

maiores para os melhores indivduos. Essa funo depende do problema abordado. No


processo de reproduo, tal como no mundo real, aplicam-se aos cromossomos
operaes de crossing-over e mutao, que vo gerar os novos indivduos.

Seleo
A seleo feita de forma a privilegiarem-se indivduos mais aptos (maiores valores da
funo de avaliao). Um dos mtodos mais populares o denominado mtodo da
roleta, em que cada cromossomo, em uma roleta, possui uma rea proporcional a sua
aptido. O ponteiro da roleta impulsionado e a rea apontada pelo mesmo ao parar,
corresponde a um indivduo selecionado. Assim, a rea ai de um indivduo i que possui
uma determinada notai proporcional a sua aptido dada por:

ai =

nota i
N

nota

j =1

Onde N o nmero de indivduos a selecionar (nmero de vezes em que o ponteiro


impulsionado).
Contudo, se estas reas forem muito prximas, pode no haver favorecimento dos mais
aptos. (Pdua, 2000), sugere que a fatia seja determinada pela posio que o
cromossomo ocupa no

ranking de todas os notas. A fatia correspondente a cada

cromossomo definida pela escolha de um valor entre 0,0 e 1,0. Cada indivduo, em
ordem crescente do ranking, ocupa, da rea total da roleta ainda no ocupada, uma fatia
proporcional ao valor escolhido. O indivduo de menor ranking ocupar a rea que
restou na roleta.
De forma a preservarem-se os melhores indivduos, pode-se pass-los, sem cruzamento
e alterao, para a gerao seguinte. Este procedimento, denominado elitismo, melhora
o desempenho do algoritmo, pois evita que tais indivduos sejam destrudos no
cruzamento ou na ocorrncia de mutao. A % dos indivduos restantes que se cruzam
denominada taxa de cruzamento.

Em geral essa elite constituda por

aproximadamente 2% da populao. O restante da populao efetua o cruzamento.


Entretanto,

em determinadas situaes, o elitismo pode gerar populaes muito

homogneas, com bons indivduos, mas com chances menores de produzir indivduos
ainda melhores.

Reproduo
O processo de reproduo combina cromossomos entre si, de forma a produzir
indivduos diferentes na prxima gerao, para consequentemente aumentar a
possibilidade de aparecimento de melhores variaes. Esse processo ocorre por meio
de dois operadores sucessivos:

Cruzamento. o denominado crossing-over, em que dois cromossomos


fornecem aos filhos partes extradas a partir de pontos de corte escolhidos
aleatoriamente. Pode haver um nico, ou mltiplos cortes. Uma outra forma de
crossing-over utiliza uma mscara (vetor) de bits, com o mesmo tamanho dos
cromossomos, para determinar que genes sero herdados do pai e da me.
2

Nessa mscara, se o -simo elemento for 1, o -simo gene do filho 1 ser igual
ao do pai, se for 0, ser igual ao da me. O inverso ocorre no filho 2. A Figura
34 exibe esquematicamente esses processos.

Crossing-over convencional
1

Crossing-over uniforme
Mscara

Pais

Filhos

Mutao
0

Figura 34-Operaes de crossing-over e mutao (Inspirado em (Pdua, 2000))


Mutao. Consiste em uma mudana aleatria na cadeia de genes dos filhos,

que ocorre aps a operao de crossing-over.

a responsvel pela

variabilidade gentica na populao e ocorre em uma freqncia determinada


pela taxa de mutao. A Figura X10 exibe o funcionamento desse operador.

O algoritmo gentico
Criar um conjunto Inicial de cromossomos;
Repetir
Utilizar uma funo de avaliao para atribuir uma nota a cada cromossomo;
3

Selecionar os cromossomos mais aptos;


Se for realizar elitismo
De acordo com a taxa de cruzamento, retirar os mais aptos para passar
diretamente gerao seguinte;
Sobre os cromossomos restantes:
Aplicar crossing-over;
Aplicar mutao considerando-se a taxa de mutao;
Seno
Sobre os cromossomos mais aptos:
Aplicar crossing-over;
Aplicar mutao considerando-se a taxa de mutao;
At que sejam obtidos cromossomos adequados, ou um certo nmero de mutaes.

Desempenho do algoritmo
A escolha de parmetros do algoritmo pode influenciar no desempenho e no
comportamento do mesmo e devem ser determinados, geralmente por tentativa e erro,
em funo das caractersticas e peculiaridades do problema em questo. Segundo (Jong,
1980) e (Pdua, 2000) os parmetros mais importantes a serem considerados so os
seguintes:

Tamanho da populao: Pequenas populaes comprometem o desempenho do


algoritmo por representarem um espao de busca pequeno. Grandes populaes
diminuem a chance de ocorrncia de mnimos locais, mas devem ser usadas com
parcimnia, por demandarem muito esforo computacional.

Taxa de cruzamento: Um valor maior acarreta maior variabilidade gentica.


Entretanto, se for muito alta, aumenta-se a chance de eliminao de bons
indivduos. Se for muito baixa, a populao tende a estagnar, diminuindo-se a
chance de produo de bons indivduos.

Taxa de mutao: Uma baixa taxa de mutao previne estagnaes de


determinadas posies. Quando muito alta, introduz-se uma aleatoriedade
excessiva no processo de busca.

Intervalo de gerao: Controla a porcentagem da populao a ser substituda na


prxima gerao. Um valor alto aumenta a chance de perda de bons indivduos.
Um valor muito baixo torna o algoritmo lento, pois pode ser necessrio um
grande nmero de geraes at convergir.

2.Redes Neurais Artificiais

2.1-Definio
Segundo (Pdua, 2000), Redes Neurais Artificiais (RNAs) so

sistemas paralelos

distribudos, constitudos por unidades (ns) de processamento simples que modelam


um neurnio biolgico, o neurnio artificial, capazes de aplicar funes matemticas
simples a dados recebidos em sua entrada. Este modelo denominado MCP, por ter
sido proposto por McCulloch e Pitts, em 1943.
A Figura 26 exibe um esquema do neurnio MCP. Ele constitudo por um vetor x de
entradas x1, x2, ..., xn (que representam os dendritos de um neurnio biolgico) e de uma
sada y (que representa o axnio de um neurnio biolgico). As sinapses de um
neurnio biolgico so representadas por um vetor w de pesos w1, w2, ..., wn, acopladas
s entradas do neurnio. A sada y de um neurnio MCP ativada atravs da aplicao
de uma funo de ativao f, que recebe usualmente como parmetro uma combinao
linear in dos sinais de entrada xi , da seguinte maneira:
n

in = wi xi (1)
i =1

A sada y obtida ento por


y=f(in) (2)

x1
w1
x2
w2
y
x3

w3

wn

xn

Figura 26-Esquema de um neurnio artificial


Podem ser utilizadas diferentes funes de ativao, mas as mais comuns so as
seguintes:

1 wi xi
A funo degrau,
onde o limiar a partir do qual o

0 wi xi <
neurnio dispara.
1
A funo sigmide f ( x) =
1 + e x
Ao utilizar-se a funo degrau, a condio de disparo de um nodo MCP
n

w x

i i

i =1

Para efeito de simplificao pode-se fazer


n

w x

i i

= 0

i =1

Isto equivale a adicionar s entradas da rede

uma entrada com valor fixo xi = 1 com

um peso de valor -. Assim tem-se


w={ -, w1, w2, ..., wn }
x={ 1, x1, x2, ..., xn }
6

w x

i i

=0

i =1

Segundo (Pdua, 2000), a funo degrau restringe o uso do neurnio MCP soluo de
problemas ditos linearmente separveis, ou seja, aqueles cuja soluo obtida pela
separao do espao em duas regies por meio de uma reta (se houver apenas duas
entradas) ou um hiperplano (para n entradas). Se considerarmos apenas duas entradas x1
e x2 com pesos w1 e w2 e limiar , a condio de disparo do neurnio w1 x1 + w2 x2 =

, que pode ser descrita no formato de uma equao de reta x2 =-(w1/ w2 ) x1+( / w2 ).
A Figura 27 abaixo exibe a soluo para os problemas das portas lgicas E e OU, com
as respectivas retas-soluo. Conforme pode ser visto, tais retas dividem o plano em
duas regies, evidenciando o carter linearmente separvel dos problemas. Entretanto, a
Figura 28 mostra que o problema do OU-exclusivo (XOU) no linearmente separvel,
no havendo portanto, soluo para a equao acima nessas condies.

x2

(0,1)

(0,0)

x2

(1,1)

(1,0)

(0,1)

x1

(0,0)

(1,1)

x2=-x1+1,5

(1,0)
x2=-x1+0,5

E lgico

OU lgico

x1

Figura 27 E e OU lgicos so linearmente separveis-Fonte: (Russel, 2004)

x2

(0,1)

(0,0)

(1,1)

(1,0)

x1

Figura 28-OU-exclusivo no permite a colocao de uma reta separando regies de 1


e 0- Fonte: (Russel, 2004)
RNAs so muito utilizadas para classificao de um conjunto de dados fornecidos em
sua entrada. O chamado treinamento, realizado por meio de algoritmos de aprendizado,
permite ajustar os pesos das conexes, de forma que os dados de entrada sejam
classificados discretamente na sada . Os algoritmos para aprendizado de redes neurais
so classificados em dois tipos:
-Algoritmos para treinamento supervisionado: o treinamento feito por meio de
conjuntos de treinamento, ou seja, exemplos de entradas/sadas fornecidos rede, que
ajusta seus pesos com base neles;
-Algoritmos de treinamento no-supervisionado: tais algoritmos no demandam
conjuntos de treinamento para aprendizado.

2.2- O Perceptron
Segundo (Pdua,2000) o trabalho de McCulloch e Pitts focou-se no modelamento
matemtico do neurnio biolgico. Somente com o trabalho de Frank Rosemblatt, em
1958, o conceito de aprendizado de redes neurais foi introduzido. Rosemblatt props o
denominado modelo perceptron, uma estrutura de rede contendo ns MCP e com um
algoritmo de aprendizado.
O perceptron composto por unidades de entrada (sensores, receptores de dados),
unidades de associao (ns MCP com pesos fixos pr-determinados) e unidades de
resposta (uma nica camada de ns MCP a serem devidamente treinados).

(Pdua, 2000) demonstra que

algoritmos de treinamento de

perceptrons sempre

convergem em tempo finito, para problemas linearmente separveis. O algoritmo de


treinamento para um nodo de um perceptron simples descrito a seguir (Pdua, 2000).

O algoritmo de treinamento do perceptron


Algoritmos de treinamento supervisionado de RNAs normalmente se focam no ajuste de
valores de w que permitam a classificao proposta no conjunto de treinamento
constitudo por pares de vetores entrada-sada (xi, yi). Em cada iterao t do algoritmo
obtm-se um incremento w, adicionado ao vetor w obtido na interao anterior:
w(t+1)=w(t)+ w. Este w pode ser obtido de forma a se reduzir o chamado erro
quadrtico mdio E =

1
( Err ) 2 , onde Err= yd - ya , yd a sada desejada e
2

y a = f ( w i x i ) , a sada atual do perceptron.


i=1

Para reduzir o erro quadrtico mdio, utiliza-se o declnio de gradiante de E, que


consiste em se calcular a derivada parcial de E em relao a cada peso. Assim tem-se
(Russel, 2004):

E
E Err
=
wi Err wi
E
Err
= Err
wi
wi
n
E

= Err
( y d f ( wi xi ))
wi
wi
i =1

Finalmente:

E
= Err
wi

f ' ( wi xi ) xi
i =1

Entretanto, a regra de declnio de gradiente determina que o ajuste w deva ser feito na
direo contrria de

w =

E
wi

ou seja , w

E
,podendo ser escrito como
wi

E
, onde a constante de proporcionalidade
wi

aprendizado,

denominada taxa de

determinante da rapidez com que os pesos so atualizados. Assim,

obtemos finalmente a expresso de atualizao de pesos:


n

w(t+1)=w(t)+

Err

f ' ( wi xi ) xi
i =1

Se f for a funo degrau, o termo f ' ( wi xi ) pode ser omitido, pois o mesmo para
i =1

todos os pesos e sua omisso somente altera a magnitude, e no a orientao da


atualizao global de pesos para cada exemplo (Russel, 2004).
O algoritmo de treinamento pode ser assim formalizado (inspirado em (Pdua, 2000)):
1-Iniciar o vetor de pesos w com valores entre -1 e +1 e a taxa de aprendizado ;
2-Repetir
2.1-Para cada par entrada-sada desejada (xi, yi) de um conjunto de treinamento
com p elementos T={ (x1, y1), (x2, y2)... (xp, yp) } faa:
2.1.1-Atualizar o vetor de pesos para cada um dos nodos da rede da seguinte
forma:
n

y a = f ( w i xi ) ;
i=1

Err= yd - ya ;
n

w(t+1)=w(t)+

Err

f ' ( wi xi ) xi ;
i =1

At que Err=0 (ou algum outro critrio de parada), para todos os p elementos do
conjunto de treinamento e todos os nodos da rede.

2.3- Redes Multicamadas (MLP- Multi Layer Perceptron)

Conforme visto anteriormente, perceptrons de uma nica camada somente resolvem


problemas linearmente separveis. (Pdua, 2000) afirma que a soluo de problemas
10

no linearmente separveis somente obtida com o uso de redes com uma ou mais
camadas intermedirias ou escondidas. (Cybenko, 1988, 1989) demonstra que uma rede
com uma nica camada escondida pode implementar qualquer funo contnua e que
duas camadas escondidas permitem a aproximao de qualquer funo. As redes do
tipo perceptron multicamadas ou MLP (multilayer perceptron) caracterizam-se por
apresentar a seguinte disposio de camadas (Figura 29):

Camada de Entrada: onde os padres de entrada so apresentados rede;

Camadas Intermedirias ou Escondidas: segundo (Russel, 2004), responsvel


pelo aumento do espao de hipteses que a rede capaz de representar.
Essencialmente so detectores de caractersticas (Pdua, 2000);
Camada de Sada: onde o resultado do processamento apresentado.

Em uma rede MLP, o processamento realizado por cada nodo definido pela
combinao linear dos processamentos realizados pelos nodos da camada anterior que
esto conectados a ele (Pdua, 2000).

y1

y2

y3

1
w11

...

2
w11

x1

...

n
x3

wji

xj
wnp

w2p

3
x2

wpm

w2m

w12

yi

w12

ym

wkj

xk
xn

Figura 29- As vrias camadas de uma rede MLP

11

Determinao da topologia de redes MLP


Na camada de entrada recomenda-se que o nmero de nodos MCP seja igual ao nmero
de variveis que produzem as sadas da rede MLP. Para determinar o nmero de
neurnios na camada de sada, deve-se considerar o uso pretendido da rede. Se este for,
por exemplo, classificar itens em grupos, recomendvel que haja um nodo MCP para
cada grupo. Para modelagem de funes matemticas, um neurnio suficiente. J para
filtragem de rudos, o ideal que o nmero de neurnios na camada de sada seja igual
ao da camada de entrada.
Sabemos que uma camada intermediria suficiente para modelar qualquer funo
contnua e que duas camadas intermedirias modelam qualquer funo. Entretanto,
observa-se que problemas que requeiram duas camadas intermedirias so raros e que
simplesmente no existe qualquer razo terica para se utilizar mais que duas camadas.
A determinao do nmero de neurnios MCP nas camadas intermedirias uma
importante questo no projeto da arquitetura de uma RNA. Subestimar esse nmero
pode resultar no chamado underfitting: a estrutura insuficiente para manipular as
entradas, dificultando sobremaneira a convergncia dos algoritmos de treinamento. Por
outro lado, um nmero excessivo de neurnios na camada intermediria usualmente
gera overfitting, ou seja, a diminuio da capacidade de generalizao. A determinao
desse nmero depende de vrios fatores, tais como:

Nmero de neurnios de entrada e sada

Nmero de exemplos de treinamento

Quantidade de rudo presente nos exemplos

Funo de avaliao utilizada

Complexidade da classificao ou da funo a ser aprendida

Algumas sugestes para um ponto de partida na determinao do nmero de neurnios


na camada intermediria so as seguintes:

Um nmero intermedirio entre o nmero de neurnios na camada de entrada e


o nmero de neurnios na camada de sada

2/3 do nmero de neurnios na entrada mais o nmero de neurnios na sada

12

Um nmero menor que o dobro de neurnios na camada de entrada (por


exemplo, 2n - 1, onde n o nmero de neurnios na entrada);

Dez por cento do nmero de exemplos;

Entretanto, a experincia tem mostrado que a determinao do nmero de neurnios na


camada intermediria em essncia um processo de tentativa e erro. Felizmente,
existem refinamentos que podem ser aplicados RNA, de forma a melhorar sua
topologia para que possa modelar mais precisamente a classificao ou funo embutida
nos exemplos, mas que a torne tambm apta a generalizar, quando necessrio,
considerando-se tambm, inclusive, o rudo possivelmente contido nos dados, que se
deseja, no seja modelado.
Segundo (Reed, 1993) o overfitting pode ser diminudo utilizando-se um conjunto de
treinamento para modificar os pesos mediante um algoritmo de aprendizado e um
conjunto de validao para verificar a capacidade de generalizao apreendida durante
o aprendizado: interrompe-se o treinamento quando o erro produzido pelo conjunto de
validao comear a subir.
As denominadas tcnicas de poda (pruning) envolvem a eliminao de nodos e pesos da
estrutura da rede. Uma primeira abordagem prope a excluso sistemtica de nodos da
rede, avaliando-se em seguida o impacto no erro de sada. Se este for pequeno, mantmse a excluso, pois sua ausncia no afeta a capacidade da mesma em modelar os dados
(Reed, 1993). Uma segunda abordagem, apresentada em (Pdua, 2000), consiste em
relacionar o erro quadrtico mdio com a norma do vetor w, de forma a se obter
solues com pesos de norma mnima. Durante o treinamento, comea-se com uma rede
superdimensionada e removem-se os pesos irrelevantes. (Hinton, 1987) prope uma
alterao na expresso do erro quadrtico mdio (exibida anteriormente), que incorpora
o termo correspondente norma do vetor w:
E=

1
1
( Err ) 2 + w
2
2

Essa expresso ento minimizada, obtendo-se uma soluo com pesos de norma
mnima, na qual aqueles muito pequenos so eliminados. O parmetro de regularizao

deve ser ajustado: se for muito grande, a soluo para o vetor de pesos tende para
w=0, se for nulo, somente a soma dos erros quadrticos minimizada. Portanto, o
desafio consiste em obter um valor intermedirio de que seja satisfatrio, entre esses
extremos.
13

O algoritmo de treinamento backpropagation


o algoritmo mais conhecido para treinamento de redes MLP. Trata-se de um
algoritmo supervisionado que utiliza pares (entrada, sada desejada) para, por meio de
um mecanismo de correo de erros, ajustar os pesos da rede (Pdua, 2000). O
treinamento ocorre em duas fases, cada uma delas percorre a rede em um sentido: para
frente (forward) em que a sada da rede definida para determinado padro de entrada,
e para trs (backward), em que utiliza-se uma propagao do erro (diferena entre as
sadas desejada e produzida pela rede) da camada de sada para as camadas ocultas de
forma atualizar os pesos das conexes.
Em redes MLP tem-se um vetor de sadas yi, assim, o erro quadrtico mdio deve ser
expresso como um somatrio dos erros quadrticos mdios de cada sada yi:
E=

p
1 m
2
onde
Err=
yd
-y
,
yd

a
sada
desejada
e
(
Err
)
y
=
f
(
w ji x j ) .
i
i
i

i
2 i =1
j =1

Vamos considerar inicialmente a correo dos pesos wji que conectam a camada
escondida camada de sada, ou seja, vamos obter o gradiente de E em relao aos
pesos wji. Nesse caso especfico, expandimos somente yi, pois todos os outros termos do
somatrio no so afetados por wji (Russel, 2004). Assim, nesse caso tem-se
E=

1
( Err ) 2 .
2

E
E Err
=
w ji Err w ji
E
Err
= Err
w ji
w ji
p
E

= Err
( yd i f ( w ji x j ))
w ji
w ji
j =1

p
E
= ( yd i f ( w ji x j ))
w ji
j =1

f ' ( w ji x j ) x j
j =1

Escrevemos finalmente:

14

p
E
= x j i , onde i = ( yd i f ( w ji x j ))
w ji
j =1

f ' ( w ji x j )
j =1

Analogamente ao que se considerou para o perceptron, podemos escrever ento:

w ji =

E
= x j i , onde a taxa de aprendizado.
w ji

Consideremos agora a correo de pesos wkj que conectam a camada escondida


camada de entrada. Nesse caso no podemos ignorar o somatrio, pois cada sada yi
pode ser afetada por wkj.
m
E
E Err
=
wkj i =1 Err wkj
m
E
Err
= Err
wkj i =1
wkj

p
p
m
E

= (( yd i f ( w ji x j ))
(( yd i f ( w ji x j ))))
wkj i =1
wkj
j =1
j =1
p
p
p
m
E

= (( yd i f ( w ji x j )) f ' ( w ji x j )
( f ( w ji x j )))
wkj
wkj
i =1
j =1
j =1
j =1
p

Mas, i = ( yd i f ( w ji x j ))

f ' ( w ji x j )

j =1

j =1

p
m
E

= ( i
( f ( w ji x j )))
wkj
wkj
i =1
j =1
m
E

= ( i w ji
xj)
wkj
wkj
i =1
n

Mas x j = f ( wkj x k )
k =1
m
n
E

= ( i w ji
f ( wkj x k ))
wkj
wkj
i =1
k =1
m
n
E
= ( i w ji f ' ( wkj x k )x k )
wkj
i =1
k =1

15

Finalmente
n
m
E
= x k j , onde j = f ' ( wkj x k ) ( i w ji )
wkj
k =1
i =1

E neste caso, tambm podemos fazer:

wkj =

E
= x k j , onde a taxa de aprendizado.
wkj

Uma vez derivadas as correes dos pesos entre as camadas, vamos utiliz-las para
descrever detalhadamente o algoritmo backpropagation:
1-Iniciar pesos e parmetros;
2-Repetir at o erro ser mnimo ou at a realizao de um dado nmero de ciclos:
2.1-Para cada padro de treinamento X
2.1.1-Definir a sada da rede atravs da fase forward (descrita abaixo);
2.1.2-Atualizar pesos dos nodos atravs da fase backward

(descrita

abaixo).
Considerando-se:
M= nmero de camadas da RNA

x lj = entrada dos ns na camada l,


y lj = sada dos ns na camada l,
wijl = pesos na camada l,
l j o erro nas sadas da camada l
Fase forward:
Para l=2 at M faa

p = nmero de ns da camada l;
q= nmero de ns da camada (l-1);
Para j = 1 at p faa

16

y = f ( wijl x l i ) ;
l
j

i =1

Se (l=M) faa
q

Mj = ( yd j y Mj )

f ' ( wijl x Mi ) ;// Calcula o erro na camada de sada


i =1

Fase backward
Para l=M at 2 faa

p = nmero de ns da camada l;
q= nmero de ns da camada (l-1);
r= nmero de ns da camada (l-2);
Para i = 1 at q faa
Para j = 1 at p faa

wijl = wijl + xil l j ;


Se l 2 ento
Para i = 1 at q faa
r

l 1
i

= f ' ( w lji1 x lj1 ) (l j wijl ) ;


j =1

j =1

Melhorias no treinamento
O principal problema no treinamento de RNAs pelo algoritmo backpropagation a
possibilidade de ocorrncia de mnimos locais na superfcie de erro, que prov uma
soluo incorreta. Para reduzir a incidncia deste problema, bem como acelerar a
convergncia do algoritmo, pode-se fazer o seguinte (Pdua, 2000):

Diminuir a taxa de aprendizado;

Adicionar mais ns nas camadas intermedirias;

Adicionar rudo aos dados;

Acrescentar o chamado fator momentum atualizao dos pesos:

17

wij (t ) = wij (t 1) + xi j + ( wij (t 1) wij (t 2)) , onde t a iterao atual


do algoritmo, e ajusta a intensidade do fator.
Quando houver a possibilidade de todas as entradas em uma RNA serem nulas, fcil
perceber o risco de no haver a atualizao dos pesos. Esse problema pode ser evitado
colocando-se uma entrada de valor unitrio, denominada bias, nas camadas onde houver
o referido risco. Esta entrada produz pesos adicionais camada onde esta conectada e
tratada como se fosse uma entrada comum.

Referncias

CYBENKO, G. Continuous Valued Neural Networks with Two Hidden Layers are
Sufficient. Technical Report, Department of Computer Science, Boston: Tufts
University, 1988.
CYBENKO, G. Aproximation by Superpositions of a Sigmoid Function. In
Mathematics of Control, Signals and Systems. New York: 1989
PADUA, A. et al. Redes Neurais Artificiais-Teoria e Aplicaes. Rio de Janeiro, LTC,
2000.
RUSSEL, S. & NORVIG, P. Inteligncia Artificial. Rio de Janeiro: Elsevier, 2 edio,
2004.

18

Você também pode gostar