Learning a specific functional form with machine learning Suppose I have only three independent features (x, y, z) as the input to some machine learning routine (e.g. neural network). From some domain knowledge, I know that the output o(x, y, z) must have the specific functional form

o(x, y, z) = f(x)*g(y)*g(z)

where the g(.) are the same function. The details of f(.) and g(.) are not known beforehand (except that f(.) is a decaying function with respect to x). Given that there is no upper limit on the sample size, is it possible to incorporate such a functional form (or in general, any specific functional form) into the machine learning routine?
Yup.  You define two neural nets (or other models) $f,g$ with weights $\theta,\psi$, define

$$o_{\theta,\psi}(x,y,z) = f_\theta(x) g_\psi(y) g_\psi(z),$$

define a loss function (which compares the predicted output $o_{\theta,\psi}(x,y,z)$ to the desired output), and then use stochastic gradient descent to find weights $\theta,\psi$ that minimize the aggregate loss on the training set.