1. A method for training an apparatus to recognize a pattern, the method comprising the steps of: providing the apparatus with a host processor executing steps of a machine learning process; providing the apparatus with an accelerator including at least two processors; inputting training pattern data into the host processor; transferring the training data to the accelerator; determining coefficient changes in the machine learning process with the host processor using the training pattern data; transferring indices pertaining to one or more training vectors to the accelerator determining kernel dot-products with the at least two processors of the accelerator using the training data; and transferring the dot-products back to the host processor.