Supervised learning and unsupervised learning are two main types of machine learning distinguished by their use of labeled versus unlabeled data. Supervised learning aims to predict outputs based on labeled training examples, while unsupervised learning seeks to discover patterns in unlabeled data. Typical applications include classification and regression for supervised learning, and clustering and dimensionality reduction for unsupervised learning.