Understanding supervised learning