Algoritmo Silva-Almeida
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]
- ↑ «Fast Learning Algorithms» (PDF). Consultado em 30 Dezembro de 2015