1. A method comprising: obtaining, by a computing system, a plurality of training vectors, each to contain a plurality of keystroke pattern values derived from keystrokes entered by a user; adding, by the computing system, a new output node to a neural network, the new output node corresponding to the user and connected directly to each of a plurality of input nodes by an element of a first weight vector and connected directly to each of the plurality of input nodes by an element of a second weight vector; training, by the computing system, the first weight vector connecting the input nodes to the new output node with the plurality of training vectors, wherein training the first weight vector includes updating the first weight vector in multiple iterations, in each iteration the first weight vector is subtracted from one of the training vectors and multiplied by a learning factor that decreases after each iteration; and after completion of training the first weight vector, training, by the computing system, the second weight vector, wherein each element of the second weight vector is obtained by computing a difference between a corresponding element of a training vector and a corresponding element of the first weight vector, repeating computation of the difference for each of the training vectors, and determining a largest difference among the computed differences, wherein each element of the second weight vector is to be scaled by a scale factor to define a range for an element of an input vector to be classified, the range is to be compared with a difference between a corresponding element of the first weight vector and a corresponding element of the input vector, and the number of elements of the input vector that are within respective ranges is to be counted to classify the input vector.