1
votes

I have an optimisation problem where the objective function I want to maximise is not differentiable. I've trained a linear model using genetic algorithm, but the performance the linear model is not that good. I am thinking about replacing the linear model with a neural network. But my understanding is that with a non-differentiable objective function I cannot use the backprop method to do updates. So, does anyone know how to use the genetic algorithm to train a neural network?

1

1 Answers

1
votes

Yes. This is called neuro-evolution. If you are good at programming, you could make your own NEAT (neuroevolution of augmenting topologies) implementation. However, there are already a lot of implementations out there.

If you want to play around with neuroevolution first, you might want to check out Neataptic. All you need to do is set up the network and run a single function to get the neuroevolution started.