There are basically two types of learning for neural networks, namely supervised, and unsupervised. The learning in the human mind, for example, also works in this way. We are able to build knowledge from observations without any target (unsupervised) or we can have a teacher who shows us the right pattern to follow (supervised). The difference between these two paradigms relies mainly on the relevancy of a target pattern, and varies from problem to problem.
This learning type deals with pairs of xs (independent values), and ys (dependent values) with the objective to map them in a function . Here the Y data is the supervisor, the target desired outputs, and the X are the source independent data that jointly generate the Y data. It is analogous to a teacher who is teaching somebody a certain task to be performed:
One particular feature of this learning paradigm is that there is a direct error reference which is just the comparison between the target and the current actual result. The network parameters are fed into a cost function which quantifies the mismatch between desired and actual outputs.
The supervised learning is suitable for tasks having a defined pattern to be reproduced. Some examples include classification of images, speech recognition, function approximation, and forecasting. Note that the neural network should be provided a previous knowledge of both input independent values (X) and the output dependent values (Y). The presence of a dependent output value is a necessary condition for the learning to be supervised.
In unsupervised learning, we deal only with data without any labeling or classification. Instead, one tries to make an inference and extract knowledge by taking into account only the independent data X:
This is analogous to self-learning, when someone takes into account his/her own experience and a set of supporting criteria. In unsupervised learning, we don't have a defined desired pattern; instead, we use the provided data to infer a dependent output Y without any supervision.
Examples of tasks that unsupervised learning can be applied to are clustering, data compression, statistical modeling, and language modeling. This learning paradigm will be covered in more detail in Chapter 4, Self-Organizing Maps.