Symbolic regression: Difference between revisions

Content deleted Content added
replace octothorp with section mark
Tags: Mobile edit Mobile app edit
m clean up; http->https (see this RfC) using AWB
Line 1:
'''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. No particular model is provided as a starting point to the algorithm. Instead, initial expressions are formed by randomly combining mathematical building blocks such as [[Operation (mathematics)|mathematical operators]], [[analytic function]]s, [[Constant (mathematics)|constants]], and [[state variable]]s. (Usually, a subset of these primitives will be specified by the person operating it, but that's not a requirement of the technique.) New equations are then formed by recombining previous equations, using [[genetic programming]].
 
By not requiring a specific model to be specified, symbolic regression isn't affected by human bias, or unknown gaps in ___domain knowledge. It attempts to uncover the intrinsic relationships of the dataset, by letting the patterns in the data itself reveal the appropriate models, rather than imposing a model structure that is deemed mathematically tractable from a human perspective. The [[fitness function]] that drives the evolution of the models takes into account not only [[Residual_Residual (numerical_analysisnumerical analysis)|error metrics]] (to ensure the models accurately predict the data), but also special complexity measures,<ref name="complexity"/> thus ensuring that the resulting models reveal the data's underlying structure in a way that's understandable from a human perspective. This facilitates reasoning and favors the odds of getting insights about the data-generating system.
 
== Difference from classical regression ==
Line 15:
* [[DataMelt]], software that implements symbolic regression in Java and Python
* [http://dev.heuristiclab.com/ HeuristicLab] software for comparing various optimization techniques, including symbolic regression
* [httphttps://cran.r-project.org/web/packages/rgp/index.html RGP] package for symbolic regression in R
* [https://sites.google.com/site/gptips4matlab/ GPTIPS] software that implements symbolic regression
* [[Closed-form expression#Conversion from numerical forms|Closed-form expression § Conversion from numerical forms]]
Line 75:
* {{cite web |title = Simple Symbolic Regression Using Genetic Programming |url = http://alphard.ethz.ch/gerber/approx/default.html |author = Hansueli Gerber |year = 1998 }} (Java applet) — approximates a function by evolving combinations of simple arithmetic operators, using algorithms developed by [[John Koza]].
* [http://www.symbolicregression.com SymbolicRegression.com]
 
 
 
[[Category:Regression analysis]]