• Nenhum resultado encontrado

3 MATERIAIS E MÉTODOS

3.5 Modelos

3.5.7 Redes Neurais Artificiais (RNAs)

As redes neurais artificiais são técnicas de aprendizado de máquina, onde o objetivo é programar sistemas de tal forma que eles são capazes de aprender e melhorar com a experiência

automaticamente, ou seja, é possível desenvolver um software capaz de aprender, através dos padrões a ele ensinados.

As redes neurais artificiais tentam copiar a arquitetura do cérebro humano e as ligações dos nossos neurônios biológicos (FAUSSET, 1993 e McCULLOCH & PITTS, 1943). Ela é composta por um grupo interconectado de neurônios artificiais que processa a informação com uma abordagem de conexão com a computação.

Em uma rede neural artificial, uma camada de entrada inicial (com os dados de entrada) é ligada a um ou mais do que uma camada oculta, a qual está também ligada à camada de saída (o resultado necessário) (Figura 20). A partir da informação contida em pares de entradas e saídas, contidos em um banco de dados, chamadas de amostras de treinamento, as redes neurais devem aprender e generalizar o conhecimento contido nas amostras, de forma a responder de forma adequada quando entradas não presentes no conjunto de treinamento forem apresentadas à rede.

Figura 20: Estrutura de uma RNA de três camadas, quatro entradas, três neurônios ocultos e duas saídas. Fonte: MATSUNAGA (2012).

Algoritmo Backpropagation

Perceptron multicamada (MLP) é um caso particular em que cada nó é um perceptron, e é caracterizada por um processo de back-propagação (BISHOP, 1995). A arquitetura baseia-se um

diagrama acíclico, ou seja, não é possível encontrar um ciclo entre os neurônios, onde neste diagrama, cada nó tem diferentes pesos e funções de ativação específicas que definem cada rede neural particular. Os pesos são ajustados pela própria rede. O algoritmo Backpropagation procura achar iterativamente a mínima diferença entre as saídas desejadas e as saídas obtidas pela rede neural, com o mínimo de erro, ajustando os pesos entre as camadas através da retropropagação do erro encontrado em cada iteração (Figura 21), ou seja, de acordo com Anjos et al (2015), a operação de MLP faz com que os neurônios artificiais, organizados em camadas (entrada, escondida e saída), enviam os sinais para frente, enquanto os erros se propagam para trás, permitindo que a rede aprenda com os dados analisados, melhorando assim o seu desempenho.

Figura 21: Esquema do algoritmo Backpropagation indicando propagação e retropropagação.

Fonte: MATSUNAGA, V.Y. (2012)

Implementação da função segundo Heaton (2012) citado por Anjos et al (2015): A função f : X⊂ℜ→Y⊂ℜc

é implementada:

f(x)=Φ(Ψ(x)) Φ: X⊂ℜ→T ⊂ℜp

Ψ: T⊂ℜp→Y⊂ℜc

onde X é o espaço de entrada, com uma função de ativação ψ, T representa o espaço oculto,  é a sua função de ativação, e Y é o espaço de saída. A função implementada pelo MLP pode ser expressa como (BISHOP, 1995 ; HEATON, 2012 ; MUSTAFA et al., 2012; ANJOS et al, 2015):

em que p representa o número de neurônios contidos na camada escondida, c j e c 0 são os pesos da camada oculta e w j e w 0 são os pesos da camada de entrada. Esses pesos são ajustados durante o processo de treinamento da rede neural usando os algoritmos apropriados (BISHOP, 1995; ANJOS et al, 2015).

A principal vantagem em se usar o Backpropagation é que o mesmo trabalha com multicamadas e resolve problemas “não-linearmente separáveis” e alguns algoritmos não resolvem. Um problema “não-linearmente separável” é aquele onde não poderemos separar duas classes distintas no eixo cartesiano bidimensional apenas traçando uma reta.

Nas RNA temos os neurônios e pesos. Os neurônios armazenam os valores que serão calculados para definição dos pesos, onde estes pesos são a “chave” para funcionamento de toda RNA, é pelo peso que a RNA consegue identificar um objeto e suas características.

A modelagem pelas redes neurais artificiais (RNAs) está apresentada no capítulo 4 no subitem 4.4. Para o desenvolvimento das RNAs multicamadas na previsibilidade de grãos de trigo, foi utilizado o Neural Network Toolbox do software Matlab. As redes foram treinadas com o algoritmo backpropagation e a função de treinamento Levemberg-Merquadt (trainlm). Para a ativação da camada de entrada, camada escondida e camada de saída foram usada a função tan- sigmoide (tansig). Para a arquitetura da RNA, os dados amostrais foram divididos aleatoriamente em 70% para o treinamento (banco de dados com 128 amostras), 15% para teste e 15% para validação (Figura 22).

Foram treinadas 10 redes com 3 camadas (camada de entrada, camada escondida e camada de saída). A camada de entrada foi composta de 5 neurônios, a camada escondida de 5 a 10 neurônios, fazendo-se incremento de 1 em 1 e a camada de saída com 1 neurônio (Figura 23). Para representar a arquitetura da rede foi utilizada a notação “NE-NCE-NS”, sendo NE=número de

variáveis de entrada, NCE= número de neurônios da camada escondida e NS= número de neurônios da camada de saídas.

Figura 22. Processo de treinamento da RNA.

Figura 23. Treinamento da RNA.

Para o treinamento e validação das RNAs, foram utilizados os valores da produtividade de grãos de trigo, obtidos nos anos de 2014 e 2015, no experimento a campo. O processo de treinamento foi concluído quando a diferença entre os valores médios da produtividade de grãos do efeito cumulativo dos anos obtidos a campo e os simulados pelas RNAs foi o menor possível. Na sequência, foi feita a validação para o efeito cumulativo dos anos, sendo que as saídas ficaram dentro do intervalo de confiança, a 5% de probabilidade de erro.

As variáveis de entrada utilizadas pela rede neural artificial formam: doses de N-fertilizante (0, 30, 60 e 120 kg ha-1), estádios de desenvolvimento do trigo (30, 60, 90 e 120 dias),

produtividade biológica a cada estádio, precipitação pluviométrica acumulada a cada estádio e temperatura máxima média acumulada a cada estádio. A variável de saída foi à produtividade de grãos de trigo de cada ano de cultivo em distintos sistemas de sucessão. Os dados de saída de rede neural formam padronizados para o intervalo de -1 a 1, pelo processo de normalização dos dados,

expresso pela seguinte equação:

1 min max ) min ( 2     p p p p

pn , em que: pn é o valor normalizado,

adimensional; p é o valor de produtividade de grãos observado; minp é o mínimo valor de produtividade de grãos da amostra; e maxpo valor máximo de produtividade de grãos da amostra.

Documentos relacionados