I am currently working my way into Genetic Algorithms (GA). I think I have understood the basic principles. I wonder if the time a GA takes to go through the iterations to determine the fittest individual is called learning time ?
2 Answers
It really depends on what the GA is being used for. The prototypical use case is function optimization. Suppose you have a Traveling Salesperson Problem to solve. You have N cities, and you need to find the shortest route that visits each city once. You can attack that problem with a GA, and it will run for some period of time trying to find successively better and better solutions until whatever stopping criteria is reached. At that point, you have your answer. There's no remaining computation that needs to be done that would equate to something like "running time" versus "training time". As well, it's slightly odd to describe this is as "training" since there's no generalization available. You haven't trained a model that can solve any other TSP instance using what was learned in solving the first one. You can run the same code on a new problem and evolve a solution for that, but that's closer to what we'd consider a whole new training pass than just executing a previously trained model. In short, optimization just isn't really like ML problems where it makes sense to have training and running times. You just have the computation time needed for the search algorithm to find a solution.
However, many ML models require some sort of optimization as part of learning. Neural nets require fitting a set of weights to minimize a loss function. Support Vector Machines involve finding the optimal solution to a quadratic programming problem. We often have special-purpose techniques to solve those problems, like backpropagation for NNs, but you could also use a GA to solve the optimization problem, and then the GA time is equal to the training time for whatever that model was.
I believe genetic algorithms DO NOT learn, because they're a search and optimization algorithms. They keep on filtering the better solutions in each iteration, but they can easily "forget" what had "found" earlier, if mutation or crossover happens.