Friday, June 24, 2011

Neural Networks

Neural Networks

Neural Network is an information processing paradigm that is inspired by the way biological nervous systems, such as the brain, process information. The key element of this paradigm is the novel structure of the information processing system. It is composed of a large number of highly interconnected simple processing elements (neurons) working in unison to solve specific problems. Artificial Neural Networks, like people, learn by example. An Artificial Neural Network is configured for a specific application, such as pattern recognition or data classification, through a learning process. Learning in biological systems involves adjustments to the synaptic connections that exist between the neurons. This is true of Neural Networks as well. Neural Networks can process information at a great speed owing to their highly massive parallelism.

Neural Networks have wide applicability in various walks of life. A number of applications and different areas are mentioned where use of neural network gives excellent results. Neural network models can be developed from measured or simulated data. Neural network models can also be used to update or improve the accuracy of already existing models.

Neural Networks

How do Neural Networks function?

Neural Network: It is an information processing paradigm that is inspired by the way biological nervous systems, such as the brain, process information. The key element of this paradigm is the novel structure of the information processing system. It is composed of a large number of highly interconnected processing elements (neurones) working in unison to solve specific problems. Neural Networks, like people, learn by example. It is is configured for a specific application, such as pattern recognition or data classification, through a learning process. Learning in biological systems involves adjustments to the synaptic connections that exist between the neurones.

Artificial neurons are made to mimic the human brain. The defining element is the neuron; it collects signals from a number of structures and then sends out spikes of electrical activity through the axon which is split into thousands of branches. At the end of each branch the synapse converts the activity of the axon into electrical effects that inhibit or excite activity in the connected neurons. The neural network learns by changing the effectiveness of the synapses, so that the influence one neuron has on another changes (Siganus and Stergiou). Neural Networks are an idealized model of the real network.

Neural Networks operate in two modes, the using mode and the training mode. In the most basic sense the network is trained by entering a large number of inputs to the system. It is then taught how to react to each one i.e. when to fire and if so what output. In more complex problems the inputs are assigned weights that determine the response of the system (see diagram 3 adapted from Siganus and Stergiou). Pattern recognition is the most important characteristic of the networks. They generally do this by contrasting and comparing the unknown input to all it had learned in training mode then it chooses the output that is most similar.

There are two major subdivisions in Neural Networks feed-forward/bottom-up and feedback/interactive networks. In the feed-forward setup, signals are restricted to travel in one direction; input to output. This means that the output of one layer does not affect that same layer; because of this feed-forwards are mostly used in pattern recognition. In feedback (see diagram 5 adapted from works by the Japan atomic research institute) signals are allowed to travel in both directions. These networks are more powerful and dynamic; their 'state' is changing continuously until they reach an equilibrium point. Neural Networks are divided into layers; the input, hidden and output layers. The input units represents the data, the activity of the hidden(output) units is determined by the input(hidden) units and the weights on the connection between them.

What are the major advantages of Neural Networks?

Neural networks succeed where everyday computer systems produce mediocre results. They can take extremely complicated or imprecise data; extract patterns and deduce trends that are too complex to be noticed by humans or other computing techniques. In a very real way neural networks can be thought of as an expert. They are capable of creating projections given new scenarios. They are able to do this effectively because they can perform adaptive learning, self-organization, real time operations and fault tolerance. Adaptive learning is the ability to learn how to do tasks based on the data given for training or initial experience (Stergiou and Siganus). Self-organization is the creation of its own representation of the information it receives during the learning period. Real time operation is possible because neural network operations may be carried out in parallel.

The Disadvantages of neural networks

The results neural networks return are at best a good approximation of a solution, they don’t usually return an optimal solution and in some cases the results returned diverge. This is because choosing the right structure of a neural network is in itself a complex problem. The present technology cannot fully model the human brain that is, the technology does not scale up to handling billions of neurons (Champandard).

The differences between Neural Networks and conventional computing

The major difference is their approach to problem solving. Conventionally computers use an algorithmic approach; they would need to know all the specific steps to solve the problem. Therefore they are able to solve only those problems that we know how to solve. In contrast neural networks can perform tasks we don’t know exactly how to do. Artificial Neural Networks are not programmed to perform a specific task, instead very specific examples are carefully chosen to teach the system. This approach allows the network to solve the problem by itself and so its operation can be unpredictable.

