Understanding machine learning and neural networks
According to Wikipedia, machine learning is "the study of computer algorithms that improve automatically through experience."
What that means in practice, at least for what concerns us, is that the algorithm itself is only moderately important, and what is critical is the data that we feed to this algorithm so that it can learn: we need to train our algorithm. Putting it in another way, we can use the same algorithm in many different situations as long as we provide the proper data for the task at hand.
For example, during this chapter, we will develop a neural network that is able to recognize handwritten numbers between 0 and 9; most likely, the exact same neural network could be used to recognize 10 letters, and with trivial modifications, it could recognize all letters or even different objects. In fact, we will reuse it basically as it is to recognize 10 objects.
This is totally different from normal programming...