Now that you have been introduced to neural networks, it is time to learn about their learning process. In this chapter, we're going to explore the concepts involved with neural network learning, along with their implementation in Java. We will make a review on the foundations and inspirations for the neural learning process that will guide us in implementation of learning algorithms in Java to be applied on our neural network code. In summary, these are the concepts addressed in this chapter:
Learning ability
How learning helps
Learning paradigms
Supervised
Unsupervised
The learning process
Optimization foundations
The cost function
Error measurement
Learning algorithms
Delta rule
Hebbian rule
Adaline/perceptron
Training, test, and validation
Dataset splitting
Overfitting and overtraining
Generalization