batch perceptron