1. A computer-implemented method of incrementally forming and adaptively updating a neural net comprising: (a) using a set of sample data patterns to form a hierarchical list of function approximation node candidates, each function approximation node candidate located at the center of a hierarchically arranged cluster; (b) incrementally adding to the neural net a function approximation node selected 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 network and (d) storing an updated neural net including the function approximation node and the updated function parameters for use during the recognition of one or more patterns in a new set of data; and (e) using the updated neural net to improve the performance of a system, wherein the new set of data comprises data that describes a behavior of the system.