Co-evolução quântica (CoEQ) para seleção das entradas de

Propaganda
1
Co-evolução quântica (CoEQ) para seleção das entradas de uma
RNA em um problema de previsão meteorológica
Pedro F. C. Blois de Assis ([email protected])
Resumo — O sistema atual para previsão meteorológica utiliza
complexas equações estatísticas e um histórico de muitos anos para
a geração de dados futuros. Isso torna a previsão meteorológica um
processo muito caro computacionalmente e extremamente
demorado. As redes neurais artificiais (RNA) vêm sendo utilizadas
com sucesso em problemas de aprendizado supervisionado de
séries temporais, mas a sua topologia e as entradas necessárias para
a previsão não são conhecidos a priori, necessitando de vários
experimentos para as suas escolhas. Outra desvantagem das RNA,
é que o método de treinamento das mesmas é baseado em uma
busca local da combinação ótima de pesos, fazendo com que
convergências prematuras a ótimos locais ocorram com freqüência.
Este trabalho propõe a utilização de co-evolução cooperativa entre
algoritmos evolutivos com inspiração quântica assim como outras
três metodologias (seleção com inspiração variacional,
minimização da diferença entre as energias do espectro de
freqüências e método de Lesion) para a seleção das entradas de
uma RNA para o problema de previsão meteorológica. Os
resultados mostram o potencial dos métodos investigados sendo o
CoEQ o mais promissor para o problema.
Palavras Chave — Algoritmos genéticos, algoritmos com
inspiração quântica, redes neurais artificiais, co-evolução.
Abstract – The current system for meteorological forecast uses
very complex statistic equations and a too long series to generate
future data. Thus, the meteorological forecast becomes a very
expensive and too long one. Artificial Neural Networks have been
used successfully on supervised learning problems of temporal
series. However, its topology and the necessary entry are not
known a priori, what creates the need for many experiments in
order to make a choice. Another disadvantage of ANN refers to
their training method which is based on a local search for an
optimal weights combination, making the premature convergences
to optimal locations to happen very frequently.
This study proposes the use of cooperative co-evolution between
evolutive algorithms with Quantico inspirations as well as among
other three methodologies (selection with variational inspiration,
minimizing the difference among the frequency spectrum energies
and the Lesion method) for the ANN entries selection for the
meteorological forecast problem. The results show the potential for
the investigated methods from which the CoEQ is the most
promising.
Key words – Genetic Algorithms, algorithms with Quantico
inspiration, Artificial Neural Network, co-evolution.
I. INTRODUÇÃO
V
ários aspectos da nossa vida cotidiana são afetados pelo
tempo: nosso vestuário, nossas atividades ao ar livre, o
preço dos produtos hortifrutigranjeiros. Ocasionalmente, as
condições de tempo são extremas e o impacto pode estenderse de uma mera inconveniência a um desastre de grandes
custos materiais e perda de vidas humanas. Os meios de
transporte (terrestre, marítimo e aéreo) dependem muito do
tempo. O tempo e o clima são decisivos também para a
agricultura, zootecnia e gerenciamento de recursos hídricos.
Em adição a estes aspectos tradicionalmente reconhecidos,
tem havido e continuará havendo uma demanda crescente
por decisões políticas envolvendo a atmosfera, relacionadas
à poluição e seu controle, efeitos de vários produtos
químicos sobre a camada de ozônio e outros impactos
ambientais. Portanto, há necessidade de crescente
conhecimento sobre a atmosfera e seu comportamento [5].
A falha na previsão desse comportamento pode levar a
problemas para a sociedade e geral. Prejuízos encontrados
na agricultura podem ser atribuídos a planejamentos feitos
com base nas previsões climáticas publicadas. O agricultor
decide por plantar ou não certo tipo de vegetal baseado nas
condições do tempo. Caso essas condições não ocorram,
uma safra inteira pode ser perdida, incorrendo em um
prejuízo significativo para o agricultor. Esta perda,
dependendo do seu tamanho, pode acarretar no aumento de
preço dos produtos derivados implicando no aumento do
custo de vida do cidadão. No âmbito dos esportes, aqueles
que dependem do vento, sofrem com as falhas do serviço de
meteorologia, principalmente nas regiões onde o vento forte
ocorre poucas vezes por mês. Freqüentes são as previsões de
ventos fortes que na verdade não passam de uma brisa,
impossibilitando a realização de uma regata ou competição.
Não raro também são as vezes em que além de a magnitude
do vento, sua direção e sentido também são informados
erroneamente.
Como alternativa às equações estatísticas, propõe-se a
utilização de redes neurais artificiais (RNA) por
apresentarem bons resultados em problemas de aprendizado
supervisionado de séries temporais [6, 7]. No entanto, a
topologia ideal para o problema bem como as entradas
necessárias (janela de valores passados) para uma boa
estimativa de um dado futuro são informações
desconhecidas e que só conseguem ser elucidadas mediante
diversos experimentos onde tentativas com diferentes
topologias e diferentes conjuntos de entradas são testados
até que um desempenho tolerável seja atingido [1]. Este
processo pode ser bastante demorado e computacionalmente
caro. Por fim, para obter o conjunto ideal de pesos de uma
RNA de modo que o erro na previsão seja tolerável, utilizase comumente métodos de busca baseados na variação do
erro da saída do sistema. Esse método de busca local pode
convergir prematuramente a mínimos locais [8]. Algoritmos
evolutivos tradicionais foram propostos para estimar o
conjunto de pesos ótimos para uma RNA, mas não
apresentaram bons resultados comparados aos métodos
tradicionais de treinamento de RNAs devido à necessidade
de realizar um número elevado de avaliações da função
objetivo [1].
2
Algoritmos evolutivos com inspiração quântica (AEIQ)
foram propostos com sucesso para treinamento de RNA
recorrentes por necessitarem de um número menor de
indivíduos para a evolução havendo consequentemente um
número menor de avaliações da função objetivo [1]. O
operador Lesion foi utilizado (em [1]) para remover
neurônios excedentes da RNA toda vez que a evolução
parava de progredir, apontando assim uma metodologia para
otimização da topologia da RNA.
Deseja-se descobrir automaticamente quais são os valores
passados necessárias à uma RNA para se prever o
determinado valor futuro. Por exemplo: para se prever a
velocidade do vento daqui a 4 horas são necessários os
valores de temperatura, umidade, velocidade e direção do
vento de 15 em 15 minutos das últimas 24 horas?
Este trabalho mostra 4 técnicas propostas para a seleção
das entradas a serem utilizadas em uma RNA para o
problema de previsão meteorológica. São elas: Co-evolução
entre AEIQs (CoEQ), Lesion, seleção com inspiração
variacional e análise da energia do espectro de freqüências.
Experiências foram feitas com as técnicas e os resultados
mostram que o CoEQ apresenta vantagens sobre as demais
técnicas.
II. ALGORITMOS EVOLUTIVOS COM INSPIRAÇÃO
QUÂNTICA - AEIQ
“Esses algoritmos se baseiam em idéias inspiradas na
física quântica, em particular no conceito de superposição de
estados, apresentando melhor desempenho em diversos tipos
de aplicações” [1]. O AEIQ também é caracterizado por um
cromossomo, uma função de avaliação e uma dinâmica
populacional. Sua principal diferença encontra-se na
representação de um gene. Enquanto que nos algoritmos
evolutivos tradicionais os genes representam um único
estado determinado pelo seu atual valor, no AEIQ, um gene
representa uma gama de possíveis estados determinado por
uma função de densidade de probabilidade (para o caso de
um AEIQ para problemas com representação numérica).
Dessa forma um cromossomo representa não só um único
indivíduo, mas sim uma superposição de possíveis estados
contínuos, determinado pela probabilidade de ocorrência de
cada gene. Essa característica confere à técnica a
possibilidade de evoluir soluções utilizando menos
indivíduos na população, dado que cada um representa na
verdade várias possíveis soluções, semelhante ao espaço de
crenças dos algoritmos culturais. Desta forma o AEIQ é
capaz de evoluir soluções tão boas quanto os algoritmos
evolutivos tradicionais com um número significativamente
menor de avaliações por geração, tornando-o mais barato
computacionalmente.
A Figura 1 mostra um pseudo-código de um AEIQ. O
algoritmo será explicado adiante.
Figura 1: Pseudo-código do algoritmo evolutivo com inspiração quântica
usando representação real.
População quântica – Q(t):
Uma população quântica é formada por N indivíduos
quânticos que representam a superposição dos possíveis
estados que um indivíduo clássico pode assumir ao ser
observado. Cada indivíduo quântico q por sua vez é formado
por G genes quânticos que são formados por funções que
representam uma densidade de probabilidade Pij (onde i =
1,2,3,...,N e j = 1,2,3,...,G). Desta forma, os indivíduos
quânticos podem ser representados por:
qi =  Pi1 ( x )
Pi 2 ( x )
Pi 3 ( x )
K
PiG ( x ) 
(1)
Pij é utilizada pelo AEIQ para gerar valores para os genes
dos indivíduos clássicos. Esta função de densidade de
probabilidade é representada como mostra a equação (2).
Pij ( x ) = ψ ij* ( x )ψ ij ( x )
(2)
Onde ψ ij ( x ) representa a função de onda associada ao gene
j do indivíduo i da população quântica e ψ ij * ( x ) representa
o conjugado complexo desta função de onda. A função de
densidade de probabilidade utilizada em [1] é o pulso
quadrado, que deve possuir uma área unitária respeitando a
propriedade de normalização de uma função de densidade de
probabilidade. Com isso cada função (e consequentemente
cada gene quântico) pode ser representada por um par de
valores µ e σ, valor central e largura do pulso
respectivamente.
A Figura 2 mostra um exemplo de dois genes quânticos
(g11 e g12) formadores do indivíduo quântico q1.
Figura 2: Genes de um indivíduo quântico usando pulsos quadrados com
função de densidade de probabilidade.
Onde q1 pode é representado como mostra a equação (3). A
primeira coluna representa g11 e a segunda coluna representa
g12.
3
−5 0 
q1 = 

 20 20
