Dada uma função desconhecida , podemos avaliar seu valor em qualquer ponto de seu domínio, mas não temos sua expressão. Em outras palavras, é como uma caixa preta para nós.
Qual é o nome do problema de encontrar o minimizador de ? Quais são alguns métodos por aí?
Qual é o nome do problema de encontrar a solução para a equação ? Quais são alguns métodos por aí?
Nos dois problemas acima, é uma boa idéia interpolar ou ajustar algumas avaliações de f: usando uma função com forma e parâmetro conhecidos a ser determinado e, em seguida, minimize ou encontre sua raiz?g θ θ g θ
Obrigado e cumprimentos!
optimization
Tim
fonte
fonte
Respostas:
Os métodos que você está procurando - ou seja, que usam apenas avaliações de funções, mas não derivadas - são chamados métodos de otimização livre de derivadas . Há uma grande quantidade de literatura sobre eles, e você pode encontrar um capítulo sobre esses métodos na maioria dos livros sobre otimização. As abordagens típicas incluem
fonte
Eu acho que você deveria começar com: Workshop da GECCO sobre Benchmarking de otimização de caixa preta de parâmetros reais (BBOB 2016) http://numbbo.github.io/workshops/index.html
Você encontrará muitos algoritmos diferentes que foram usados em competições anteriores e que foram comparados em uma base comum. Se você começar em outro lugar, logo se afogará nas centenas de artigos que afirmam que seus métodos e algoritmos têm melhor desempenho do que outros, com poucas evidências reais dessas alegações.
Até recentemente, era, para ser franco, um estado de coisas vergonhoso e todo o poder para o INRIA, GECCO e muitos outros pelo esforço que fizeram para estabelecer uma estrutura para comparações racionais.
fonte
Eu apenas acrescentaria que uma das chaves aqui é poder escalar o método de otimização em CPUs multicore . Se você pode executar várias avaliações de função simultaneamente, isso fornece uma aceleração igual a um número de núcleos envolvidos. Compare isso usando apenas um modelo de resposta um pouco mais preciso, o que o torna 10% mais eficiente.
Eu recomendo olhar para este código , ele pode ser útil para pessoas que têm acesso a vários núcleos. Uma matemática por trás disso é descrita neste artigo .
fonte