Neural network Neural networks, usuallyhas a finite number of discrete outputs, even when the input is continuous. Thenumber of outputs is equal to the number of nodes in the last layer.
But forcorrecting the error in localization, the output has to be continuous. Usingneural networks with regression helps us to obtain a continuous output from theneural network. In neural networks with regression, the values in the finallayer is fed into another layer with a single node, after being multiplied bythe weights. The value of this node is treated as output, having continuous values. This network can betrained and the neuron values and connection weights can be manipulated duringthe training phase. Once trained, these networks can be used to obtain requiredresults Error correction using neural networks Presence of noise,Randomness of the environment, obstacles and other factors make sure that in anindoor environment the localization results are erroneous most of the time.Using neural networks, the error in the localization result can be reduceddrastically.
In this paper, we build a simple feedforward neural network with regression.We train the network by feeding it with inputs and desired outputs. These inputoutput data are results of RSSI based localization. Once trained, Results oflocalization can be passed through this network to get highly accurate results.
A feedforward networkis initialized with required number of hidden layers, inputs and outputs. Theweights of links in the network are initialized to any random value. The outputsof this network are connected to a single node for getting a continuous output. For training theneural networks, few wireless sensor nodes are uniformly spread in theenvironment, placed at known locations. Localization results of these nodes arecomputed.
These computed values are given to the neural network as input andthe corresponding actual locations are given as desired outputs. An input tothe network propagates in the forward direction and produces an output. Thisoutput is compared with the desired value and the error in the computed valueis recorded.
With the desired output, the neural network is traced back manipulatingthe weights of the intermediate connections so that the desired output is obtainedfor that particular input. This process is continued for all the other valuesin the training data set, completing one epoch. If the average error is greaterthan a prefixed threshold, another epoch of training occurs, till the averageerror is at desired levels. After training, the neural network is tested andvalidated with two other sets of data. After training, testing and validationthe neural network is ready to be deployed.
Theresults of localization are fed into this neural network. The output would bethe error corrected output. The amount of error correction depends on thenumber of hidden layers and number of training nodes dedicated. More the numberof training nodes, better would be the performance of the neural network.
However, the training time would increase proportionately with the number oftraining nodes. A trained neural networkwould help in error control without any additional requirements until there is drasticchange in the environment. Under such circumstances the network has to betrained again for correct functioning.