• Nenhum resultado encontrado

2.3 Análise de Regressão

2.3.4 Redes Neurais Multi-layer Perceptron (MLP)

O cérebro pode ser interpretado como um “computador” altamente complexo, não linear e paralelo (Haykin 1999). Dentre suas habilidades está uma impressionante flexibilidade, que reflete na sua capacidade de aprendizado e associação. O estudo das redes neurais artificiais (RNAs) tem sido motivado pela riqueza no processamento de informações realizado pelo cérebro humano, o qual se dá de forma totalmente diferente daquela empregada pelo computador digital convencional.

As RNAs são modelos que procuram reproduzir, de alguma forma e com algumas simplificações, o funcionamento do processamento cerebral humano. Essa modelagem é usualmente realizada através de programação de um computador digital, mas também são encontradas implementações na forma de hardware específicos, com componentes eletrônicos. Haykin (1999) apresenta a seguinte definição:

Uma rede neural é um computador maciçamente paralelamente distribuído constituído de unida- des de processamento simples, que tem a propensão natural para armazenar conhecimento experi- mental e torná-lo disponível para o uso. Ela se assemelha ao cérebro em dois aspectos:

1. O conhecimento é adquirido pela rede a partir de seu ambiente através de um processo de apren- dizagem.

2. Forças de conexão entre neurônios, conhecidas como pesos sinápticos são utilizadas para arma- zenar o conhecimento adquirido.

O procedimento utilizado para realizar o processo de aprendizagem é chamado de algoritmo de aprendizagem, cuja função é modificar os pesos sinápticos da rede de uma forma ordenada para alcançar um objetivo de projeto desejado (Haykin 1999).

40 Conceitos e Metodologias

A unidade básica de processamento da RNA é o neurônio. Ele pode ser representado por um diagrama de blocos conforme a Figura2.2.

Figura 2.2: Representação do neurônio em uma RNA. O neurônio é constituído de três elementos básicos (Haykin 1999):

1. um conjunto de sinapses ou elos de conexão, sendo cada sinapse caracterizada por um peso. Cada peso define a força de cada sinal de entrada;

2. um somador para processar os sinais de entrada, ponderados pelas respectivas sinapses do neurônio. Essas operações constituem uma combinação linear; e

3. uma função de ativação para restringir a amplitude de saída do neurônio.

Em termos matemáticos: uk =Pn j=1wkj · xj vk = uk+ bk yk = f (vk) (2.4)

ondex1, ..., xn são os sinais de entrada; wk1, ..., wknsão os pesos sinápticos do neurônio k; uk é a saída do combinador linear devido aos sinais de entrada; bk é o bias, que é o termo constante;f é a

função de ativação; eyké a saída do neurôniok.

A rede neural é o resultado da conexão de neurônios, e a sua arquitetura é usualmente dividida em camadas. As camadas extremas são chamadas de camadas de entrada e saída. As demais camadas intermediárias são chamadas de camadas ocultas. A Figura2.3 ilustra uma RNA com uma camada oculta.

Este trabalho utilizou a RNA do tipo Perceptron de Múltiplas Camadas (MLP) para análise de regressão. Durante o desenvolvimento das redes neurais, houve propostas diferentes para o elemento

2.3 Análise de Regressão 41

Figura 2.3: Exemplo de arquitetura de uma RNA.

básico de aprendizagem – o neurônio. O perceptron, base para o modelo MLP, consiste de um único neurônio com pesos sinápticos ajustáveis e bias, da forma como ilustrado na Figura 2.2 (Haykin 1999).

As RNAS do tipo MLP têm sido aplicadas com sucesso para resolver diversos problemas difíceis, através do seu treinamento de forma supervisionada, com um algoritmo conhecido como algoritmo de retropropagação de erro (error back-propagation). Este algoritmo é baseado na regra de aprendi- zagem por correção de erro.

Basicamente, a aprendizagem por correção de erro consiste de dois passos através das diferentes camadas da rede: um passo para frente, a propagação, e um passo para trás, a retropropagação. No primeiro passo, o vetor de entrada é aplicado aos nós sensoriais (de entrada) da rede e seu efeito se propaga através da rede, camada por camada. Essa propagação produzirá um conjunto de saídas como a resposta da rede. O passo para trás ajusta os pesos sinápticos de acordo com uma regra de correção de erro. Especificamente, a resposta real da rede (saída) é subtraída da resposta desejada (alvo) para produzir um sinal de erro. Esse sinal é então propagado para trás através da rede (retropropagação do erro).

O procedimento descrito no parágrafo anterior é considerado um dos paradigmas de aprendizagem das RNAs, o aprendizado supervisionado. O aprendizado supervisionado é popularmente conhecido como aprendizado com um professor, tendo este o conhecimento sobre o ambiente. O conhecimento

42 Conceitos e Metodologias

é, do ponto de vista prático, um conjunto de entradas e saídas. Cada vetor de entrada corresponde a uma linha da matriz X e possui a saída correspondente y, que é usada para a produção do sinal de erro anteriormente descrito.

O algoritmo de retropropagação é apresentado de forma bastante didática em Haykin (1999). Para este trabalho, julga-se importante salientar apenas que esse algoritmo atualiza os pesos dos neurônios em um processo iterativo, buscando a minimização de uma função de erro, correspondente ao erro médio quadrático (MSE), a ser apresentado na próxima seção. Pode ser modelado como um problema de otimização não linear irrestrita, e resolvido por uma das abordagens para a solução de problemas de otimização não linear (Bazaraa et al. 2006). Dentre eles, cabe destacar o algoritmo de Levenberg-Marquardt, conhecido como um dos mais eficientes para treinamento de redes neurais (Bazaraa et al. 2006).

As RNAs do tipo MLP são consideradas aproximadoras universais, uma vez que se consegue provar que o perceptron de múltiplas camadas com apenas uma camada oculta atende o Teorema da Aproximação Universal. Entretanto, esse é um teorema existencial, e não conclui que a única camada oculta é ótima no sentido de número de neurônios, tempo de aprendizagem, facilidade de implementação ou, mais importante, capacidade de generalização (Haykin 1999).

A generalização está associada à capacidade da RNA se adaptar às novas situações, apresentando respostas consistentes com as esperadas. O processo de aprendizagem da RNA MLP pode ser visto como um problema de ajuste de curva, e uma RNA bem projetada produzirá um mapeamento ade- quado. Entretanto, quando uma RNA aprende um número excessivo de exemplos de entrada-saída, a rede pode acabar memorizando dados de treinamento, e ficar sobre-ajustada (overfitting) a esse conjunto. A Figura2.4ilustra duas possíveis saídas para uma RNA.

Figura 2.4: Desempenho esperado (a) e sobre-ajustado (b) de RNAs (baseado em: Haykin 1999). Uma forma muito utilizada para verificar se a RNA está efetuando boa generalização é a divisão do

2.3 Análise de Regressão 43

conjunto de entrada-saída em conjunto de treinamento e conjunto de teste. O primeiro é utilizado para o treinamento da rede, enquanto que o segundo é utilizado para avaliar a capacidade de generalização da RNA, e corresponde, portanto, a um conjunto de dados não apresentado para o treinamento da rede. Adicionalmente, pode-se utilizar um terceiro conjunto, o de validação. Ele é utilizado como critério de parada na etapa de treinamento, que ocorre quando o erro médio nesse conjunto começa a aumentar (indicando que a rede está se ajustando demais aos dados, e que a capacidade de generalização pode estar piorando).