Uma coleção dos algoritmos de otimização mais usados para ciência de dados e aprendizado de máquina
Este repositório é criado e pertence a: https://github.com/muradmustafayev-03
Guia contribuinte: https://github.com/muradmustafayev-03/optimisation-algorithms/blob/main/contributing.md
Para relatar quaisquer problemas: https://github.com/muradmustafayev-03/optimisation-algorithms/issues
Para instalar o pacote como um uso da biblioteca:
PIP Instalação de instalação de algoritmos de otimização
Então para importar:
importar otimização_algorithms
Neste projeto, tento coletar o maior número possível de algoritmos de otimização úteis e escrevê -los de uma maneira simples e reutilizável. A idéia é escrever todos esses algoritmos em Python, de uma maneira fundamental, mas fácil de usar, com Numpy sendo a única biblioteca externa usada. O projeto está atualmente nos estágios iniciais do desenvolvimento, mas já se pode tentar implementá -lo em seus próprios projetos. E com certeza, você sempre pode contribuir ou fazer sugestões. Qualquer feedback é apreciado.
Para mais informações: https://en.wikipedia.org/wiki/mathematical_otimization
O algoritmo de otimização é um algoritmo, usado para encontrar valores de entrada dos mínimos globais , ou com menos frequência, dos máximos globais de uma função.
Neste projeto, todos os algoritmos procuram os mínimos globais da função fornecida. No entanto, se você deseja encontrar os máximos globais de uma função, poderá passar a negação da sua função: -f (x) , em vez de f (x) , tendo que seu MIMIMA será o máximo da sua função.
Os algoritmos de otimização são amplamente utilizados em aprendizado de máquina , matemática e uma variedade de outras ciências aplicadas.
Existem vários tipos de algoritmos de otimização , então aqui está uma breve descrição dos outros, usados no projeto:
Os algoritmos Tese começam de um ponto aleatório ou especificado e passo a passo move torwas os mínimos mais próximos. Eles geralmente exigem o derivado parcial ou o gradiente da função, que exige que a função seja diferenciável. Esses algoritmos são simples e funcionam bem para funções semelhantes a uma tigela ; se houver mais que um mínimo de função, ele pode estocar em mínimos locais , inseridos em encontrar o global .
Esses algoritmos começam com um conjunto de soluções aleatórias e, em seguida, escolheram as melhores soluções do conjunto e com base nelas, geram um novo conjunto de melhores soluções, evoluindo assim cada iteração. Esses algoritmos não estocam nos mínimos locais , mas encontram diretamente o global , para que possam ser usados para funções de muitos minúmus do local .
As funções de referência são usadas para testar os algoritmos de otimização , no entanto, podem ser usados por si mesmos. Existem várias funções de referência usadas neste projeto e elas são divididas em vários tipos, dependendo de sua forma.
Para obter mais informações e a definição matemática das funções, consulte: https://www.sfu.ca/~ssurjano/optimization.html