11. A computer implemented system for performing training of a neural network data mining model, comprising: a processor operable to execute computer program instructions; and a memory operable to store computer program instructions executable by the processor in a multi-threaded environment, the computer program instructions for performing the steps of: a) providing a training dataset to a neural network for training an untrained neural network data mining model, the training dataset comprising a plurality of rows of data, wherein the neural network data mining model is trained by: b) selecting, in each of a plurality of threads, a row of data from the training dataset for performing training processing on the neural network data mining model; c) computing, in each of the plurality of threads, an estimate of a gradient or cost function of the neural network data mining model based on the selected row of data, wherein the cost function accounts for the cost of various nodal transitions; d) consolidating the computed estimate of the gradient or cost function of the neural network data mining model from each thread based on the selected row of data to form a consolidated gradient or cost function; e) determining whether the consolidated gradient or cost function of the neural network data mining model has converged using the selected row of data, based on the consolidated computed estimate of the gradient or cost function of the neural network data mining mode, wherein the computing an estimate is performed before the determining; f) repeating steps b)-e) using another row of data, if the consolidated gradient or cost function of the neural network data mining model has not converged; and g) updating weights of the neural network data mining model if the consolidated gradient or cost function of the neural network data mining model has converged and providing the number of rows of data that were used for performing training processing on the neural network data mining model for each thread in the plurality of threads and consolidating the number of rows for each thread, wherein the consolidated number of rows is a subset of the total number of rows in the training dataset, and wherein the neural network data mining model uses less than the entire training dataset to train the neural network data mining model; and h) performing additional training processing to the neural network data mining model using the training dataset, wherein the additional training processing is performed using a number of rows of data equal to the consolidated number of rows.
13. The method of claim 11 , wherein each thread processes an equal portion of the number of rows of data processed.