In the July 2012 issue of Microsoft’s MSDN Magazine I explain some of the techniques to classify data using a neural network, and then use the resulting classification model to make predictions. See http://msdn.microsoft.com/en-us/magazine/jj190808.aspx. A neural network usually accepts one or more numeric input values and outputs one or more numeric values. I think of a neural network as a universal equation. If you have historical data, you can train a neural network to find a set of weights that create a neural network that best matches the data. The real difficulty isn’t neural networks — they are not too difficult once you master them — but rather all the peripheral issues such as:
1.How to normalize numeric input data
2.How to encode categorical data
3.How to generate neural output in the range [0.0, 1.0]
4.How to measure error when training
5.How to measure accuracy when testing
In addition, the algorithms used to train neural networks (typically back-propagation or particle swarm optimization) are major sub-problems in themselves. Neural networks got a bad reputation in the 1990s for a variety of reasons, but I believe we are beginning to see a rebirth of the importance of neural networks, due in part to the rise of Big Data problems and advances in hardware to handle massive problems.