Use continuous variables or buckets in neural net? I'm currently trying to learn a bit about neural nets (did Andrew Ng's Coursera course) but have a question I haven't been able to find a good "rule of thumb" answer to.
Lets say I have the classic data set of house prices, and for input data I have a bunch of data like floor plan area, number of bedrooms, number of bathrooms, age of the house.
Now, it makes sense that floor plan area would be directly correlated to predicted price (more square metres, higher price). But it is theoretically possible that the age of the house does not have a linear relationship. Instead, new build properties have a higher price because they're new and shiny, very old properties have a higher price because they're "classic" or "have character", but properties in between have a lower price (this is entirely hypothetical, just to illustrate my point). In this scenario, I'm guessing treating age as a continuous value isn't going to be able to model this (or can it?), and instead I should come up with three new buckets, "is new", "is old", "is middle" or whatever and set the appropriate bucket to 1 and the others to 0. But this would mean I'm applying my own biased notion of what constitutes new or old, and the neural net could miss out on some other relationship that I haven't spotted to do with age.
My question is, how do you know when you should create these buckets instead of using the value as continuous, and if creating buckets, how do you know how many buckets to create and which rows should go into each bucket? Or is it just trial and error, and you have to train the net with and without buckets, and with buckets of varying sizes and limits until you find the best fit?
Apologies for the long question, hopefully it makes sense!
 A: The non-linearity you are concerned about can be effectively handled by neural nets. That is one of the key points with using them instead of a linear model. A neural net can , at least theoretically, approximate any continuous function. It is called the Universal approximation theorem. Of course it might still be hard to learn but in practice it generally works quite well even if you don't find the optimal solution.
So, in short. No, you do not need to split the features into buckets.
Example
I'll show the non-linear problem by example. 
Here is a linear dataset with two continuous features and one continuous output (the color of the dots). Hence a regression problem similar to the housing price example but more obvious.
I've trained a linear model on the data which shows as the shade behind it.
This obviously works really well in the linear case (left). But if we try to train a linear model on a non linear dataset the output doesn't look as good (right). 


As you would expect it is not possible for the model to capture the relationship in the data. This is where you could resort to binning the data into buckets. Effectively discretizing the predictions into squares in the input space. Or if you want more continuity you can use splines for these but looking at this set you might expect that this can be quite tricky as the pattern is dependent on both features. You can easily imagine more complex structures in more high dimensional problems.
Another approach to solve the non-linearity is to add some hidden neurons to your linear model making it a neural net. Adding 3 hidden neurons will give you the following non-linear output (left) and adding another layer and a few more neurons gives you an even more accurate solution (right).


The example images are generated here: http://playground.tensorflow.org. It's a great place to play around with neural nets and see what effects different parameters will have on the training and result.
A: There are probably no principled ways to determine when to create buckets or use the value as continuous like the 'age' feature, since the predictiveness of age in different tasks vary a lot. 
Trial and error is always good if having enough time and computation resources. If not, manually decide how many buckets to create or how many ways of bucket creation to experiment based on intuition is usually good-performing if confident that the bucket creation well reflects experience and knowledge regarding this feature. 
