Utilizacao
Treinamento de Redes Neurais
Roberto Menezes
Universidade Federal de Sergipe
Graduacao
em Engenharia Eletrica
Programa de Pos
29 de setembro de 2014
roberto.menezess@ymail.com (UFS)
Algoritmo Levenberg-Marquardt
29 de setembro de 2014
1 / 23
Introducao
metodo
de mnimos quadrados.
intermediario
insere as limitacoes
uma tecnica
hbrida para muitas aplicacoes.
roberto.menezess@ymail.com (UFS)
Algoritmo Levenberg-Marquardt
29 de setembro de 2014
2 / 23
convergencia
e lenta.
objetivo decresce a cada iteracao.
wi +1 = wi e(wi )
roberto.menezess@ymail.com (UFS)
Algoritmo Levenberg-Marquardt
29 de setembro de 2014
3 / 23
Algoritmo Levenberg-Marquardt
29 de setembro de 2014
4 / 23
atraves
do gradiente:
Passo 2: Calcular a direcao
e(wi )
e(wi ) e atualizar w:
Passo 3: Determinar o melhor passo i na direcao
wi +1 = wi i e(wi )
roberto.menezess@ymail.com (UFS)
Algoritmo Levenberg-Marquardt
29 de setembro de 2014
5 / 23
roberto.menezess@ymail.com (UFS)
Algoritmo Levenberg-Marquardt
29 de setembro de 2014
6 / 23
roberto.menezess@ymail.com (UFS)
Algoritmo Levenberg-Marquardt
29 de setembro de 2014
7 / 23
Algoritmo Gauss-Newton
quadratica
que faz ele muito rapido.
Por outro lado a convergencia
desse
metodo
depende fortemente da escolha dos valores dos pesos iniciais.
roberto.menezess@ymail.com (UFS)
Algoritmo Levenberg-Marquardt
29 de setembro de 2014
8 / 23
Algoritmo Gauss-Newton
roberto.menezess@ymail.com (UFS)
Algoritmo Levenberg-Marquardt
29 de setembro de 2014
9 / 23
Algoritmo Gauss-Newton
Gauss-Newton
Passo 1: Escolher um ponto inicial w0 , (na ordem de 105 ) e inicializar
(i = 1);
o numero
de iteracoes
atraves
do gradiente:
Passo 2: Calcular a direcao
e(wi )
Passo 3: Calcular a matriz Hessiana:
2 e(wi )
Passo 4: Atualizar w:
wi +1 = wi (2 e(wi ))1 e(wi )
roberto.menezess@ymail.com (UFS)
Algoritmo Levenberg-Marquardt
29 de setembro de 2014
10 / 23
Algoritmo Gauss-Newton
Gauss-Newton
roberto.menezess@ymail.com (UFS)
Algoritmo Levenberg-Marquardt
29 de setembro de 2014
11 / 23
do Algoritmo Gauss-Newton
Aplicacao
f (x1 , x2 ) = x1 x2 + 2x12 + 2x1 x2 + x22
Funcao:
roberto.menezess@ymail.com (UFS)
Algoritmo Levenberg-Marquardt
29 de setembro de 2014
12 / 23
do Algoritmo Gauss-Newton
Aplicacao
f (x1 , x2 ) = (1 x1 )2 + 10(x2 x12 )2
Funcao:
roberto.menezess@ymail.com (UFS)
Algoritmo Levenberg-Marquardt
29 de setembro de 2014
13 / 23
Algoritmo Levenberg-Marquardt
regiao.
dos pesos, como proposta por Levenberg e:
roberto.menezess@ymail.com (UFS)
Algoritmo Levenberg-Marquardt
29 de setembro de 2014
14 / 23
Algoritmo Levenberg-Marquardt
leva em consideracao
tanto a inclinacao
do Gradiente
Caso contrario,
o metodo
de Gauss-Newton predomina e a atualizacao
roberto.menezess@ymail.com (UFS)
Algoritmo Levenberg-Marquardt
29 de setembro de 2014
15 / 23
Algoritmo Levenberg-Marquardt
do gradiente
Desta maneira, o valor de w ira caminhar mais na direcao
`
quanto mais distante ele estiver do ponto mnimo. Ao chegar as
proximidades dele, o algoritmo de Gauss-Newton sera predominante.
roberto.menezess@ymail.com (UFS)
Algoritmo Levenberg-Marquardt
29 de setembro de 2014
16 / 23
Algoritmo Levenberg-Marquardt
Levenberg-Marquardt
Passo 1: Escolher um ponto inicial w0 , 0 (na ordem de 104 ), c1
(0 < c1 < 1), c2 (c2 > 1), (na ordem de 105 ) e inicializar o numero
de
(i = 1);
iteracoes
atraves
do gradiente:
Passo 2: Calcular a direcao
e(wi )
Passo 3: Calcular a matriz Hessiana:
2 e(wi )
roberto.menezess@ymail.com (UFS)
Algoritmo Levenberg-Marquardt
29 de setembro de 2014
17 / 23
Algoritmo Levenberg-Marquardt
Levenberg-Marquardt
Passo 5: Atualizar w:
wi +1 = wi (2 e(wi ) + I )1 e(wi )
Passo 6: Comparar e(wi +1 ) com e(wi ). Se e(wi +1 ) < e(wi ) ir para o
ir para o Passo 8;
Passo 7. Se nao,
Passo 7: Atualizar i +1 = c1 i , i = i + 1 e va para o Passo 2;
Passo 8: Atualizar i = c2 i e va para o Passo 5;
roberto.menezess@ymail.com (UFS)
Algoritmo Levenberg-Marquardt
29 de setembro de 2014
18 / 23
do Algoritmo Levenberg-Marquardt
Aplicacao
f (x1 , x2 ) = x1 x2 + 2x12 + 2x1 x2 + x22
Funcao:
roberto.menezess@ymail.com (UFS)
Algoritmo Levenberg-Marquardt
29 de setembro de 2014
19 / 23
do Algoritmo Levenberg-Marquardt
Aplicacao
f (x1 , x2 ) = (1 x1 )2 + 10(x2 x12 )2
Funcao:
roberto.menezess@ymail.com (UFS)
Algoritmo Levenberg-Marquardt
29 de setembro de 2014
20 / 23
roberto.menezess@ymail.com (UFS)
Algoritmo Levenberg-Marquardt
29 de setembro de 2014
21 / 23
seja consideravel
mesmo quando o gradiente e bem pequeno:
wi +1 = wi (2 e(wi ) + diag [2 e(wi )])1 e(wi )
roberto.menezess@ymail.com (UFS)
Algoritmo Levenberg-Marquardt
29 de setembro de 2014
22 / 23
Fim
roberto.menezess@ymail.com (UFS)
Algoritmo Levenberg-Marquardt
29 de setembro de 2014
23 / 23