• Nenhum resultado encontrado

3.3 Modelos de aprendizado de máquina para previsão de séries temporais

3.3.1 Redes Neurais Artificiais (RNA)

3.3.1.1 Neurônio artificial

Na representação mais simples do modelo de um neurônio artificial (ou “nó”), ilustrado na Figura 3.8, os diversos sinais de entrada {x1, x2, ... , xn} são ponderados por seus respectivos

vetores de pesos sinápticos {w1, w2, ... , wn}, os quais, após subtraídos por um limiar de ativação

“θ”, resultam no potencial de ativação denotado por “u”. Por sua vez, esse potencial de ativação é submetido a uma função de ativação “g(.)”, resultando finalmente em um valor de saída “y”.

Figura 3.8: Esquema de um único neurônio artificial Fonte: Silva et al., 2016.

Por essa representação, sete elementos básicos de um neurônio artificial podem ser elencados: • Sinais de entrada {x1, x2, ... , xn}: têm origem nos dados observados, como, por exemplo

a vazão em diferentes defasagens temporais significativas, ou ainda coeficientes de decomposição de sinal que as representem;

• Pesos sinápticos {w1, w2, ... , wn}: são multiplicadores dos sinais de entrada, os quais

tendem a indicar a importância de cada nó de entrada conforme seu valor for mais alto. Podem ser comparados a parâmetros que devem ser bem ajustados para o bom desempenho do modelo;

• Combinador linear {Σ}: agrega todos os sinais de entrada que foram ponderados pelos respectivos pesos sinápticos, a fim de produzir um valor de potencial de ativação; • Limiar de ativação {θ}: especifica o patamar apropriado para que o resultado produzido

por {Σ} possa gerar um valor de disparo em direção à saída do neurônio. A funcionalidade de {θ} lembra o intercepto do modelo de uma função, e está associada ao desvio (bias) inicial;

• Potencial de ativação {u}: é o resultado obtido pela diferença do valor produzido entre o combinador linear e o limiar de ativação. Se u ≥ θ, então o neurônio produz um potencial excitatório e o cálculo é efetuado; caso contrário, o potencial será inibitório;

• Função de ativação {g}: seu objetivo é limitar a saída do neurônio dentro de um intervalo de valores razoáveis a serem assumidos pela imagem da função (algumas funções de ativação serão descritas adiante); e

• Sinal de saída {y}: consiste no valor final produzido pelo neurônio em relação a um determinado conjunto de sinais de entrada. Conforme a arquitetura da rede, esse valor

{y} poderá servir como sinal de entrada para outros neurônios.

Existem diversas funções de ativação para serem empregadas em um neurônio artificial. As funções logística, tangente hiperbólica, Gaussiana e linear, que se caracterizam por serem totalmente diferenciáveis, estão formalizadas, respectivamente, pelas equações expostas na Tabela 3.1. As representações gráficas desses quatro tipos de funções de ativação aplicadas a neurônios artificiais são ilustradas na Figura 3.9.

Tabela 3.1: Funções de ativação em redes neurais artificiais

Funções de ativação em

RNA Expressão matemática Número da equação

Logística 𝑔(u) = 1

1 + 𝑒−𝛽𝑢 (3.24)

Tangente hiperbólica 𝑔(u) = 1 − 𝑒−𝛽𝑢

1 + 𝑒−𝛽𝑢 (3.25)

Gaussiana 𝑔(u) = 𝑒−(𝑢−𝑐)2𝜎2 2 (3.26)

a) Função logística b) Função tangente hiperbólica

c) Função Gaussiana d) Função linear

Figura 3.9: Funções de ativação aplicadas nos neurônios artificiais Fonte: Silva et al., 2016.

Embora também haja funções de ativação parcialmente diferenciáveis (como as funções degrau e a de rampa simétrica), todas aquelas exibidas na Figura 3.9 possuem derivadas de primeira ordem e são conhecidas em quaisquer pontos do seu domínio.

O coeficiente β das funções sigmoides (logística e tangente hiperbólica) é uma constante real associada ao nível de inclinação da função frente ao seu ponto de inflexão, de forma que, quando seu valor tende ao infinito, essas funções se aproximam de uma função degrau. Matematicamente, a principal diferença entre as funções sigmoides é que a função logística possui como imagem números reais entre 0 e 1, ao passo que a função tangente hiperbólica possui imagem entre -1 e 1. Visto que neurônios biológicos funcionam de forma binária (comando ativar ou não ativar), a função logística costuma ser uma alternativa para modelar processos não-lineares, já que assume valores apenas entre 0 (não ativação) e 1 (ativação). No entanto, nas regiões de saturação da função, onde essas derivadas tendem a zero, a propagação do gradiente é reduzida, causando dificuldades no treinamento. Nesse sentido, as funções

sigmoides melhor se aproximam da identidade e possuem menor região de saturação. Por isso, elas são as mais empregadas nas camadas intermediárias das RNA (SILVA et al., 2016). Em relação aos coeficientes da função de ativação Gaussiana, apresentada na equação (3.26)Erro! Fonte de referência não encontrada., o parâmetro “c” é responsável por definir o centro da função, enquanto “σ” indica o seu desvio padrão, cujo valor está diretamente associado ao ponto de inflexão da função. Segundo Braga et al. (2007), esta função de ativação é bastante útil em redes multicamadas, como por exemplo as redes RBF (Radial Basis

Function), uma variação das redes neurais artificiais. Nelas, a ativação de um neurônio pode

ser função da distância entre seus vetores de entrada e de peso.

A função de ativação linear, ou função identidade, produz resultados de saída idênticos aos valores do potencial de ativação {u}. Uma das aplicabilidades dessa função está na utilização de redes neurais artificiais como aproximadores universais de funções, a fim de mapear o comportamento entre variáveis de entrada e saída. Evidentemente, a aplicação indiscriminada de funções puramente lineares resulta em uma rede neural com uma única transformação linear. Para eliminar essa possibilidade, ao menos uma das camadas intermediárias de uma RNA deverá conter funções de ativação não-lineares. Sendo assim, é comum que as funções lineares sejam utilizadas na camada de saída, e outras funções, como as sigmoides, sejam utilizadas nas camadas intermediárias (BRAGA et al., 2007).