(3)
Observação dos indivíduos quânticos:
No passo 4 do código mostrado na Figura 1, indivíduos
clássicos (E(t)) são gerados a partir da população quântica.
Essa observação dos indivíduos quânticos é que permite a
geração de indivíduos clássicos, ou seja, indivíduos cujos
genes são números reais dentro do intervalo válido do
domínio. Para executar essa observação, um número
aleatório é gerado no intervalo de [0, 1] e em seguida
identifica-se o ponto x tal que:
−1
∫ Pij ( x ) dx = r = Vij ( x ) ∴ x = Vij ( r )
Co-evolução quântica – CoEQ:
Nesta abordagem, pretende-se utilizar dois algoritmos
evolutivos com inspiração quântica co-evoluindo
cooperativamente onde uma população representa as
possíveis soluções dos pesos das redes neurais (cromossomo
de representação por números reais) e a outra população
representa as entradas a serem fornecidas à RNA
(cromossomo de representação por números inteiros). A
representação para a primeira população é mostrada na
equação 6.
(4)
Onde V ( x ) é a função cumulativa de probabilidade do
ij
valor x ser observado e r é o número aleatório sorteado para
a tarefa. Temos, portanto, que x é um valor real gerado
através da observação do gene j do indivíduo i. Logo, podese gerar mais de um indivíduo clássico por indivíduos
quânticos, bastando para isso gerar um número aleatório r
para
cada
observação
do
indivíduo
quântico.
Matematicamente, essa observação é feita como mostra a
equação 5.
σ 

