Gene Expression Programming

What is Gene Expression Programming?

Gene expression programming (GEP) is a machine learning technique that seeks to allow algorithms to create their own algorithms. The entire process is similar to genetic programming, except instead of generating “child” iterations from the most successful algorithms, the program produces a continuous expression tree that “birth’s” its own successive generations. The goal is to create a single phenotype that can “plug and play” with different genotype components (writing its own algorithms) to solve problems.

How does Gene Expression Programming Work?

With this approach, multiple evolutionary algorithms are encoded as linear structures (chromosomes). These “chromosomes” function like biological genotypes, and are edited, combined or turned off and on to solve a problem by the parse trees (phenotype layer), all without human intervention.

The phenotype framework can take many forms, such as neural networks, decision trees, nonlinear regression models, logistic regression models, logic circuits, etc. Regardless of the specific architecture, these GEP models rely on mating or mutating the basic linear chromosome encoding to produce better outcomes. These new gene expressions are written automatically and continuously until the most optimum solution to the given problem is found.