# Which AI Technique best suited to discovering non-linear relationships in data?

I am interested in exploring whether AI techniques can derive hidden patterns of relationships in a data set. For example, from among house size, lot size, age of house and asking price, what formula best predicts selling price?

In explorations around how this might be done, I tried to use a neural network to solve for a predictable relationship between two variables to predict a third, so I trained my neural network with inputs consisting of the length of two sides of a triangle, and the result being the length of the hypotenuse. It couldn't get it to work.

I was told by somebody who understands all this better than me that the reason it failed is because conventional neural networks are not good at modeling non-linear relationships.

If that is true, I wonder if there is some other AI technique that could 'derive' a network modeling the phythagorean theorem from a training data set with better results than a normal neural network?

For example, from among house size, lot size, age of house and asking price, what formula best predicts selling price?

There is no general formula for this. Search for neural network regression and you can get started. The AI technique or any prediction algorithm in general will learn a function that maps from the input feature vector $$(x_1, ...,x_n)$$, where each of the element in the vector is a measurement on the $$\text{predictors/independent variables/regressors}$$ to the $$\text{variable of interest/dependent variables}$$ i.e. $$\text{selling price}$$

I was told by somebody who understands all this better than me that the reason it failed is because conventional neural networks are not good at modeling non-linear relationships.

The statement is incorrect. In fact the opposite is true. CNNs are known for modeling non-linear relationships. Examples are the highly successful image classification CNN architectures like Inception, ResNet, etc.

• Before I go to modeling real-world data, I was trying to see if I could make a network that gave good results on a known, non-linear relationship such as the one between length of sides of a triangle to length of hypotenuse. Is a sigmoid the right activation function to use in this context? This is what i used but the results after training the network were, well, just wrong. – user1023110 Nov 4 '19 at 20:22
• You have a regression problem at hand. I would suggest you to use activation functions that are more suited for those for example leaky relu. Sigmoid is better for classification tasks. – naive Nov 4 '19 at 20:59

You are mixing up lots of things here. Specifically, you seem to be lacking a basic understanding of artificial neural networks and what they can do (e.g. what type of articifial neural networks are linear classifiers/regressors and which can model non-linear relationships).

Therefore, I'd take a step back and start with understanding the basics of AI. The go-to book for that is 'Artificial Intelligence: A Modern Approach' by Russel and Norvig. It might be a slower (and more theoretical) start but IMO that is the right approach to actually understand what you are doing.