Machine Learning, Neural Networks, Backpropagation, Gradient Descent.
we can solve these types of problems using feature crossing and creating linear features from these non-linear ones. These are used in the kernel methods of machine learning. We won't be talking about it though as it is out of scope for this blog. But, in all those cases we need to tell the machine