Há algum tempo, procuro exemplos de como eu poderia encontrar os pontos nos quais uma função atinge o mínimo usando uma abordagem de algoritmo genético em Python. Eu olhei para a documentação do DEAP, mas os exemplos eram muito difíceis de seguir. Por exemplo:
def function(x,y):
return x*y+3*x-x**2
Eu estou procurando algumas referências sobre como eu posso criar um algoritmo genético no qual eu possa alimentar alguns valores aleatórios iniciais para xey (não provenientes das mesmas dimensões). Alguém com experiência na criação e uso de algoritmos genéticos pode me dar alguma orientação sobre isso?
Respostas:
Aqui está um exemplo trivial , que captura a essência dos algoritmos genéticos com mais significado do que o polinômio que você forneceu. O polinômio que você forneceu é
stochastic gradient descent
passível de solução , o que é uma técnica de minimização mais simples. Por esse motivo, estou sugerindo este excelente artigo e exemplo de Will Larson.Citado no artigo original :
Dê uma olhada no artigo inteiro , mas aqui está o código completo :
Eu acho que poderia ser bastante pedagogicamente útil também resolver seu problema original usando esse algoritmo e, em seguida, também construir uma solução usando
stochastic grid search
orstochastic gradient descent
e você obterá um entendimento profundo da justaposição desses três algoritmos.Espero que isto ajude!
fonte