Algoritmo Silva-Almeida

Origem: Wikipédia, a enciclopédia livre.

No âmbito da Redes Neuronais Artificiais (RNA), o algoritmo Silva-Almeida é um algoritmo metaheurístico que se utiliza para acelerar a convergência durante o processo de Backpropagation numa RNA[1]. É uma modificação do método do gradiente.

Formulação[editar | editar código-fonte]

Este método, dentro de certas condições, tem convergência garantida. Consiste, essencialmente, em modificar step size parameter, η, a cada iteração e de cada peso dos ramos do perceptrão multicamada, dependendo da variação do gradiente da função de custo.

A equação para a atualização de η:

Onde o sobrescrito indica o número da iteração. Os parâmetros a serem definidos para o método são .

Estes indicam se o tamanho do passo do algoritmo deve diminuir d (down) ou aumentar u (up).

Funcionamento[editar | editar código-fonte]

Com uma simples análise a fórmula que calcula o step size parameter a cada iteração repara-se que, se o gradiente tiver a mesma direção duas iterações consecutivas, então, deseja-se que o algoritmo acelere e prossiga nessa direção mais rapidamente. Caso contrário, em duas iterações seguidas, o gradiente mudar de direção, vamos querer que o método abrande pois podemos estar perto de uma região que force a divergência do algoritmo.

Valores típicos,

Referências[editar | editar código-fonte]

  1. «Fast Learning Algorithms» (PDF). Consultado em 30 Dezembro de 2015