Supervised learning explained