## 2 Classifiers and Symbolic Regression via Genetic Programming
### Combining SVM and Symbolic Regression  
As mentioned, the developed methodology consists mainly of two parts. First, points on the SVM separating hypersurface are generated and, secondly, they are fitted with symbolic regression. In the case of probabilistic SVM, the first task is panel. Indeed, the available tools allow deriving equal-probability surfaces. It is therefore sufficient to extract the points that correspond to the chosen level of probability. These points can then be fitted with SR via GP to obtain the required equation. The situation is a bit more involved in the case of traditional SVM, which provides a distance to the separating hypersurface and not directly points on the hypersurface. The solution for this more complicated case is reported in the following for completeness sake and for the benefit of systems using the traditional version of the SVM [26]. A remark about the nomenclature of the SVM technique is probably in place at this point. Since the objective of the proposed methodology consists of finding an equation for the boundary in the original space, and not in the transformed space, from now on the boundary will be referred to as a hypersurface (and not a hyperplane, which is the mathematical solution of the SVM in the transformed space). As mentioned, the interpretation of the models, provided by the SVM, requires the reformulation of their boundary equation in more physically meaningful equations. To this end, a sufficient number of points, belonging to the hypersurface separating the two classes, must be derived, so that they can be regressed with SR via GP. For this task, first a mesh is built, with resolution equal or better than the error bars of the measurements, selected as the features for the inputs to the SVM. More grid points and a better refined mesh can improve numerical convergence and stability; therefore, the total number of grid points can be set based on computational considerations. On the other hand, suitable criteria are available for selecting more efficiently the number of intervals in different directions. The first one consists of allocating more intervals along the direction of stronger curvature. The second alternative is that of allocating a higher number of mesh points in the direction of the dependent variable, to be sure that the selected points are close enough to the real hypersurface. Once the mesh has been built, the algorithm proceeds by selecting first the Support Vectors (SVs) on one side of the hypersurface, let us say the positive side, to fix the ideas. From these starting points, the routines move towards the support vectors on the other side, one point on the grid at the time. At each step, the already trained SVM is interrogated to determine the distance of the current point to the hypersurface. If the SVM confirms that the distance is positive, the process is iterated, since the current point remains on the same side of the hypersurface. When the distance of a new grid point becomes negative, the two points with different signs are on opposite sides of the boundary between the two classes. They can therefore be considered as belonging to the hypersurface. Indeed, by construction of the mesh, two subsequent points, for which Equation (1) changes sign, are within a distance from the hypersurface, which is within the error bars of the measurements. For all practical purposes, the points, identified with the procedure just described, are therefore close enough to the boundary to be considered on it. This method to obtain SVM hypersurface points, for a numerical example using synthetic data, is illustrated pictorially in Figure 3.  
After checking that a sufficient number of points near the hypersurface have been collected, the equation of the hypersurface itself can be derived by deploying symbolic regression via genetic programming. For assessing the quality of the final models, various alternatives can be implemented. A natural first choice is based on the statistical indicators described [40; 41; 42].