An implementation of the Differential Evolution (DE) algorithm; a black-box parameter optimization and fitting algorithm. This algorithm uses mutation and recombination evolutionary strategies to explore the parameter space of the objective function to minimize its fitness
(e.g. value or loss).
The code and algorithm that are the basis for this repo come from a Python implementation in this very cool and intuitive blog post by Pablo R. Mier. The wire frame plots alone are worth the price of admission. The origin of the DE algorithm is cited Pablo's past as R. Storn and K. Price 1997. I came across this post at the recommendation of Dan Kondratyuk from his fabulous work on one pixel advisarial attacks on CNN in Keras. I read Pablo's blog and thought it would be fun to port this to R; so that is what we have here. I added to the code a little bit to make it work with both function minimization as well as loss functions (e.g. RMSE).