Otimização. Estrutura Introdução Métodos baseados no gradiente – Método de Newton –...

Post on 18-Apr-2015

129 views 0 download

Transcript of Otimização. Estrutura Introdução Métodos baseados no gradiente – Método de Newton –...

Otimização

Estrutura

• Introdução

• Métodos baseados no gradiente– Método de Newton– Método de Gauss-Newton– Método de Steepest Decent– Método de Levenberg-Marquardt

• Métodos Heurísticos– Simulated Annealing– Método das Formigas

Introdução

1

1

NNd

d

d

1

1

)(

)(

)(

NN pg

pg

pg

dadosobservados

dadospreditos

1

1

MMp

p

p

parâmetros

Introdução

1

1

NNd

d

d

1

1

)(

)(

)(

NN pg

pg

pg

dadosobservados

dadospreditos

)]([)]([)( pgdpgdp T

norma L2(função escalar)

1

1

MMp

p

p

parâmetros

Introdução

1

1

NNd

d

d

1

1

)(

)(

)(

NN pg

pg

pg

dadosobservados

dadospreditos

)]([)]([)( pgdpgdp T

norma L2(função escalar)

1* 0)( Mp

1

1

MMp

p

p

parâmetros

Introdução

1

1

NNd

d

d

1

1

)(

)(

)(

NN pg

pg

pg

dadosobservados

dadospreditos

)]([)]([)( pgdpgdp T

norma L2(função escalar)

1* 0)( Mp

1

1

MMp

p

p

parâmetros Problema linear

Problema não-linear

Introdução

1

1

NNd

d

d

1

1

)(

)(

)(

NN pg

pg

pg

dadosobservados

dadospreditos

)]([)]([)( pgdpgdp T

norma L2(função escalar)

1* 0)( Mp

1

1

MMp

p

p

parâmetros Problema linear

Problema não-linear

Introdução

1

1

NNd

d

d

1

1

)(

)(

)(

NN pg

pg

pg

dadosobservados

dadospreditos

)]([)]([)( pgdpgdp T

norma L2(função escalar)

1* 0)( Mp

1

1

MMp

p

p

parâmetros

bpBpg )(

][1

* bdBBBpTT

bpBpg )(

)]([)()()( 00

1

00 pgdpGpGpGp TT

Problema linear

Problema não-linear

Introdução)(p

2p

1p

Problema linear

Introdução)(p

2p

1p

mínimo

Introdução)(p

2p

1p

*p

O mínimo pode ser calculado diretamente

Introdução)(p

2p

1p

0p

0p

Ou a partir de uma aproximação

inicial

Introdução)(p

2p

1p

0p

0p

p

Introdução)(p

2p

1p

0p

0p

p*p

Nesse caso, o mínimo é

encontrado com apenas um

“passo” a partir da aproximação

inicial

Introdução

2p *p

1p

0p

0p

)(p

Por outro lado, em um problema não-linear, o mínimo é encontrado após

sucessivos “passos” a partir de uma

aproximação inicial

Introdução

2p *p

1p

)(p

Introdução

2p *p

1p

)(p

Introdução

2p *p

1p

)(p

2p

1p

Curvas de nível

Introdução

2p

1p

Aproximação inicial

Introdução

2p

1p

Introdução

2p

1p

Introdução

2p

1p

Introdução

2p

1p

Estimativa do ponto mínimo obtida após a

otimização

Introdução

2p

1p A partir de um determinado ponto,

é necessário estabelecer uma

direção e o comprimento do passo que será

dado

Introdução

2p

1p

Introdução

2p

1p

Introdução

2p

1p

Direção

Introdução

2p

1p

Tamanho do passo

Introdução

Existem dois grupos principais de métodos para estimar o mínimo

de uma função:

Introdução

Existem dois grupos principais de métodos para estimar o mínimo

de uma função:

Métodos que se baseiam no gradiente da função

Métodos Heurísticos

Introdução

• Métodos baseados no gradiente– Método de Newton– Método de Gauss-Newton– Método de Steepest Decent– Método de Levenberg-Marquardt

• Métodos Heurísticos– Simulated Annealing– Método das Formigas

Métodos baseados no gradiente

)(p

Métodos baseados no gradiente

)(p

pppppppp TT )(2

1)()()( 0000

Métodos baseados no gradiente

)(p

pppppppp TT )(2

1)()()( 0000

)()( 00 ppp

Métodos baseados no gradiente

)(p

pppppppp TT )(2

1)()()( 0000

)()( 00 ppp

Diferença entre os métodos

Métodos baseados no gradiente

)(p

pppppppp TT )(2

1)()()( 0000

)()( 00 ppp

Diferença entre os métodos

)( 0p

)( 0p

1

)( 0p

Newton

Gauss - Newton

Steepest Decent

Levenberg - Marquardt

Métodos baseados no gradiente

Vamos às contas!

Métodos baseados no gradiente

Método Convergência

Steepest Decent 0

Levenberg - Marquardt 1

Gauss - Newton 2

Newton 3

0 – lento 3 – rápido

Métodos baseados no gradiente

Método Aproximação inicial

Steepest Decent Pode ser distante

Levenberg - Marquardt Pode ser distante

Gauss - Newton Deve ser próxima

Newton Deve ser próxima

Métodos baseados no gradiente

Método Direção

Steepest Decent É a do gradiente

Levenberg - Marquardt Entre a do gradiente e a do produto hessiana-gradiente

Gauss - Newton Predita pelo produto hessiana-gradiente

Newton Predita pelo produto hessiana-gradiente

Métodos baseados no gradiente

Método Tamanho do passo

Steepest Decent Depende de um parâmetro e do gradiente

Levenberg - Marquardt Depende de um parâmetro, do gradiente e da hessiana

Gauss - Newton Depende do gradiente e da hessiana

Newton Depende do gradiente e da hessiana

Métodos baseados no gradiente

Método Custo computacional

Steepest Decent 0

Levenberg - Marquardt 2

Gauss - Newton 1

Newton 3

0 – baixo 3 – alto

Métodos Heurísticos(Simulated Annealing)

temp_inicial, temp_final, kappa, itmax, pinferior, psuperior, pinicial

iteracao = 0, p1 = pinicial, calcula f(p1), fminimo = f(p1), pminimo = p1

temperatura = temp_inicial

FAÇA {

• iteracao = iteracao + 1• sorteia p2, calcula f(p2)• SE [f(p2) < fminimo] fminimo = f(p2), pminimo = p2

• probabilidade de sobrevivência ps• SE [f(p2) < f(p1)] ps = 1• SE [f(p2) ≥ f(p1)] ps = exp {[f(p1) - f(p2)]/temperatura}

• SE{(ps = 1) OU [(ps ≠ 1) E (moeda ≤ ps)]} p1 = p2

• temperatura = kappa*temperatura

} ENQUANTO [(iteracao <= itmax) E (temperatura >= temp_final)]

Métodos Heurísticos(Simulated Annealing)

temp_inicial, temp_final, kappa, itmax, pinferior, psuperior, pinicial

iteracao = 0, p1 = pinicial, calcula f(p1), fminimo = f(p1), pminimo = p1

temperatura = temp_inicial

FAÇA {

• iteracao = iteracao + 1• sorteia p2, calcula f(p2)• SE [f(p2) < fminimo] fminimo = f(p2), pminimo = p2

• probabilidade de sobrevivência ps• SE [f(p2) < f(p1)] ps = 1• SE [f(p2) ≥ f(p1)] ps = exp {[f(p1) - f(p2)]/temperatura}

• SE{(ps = 1) OU [(ps ≠ 1) E (moeda ≤ ps)]} p1 = p2

• temperatura = kappa*temperatura

} ENQUANTO [(iteracao <= itmax) E (temperatura >= temp_final)]

Métodos Heurísticos(Simulated Annealing)

0,0

0,2

0,4

0,6

0,8

1,0

0 20 40 60 80 100

exp

[-x/

λ]

x

λ alto

λ baixo

λ médio

f(p2) - f(p1) = x

temperatura = λ

f(p1) ≤ f(p2)

Métodos Heurísticos(Método das Formigas)

Modificada de Dorigo e Gambardella, 1997)