trainer -> Perceptron, K-means etc