• Sonuç bulunamadı

A determinação do modelo neural é uma tarefa fundamental em qualquer aplicação. Várias métricas são descritas na literatura que oferecem uma indicação das melhores estimativas

dos parâmetros da rede, tais como os encontrados em Charytoniuk e Chen (2000), Hippert, Pedreira e Souza (2001) e Crone e Dhawan (2007) para aplicações com predição de séries temporais e Zhang (2007) para aplicações diversas. No entanto, uma metodologia sistemática para a obtenção dos valores ótimos não é disponível.

Weigend e Gershefeld (1994) afirmam que não é possível construir um algoritmo de predição que seja universal, isto é, que seja capaz de prever qualquer tipo de série temporal. Apesar de óbvia, esta afirmação contribui para que as aspirações de construir modelos de predição devam ser mais modestas. Em vez de buscar o conhecimento completo do futuro, o que se pode ter como objetivo é encontrar o modelo mais adequado para certos tipos de dados, e a definição de “mais adequado” pode ser explicado como o modelo que exige o mínimo de informação para descrever os dados.

A fim de tratar tal problema, nesta tese é proposta uma heurística que realiza uma busca pelos parâmetros de um determinado modelo neural. Esta busca, ao final, irá gerar uma configuração ótima de rede capaz de resolver o problema em questão. A configuração ótima corresponde aos valores apropriados para a dimensão do vetor de entrada, número de épocas de treinamento, número de camadas, número de neurônios em cada camada, bem como o número de saídas para as quais a rede apresenta os melhores resultados. Outras decisões de projeto de rede incluem a seleção de funções de ativação dos neurônios das camadas ocultas e de saída, o algoritmo de treinamento, transformação ou métodos de normalização de dados, conjuntos de treinamento e teste, e medidas de desempenho.

Embora a heurística proposta implemente um algoritmo de busca exaustiva, trata-se de um algoritmo trivial e frequentemente utilizado para tal fim, pois consegue enumerar todos os possíveis melhores parâmetros de um modelo e verificar se eles satisfazem o problema. Entretanto, seu custo computacional é proporcional ao número de candidatos à solução, que, em problemas reais, tende a crescer exponencialmente. Para evitar tal dificuldade na busca dos melhores parâmetros, a heurística reduz o conjunto de candidatos de parâmetros para um espaço de soluções plausíveis.

(i) Métricas Estatísticas

Uma vez que uma determinada rede tenha sido treinada, ela passa a fornecer estima- tivas de valores futuros de uma dada série temporal num determinado horizonte de predição h. As predições são executadas de forma recursiva até que o horizonte de predição desejado seja alcançado, ou seja, durante o tempo de h passos os valores previstos são alimentados de volta

para as entradas do modelo.

Por razões de precisão estatística, cada rodada de treino/teste da rede neural é repetida K vezes. Para cada rodada, os pesos são aleatoriamente inicializados na faixa de [−0,5,+0,5]. Quantitativamente, para a k-ésima rodada de treino/teste, o modelo é avaliado em termos do NMSE calculado para H passos de tempo de predição:

NMSE(H, l) = 1 H· σy2 H

∑

h=1  x(n + h) − bx(l)(n + h)2, (4.9) onde x(n + h) é o valor observado da série temporal no passo de tempo n + h, bx(l)(n + h) é o

valor predito no passo de tempo n + h para k-th rodada de treino/teste e bσy2é a variância amostral da série temporal observada.

Todos os resultados utilizam valores da mediana do NMSE de todas as rodadas de treino/teste para um dado horizonte de predição H, ou seja,

NMSEmd = mediana[NMSE(H, 1) NMSE(H, 2) ··· NMSE(H,K)]. (4.10)

O uso da mediana, em vez do valor médio de NMSE(h,l), para um dado h, é preferível, uma vez que a mediana é uma estatística robusta com relação à presença de outliers (HUBER, 1981). (ii) Procedimento Geral

