2.5 Modelos para previsão de séries temporais
2.5.2 Rede Neural Artificial Multilayer Perceptron
A rede neural artificial (RNA) é uma técnica de aprendizagem de máquina inspirada no funcionamento do cérebro humano. De acordo comHAYKIN(1998), uma RNA é uma máquina projetada para modelar a maneira como o cérebro realiza uma tarefa particular ou função de interesse. A RNA é constituída de unidades de processamento simples e é maciçamente parale- lamente distribuída, se assemelhando ao cérebro humano na forma de adquirir conhecimento, através de um processo de aprendizagem, e também na forma de armazenar o conhecimento, através dos pesos sinápticos.
2.5. MODELOS PARA PREVISÃO DE SÉRIES TEMPORAIS 34 prever séries temporais e conseguirem resultados com boa acurácia, eles não conseguem uma acurácia tão boa quando aplicados às séries financeiras, devido ao alto nível de ruído presente e a natureza não-linear destas séries (LAHMIRI,2011).
As RNAs possuem a capacidade de aprender a resolver problemas a partir de um conjunto limitado de exemplos e, a partir deles, generalizar a solução para novos exemplos. As RNAs são utilizadas nos mais diversos problemas e geralmente conseguem resultados muito satisfatórios
(ADEBIYI; ADEWUMI; AYO,2014). As principais características das RNAs são:
Não-linearidade
Uma RNA tem a capacidade de resolver problemas não-lineares, além disso a não- linearidade ocorre de uma forma diferenciada nas RNAs, pois pode ser distribuída pela rede, em cada neurônio (HAYKIN,1998). A não-linearidade é uma característica im- portante para a previsão de séries temporais, pois muitas delas tem um comportamento não-linear.
Mapeamento entrada-saída
As RNAs podem aprender de forma não-supervisionada e supervisionada. As redes MLP aprendem de forma supervisionada, nela a rede recebe amostras de treinamento contendo os dados de entrada e a saída desejada. Através destas entradas a MLP ajusta seus pesos sinápticos a fim de minimizar o erro entre a resposta da rede e a saída desejada, através do algoritmo de retropropagação do erro. Desta forma, a rede aprende a realizar o mapeamento entre as entradas e saídas para o problema em questão. Este mapeamento é realizado de forma não-paramétrica, ou seja, o usuário não precisa informar mais parâmetros para a rede, basta que ela receba os dados de entrada e as saídas desejadas.
Generalização
As RNAs possuem a capacidade de generalizar, isto é, dado um conjunto de exemplos de treinamento, a RNA encontra uma solução para estes exemplos e também consegue apresentar respostas para exemplos em que não foi treinada, com uma boa taxa de acerto. Adaptabilidade
RNAs são adaptáveis, pois podem atualizar os valores de seus pesos sinápticos seguindo as mudanças do ambiente do problema. Elas podem ser facilmente retreinadas para lidar com essas modificações, e também, podem operar no modo online, o que significa que a rede fica constantemente corrigindo seus pesos sinápticos conforme recebe entradas para realizar a classificação ou previsão.
Paralelismo
Como dito anteriormente, a RNA possui natureza maciçamente paralela, o que a torna potencialmente rápida.
2.5. MODELOS PARA PREVISÃO DE SÉRIES TEMPORAIS 35 wk1 wk2 wkn . . . . . . Σ x1 x2 xn bias ϕ(.) yk vk Sinais de entrada Pesos
sinápticos Função aditiva
Função ativação
Saída do neurônio
Figura 2.8: Modelo de neurônio artificial
As redes neurais artificiais, são compostas por neurônios artificiais. A Figura 2.8 exibe o modelo de neurônio artificial, nela é possível visualizar um conjunto de conexões de sinapses, caracterizadas pelos pesos sinápticos. O cálculo do estímulo de uma sinapse em um neurônio é realizado da seguinte forma: a entrada xj na entrada j do neurônio k é multiplicado pelo peso sináptico wk j. O sinal bias especifica um limiar de ativação do neurônio, ou seja, caso os estímulos sejam inferiores ao limiar, o neurônio não é ativado. As sinapses e o bias seguem para o componente responsável por somá-los e sobre o resultado, é aplicada uma função de ativação que visa restringir a amplitude da saída do neurônio, tipicamente no intervalo [0, 1] ou [-1, 1]
(HAYKIN,1998).
Os pesos sinápticos dos neurônios são chamados de parâmetros livres das RNAs, são os parâmetros que são ajustados durante o treinamento e representam o conhecimento que a rede possui sobre o problema. Um dos métodos para ajustar os pesos sinápticos, é a aprendizagem supervisionada por correção de erro. Neste método os exemplos de treinamento são apresentados à rede, que por sua vez produz respostas a tais estímulos. Posteriormente, é calculado o erro da rede, que aciona um mecanismo de controle para corrigir os pesos sinápticos, a fim de que melhorem suas respostas para os exemplos apresentados, porém sem perder a capacidade de generalizar. O treinamento é realizado até o sistema atingir um estado estável, isto é, os pesos sinápticos não são mais alterados de forma significativa durante o treinamento.
Redes neurais do tipo Multilayer Perceptron (MLP), possuem uma arquitetura com diversas camadas, as quais possuem os neurônios. Uma rede neural MLP possui uma camada de entrada, onde os sinais do exemplo a ser computado entram na rede e são apenas repassados para as camadas posteriores denominadas de camadas intermediárias. A MLP pode possuir uma ou mais camadas intermediárias e é onde estão a maior parte dos neurônios da rede. Eles processam os dados recebidos pela camada anterior, capturando a relação não-linear das variáveis (LAHMIRI,2011), e em seguida, passam sua resposta para a camada de saída. Por fim,
2.5. MODELOS PARA PREVISÃO DE SÉRIES TEMPORAIS 36 é realizado mais um processamento pelos neurônios da camada de saída e a resposta da rede é retornada. Este processo de passagem do sinal para as camadas posteriores caracterizam uma rede neural do tipo feedforward.
. . . . . . x1 x2 xn Camada de entrada 1ª camada intermediária 2ª camada intermediária Camada de saída Saídas da rede . . .
Figura 2.9: Rede neural Multilayer Perceptron
A Figura 2.9 ilustra uma rede neural MLP com duas camadas intermediárias e com dois neurônios na camada de saída, o que significa que a saída da rede é composta por dois valores.
ATSALAKIS; VALAVANIS(2009) mostrou que a maioria dos treinamentos de redes neurais
de múltiplas camadas para previsão de ações no mercado financeiro é realizado pelo algoritmo de retropropagação do erro (backpropagation), que consiste em propagar a correção do erro da última camada até a primeira (HAYKIN,1998). Ou seja, após a rede neural emitir uma resposta para determinado exemplo de treinamento, o erro é calculado e os pesos sinápticos da camada de saída são ajustados. Após isso, os pesos da camada anterior à camada de saída são ajustados e assim sucessivamente até chegar na camada de entrada, resultando em um ajuste em todos os pesos sinápticos da rede.
Existem várias contribuições a fim de melhorar o backpropagation, tais contribuições podem ser agrupadas em duas categorias. A primeira consiste de técnicas heurísticas que objetivam acelerar o processo do algoritmo gradiente descendente que compõe o backpropagation. A segunda utiliza técnicas de otimização numérica (LAHMIRI,2011). Na primeira categoria estão os métodos de gradiente descendente com taxa de treinamento adaptativa, gradiente descendente com termo de momento, gradiente descendente com taxa de treinamento adaptativa e termo de momento e também o algoritmo resiliente. Ou seja, nesta categoria as propostas de melhoria atacam principalmente a grande quantidade de iterações do algoritmo gradiente descendente. Na segunda categoria estão incluídas os algoritmos de gradiente conjugado, BFGS- Quasi Newton e Levenberg-Marquardt. Na segunda categoria o foco consiste em reduzir o número de cálculos de derivadas e matrizes, utilizando aproximações, como no caso do BFGS-
2.5. MODELOS PARA PREVISÃO DE SÉRIES TEMPORAIS 37 Quasi Newton, que não precisa calcular a segunda derivada e utiliza uma matriz Hessiana aproximada (LAHMIRI,2011).
O teorema da aproximação universal afirma que uma rede neural MLP com apenas uma camada intermediária, pode realizar a aproximação de qualquer função contínua com suporte em um hipercubo unitário. Contudo, o teorema não diz que apenas uma camada produz resultados ótimos do ponto de vista de tempo de aprendizagem, facilidade de implementação ou ainda de capacidade de generalização (HAYKIN,1998).
Neste trabalho foi utilizada a rede MLP com apenas uma camada intermediária e algo- ritmo de treinamento BFGS-Quasi Newton. Os parâmetros para o treinamento da MLP foram a taxa de aprendizagem (η), que informa o quão grande pode ser a modificação dos pesos sinápticos durante o treinamento, e o número de neurônios na camada escondida, que define o nível de complexidade da rede. Estes parâmetros foram variados durante os experimentos.