# What exactly is semisupervised learning?

I have come across two descriptions of what semisupervised learning is, where one would have a small set $\mathcal{L}$ of labeled data and a larger set $\mathcal{U}$ of unlabeled data. The first description says that one first trains the model on $\mathcal{L}$, applies the trained model on $\mathcal{U}$ so as to obtain labels for it, and then re-trains the model on the union of $\mathcal{L}$ and $\mathcal{U}$, where $\mathcal{U}$ is now also labeled. (For some reason, I feel that this method is risky if the initial training on $\mathcal{L}$ was not robust enough to be generalized to $\mathcal{L} \cup \mathcal{U}$.)

Unlike the above, the second description starts by clustering the entire data set $\mathcal{L} \cup \mathcal{U}$, and then, if I understand correctly, uses the labels from $\mathcal{L}$ to label the nearest neighbours in $\mathcal{U}$ as per the clustering outcome.

Are these two approaches equally valid and what are the pros and cons?

PS: In the particular classification problem I'm trying to solve using semisupervised learning, $\mathcal{L}$ only consists of one class (True). (I only have two classes: True or False. In other words, when I know something, I only know if it's True, I never know for certain if it's False.) Does this limitation make it hopelessly difficult to train a model or is there a way around it?