Symbolic Regression with Genetic Programming

Introduction

Symbolic Regression is a type of regression analysis that searches the space of mathematical expressions to find the model that best fits a given dataset, both in terms of accuracy and simplicity. While conventional regression techniques seek to optimize the parameters for a pre-specified model structure, symbolic regression avoids imposing prior assumptions, and instead infers the model from the data. Common representation of the SR model is an expression tree.

  • An example of the expression tree for $x^3+x^2+x$

Genetic Programming (GP) evolves computer programs, traditionally represented as expression tree structures. Some of the applications of GP are curve fitting, data modeling, symbolic regression, feature selection, classification, etc.

Read More

JuliaCon 2016

JuliaCon 2016 Presentation I went to JuliaCon 2016 which happened in Boston. I gave a lightning presentation on the design of the programming environments scheduled to appear in the coming version of Julia language. The project goal was to provide reproducible self-contained environment for any Julia code base. Presentation slides on “Julia Environments” from JuliaCon 2016.

Read More

Linear Manifold Clustering In Julia

Some time ago, I ported to Julia one of my research projects - linear manifold clustering algorithm or LMCLUS. Initially, it was develop by Robert Haralick, who is my research adviser, and Rave Harpaz in 2005 1. I picked algorithm C++ sources from Rave and created R package with an option to compile into a standalone shared library without R dependencies.

Read More