Neural networks (NNs) have been a fundamental part of computerised pattern recognition tasks for more than half a century, and continue to be used in a very broad range of problem domains. The two main reasons for their widespread usage are: 1) power (the sophisticated techniques used in NNs allow a capability of modeling quite complex functions); and 2) ease of use (as NNs learn by example it is only necessary for a user to gather a highly representative data set and then invoke training algorithms to learn the underlying structure of the data).