MultiObjective Optimisation with Genetic Algorithm
For most of the problems in real world, we have to optimise on two or more objective functions . Eg in the case of machine learning problems we may have to optimise on two or more objective function like maximise accuracy vs increase interpretability . Almost always these objective functions will be orthogonal to each other.
There are nulptiple ways to solve Mutliobjective problems, however in this post we will focus a specific algorithm called NGSA II ( Non Dominatated sorting using Genetic Algorithm) . There is a excellent lecture series you can follow here for the theory and examples. I will focus here on the pratical application and esp in the field of machine learning .
Before we go ahead, let us learn the basic building blocks of Genetic algorithms and Pareto Optimisation .
-
Genetic algorithm : It is an optimisation technique, that relies on two major principles. a.Diversity Preservation b.Selection pressure Follow the lectures here for an amazing introduction .
-
Pareto Solutions : A set of solutions to an multi objective problem, is said to be a Pareto optimal solution if it is better in atleast one objective without it being worse for the other .
-
Pareto Front : A set of all Pareto optimal solutions are called as Pareto Front .
NSGA-II approach combines both the above principles to provide solutions to an Multiobjective problem .
Some of the scenarios where MOGA can used inlcude:
- Reduce complexity of our ML solution but increase/decrease the selected metric (accuracy,roc-auc, precision, recall) etc.
- Optimise knockout rules in the lending process.