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 .

  1. 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 .

  2. 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 .

  3. 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:

  1. Reduce complexity of our ML solution but increase/decrease the selected metric (accuracy,roc-auc, precision, recall) etc.
  2. Optimise knockout rules in the lending process.
Written on November 16, 2019