Combines supervised learning and unsupervised learning. Usually we have a small amount of labelled data and a much larger amount of unlabelled data. The unlabelled data is used to enhance performance in some way: maybe as pseudo-labels (predict on the unlabelled data; use those predictions as labels for training), use it to enforce various prediction properties, or learn about the structure of the data. Distinct from self-supervised learning.