A New Perspective on Machine Learning: How to do Perfect Supervised Learning