Neuronal Networks: Possibilities and limitations of neural networks  
1. Possibilities and limitations of neural networksNeural networks, or better artifical neural networks are software products or programs. In artificial neural networks one tries to imitate structures of the nervous system, but in a highly abstract way. In some aspects, a neural network is a program that processes data like (a part of) the nervous system. They have been developed as a route towards a better understanding of the brain. Later people used neural networks in various fields for cognitive tasks, such as learning and optimization. In the ideal case, the neural network learns from examples like the brain. In a somewhat anthropomorphic manner of speaking one can say: If one shows the neural network a sufficiently large set of examples, it learns to generalize these examples. This process of learning from examples is called training.
Neuronal networks can be used in various fields to model a given problem. Typical applications can be found in medical diagnostics, in the analysis of economical data, in the control of production processes, in robotics, etc. In all these applications, a neural network is used to obtain some information out of given data. Often one uses neural networks in situations where other methods are not available. Among other methods, one can use more general mathematical models. A text on general mathematical models discusses various aspects of such models, including their simulation.
In principle, neural networks can compute any function, i.e. they can do everything a normal computer can do. Neural networks are especially useful for classification problems and for function approximation problems which are tolerant of some imprecision, which have lots of training data available, but to which hard and fast rules (such as laws of nature) cannot easily be applied.
Before one starts a simulation using a neural network, one should try to find out, whether alternative methods exist and if the given task can be treated by a neural network. It is for instance not a good idea to try to predict the drawing of a lottery from the last five drawings using neural networks, because one cannot expect any correlations between the different drawings. A more interesting example would be a weatherforecast by a neural network using the weather conditions of the last five days. But in this case, better models are available and should be used instead of a neural network. In many situations one expects correlations between data but one does not know any rules or laws that could be used for a prediction. Such a situation is ideal for the application of a neural network. A typical example from medical diagnostics is a Risk estimation for prostate cancer: Several serumbased data are known to be important for the prediction of prostate cancer, but the detailed interplay between these data is unclear. The programm estimates the risk for prostate cancer using a neural network. The network has been trained on a large set of samples and the prediction is by now a useful tool for a physician to find out whether a patient has prostate cancer. We present a more complex example in section Application. For other examples you may take a look at our collection of links (see section Links).
An artificial neural network consists of a collection of nodes and lines between the nodes. Each node represents a neuron and the lines represent the connections between the different neurons. To each node one associates a state variable that describes the state of the neuron. Often the variable associated to a node takes two values, it is binary valued. To each line one associates a variable that describes the strength of the connection between the two neurons. The figure shows a sketch of a neural network.
To fully describe an artifical neural network, further parameters are needed (bias, transfer functions), which are less important for the basic understanding. In most cases one uses a neural network that consists of various layers, an input layer, several hidden layers, and an output layer. A typical task for such a network is a classification: The input data feed into the input layer are classified by the discrete output. The medical example mentioned above is of that kind. The output of the network is the probability of the patient to have a certain disease.
Neural networks are trained with complete data sets. A complete data set consists of input and output data. One varies the parameter of the network, i.e. the couplings between the nodes. Typically one starts with a random configuration and calculates output data from the given input data. One compares the calculated output data with the output data of the complete data set and tries to minimize the error of the output data varying the couplings between the nodes. When the network has learned the complete data sets, one takes an independent collection of complete data sets to test the generalization capability of the network. Both collections of complete data sets must be large enough and correctly distributed within the range of possible data. Below, in the section this will be made more precise. For the above medical example, this means that one needs the serumbased data from many patients, and for each patient one has to know whether or not he has the disease. After having trained the network with these data, the network is able to generalize from these examples. The output of the network may be a great help for a physician to find out whether or not a patient has the disease.
There are several steps which are important if one uses a neural network:

Copyright (c) Andreas Mielke 19992010. last change: 04.03.2011. info@andreasmielke.de 