Free cookie consent management tool by TermsFeed Policy Generator

Symbolic Regression Benchmark Functions

At last year's GECCO in Dublin a discussion revolved around the fact that the genetic programming community needs a set of suitable benchmark problems. Many experiments presented in the GP literature are based on very simple toy problems and thus the results are often unconvincing. The whole topic is summarized on http://gpbenchmarks.org.

This page also lists benchmark problems for symbolic regression from a number of different papers. Thanks to our new developer Stefan Forstenlechner most of these problems are now available in HeuristicLab and will be included in the next release. The benchmark problems can be easily loaded directly in the GUI through problem instance providers. Additionally, it is very simple to create an experiment to execute an algorithm on all instances using the new 'Create Experiment' dialog implemented by Andreas (see the previous blog post)

I used these new features to quickly apply a random forest regression algorithm (R=0.7, Number of trees=50) on all regression benchmark problems and got the following results. Let's see how symbolic regression with GP will perform...

Problem instance Avg. R² (test)
Keijzer 4 f(x) = 0.3 * x *sin(2 * PI * x) 0.984
Keijzer 5 f(x) = x ^ 3 * exp(-x) * cos(x) * sin(x) * (sin(x) ^ 2 * cos(x) - 1) 1.000
Keijzer 6 f(x) = (30 * x * z) / ((x - 10) * y^2) 0.956
Keijzer 7 f(x) = Sum(1 / i) From 1 to X 0.911
Keijzer 8 f(x) = log(x) 1.000
Keijzer 9 f(x) = sqrt(x) 1.000
Keijzer 11 f(x, y) = x ^ y 0.957
Keijzer 12 f(x, y) = xy + sin((x - 1)(y - 1)) 0.267
Keijzer 13 f(x, y) = x^4 - x^3 + y^2 / 2 - y 0.610
Keijzer 14 f(x, y) = 6 * sin(x) * cos(y) 0.321
Keijzer 15 f(x, y) = 8 / (2 + x^2 + y^2) 0.484
Keijzer 16 f(x, y) = x^3 / 5 + y^3 / 2 - y - x 0.599
Korns 1 y = 1.57 + (24.3 * X3) 0.998
Korns 2 y = 0.23 + (14.2 * ((X3 + X1) / (3.0 * X4))) 0.009
Korns 3 y = -5.41 + (4.9 * (((X3 - X0) + (X1 / X4)) / (3 * X4))) 0.023
Korns 4 y = -2.3 + (0.13 * sin(X2)) 0.384
Korns 5 y = 3.0 + (2.13 * log(X4)) 0.977
Korns 6 y = 1.3 + (0.13 * sqrt(X0)) 0.997
Korns 7 y = 213.80940889 - (213.80940889 * exp(-0.54723748542 * X0)) 0.000
Korns 8 y = 6.87 + (11 * sqrt(7.23 * X0 * X3 * X4)) 0.993
Korns 9 y = ((sqrt(X0) / log(X1)) * (exp(X2) / square(X3))) 0.000
Korns 10 y = 0.81 + (24.3 * (((2.0 * X1) + (3.0 * square(X2))) / ((4.0 * cube(X3)) + (5.0 * quart(X4))))) 0.003
Korns 11 y = 6.87 + (11 * cos(7.23 * X0 * X0 * X0)) 0.000
Korns 12 y = 2.0 - (2.1 * (cos(9.8 * X0) * sin(1.3 * X4))) 0.001
Korns 13 y = 32.0 - (3.0 * ((tan(X0) / tan(X1)) * (tan(X2) / tan(X3)))) 0.000
Korns 14 y = 22.0 + (4.2 * ((cos(X0) - tan(X1)) * (tanh(X2) / sin(X3)))) 0.000
Korns 15 y = 12.0 - (6.0 * ((tan(X0) / exp(X1)) * (log(X2) - tan(X3)))) 0.000
Nguyen F1 = x^3 + x^2 + x 0.944
Nguyen F2 = x^4 + x^3 + x^2 + x 0.992
Nguyen F3 = x^5 + x^4 + x^3 + x^2 + x 0.983
Nguyen F4 = x^6 + x^5 + x^4 + x^3 + x^2 + x 0.960
Nguyen F5 = sin(x^2)cos(x) - 1 0.975
Nguyen F6 = sin(x) + sin(x + x^2) 0.997
Nguyen F7 = log(x + 1) + log(x^2 + 1) 0.977
Nguyen F8 = Sqrt(x) 0.966
Nguyen F9 = sin(x) + sin(y^2) 0.988
Nguyen F10 = 2sin(x)cos(y) 0.986
Nguyen F11 = x^y 0.961
Nguyen F12 = x^4 - x^3 + y^2/2 - y 0.979
Spatial co-evolution F(x,y) = 1/(1+power(x,-4)) + 1/(1+pow(y,-4)) 0.983
TowerData 0.972
Vladislavleva Kotanchek 0.854
Vladislavleva RatPol2D 0.785
Vladislavleva RatPol3D 0.795
Vladislavleva Ripple 0.951
Vladislavleva Salutowicz 0.996
Vladislavleva Salutowicz2D 0.960
Vladislavleva UBall5D 0.892
  • Posted: 2012-06-22 11:32 (Updated: 2012-07-08 05:16)
  • Author: gkronber
  • Categories: (none)

Attachments (1)

Download all attachments as: .zip

Comments

No comments.