Motivação intuitiva para atualização do BFGS


15

Estou dando uma aula de pesquisa de análise numérica e buscando motivação para o método BFGS para alunos com formação / intuição limitada em otimização!

J k ( x k - x k - 1 ) = f ( x k ) - f ( x k - 1 )__Jk-Jk-1 1__Para2Jk(xk-xk-1 1)=f(xk)-f(xk-1 1)

As derivações das atualizações do BFGS parecem muito mais envolvidas e obscuras! Em particular, eu gostaria de não assumir a priori que a atualização deve ser de nível 2 ou assumir uma forma específica. Existe uma pequena motivação de aparência variada para a atualização do BFGS Hessian como a de Broyden?


4
Se você permitir uma atualização arbitrária, poderá usar o Hessian completo no método de Newton. Uma grande vantagem computacional de uma atualização de baixa classificação é que ela permite atualizar a fatoração do Hessian aproximado muito rapidamente.
Brian Borchers 12/09

Respostas:


12

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)minxRn.
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+1 12pTH(xk)p.()
p()xk+1 1: =xk+p()p
H(xk)[xk+1 1-xk]=f(xk+1 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 Hk+1 1-1 1 minimize

__Hk-1 1-H-1 1__W
em uma norma Frobenius ponderada e escolhida de maneira inteligente, sujeito a
  1. H[xk+1 1-xk]=f(xk+1 1)-f(xk) - é para isso que se precisa - e
  2. 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 1/2HW1 1/2__F G: =0 01 1H(xk+τp)dταk=1 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


Muito obrigado, isso é ótimo (e mais ou menos o que eu esperava com base na discussão em Nocedal & Wright). A única questão que resta é: por que escolhemos e a norma como fazemos? Eu entendo que isso tem a ver com unidades, mas existem muitas opções potenciais de e normas que fazem isso. WW
23613 Justin Solomon

Sim, verdade. Bem, eu não sei. Uma resposta é que ela fornece a fórmula de atualização simples de calcular e que funciona bem. Historicamente, essa abordagem da atualização - minimizando a diferença na atualização - era a de Shanno. Foi um árbitro (Goldfarb) que descobriu que uma determinada escolha dos pesos leva à fórmula de Broyden e Fletcher. Veja esta tese de doutorado Desenvolvimento histórico do método secante BFGS ... para as intuições dos desenvolvedores do BFGS. No entanto, todas as três abordagens são bastante abstratas.
Janeiro

11
Interessante, obrigado pela orientação! Meu artigo atual (com alguns erros de matemática que precisam de ajuda) está aqui: graphics.stanford.edu/courses/cs205a-13-fall/assets/notes/… (se você quiser crédito por sua ajuda, fico feliz em fornecê-lo - envie-me um e-mail com as informações de contato adequadas)
Justin Solomon

@jan Por que sua equação e não Não é a condição secante fornecida por , onde . Obrigado!
H(xk)[xk+1 1-xk]=f(xk+1 1)-f(xk)
H(xk+1 1)[xk+1 1-xk]=f(xk+1 1)-f(xk)?
Hk+1 1sk=yksk=xk+1 1-xk,yk=fk+1 1-fk
22417 Jeff Faraci
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.