Applications of Neural Networks

Neural networks have an extensive array of utilization in daily real world applications. They have been successfully applied in a diverse range of fields which include finance, medicine, engineering, geology and physics. The numerous tasks which we need to perform frequently can be done through neural network implementations which are able to perform and execute these actions reliably, effortlessly and intrepidly (humans are normally affected by fatigue and emotion).

Neural Networks in Business

Neural networks have broad application in real world business problems. In fact, they have already been successfully applied in many Industries e.g paper mills. Business is a diverted field with several general areas of specialization such as accounting or Financial analysis. Almost any neural network application would fit into one business area or financial analysis. There is some potential for using neural networks for business purposes, including Resource allocation and Scheduling. Since neural networks are best at identifying patterns or trends in data, they are well suited for Prediction or Forecasting needs including: sales forecasting, industrial process control, customer research, data validation, risk management and target marketing. Neural Networks have also been very useful in Credit Evaluation especially due to their use in credit scoring system. There are some Marketing Applications which have been integrated with neural network systems one such being The Airline Marketing Tactician (AMT). It is a computer system made of various intelligent technologies including expert systems. A feed forward neural network is integrated and trained using back-propagation to assist the marketing control of airline seat allocations. The adaptive neural approach was amenable to rule expression. Additionally, the application's environment changed rapidly and constantly, which required a continuously adaptive solution. The system is used to monitor and recommend booking advice for each departure. Such information has a direct impact on the profitability of an airline and can provide a technological advantage for users of the system. Neural Networks are also used in Monitoring and Enhancing Transportation and Communication facilities. In these fields Neural Networks are in use in the following specific paradigms: recognition of speakers in communications and recovery of telecommunications from faulty software etc. In monitoring, Networks have been used to monitor the state of aircraft engines. By monitoring vibration levels and sound, early warning of engine problems can be given. Moreover, British Rail have also been testing a similar application monitoring diesel engines.

Neural Networks in Economics

Neural Networks have been applied in Economics to a great extent. Investment analysis is one important application in this regard. Neural Networks have been extensively tested and used to predict the movement of stocks and currencies etc., from previous data. The results have been so impressive that they are replacing earlier simpler linear models. Moreover, neural networks have helped companies avoid disaster by using bankruptcy prediction. These also allow corporate organizations to evaluate and practically use their job assignment and sales forecasting neural network applications to help achieve the best results.

Neural Networks in Recognition and Matching Applications

It has been widely known that neural networks can serve as a powerful tool for pattern recognition and classification, especially when the distribution of the objective classes is unknown or can't be expressed as mathematical models.  There are also studies that have shown that neural networks can be used as a tool for feature extraction, i.e., to produce new features based on the original features or the inputs to a neural network.  The set of new features usually contains fewer and more informative features so that future classification can be conducted at a lower computational cost using only the condensed new features. There is a long list of applications of neural networks in this particular field itself, some of these being: Pattern Matching, Signature Verification, Image or Facial Recognition, Text and Speech Recognition, Three-dimensional Object Recognition, Synthetic numerical character Recognition, Hand Written word Recognition, Interpretation of multi meaning Chinese words and Texture analysis etc.

Neural Networks in Data Mining

There is also a strong potential for using neural networks for database mining that is, searching for patterns implicit within the explicitly stored information in databases. Most work in this area is applying neural networks, such as the Hopfield-Tank network for optimization and scheduling. One particular example of use of neural networks in data mining is as follows: Classification is one of the data mining problems receiving great attention recently. For that the approach of symbolic classification rules using neural networks has been appreciated. With the proposed approach, concise symbolic rules with high accuracy can be extracted from a neural network. The network is first trained to achieve the required accuracy rate. Redundant connections of the network are then removed by a network pruning algorithm. The activation values of the hidden units in the network are analyzed, and classification rules are generated using the result of this analysis. The effectiveness of the proposed approach is clearly demonstrated by the experimental results on a set of standard data mining test problems.


Neural networks are used in several applications some of them have been discussed in this paper. The Neural Network hardware can be designed in a few niche areas where the performance of the system is main issue. So in this way Neural Network is helpful for developing a system which is more robust, reliable, fast and accurate. Neural networks can learn and generalize from available data thus making model development possible even when component formulae are unavailable.