# Symbolic Regression
> **Symbolic Regression (SR)** is a type of [regression analysis](https://en.wikipedia.org/wiki/Regression_analysis "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 [mathematical operators](https://en.wikipedia.org/wiki/Operation_(mathematics)), [analytic functions](https://en.wikipedia.org/wiki/Analytic_function "Analytic function"), [constants](https://en.wikipedia.org/wiki/Constant_(mathematics) "Operation (mathematics)"), and [state variables](https://en.wikipedia.org/wiki/State_variable "Domain knowledge"). Usually, a subset of these primitives will be specified by the person operating it, but that's not a requirement of the technique.
By not requiring _a priori_ specification of a model, symbolic regression isn't affected by human bias, or unknown gaps in [domain knowledge](https://en.wikipedia.org/wiki/Domain_knowledge "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.
#### How does this differ from classical regression?
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. In other words, it attempts to discover both model structures and model parameters.
---
Date: 20210806
Links to: [003-Data-Science-MOC](003-Data-Science-MOC.md) [Linear-Regression](Linear-Regression.md)
Tags:
References:
* [Wikipedia](https://en.wikipedia.org/wiki/Symbolic_regression)