Strategies for complicated inverse function approximation

I have a dataset G. There is a complicated set of mathematical functions I can use to calculated the values 'W' for any given point in G.

f(G) $\rightarrow$ W

To the best of my knowledge these functions f are not analytically invertible in closed form, so I want to use machine learning to attempt the inverse problem, to calculate/approximate the value of a point in G for any given point in W.

f$^{-1}$(W) $\rightarrow$ G.

I am assuming here that the features of 'W' contain sufficient information to reconstruct G. Essentially this is a mapping question, I want an accurate 1-to-1 map from W-space to G-space. What sort of machine learning structures would work well for this sort of problem? Naively I am thinking neural networks because that is what I am most familiar with. Are there other better options?

Topic mathematics machine-learning

Category Data Science


What sort of machine learning structures would work well for this sort of problem

It's hard to answer this in general, and I expect using your domain knowledge - what $f$ is / does and what it's inverse might look like - will be more valuable than broad recommendations anyone could give here.

Anyway, here's a partial answer assuming you use a deep neural network (NN).

inverse direction

You have $f$, and you want a NN, "$q$" that approximates $f^{-1 }$. Using your notation if you can sample $g$'s, then you can get $w = f(g)$.

In training your NN, you can compute a loss between $g$ and $q(w)$, like MSE, and that will get you a $q$ such that $q(f(g)) = g$

"Standard" NN methods should work fine here, since it's a supervised learning problem (i.e. you don't need gradients of $f$ for this). It will depend on sampling $g$ well, of course.

forward direction

If you can sample $w$'s you may also want that $f(q(w)) = w$. Do you want this also?

It's this direction where $f$ not being easily differentiable will make things more difficult. There are methods for this, but they're not "standard." Have a look at "Gradient free optimization" methods.

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.