Estou realizando uma pesquisa de linha como parte de um algoritmo quase-Newton BFGS. Em uma etapa da pesquisa de linha, uso uma interpolação cúbica para me aproximar do minimizador local.
Seja a função de interesse. Eu quero encontrar um tal que .x ∗ f ′ ( x ∗ ) ≈ 0
Deixe- , , e ser conhecido. Suponha também . Eu ajusto um polinômio cúbico modo que , , e .f ′ ( x k ) f ( x k + 1 ) f ′ ( x k + 1 ) 0 ≤ x k < x ∗ < x k + 1 Q ( x ) = a x 3 + b x 2 + c x + d Q ( 0 ) = fQ ′ ( 0 ) = f ′ ( x k ) Q ( x k + 1 - x k ) = f ( x k + 1 ) Q ′ ( x k + 1 - x k ) = f ′ ( x k + 1 )
a equação quadrática: para o meu procurado usando a solução de forma fechada.x ∗
O exemplo acima funciona bem na maioria dos casos, exceto quando como a solução de formulário fechado para divide por que fica muito próxima ou exatamente a .( 1 ) a 0
Minha solução é olhar para e se ele é "muito pequeno" simplesmente tomar a solução de forma fechada para o minimizador do polinômio quadrático para o qual eu já tenho os coeficientes do ajuste anterior para .Q 2 ( x ) = b x 2 + c x + d b , c , d Q ( x )
Minha pergunta é: como elaborar um bom teste para quando fazer a interpolação quadrática sobre o cúbico? A abordagem ingênua para testar é ruim devido a razões numéricas, então estou olhando para , onde é a precisão da máquina, mas eu sou incapaz de decidir um bom que é invariante escala de .| a | < ϵ τ ϵ τ f
Pergunta do bônus: existem problemas numéricos com o uso dos coeficientes do ajuste cúbico com falha ou devo executar um novo ajuste quadrático com a maneira apropriada de calcular os coeficientes?
Editar para esclarecimentos: Na minha pergunta, é na verdade o que é comumente conhecido como na literatura. Eu apenas simplifiquei a formulação da pergunta. O problema de otimização que estou resolvendo não é linear em 6 dimensões. E eu estou bem ciente de que as condições de Wolfe são suficientes para a pesquisa de linha BFGS, portanto, afirmando que eu estava interessado em ; Estou procurando por algo que satisfaça as condições fortes de Wolfe e usar o minimizador da aproximação cúbica é um bom passo ao longo do caminho.ϕ ( α ) = f ( ˉ x k + α ¯ p k ) f ′ ( x ∗ ) ≈ 0
A questão não era sobre BFGS, mas como determinar quando o coeficiente cúbico é pequeno o suficiente para que uma aproximação quadrática seja mais apropriada.
Editar 2: Atualizar notação, as equações permanecem inalteradas.
fonte
Há um artigo de Moré, implementado pela Nocedal, sobre isso:
fonte