A derivação do BFGS é mais intuitiva quando se considera (estritamente) funcionais de custo convexos:
No entanto, algumas
informações básicas são necessárias: Suponha que alguém deseje minimizar uma função
convexa
Digamos que exista uma solução aproximada . Então, aproxima-se o mínimo de f pelo mínimo da expansão truncada de Taylor
f (x_k + p) \ approx f (x_k) + \ nabla f (x_k) ^ Tp + \ frac {1} {2} p ^ TH ( x_k) p. \ quad (*)
Ou seja, procura-se p tal que (*) seja mínimo e defina x_ {k + 1}: = x_k + p . Computar o gradiente de (*) - "em relação a p " - e defini-lo como zero fornece a relação
x k f f ( x k + p ) ≈ f ( x k ) + ∇ f ( x k ) T p + 1
f( x ) → minx ∈ Rn.
xkfp ( ∗ ) x k + 1 : = x k + p ( ∗ ) p H ( x k ) [ x k + 1 - x k ] = ∇ f ( x k + 1 ) - ∇ f ( x k ) ,f( xk+ p ) ≈ f( xk) + ∇ f( xk)Tp + 12pTH( xk) p .( ∗ )
p( ∗ )xk + 1: = xk+ p( ∗ )pH( xk) [ xk + 1- xk] = ∇ f( xk + 1) - ∇ f( xk) ,
onde
H é o 'jacobiano do gradiente' ou a matriz hessiana.
Como o cálculo e a inversão do Hessian são caros ...
... uma resposta curta
(cf. atualização de Broyden) pode ser que a atualização BFGS H- 1k + 1 minimize
∥ H-1k- H- 1∥W
em uma norma Frobenius ponderada e escolhida de maneira inteligente, sujeito a
- H[ xk + 1- xk] = ∇ f( xk + 1) - ∇ f( xk) - é para isso que se precisa - e
- HT= H , porque o Hessiano é simétrico.
Então a escolha do peso em como o inverso do Hessiano médio , cf. aqui para a declaração, mas sem prova, fornece a fórmula de atualização do BFGS (com ).W∥ H∥W: = ∥ W1 / 2HW1 / 2∥F
G : = ∫1 10 0H( xk+ τp ) dταk= 1
Os principais pontos são:
- Procura-se aproximar a solução dos custos reais pela solução para uma aproximação quadrática
- A computação do hessiano e seu inverso são caros. Um prefere atualizações simples.
- A atualização é escolhida ideal para o inverso e não para o hessiano real.
- O fato de se tratar de uma atualização de nível 2 é uma consequência da escolha específica dos pesos na norma Frobenius.
Uma resposta mais longa deve incluir como escolher os pesos, como fazer isso funcionar para problemas não-convexos (onde aparece uma condição de curvatura que requer uma escala da direção de pesquisa ) e como derivar a fórmula real da atualização. Uma referência está aqui (em alemão).p