ISSN 2317-3289 Aproximação de Funções de Dados Meteorológicos usando Redes Neurais Backpropagation André B. de Araújo, Brígida R. P. da Rocha, Valquíria G. Macedo Neuma T. dos Santos, Universidade Federal do Pará – Faculdade de Engenharia Elétrica 66075-110, Campus do Guamá, Belém, PA E-mail: [email protected], [email protected], [email protected], [email protected] Palavras – Chave: Matemática Aplicada, Aproximação de Funções, Dados Meteorológicos, Redes Neurais Backpropagation; Resumo: O problema abordado neste trabalho é a aproximação de função de dados meteorológicos usando as redes Perceptron Múltiplas Camadas (MLPs), treinadas pelo algoritmo Backpropagation que foi implementado no software GNU Octave versão 3.2.2 com o objetivo de testar a eficiência desse algoritmo no tratamento dos dados. 1 Introdução A Rede Neural Artificial é um subcampo da Inteligência Artificial que ganhou grande destaque nos últimos anos pelo seu potencial de aplicação em diversas áreas, mesmo sendo considerada uma espécie de “caixa preta” que executa operações de uma maneira obscura, pois o conhecimento da rede fica armazenado nos pesos sinápticos da rede [1]. Os dados utilizados na aplicação são do primeiro trimestre de 2008, foram extraídos do site do INMET (Instituto Nacional de Meteorologia), referentes à estação automática A202 localizada na Escola Agrotécnica Federal em Castanhal-PA. Foram utilizados 11 parâmetros meteorológicos como variáveis de entrada para estimar a ocorrência de chuvas na região. 2 Redes Neurais Artificiais As redes neurais surgiram em 1943, quando cientistas fizeram conceitualmente uma analogia entre a realidade biológica e o processo eletrônico, ou seja, estabeleceram as bases da neurocomputação com modelos matemáticos. A Figura 2 mostra o modelo de McCulloch e Pitts. Figura 1. Modelo de McCulloch e Pitts Um neurônio de uma rede neural artificial pode ser representado como uma função matemática consistindo num somatório ponderado de várias entradas que produzem como sinal de saída uma tensão. Observa-se que cada sinal de entrada xi é multiplicado por um peso wki, sendo k o neurônio. Estes valores são somados na junção aditiva e depois é aplicada a função de ativação (.) que restringe o valor da saída a um intervalo pré-definido [3]. Matematicamente, as equações podem ser descritas como: uk wki xi (1) y k u k (2) 12 ISSN 2317-3289 Um fator de extrema importância para as redes neurais é a definição da função de ativação. Existem diversas funções matemáticas utilizáveis, entretanto, hoje as funções do tipo sigmóide são as de maior utilização, pois possuem uma característica importante para definição dos pesos wki: são diferenciáveis. Isso permite a construção de algoritmos de aprendizagem e memorização, pois dada uma equação, pode-se determinar seus pontos de máximo e mínimo por meio da resolução das equações diferenciais encontradas [2]. A rede escolhida para essa aplicação é um Perceptron de Múltiplas Camadas (MLP), que pode ter uma ou mais camadas de neurônios ocultos. Sua função é processar os sinais de entrada antes de enviá-los aos neurônios de saída (com a adição de camadas ocultas a rede torna-se capaz de extrair estatísticas de ordem elevada). Apesar da maior complexidade, essa arquitetura possibilita uma melhor qualidade de treinamento, pois há maior interação entre os neurônios. As redes neurais recorrentes têm a capacidade de aprender sequências por isso é a melhor escolha para dados de séries temporais porque apresentam a capacidade de realizar uma série de ações necessárias para executar uma tarefa, (a tarefa é divida em passos) e responder a uma entrada com diferentes saídas em diferentes momentos. Essas redes podem ser treinadas com o algoritmo backpropagation, basta comparar os níveis de ativação das unidades de saída com os níveis desejados e retropropagar o erro através da rede, de modo a determinar a sequência correta de ações. O processo de aprendizagem de uma rede neural consiste na adaptação de seus pesos sinápticos de tal maneira que a diferença entre os valores da saída desejada e de sua saída atual, calculada para todos os pontos de treinamento, seja mínima. O Algoritmo Backpropagation é baseado no Método de Descida do Gradiente. O ajuste (ou atualização) dos pesos das sinapses dá-se no sentido inverso (“backward”). 3 O Problema da Aproximação de Funções A utilização de redes neurais para emular funções não lineares é uma abordagem conexionista. As redes neurais podem ser treinadas para aproximar uma função não linear respeitando as restrições e limites impostos e garantindo a resolução de geração desejada. Além disso, as redes neurais possuem a propriedade de interpolar, generalizar e até extrapolar o conjunto de casos previamente definidos para o seu treinamento para um caso ainda não estudado, retornando um resultado satisfatório. Uma outra metodologia é utilizar as redes neurais para fornecerem os coeficientes da função de aproximação por partes, no caso estocástico. O modelo de aproximação deve apresentar estratégias de redução de dimensionalidade. 4 Resultados As variáveis meteorológicas utilizadas para treinar a rede são de medições de: temperatura, umidade, ponto de orvalho (para cada uma dessas variáveis foram utilizados os valores instantâneos, máximos e mínimos) e vento (velocidade e rajada) que serão utilizadas como entradas (total de 11 entradas) na escrita do algoritmo que responderá pela aproximação de dados reais e estimados da ocorrência de chuva (variável de saída). Este item apresenta os resultados obtidos no treinamento do algoritmo backpropagation onde o critério de desempenho é dado pelo Erro Médio Quadrático (MSE) em função da variação do número de neurônios na camada oculta, como pode ser visto na tabela 1. Tabela 1: Desempenho da Rede MLP Numero de MSE Neurônios 2 7.70 3 10.23 4 11.97 13 ISSN 2317-3289 O melhor resultado encontrado foi com 2 neurônios. A Figura 2 apresenta o gráfico que mostra os dados reais e os dados estimados da ocorrência de chuva em milímetros cúbicos. Figura 2. Comportamento dos dados reais e estimados para uma rede MLP. 5 Conclusões Este trabalho apresentou os resultados da aproximação de função de dados meteorológicos usando as redes Perceptron Múltiplas Camadas (MLPs), treinadas pelo algoritmo Backpropagation, implementado no software GNU Octave versão 3.2.2. Os resultados mostram que apesar desse algoritmo ser eficiente em diversas situações, a resposta não foi tão satisfatória para essa base de dados, o que gera a necessidade de testar esses dados em outra rede, por exemplo, a rede RBF (Função de Base Radial) que também é considerada aproximadora universal de funções. Uma rede RBF na sua forma básica tem apenas uma camada oculta enquanto o MLP pode ter várias, fazendo com que este seja mais robusto, apesar da RBF fornecer um melhor ajuste para os dados de treinamento. Por se tratar de um trabalho ainda em fase inicial, a rede RBF não foi implementada pela dificuldade na escolha dos parâmetros que representam a base radial da função e o parâmetro de regularização. 6 Agradecimentos Ao SIPAM, que mediante parceria com a UFPA, cede o espaço em suas instalações para o desenvolvimento desta e de outras pesquisas e ao INMET por disponibilizar os dados. O autor André B. de Araújo agradece ao Conselho Nacional de Desenvolvimento Científico e Tecnológico pelo apoio financeiro recebido em forma de bolsa de Iniciação Científica. 7 Referências [1] S. Haykin, Redes Neurais: princípios e práticas. 2ª ed. Porto Alegre: Bookman, 2001. [2] D. Q. Mendes, M. F. S. Oliveira. Tutorial de redes neurais – aplicações em bioinformática. Laboratório Nacional de Computação Científica – Laboratório de Bioinformática. Disponível em: <http://www.lncc.br/~labinfo/tutorialRN/.>. Acesso em: 10 Abr. 2012 [3] M. A. Tafner, M. Xerez, I. W. R. Filho. Redes neurais artificiais: introdução e princípios de neurocomputação. Blumenau: EKO : Editora da Universidade Regional de Blumenau, 1996. 14