O fluxograma da Figura 21 apresenta os passos da heurística adotada. A ideia é desenvolver um processo investigativo que implica em variar alguns parâmetros enquanto se monitora a eficiência da predição. Neste caso a otimização é feita utilizando alguns parâmetros, em particular, aqueles que possuem o maior impacto no desempenho da rede MLP treinada com algoritmo backpropagation. No presente trabalho, esta heurística também é aplicada a outros tipos de redes neurais ou modelos.

São investigados os valores da dimensão de imersão, atraso de imersão, número de épocas de treinamento, taxa de aprendizagem e número de neurônios em cada camada oculta. A busca se inicia com todos os valores de parâmetros aleatórios e o processo continua variando-se o parâmetro de interesse dentro de uma determinada faixa. O fluxograma da Figura 22 detalha o procedimento que é executado dentro dos blocos 2, 3 e 4 da Figura 21.

(iii) Procedimentos Específicos

A primeira faixa de valores investigados é do número de épocas de treinamento versus taxa de aprendizagem (bloco 2 da Figura 21). O melhor parâmetro encontrado é aquele dado pelo menor valor da mediana do NMSE, dentro da faixa de busca destes dois parâmetros. Estes

1)

Inicializar otimização com parâmetros aleatórios

INÍCIO

3) Otimizar dimensão de imersão e atraso de imersão

4) Otimizar número de neurônios em cada camada

oculta

7)

Melhor configuração com parâmetros ótimos FIM 2) Otimizar número de épocas de treinamento e taxa de aprendizagem 6) Sem modificações a 3 laços? 5) Execução do 10º laço? SIM NÃO SIM NÃO

Figura 21 – Procedimento para determinar automaticamente a melhor configuração dos parâme- tros da rede neural de interesse.

parâmetros selecionados são guardados e utilizados para a próxima otimização de parâmetros (bloco 3 da Figura 21). A próxima busca tem como meta encontrar os parâmetros do vetor de entrada, isto é, determinar a dimensão e atraso de imersão. Por fim, é investigado o número de neurônios em cada camada oculta dentro de uma certa faixa de valores (bloco 4 da Figura 21), para o caso de uma rede com duas camadas ocultas.

Depois que todos os parâmetros já tenham sido otimizados, o processo é reiniciado com os melhores parâmetros de um ciclo já encontrados. Assim, cada faixa de parâmetro anali- sada é novamente investigada para a eficiência da predição. Se o NMSE da melhor combinação de uma determinada faixa de parâmetros do novo ciclo não é menor que o do ciclo anterior, usa-se a combinação encontrada anteriormente e os parâmetros não são alterados. Caso contrário, uma nova configuração do modelo é estabelecida e o algoritmo avança para a investigação do próximo conjunto de parâmetros. A heurística continua até que uma condição de parada seja satisfeita.

Vale observar que, para a tarefa de busca, alguns parâmetros foram agrupados em pares: número de épocas de treinamento versus taxa de aprendizagem, dimensão de imersão

NMSE da melhor combinação

atual é menor que o anterior? K rodadas treino/teste para todas combinações de parâmetros

Calcular mediana do NMSE para cada combinação de

parâmetros Usar melhor combinação atual Usar melhor combinação anterior SIM NÃO

Figura 22 – Bloco funcional de otimização dos parâmetros.

versus atraso de imersão e número de neurônios da primeira camada oculta versus segunda camada oculta, no caso da rede neural com duas camadas ocultas. Embora todos parâmetros pos- suam correlação entre si, existem correlações mais fortes entre determinados parâmetros. Desta forma, este agrupamento de parâmetros mais correlacionados melhora a tarefa de otimização, pois permite encontrar, de forma direta, a melhor combinação de certos parâmetros. É claro que o ideal seria fazer uma combinação de todos os parâmetros de uma vez, para garantir se encontrar a melhor combinação. Por outro lado, por questões de custos computacionais, seria impraticável se fazer esta busca.