Suppose there is a function $f(a,b,c,\ldots)$ of $M$ variables (fixed numbers, not random variables). Add some Gaussian noise to this function:
$$ g(a,b,c,\ldots) = f(a,b,c,\ldots) + \varepsilon(a,b,c,\ldots) $$
where $\varepsilon(a,b,c,\ldots) \sim N(0,\sigma_{a,b,c,\ldots}{}^2)$ are the Gaussian noise parameters. The $\sigma$ are set so that the noise is large compared to the function value, and the standard deviation of the noise depends on the input parameters (heteroskedastic).
Now suppose that I don't know $f$ or $\sigma$, but I have a large number $N$ of realisations of $g$ and each realisation has different input parameters $a,b,c,\ldots$. I am interested in estimating $f$.
If I was doing this parametrically, I could assume that $f$ is some kind of polynomial and use a regression algorithm with least squares regression. This is because the Gaussian errors "cancel out" on average because they are independent.
Is there a non-parametric approach (or semi-parametric approach) to estimate the same thing? What approach do people take in practice?