1. A computer implemented method of performing training of a neural network data mining model comprising: 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 a row of data from the training dataset for performing training processing on the neural network data mining model; c) computing 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) determining whether the gradient or cost function of the neural network data mining model has converged using the selected row of data, based on the computed estimate of the gradient or cost function of the neural network data mining model, wherein the computing an estimate is performed before the determining; e) repeating steps b)-d) using another row of data, if the gradient or cost function of the neural network data mining model has not converged; f) updating weights of the neural network data mining model if the 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, wherein the number of rows that were used 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 g) 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 provided number of rows of data.