I started writing my own learning and training methods because I don't understand what's in perceptron already and I think I can do better