Obviously, semi-supervised learning makes use of some kind of assumption to utilize the underlying unstructured data. There are three kinds of assumptions that are used:

**Continuous assumption: **Points that are close to each other are more likely to share the same label and hence called continuous assumption.

**Cluster assumption:** Data tends to form discrete clusters and these clusters tend to share a label. This is called the cluster assumption.

**Manifold assumption:** The data lie approximately on a manifold of much lower dimension than the input space. In this case, we can attempt to learn the manifold using both the labeled and unlabeled data to avoid the curse of dimensionality. Then the learning can proceed using distances and densities defined on the manifold.