• Nenhum resultado encontrado

Configuração da RNA MLP com AG

No documento Download/Open (páginas 52-54)

5. MATERIAIS E MÉTODOS

5.2. Modelo Proposto para Preenchimento de Falhas

5.2.9. Configuração da RNA MLP com AG

Nesta fase, o algoritmo genético foi aplicado juntamente com a RNA MLP para definir as variáveis estimadoras de cada conjunto de dados a ser estimado, e também para fixar seus principais parâmetros.

Dentro deste contexto, o AG foi responsável por realizar diversas combinações avaliando a cada momento o conjunto de dados de treinamento e os parâmetros fixados para RNA do tipo MLP. Similar ao uso feito por Ventura (2012), o AG foi utilizado para determinar o conjunto de dados para treinamento e validação, função da primeira camada intermediária, função da segunda camada intermediária, algoritmo de treinamento, taxa de aprendizagem, taxa de momentum e um fator de auxílio ( ) para ajuste da rede, que aumenta o conjunto de dados de treinamento através da inserção de um conjunto genérico obtido pela média dos dados utilizados no treinamento.

Desta maneira, cada cromossomo ou indivíduo de uma população de um AG foi então codificado em 14 bits (Figura 21).

Os 5 bits iniciais pertencentes a (a) estão associados às variáveis pertencentes a cada uma das estações que podem ser utilizadas no preenchimento de uma falha. Por exemplo, se este modelo estivesse sendo executado para preencher uma falha na variável de umidade relativa do ar pertencente a estação de Campos dos Goytacazes, então esses cinco bits indicam se devem ou não utilizar os dados de umidade relativa do ar das regiões de Paty do Alferes, Cordeiro, Itaperuna, Resende e Rio de Janeiro. Isso é conseguido por meio da configuração binária, em que cada gene que possui o valor igual a 1 identifica que o conjunto de dados pertencentes a uma estação x está ativo e deve ser utilizado, e o valor 0 identifica que esta inativo e deve ser ignorado.

A parte do cromossomo pertencente a (b) e (c) identifica qual será a função aplicada na primeira e na segunda camada intermediária. Esses bits permitem a escolha entre quatro tipos de função de ativação, apresentadas a seguir (MATHWORKS, 2014):

Função de ativação degrau ou Saturating linear transfer function (bits 11) :

(9) Figura 21: Exemplo de cromossomo adotado para configurar a RNA.

37  Função Linear ou Linear transfer function (bits 0 0):

(9.1)

Função Logística ou Log-sigmoid transfer function (bits 1 0):

(9.2)

Função Tangente Hiperbólica ou Hyperbolic tangent sigmoid transfer function (bits 0 1):

(9.3)

O espaço pertencente a (d) tem a responsabilidade de fazer a escolha entre os tipos de treinamento, podendo optar pelo algoritmo Back-propagation ou por suas variações, como MATHWORKS (2014):

Gradient descent Back-propagation - traingd (0 1): Esse algoritmo foi descrito na literatura, seu treinamento atualiza os pesos e os valores de bias da RNA de forma contrária ao valor do gradiente.

Quasi-Newton Back-propagation - trainbfg (1 0): Diferente do método de Newton que é uma alternativa ao método do gradiente conjugado, possuindo uma convergência mais rápida, no entanto mais complexa. Esse algoritmo atualiza os pesos e o valor do bias de acordo com o método de Quasi-Newton que é baseado no método de Newton, mas não exige o cálculo da segunda derivada (HAGAN; MENHAJ, 1994).

Resilient Back-propagation - RProp - trainrp (0 0): Esse algoritmo oferece uma convergência rápida e geralmente mais eficaz, se tratando de escapar de pontos mínimos locais. A propagação resiliente é um eficiente esquema de aprendizagem que realiza uma adaptação direta do peso, com base em informações locais do gradiente (RIEDMILLER; BRAUN, 1993). Seu objetivo é eliminar os efeitos negativos das magnitudes das derivadas parciais na definição do ajuste dos pesos. Segundo (BRAGA; CARVALHO; LUDEMIR, 2012), essa influência negativa ocorre quando a saída de um neurônio for próxima de 0 e a saída desejada for 1. Logo, a derivada será próxima de 0 fazendo com que o ajuste dos pesos deste neurônio receba um valor mínimo. Sendo assim, o RProp elimina esse problema utilizando apenas o sinal da derivada, para indicar a direção do ajuste dos pesos e não o seu valor .

Levenberg-Marquardt Back-propagation - trainlm (1 1): Da mesma forma que o algoritmo de Back-propagation é baseado no método do gradiente descendente, o Levenberg-Marquardt é uma aproximação do método de Newton, feito através de

38 melhorias no método de Gauss-Newton por meio da utilização de uma taxa de aprendizado variável. Esse algoritmo pode convergir de forma rápida, porém demanda de uma grande quantidade de memória e de alta complexidade computacional (HAGAN; MENHAJ, 1994).

Já a taxa de aprendizado e de momentum adotadas são obtidas através dos bits de (e). A taxa de aprendizado pode variar entre 0,01 até 0,86, e a taxa de momentum é obtida por meio de uma multiplicação em cima dos valores da taxa de aprendizado. Os multiplicadores podem variar entre 0.8, 0.15, 0.12 e 0.10 conforme a escolha dos bits (1 0), (0 0), (1 1) e (0 1). Já o último bit identificado por (f) tem a finalidade de criar um fator de auxílio ( ) para ajuste da rede, que aumenta o conjunto de dados de treinamento através da inserção de um conjunto genérico obtido pela média dos dados utilizados no treinamento.

Outros fatores importantes dessa metodologia, como a configuração do algoritmo genético, foram fixados em 40 indivíduos, número máximo de gerações igual a 60, uso do elitismo para propagar cerca de 15 indivíduos com avaliações altas para próxima geração, sorteio aleatório de 5 indivíduos com avaliações baixas para propagar para próxima geração, a fim de evitar que características genéticas contidas apenas em um indivíduo de baixa aptidão sejam perdidas, criando uma população sem diversidade com indivíduos semelhantes.

Além desses parâmetros, o AG ainda utilizou o método de torneio com seu tamanho fixado em 5, tanto para escolha do primeiro pai quanto para escolha do segundo pai, e operador de crossover de dois pontos para geração dos novos indivíduos.

A função objetivo do AG se deu pela minimização do erro global absoluto. Essa função foi calculada criando-se, primeiramente, uma RNA com os parâmetros definidos por um individuo a ser avaliado. Após o treinamento dessa rede, avalia-se a aptidão da mesma através da estimação do conjunto de dados de validação. A minimização do valor originado pela soma das diferenças entre os valores estimados e os esperados para o conjunto de dados de validação é a função objetivo.

No documento Download/Open (páginas 52-54)

Documentos relacionados