VLSI Friendly Training Algorithms and Architectures for Support Vector Machines