Learning about Neurons, a Foundation for Machine Learning