A computer implemented method of incrementally forming and adaptively updating a neural network for pattern recognition, the neural network defining a plurality of interconnected function approximation nodes, the method characterised by: forming the neural network using a set of sample data patterns, by: (a) determining an ordered list of function approximation node candidates by hierarchically clustering the set of sample data patterns, each function approximation node having an associated basis function and being located at the center of a hierarchically arranged cluster; (b) incrementally adding to the neural network a function approximation node from the list of function approximation node candidates; (c) computing function parameters for the function approximation node and updating function parameters of other nodes in the neural network, by using the function parameters of the other nodes prior to addition of the function approximation node to the neural net model; and (d) repeating steps (b) and (c) if the accuracy of the neural net within the model added thereto is below a predetermined accuracy level; and (e) updating the neural network responsive to receiving a set of new data patterns if the neural network is not adequately accurate, by: hierarchically clustering the set of new data patterns into a number of clusters which is approximately the number of current nodes in the neural network model; identifying one or more clusters of new data not represented by the clusters of sample data patterns corresponding to function approximation nodes in the neural network; incrementally adding one or more additional function approximation nodes to the neural network, each additional function approximation node associated with a respective identified cluster of new data and a center of said cluster; and computing a set of new weights for the function approximation nodes of the updated neural network, and combining the new weights with the current weights of the neural network formed from the set of sample data patterns, wherein the initial weights and the new weights are combined based on forgetting factor defining the effect that the current weights have on the new weights. (a) determining an ordered list of function approximation node candidates by hierarchically clustering the set of sample data patterns, each function approximation node having an associated basis function and being located at the center of a hierarchically arranged cluster; (b) incrementally adding to the neural network a function approximation node from the list of function approximation node candidates; (c) computing function parameters for the function approximation node and updating function parameters of other nodes in the neural network, by using the function parameters of the other nodes prior to addition of the function approximation node to the neural net model; and (d) repeating steps (b) and (c) if the accuracy of the neural net within the model added thereto is below a predetermined accuracy level; and (e) updating the neural network responsive to receiving a set of new data patterns if the neural network is not adequately accurate, by: hierarchically clustering the set of new data patterns into a number of clusters which is approximately the number of current nodes in the neural network model; identifying one or more clusters of new data not represented by the clusters of sample data patterns corresponding to function approximation nodes in the neural network; incrementally adding one or more additional function approximation nodes to the neural network, each additional function approximation node associated with a respective identified cluster of new data and a center of said cluster; and computing a set of new weights for the function approximation nodes of the updated neural network, and combining the new weights with the current weights of the neural network formed from the set of sample data patterns, wherein the initial weights and the new weights are combined based on forgetting factor defining the effect that the current weights have on the new weights. hierarchically clustering the set of new data patterns into a number of clusters which is approximately the number of current nodes in the neural network model; identifying one or more clusters of new data not represented by the clusters of sample data patterns corresponding to function approximation nodes in the neural network; incrementally adding one or more additional function approximation nodes to the neural network, each additional function approximation node associated with a respective identified cluster of new data and a center of said cluster; and computing a set of new weights for the function approximation nodes of the updated neural network, and combining the new weights with the current weights of the neural network formed from the set of sample data patterns, wherein the initial weights and the new weights are combined based on forgetting factor defining the effect that the current weights have on the new weights.