+8 votes
1 view
in Machine Learning by (670 points)

I’m learning the difference between the various machine learning algorithms.  

I understand that the implementations of evolutionary algorithms are quite different from the implementation of neural networks.

However, they both seem to be geared at determining a correlation between inputs and outputs from a potentially noisy set of training/historical data.  

From a qualitative perspective, are there problem domains that are better targets for neural networks as opposed to evolutionary algorithms?

I skimmed some articles that suggest using them in a complementary fashion.  Is there a decent example of a use case for that?

1 Answer

+6 votes
by (3.8k points)

Evolutionary algorithms are a heuristic-based approach to solving problems that cannot be easily solved in polynomial time, such as classically NP-Hard problems, and anything else that would take far too long to exhaustively process. These algorithms perform crossover and mutation on data given to them, to perform the best-optimized search. E.g. “Did you mean” function in Google if we type the incorrect word in a query, google corrects the world for us by using previous data and evolutionary algorithms.

Neural networks are algorithms modeled from the human brain. They can take input, adjust bias according to the training data and give output based on the hypothesis provided to them.

Evolutionary algorithms can be used with or without neural networks. Evolutionary algorithms are more expensive to use than neural networks.

Evolutionary algorithms are used with neural networks to perform powerful optimizations.

For example, Generative Adversarial Networks(GANs) are a current trending example of combination Neural Networks and Genetic Algorithms(a class of evolutionary algorithms). GANs can generate a picture of humans, these human doesn't even exist. It is a very interesting use of GANs.

Evolutionary algorithms are meta machine learning algorithms used for optimization. Neural networks are used for model training. That's why they share the same domain to perform powerful computations