Artificial neural networks in hydrology


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Artificial neural networks in hydrology

  2. 2. DEVELOPMENT OF ANN <ul><li>Information processing occurs at many single elements called nodes, also referred to as units, cells or neurons. </li></ul><ul><li>Signals are passed between nodes through connection links. </li></ul><ul><li>Each node typically applies a non-linear transformation called an activation function to its net input to determine its output signal. </li></ul>
  3. 3. CLASSIFICATION OF NEURAL NETWORKS <ul><li>1) Based on Number of Layers </li></ul><ul><li>a) Single (Hopfield Nets) </li></ul><ul><li>b) Bilayer (Carpenter/Grossberg adaptive resonance networks) </li></ul><ul><li>c) Multilayered (most back propagation networks) </li></ul>
  4. 4. <ul><li>2) Based on the direction of information flow and processing </li></ul><ul><li>a) Feed Forward Network – The nodes are arranged in layers, starting from the input layer and ending at the output layer ; there could be several hidden layers too. </li></ul><ul><li>b) Recurrent ANN – The information flows through nodes in both directions, ie from input to output and vice versa. </li></ul>
  5. 5. MATHEMATICAL ASPECTS <ul><li>The inputs form an input vector X=(x 1 , x 2 ….x n ) </li></ul><ul><li>The sequence of weights leading to the node form a weight vector W j =(W 1j , W 2j …W nj ) where W ij represents the connection weight from the ith node in the preceding layer to this node. </li></ul><ul><li>Output y j is computed as follows : </li></ul>
  6. 6. NETWORK TRAINING <ul><li>In order for an ANN to generate an output vector that is as close as possible to the target vector, a training process, also called as learning, is used to find optimal weight matrices W and bias vectors V that minimize a predetermined error function that usually has the form </li></ul>
  7. 7. <ul><li>Where </li></ul><ul><li>ti = component of desired output T </li></ul><ul><li>yi = corresponding ANN output </li></ul><ul><li>P = number of training patterns </li></ul><ul><li>p = number of output nodes </li></ul><ul><li>Types of training </li></ul><ul><li>Supervised – requires an external teacher to teach. It requires a large number of inputs and the corresponding outputs. </li></ul><ul><li>Un-supervised – no teacher required. Only input data set is provided and the ANN automatically adapts its connection weights to cluster those input patterns into classes with similar properties. </li></ul>
  8. 8. TRAINING ALGORITHMS <ul><li>1) Back - Propagation </li></ul><ul><li>It basically minimizes the network error function. </li></ul><ul><li>Each input pattern is passed through the network from input layer to output layer. </li></ul><ul><li>Network output is compared with desired target output and error is computed. </li></ul><ul><li>This error is propagated backward through the network to each node and correspondingly connection weights are adjusted. </li></ul>
  9. 9. <ul><li>Hence it involves two steps ; a forward pass in which effect of input is passed through the network to reach the output layer, after the error is computed the second steps begins in which the error generated at the output layer is propagated back to the input layer with the weights being modified. </li></ul>
  10. 10. <ul><li>Back-propagation is a first-order method based on the steepest gradient descent, with the direction vector being set equal to the negative of the gradient vector. Consequently, the solution often follows a zigzag path while trying to reach a minimum error position, which may slow down the training process. It is also possible for the training process to be trapped in the local minimum despite the use of a learning rate. (?) </li></ul>
  11. 11. CONJUGATE GRADIENT ALGORITHMS <ul><li>It does not proceed along the direction of the error gradient, but in an orthogonal direction. </li></ul><ul><li>This prevents the future steps from influencing the minimization achieved during the current step. (?) </li></ul>
  12. 12. RADIAL BASIS FUNCTION <ul><li>The hidden layer consists of a number of nodes and a parameter vector called a ‘‘center,’’ which can be considered the weight vector. </li></ul><ul><li>The standard Euclidean distance is used to measure how far an input vector is from the center. </li></ul><ul><li>For each node, the Euclidean distance between the center and the input vector of the network input is computed and transformed by a nonlinear function that determines the output of the nodes in the hidden layer. </li></ul>
  13. 13. <ul><li>The major task of RBF network design is to determine center c. The simplest and easiest way may be to choose the centers randomly from the training set. Or else the technique of clustering input training set into groups and choose the center of each group as the center. </li></ul><ul><li>After the center is determined, the connection weights wi between the hidden layer and output layer can be determined simply through ordinary back-propagation training. </li></ul><ul><li>The primary difference between the RBF network and back propagation is in the nature of the nonlinearities associated with hidden nodes. The nonlinearity in back-propagation is implemented by a fixed function such as a sigmoid. The RBF method, on the other hand, bases its nonlinearities on the data in the training set. </li></ul>
  14. 14. CASCADE CORRELATION ALGORITHM <ul><li>It starts with a minimal network without any hidden nodes and grows during the training by adding new hidden units one by one. </li></ul><ul><li>Once a new hidden node has been added to the network, its input-side weights are frozen. </li></ul><ul><li>The hidden nodes are trained in order to maximize the correlation between output of the nodes and output error. </li></ul>