xmj = rmjσ ij +  µij − ij 
2

passados de temperatura, umidade, velocidade e direção do
vento são necessários para se prever um determinado valor
futuro.
(5)


q =  S11S12 KSij B1KB j S11S12 KS jk B1KBk 
424
3
 142431
424
314243 1
nout 
np
np×nout
 np×ni
(6)
Onde Sij é o peso entre a entrada i e o neurônio j da camada
escondida, Bj é o bias do neurônio j da camada escondida,
Sjk é o peso entre o neurônio j da camada escondida e o
neurônio k da camada de saída e Bk e o bias do neurônio k
da camada de saída. Os valores ni, np e nout são
respectivamente o número de entradas, o número de
neurônios na camada escondida e o número de saídas.
Portanto o total de genes de cada indivíduo dessa população
será:
Onde xmj é o j-ésimo gene do m-ésimo indivíduo clássico
que se está gerando, rmj é o número aleatório gerado para o
gene do indivíduo que está sendo observado, µ ij e σij são a
posição do centro e a largura do pulso quadrado que está
sendo usado para observar o gene clássico.
numGenes = np ( ni + nout + 1) + nout
No passo 8 do pseudo-código mostrado, é feita uma
recombinação dos indivíduos clássicos novos e antigos,
possibilitando assim uma mistura do material genético atual
e passado. No passo seguinte, os indivíduos são então
avaliados para que no passo 10 os piores indivíduos da
última geração sejam substituídos pelos melhores indivíduos
da nova geração.
Finalmente no passo 12, a população quântica é então
atualizada utilizando-se a seguinte heurística: “se menos de
20% dos indivíduos da população clássica gerada tiverem
melhorado de uma geração para a outra, é provável que o
algoritmo esteja fazendo uma busca em uma região muito
grande e, neste caso, pode ser interessante reduzir o espaço
de busca; se mais de 20% dos indivíduos tiverem melhorado
de uma geração para a outra, é provável que o algoritmo
esteja fazendo a busca em uma região muito pequena (e
portanto achando, facilmente, indivíduos com avaliação
melhores) e o mesmo deve tentar ampliar a região de busca.”
Onde Ti é um número inteiro, não negativo, que representa a
posição da temperatura de Ti instantes antes do valor mais
recente da janela de tempo em questão. Por exemplo:
III. TÉCNICAS DE SELEÇÃO DE ENTRADAS
Nesta seção serão apresentadas as técnicas idealizadas
para a escolha das entradas da RNA para um problema de
previsão meteorológica. Deseja-se descobrir quais os valores
(7)
Para a segunda população a representação adotada foi:
q = [T1KTa U1KUb V1KVc
D1KDd ]
q = [ 1 2 3 1 2 3 1 2 3 1 3 5]
(8)
(9)
O cromossomo exemplificado na equação 9 mostra que
para estimarmos um determinado valor futuro são
necessários os três últimos valores de temperatura, umidade
e velocidade do vento e o último, o antepenúltimo e o quinto
último valor da direção do vento.
Portanto, temos que Ui, Vi e Di são respectivamente as
posições das grandezas de umidade, velocidade do vento e
direção do vento. Os valores a, b, c, e d, representam o
número de dados necessários de temperatura, umidade,
velocidade e direção do vento, respectivamente, para a
previsão. Se durante a evolução o número de pontos de um
determinado parâmetro (temperatura, umidade etc.),
necessário para a previsão, for menor que o especificado
inicialmente, zeros aparecerão no cromossomo dentre as
posições indicativas de cada parâmetro. Por exemplo:
q = [ 1 2 3 1 2 0 1 2 3 1 3 5]
(10)
4
No cromossomo mostrado na equação 10, temos que a
evolução mostrou que apenas o último e o penúltimo valores
de umidade são necessários para a previsão de um certo
valor futuro.
O número de genes de um indivíduo dessa população
será:
numGenes = a + b + c + d
camada escondida e f(.) são as funções de ativação dos
neurônios da rede. Neste trabalho, a função de ativação
utilizada foi a tansig.
A equação 13 mostra o cálculo da variação da saída (out)
em relativo a variação das entradas (E). Como, neste
trabalho, a função de ativação utilizada é a tansig, tem-se
que:
(11)
δ out
T
T
= f ' f ( S1E + B1 ) S2 + B2 f ' ( S1E + B1 ) S2S1
δE
(
Lesion:
Este operador foi utilizado por [1] para eliminar
neurônios da rede neural toda vez que a evolução
estagnasse. Ela consiste em remover um neurônio qualquer
(remover todos os pesos que estão vinculados ao neurônio
escolhido) e verificar se o melhor indivíduo da população
terá uma nova avaliação menor que a avaliação antiga mais
uma dada tolerância. Caso isso ocorra, esse neurônio não era
importante, logo pode ser removido.
Da mesma forma, se a evolução da população parar
durante um certo número de gerações, a importância das
entradas será testada removendo-se a entrada e verificando
se a avaliação da nova rede não piora mais do que um
determinado nível. Neste caso, a entrada em questão não era
importante, sendo, portanto removida da rede.
Esta técnica será utilizada durante a evolução do AEIQ na
otimização dos pesos da rede neural. Só há, portanto, uma
população e a representação dos cromossomos é a mesma da
primeira população do CoEQ.
Seleção com inspiração variacional:
O cálculo variacional visa fundamentalmente investigar os
máximos e mínimos de funcionais através da variação das
suas variáveis de estado. Inspirado nesse princípio, esta
técnica procura encontrar a entrada menos importante (cuja
ausência não provoque uma piora significativa na avaliação
da rede) através das alterações da saída da rede devido a
pequenas variações nas entradas. Ou seja, se perturbarmos
uma entrada qualquer e a saída da rede, em média (testandose para todo o conjunto de treinamento), se mantiver dentro
de uma faixa de valores toleráveis, então provavelmente
aquela entrada não é importante para o sistema. Sabemos
que:
h2
 644474448

T



 

out = f  f  S1E + B1  S2 + B2 
1
4
24
3
  h3 




14444244443
(12)
h1
δ out =
∂out
∂h ∂h
∂h  ∂h ∂h 
δ E = 1 2 δ E = 1  2 3 δ E
∂E
∂h2 ∂E
∂h2  ∂h3 ∂E 
(13)
Onde S1 é a matriz de pesos entre as entradas e os neurônios
da camada escondida, B1 são os bias da camada escondida,
S2 são os pesos entre a camada escondida e a saída e B2 são
os bias da saída. A equação 12 mostra a expressão
matemática da saída de uma rede neural artificial com uma
)
(14)
Onde f’(.) é a derivada da função tansig com relação ao seu
argumento.
Esta técnica também será utilizada durante a evolução do
AEIQ na otimização dos pesos da rede neural. Só há,
portanto, uma população e a representação dos
cromossomos é a mesma da primeira população do CoEQ.
Minimização da diferença entre as energias do
espectro de freqüências:
Toda forma de onde pode ser decomposta em infinitos
senos e co-senos de diferentes freqüências. A ferramenta
através da qual essa decomposição é feita, é chamada de
transformada de Fourier. O espectro de freqüência é,
portanto, o conjunto de freqüências das funções básicas
(senos e/ou co-senos) que compõem o sinal original. A
energia total do sinal analisado pode ser obtida da seguinte
forma [4]:
E=
2
1 ∞
X ( jω ) dω
∫
−∞
2π
(15)
Onde X(jω) é a transformada de Fourier do sinal analisado.
Sabe-se que quanto mais neurônios existirem em uma
RNA, maior é o número de parâmetros livres (pesos) da
mesma. Quanto mais pesos uma RNA tiver, maior é a sua
capacidade de aproximar funções com os mais diversos
comportamentos, no entanto um número excessivo de graus
de liberdade de uma RNA pode fazer com que a mesma
aproxime os valores dos conjuntos de treinamento através de
uma forma de onda com freqüências muito acima das
necessárias. Uma analogia que se pode fazer para
exemplificar esse fenômeno seria a aproximação de uma
função linear, representada por três pontos de amostragem
apenas, através de um polinômio de terceiro grau. É possível
ajustar-se os coeficientes do polinômio de terceiro grau de
maneira a obter erro nulo nos pontos amostrados. No
entanto, comete-se um erro significativo ao aproximarmos
um polinômio de primeiro grau por um de terceiro grau.
Uma das maneiras de detectar isso é reparar que a função de
terceiro grau possui uma energia maior que a forma de onda
aproximada, indicando que a aproximação possui mais graus
de liberdade do que o necessário.
Desta forma, pode-se estimar que os graus de liberdade
ideais de uma RNA são àqueles tais que a diferença entre as
energias do espectro de freqüência, do sinal produzido pela
5
RNA e da forma de onda do conjunto de treinamento, é
mínima.
Para uma RNA com np neurônios na camada escondida,
cada entrada possui np pesos associados. Ao retirar-se uma
entrada diminui-se os graus de liberdade do sistema, assim
como ao colocar-se uma entrada a mais no sistema, aumentase os parâmetros livre da RNA. Com isso, pode-se avaliar a
importância de uma entrada através da variação da diferença
entre as energias do conjunto de treinamento e da saída da
RNA. Se a existência da entrada analisada proporcionar uma
menor diferença entre as energias, comparada a sua
ausência, então essa entrada é importante para o sistema.
Caso contrário, ela pode ser descartada.
Esta técnica também será utilizada durante a evolução do
AEIQ na otimização dos pesos da rede neural. Só há,
portanto, uma população e a representação dos
cromossomos é a mesma da primeira população do CoEQ.
IV. EXPERIMENTOS REALIZADOS
Para testar as técnicas propostas, utilizou-se o código
desenvolvido em [1] para algoritmos evolutivos com
inspiração quântica com representação por números reais.
Adaptações foram feitas na função de avaliação do sistema,
dado que em [1] utilizou-se redes neurais recorrentes,
enquanto que nesse trabalho optou-se por utilizar redes
neurais feedfoward. O operador Lesion para atualização da
topologia da rede foi desabilitado de maneira que o
desempenho fossem mais diretamente relacionados às
técnicas propostas. Para a CoEQ, foi feita mais uma
adaptação para que cromossomos com representação inteira
pudessem ser utilizados.
A topologia da rede utilizada foi a mesma para todos os
experimentos e o número de neurônios foi decidido depois
de alguns experimentos utilizando o algoritmo AEIQ
original de [1].
Os dados meteorológicos utilizados para os experimentos
foram informações meteorológicas da cidade de Campinas,
SP, de temperatura, umidade, velocidade e direção do vento
coletados no período de 28/07/2006 e 22/02/2008 com
intervalos de medição de hora em hora, obtidos no site
http://www.cnpm.embrapa.br/projetos/estacaometeorologica
/bd/.
Como alvo da previsão, escolheu-se o valor da velocidade
do vento de 4 horas à frente. Os valores coletados entre os
dias 15/12/2007 e 22/02/2008 foram utilizados para avaliar
o desempenho final da RNA obtida nas evoluções.
Todos os algoritmos evolutivos foram executados com a
mesma parametrização, a saber:
população de indivíduos quânticos: 5;
taxa de recombinação do indivíduos quânticos: 0,9;
população de indivíduos clássicos: 10;
gap da população de indivíduos clássicos: 9;
taxa de recombinação de indivíduos clássicos: 0,9;
fator de atualização da largura dos indivíduos
quânticos: 0,9;
→ número de gerações para atualização dos
indivíduos quânticos: 10;
→
→
→
→
→
→
→ tolerância para a avaliação do novo conjunto de
entradas (quando aplicável): 0,1%;
→ número de processadores na camada escondida: 20;
→ número de gerações: 500.
Todas as técnicas propostas (com exceção da CoEQ)
foram aplicadas depois que a evolução ficasse estagnada por
10 gerações.
Para a CoEQ, o cromossomo da espécie que evoluiu as
entradas da rede teve um tamanho fixo de 40 genes, sendo
que o domínio utilizado para os valores dos genes foi o
intervalo entre 0 e 100. A decodificação foi feita assumindose que a=b=c=d=10 (valores utilizados na equação 8),
significando que o algoritmo deve achar 10 entradas para os
quatro parâmetros meteorológicos (temperatura, umidade
etc.) no intervalo de 0 a 100. Para as outras técnicas, a janela
inicial para a neuro-evolução foi de todos os valores de até
100 instantes atrás para os quatro parâmetros
meteorológicos, totalizando 400 entradas para a rede neural
artificial. Com a evolução, as entradas desnecessárias foram
sendo retiradas de acordo com as abordagens descritas no
trabalho.
O cromossomo da espécie que evoluiu os pesos da rede,
foram todos iguais com genes observados no domínio de -2
a 2.
V. RESULTADOS OBTIDOS
A CoEQ se mostrou mais lenta que as demais técnicas
devido ao fato de estar evoluindo duas populações ao
mesmo tempo. Além disso, nas demais técnicas, apenas os
novos indivíduos (gap indivíduos) de cada geração eram
avaliados, diminuindo ainda mais o tempo computacional.
Sob este mesmo aspecto, na CoEQ, como a cada geração o
melhor indivíduo da outra espécie era diferente (na maioria
da vezes), toda a população tinha que ser reavaliada, pois as
condições em que as avaliações na geração anterior foram
feitas mudaram.
A Figura 3 mostra a curva de desempenho da CoEQ.
Figura 3: Curva de desempenho da CoEQ.
Pode-se ver que o desempenho da CoEQ alcança uma
avaliação de aproximadamente 2500 na 50ª geração e um
valor mínimo abaixo de 2000. Esses resultados se mostraram
melhores que os das outras técnicas abordadas.
A Figura 4 mostra o resultado final da RNA com os pesos
e entradas evoluídos pela CoEQ. Apesar dos bons resultados
6
no desempenho durante a evolução (comparando-se às
outras técnicas), a RNA final não foi capaz de prever
satisfatoriamente os valores de velocidade do vento de 4
horas à frente.
A Figura 7 mostra a curva de desempenho obtida pela
evolução dos pesos da rede neural com eventuais remoções
de entradas através do operador com inspiração no cálculo
variacional. Pode-se ver que o sistema atinge uma avaliação
de 2500 próximo a 150ª geração e seu valor final também foi
acima de 2000.
A Figura 8 mostra o resultado final da RNA evoluída com
o AEIQ com o operador com inspiração no cálculo
variacional aplicado às entradas da rede.
Figura 4: Resultado final da previsão feita pela RNA evoluída pela CoEQ.
A Figura 5 mostra a curva de desempenho obtida pela
evolução dos pesos da rede neural com eventuais remoções
de entradas através do operador Lesion. Pode-se ver que o
sistema atinge uma avaliação de 2500 depois da 100ª
geração e seu valor final foi acima de 2000.
Figura 7: Curva de desempenho do AEIQ com o operador inspirado no
cálculo variacional executado nas entradas da RNA.
Figura 5: Curva de desempenho do AEIQ com o operador Lesion
executado nas entradas da RNA.
A Figura 6 mostra o resultado final da RNA evoluída com
o AEIQ com o operador Lesion aplicado às entradas da rede.
Figura 8: Resultado final da previsão feita pela RNA evoluída pelo AEIQ
com o operador com inspiração no cálculo variacional.
A Figura 9 mostra a curva de desempenho obtida pela
evolução dos pesos da rede neural com eventuais remoções
de entradas através do operador que minimiza a diferença
entre as energias dos espectros de freqüência. Pode-se ver
que o sistema também atinge uma avaliação de 2500 depois
da 150ª geração e seu valor final também foi acima de 2000.
Figura 6: Resultado final da previsão feita pela RNA evoluída pelo AEIQ
com o operador Lesion.
7
apresenta a possibilidade de ordenação dos candidatos a
remoção de acordo com o efeito da sua variação produzido
na saída do sistema, sem a necessidade de se avaliar o
sistema. Essa vantagem direciona a busca por candidatos a
remoção agilizando a evolução.
VI. CONCLUSÕES
Figura 9: Curva de desempenho do AEIQ com o operador que minimiza a
diferença entre as energias dos espectros de freqüência executado nas
entradas da RNA.
A Figura 10 mostra o resultado final da RNA evoluída
com o AEIQ com o operador que minimiza a diferença entre
as energias dos espectros de freqüência aplicado às entradas
da rede.
Foram propostas quatro técnicas de seleção de entradas de
uma rede neural artificial para problemas de previsão
meteorológica. As técnicas propostas foram: co-evolução
cooperativa entre algoritmos evolutivos com inspiração
quântica – CoEQ (uma espécie evoluindo as entradas e a
outra espécie evoluindo os pesos da RNA); operador de
seleção com inspiração no cálculo variacional; operador
Lesion e o operador de seleção que minimiza a diferença
entre a energia do espectro de freqüências da saída
produzida pela RNA e a energia do conjunto de treinamento.
A CoEQ mostrou ter um desempenho melhor que os demais
por atingir uma menor avaliação ao final da evolução. No
entanto, todos os experimentos mostraram um resultado final
ruim (saída da rede neural comparada com o conjunto de
treinamento).
VII. TRABALHOS FUTUROS
Como a CoEQ se mostrou mais eficiente na otimização
das entradas, propõe-se utilizar a seleção inspirada no
cálculo variacional aliada a minimização da diferença entre
as energias dos espectros de freqüências da saída do sistema
e do conjunto de treinamento para a otimização da topologia
da RNA. Primeiramente seria verificado, através da
minimização da diferença das energias o número de
neurônios aproximado para a tarefa a ser executada. Em
seguida, durante a co-evolução, neurônios da camada
escondida seriam removidos de acordo com a sua
importância no sistema através do cálculo variacional.
Figura 10: Resultado final da previsão feita pela RNA evoluída pelo AEIQ
com o operador que minimiza a diferença entre as energias dos espectros
de freqüência.
Como a atualização das entradas nas técnicas propostas
(com exceção da CoEQ) é feita apenas quando a evolução
está estagnada por 10 gerações, conforme proposto em [1],
poucas entradas são removidas durante a evolução. Nesse
trabalho, o número máximo de gerações admitido foi de 500,
significando que no pior dos casos, 50 entradas podem ser
removidas, o que representa 1/8 das entradas iniciais. Pelas
Figuras 6, 8 e 10, pode-se perceber que a energia do
espectro de freqüências do sinal de saída das RNAs
resultantes é maior que a do conjunto de treinamento (pois a
saída das RNAs oscilam mais e com maior amplitude). Isso
indica, que as RNAs resultantes possuem mais graus de
liberdade que o necessário e que a remoção das entradas está
se dando de forma insuficiente.
Os operadores Lesion e seleção com inspiração no cálculo
variacional se mostraram equivalentes em termos de
desempenho na evolução. No entanto, o Lesion necessita
fazer uma avaliação para cada entrada candidata a remoção,
até que se encontre alguma que satisfaça as condições de
exclusão. Já a seleção por inspiração no cálculo variacional
REFERÊNCIAS
[1]. Abs da Cruz, André V., Algoritmos Evolutivos com Inspiração
Quântica para Problemas com Representação Real. Tese de doutorado,
Pontifícia Universidade Católica do Rio de Janeiro, 2007;
[2]. Michalewics, Z., “Genetic Algorithms + Data Structures = Evolution
Programs”, Springer-Verlag New York, NY, USA, 1999;
[3]. Haykin, S., “Redes Neurais: Princípios e Prática”, Prentice Hall, 2ª ed.,
2001;
[4]. Oppenheim, A. V., Willsky, A. S., “Signals & Sistems”, Prentice Hall,
2ª ed, 1997;
[5]. Quadro, M., “Estrutura da Meteorologia – MEF01”, Apostila do Curso
Técnico de Meteorologia, Centro Federal de Educação Tecnológica de
Santa Catarina, 2004;
[6]. Karla Figueiredo, Carlos R. Hall Barbosa, André V. A. da Cruz,
Marley M.B.R. Vellasco, Marco Aurélio C. Pacheco,
Roxana J. Contreras, Mônica Barros, Reinaldo Castro Souza,
Valdo da Siva Marques, Ulmar Manoel Duarte, Marcos Huber
Mendes, MODELO DE PREVISÃO DE VAZÃO COM
INFORMAÇÃO DE PRECIPITAÇÃO UTILIZANDO REDES
NEURAIS, aceito para publicação na Revista Brasileira de Recursos
Hídricos;
[7]. Marley Maria B.R. Vellasco, Marco Aurélio C. Pacheco, Luiz Sabino
Ribeiro Neto, Flávio Joquim de Souza, "Electric Load Forecasting:
Evaluating the Novel Hierarchical Neuro-Fuzzy BSP Model",
International Journal of Electrical Power & Energy Systems, (ISSN
8
0142-0615), Vol. 26, No. 2, pp. 131-142, Elsevier Science Ltd,
Fevereiro 2004;
[8]. Yao, X.. Evolving artificial neural networks. In: PROCEEDINGS OF
THE IEEE, volumen 87, p. 1423–1447, 1999. 1.1.
Download