As redes neurais artificiais são sistemas paralelos distribuídos compostos por unidades de processamento simples (nodos) que calculam determinadas funções matemáticas (normalmente não- lineares). Tais unidades são dispostas em uma ou mais camadas e interligadas por um grande número de conexões, geralmente unidirecionais. Na maioria dos modelos estas conexões estão associadas a pesos. Os quais armazenam o conhecimento representado no modelo e servem para ponderar a entrada recebida por cada neurônio da rede.
Muitos modelos de redes neurais artificiais têm sido propostos e todos possuem um bloco de construção comum conhecido como neurônio e uma estrutura de interconexão em rede. Hu e Hwang (2002) apresenta o modelo de neurônio mais amplamente utilizado, baseado no trabalho de MacCulloch e Pitts e ilustrado na Figura 2.32.
Figura 2.32 – Modelo de neurônio de MacCulloch e Pitts. Fonte: HU, HWANG, 2002.
Cada neurônio consiste de duas partes: a função de rede e a função de ativação. A função de rede determina como as entradas de rede (yi para i = 1 ... N) são combinadas dentro do neurônio. Na Figura 2.32, uma combinação linear ponderada é adotada:
ݑ ൌ σேୀଵݓݕ ߠ (2.26)
onde (wj; 1 ≤ j ≤ N) são parâmetros conhecidos como pesos sinápticos. A quantidade θ é chamada de limiar de excitação (threshold). Outros tipos de combinação das entradas de rede têm sido propostos. A saída do neurônio, na figura indicada por ai, é relacionada à entrada da rede ui por uma transformação não-linear ou linear chamada função de ativação.
Uma série de funções de ativação pode ser utilizada e algumas são apresentadas na Figura 2.33.
Figura 2.33 – Exemplos de funções de ativação usadas no Matlab®: a) purelin, b) tansig, c) hardlim, d) logsig. Fonte: DEMUTH, BEALE, 1992-2000.
Para este trabalho as funções de ativação a serem mais detalhas são as funções linear e tangente hiperbólica. No caso da função linear (purelin) a saída do neurônio ai é obtida pela multiplicação de um escalar ε pela entrada ui apresentada na equação (2.27).
ܽୀߝǤ ݑ (2.27)
No caso da função hiperbólica (tansig), pode ser usada como um função de ativação não linear. É facilmente definida como a razão entre o seno hiperbólico e o cosseno hiperbólico. Apresenta sua saída no intervalo entre -1 e 1 e é apresentada na equação (2.28).
ܽ ൌ௦ሺ௨ୡ୭ୱ୦ሺ௨ሻሻൌ ೠೠିାషೠషೠ (2.28)
A construção de uma rede neural artificial, ou a definição da arquitetura de uma rede neural artificial é muito importante, pois define a extensão atuação da rede e limita o uso da mesma para alguns tipos de entradas. Braga et al (2000) apresenta alguns exemplos de arquiteturas na Figura 2.34 e define as redes com relação ao número de camadas, tipo de conexões e sua conectividade.
Figura 2.34 – Arquiteturas de redes neurais artificiais. Fonte: BRAGA et al., 2000.
Quanto ao número de camadas, pode-se ter:
(1) redes de camada única: só existe um nó entre qualquer entrada e qualquer saída da rede (Figura 2.34 a, e);
(2) redes de múltiplas camadas: existe mais de um neurônio entre alguma entrada e alguma saída da rede (Figura 2.34 b, c, d);
As conexões podem ser do tipo:
(1) feedforward, ou acíclica: a saída de um neurônio na i-ésima camada da rede não pode ser usada como entrada de nodos em camadas de índice menor ou igual a i (Figura 2.34 a, b, c);
(2) feedback, ou cíclica: a saída de algum neurônio na i-ésima camada da rede é usada como entrada de nodos em camadas de índice menor ou igual a i (Figura 2.34 d, e).
As redes neurais artificiais podem também ser classificadas quanto à sua conectividade:
(1) rede fracamente (ou parcialmente) conectada (Figura 2.34 b. e, d): (3) rede completamente conectada (Figura 2.34 a. e).
A elaboração de um modelo neural inicia-se pela fase de aprendizado da rede neural artificial onde um conjunto de informações é utilizado pela rede para identificar padrões de comportamento. Esta capacidade da rede de aprender a partir dos estímulos do ambiente e de melhorar seu desempenho é uma de suas mais interessantes propriedades. Este processo de aprendizagem é realizado de forma iterativa ajustando os pesos das sinapses e seu limiar de excitação (thresholds). Uma vez encontrados estes padrões, ou o modelo neural, os mesmos são usados posterirormente para gerar respostas para novas entradas da rede.
As regras utilizadas para solução de um problema de aprendizagem são chamadas de algoritmo de aprendizagem. Existem diversos algoritmos de aprendizagem, cada um com suas funções específicas, suas vantagens e desvantagens. Basicamente, estes diferem uns dos outros pela forma como ajustam os pesos das sinapses.
Conforme Gavin (2011), o método ou algoritmo de Levenberq-Marquadt é a técnica padrão mais utilizada para resolver problemas de mínimos quadrados não lineares e será o algoritmo a ser descrito neste trabalho. Problemas de mínimos quadrados surgem quando se ajusta uma função a uma série de dados minimizando o somatório dos quadrados dos erros entre os dados desejados e os dados ajustados.
Considerando di(n) a resposta desejada para o neurônio i no tempo n e o valor correspondente da resposta (saída) deste neurônio como ai(n), esta resposta é produzida por um estímulo aplicado na entrada da rede neural no qual o neurônio i está presente. O vetor de entrada e a resposta desejada di(n) constituem uma amostra particular apresenta à rede no tempo n. Tipicamente a resposta ai(n) do neurônio i difere do valor desejado e um erro pode ser definido conforme a equação (2.29).
݁ሺ݊ሻ ൌ ݕሺ݊ሻ െ ݀ሺ݊ሻ (2.29)
Quando a função ajustada não é linear em seus parâmetros surgem os problemas de mínimos quadrados não lineares. Os métodos de mínimos quadrados não lineares envolvem a melhoria dos parâmetros da função de forma iterativa com o objetivo de reduzir o somatório dos mínimos quadrados dos erros. O método de Levenberq-Marquadt é uma combinação de dois métodos de minimização: o método de gradiente descendente e o método de Gauss- Newton, cujas apresentações de equações não compõem o escopo deste texto. No primeiro método, o somatório dos erros quadráticos é reduzido alterando os parâmetros na direção da maior redução do objetivo de mínimos quadrados, no segundo, o somatório dos erros
quadráticos é reduzido assumindo que a função de mínimos quadrados é quadrática localmente e encontrando o mínimo desta.
O método de Levenberq-Marquadt age mais como um método de gradiente descendente quando os parâmetros estão distantes dos valores ótimos e, mais como método de Gauss-Newton quando os parâmetros estão pertos dos valores ótimos. Isto contribui para evitar problemas de falha do método de Gauss-Newton e a convergência lenta do método de gradiente descendente.
Uma vez apresentadas as ferramentas a serem utilizadas na exploração dos dados e na elaboração de um modelo para as interações entre as variáveis inicia-se uma nova etapa de apresentação da metodologia empregada e como estas ferramentas são sequencialmente utilizadas e, posteriormente, os resultados obtidos.
3. METODOLOGIA