What are the possible approaches when we need to train a model, but the training dataset is really small? (Assuming we have a lot of data, just not many data are labeled)
I know a library from Stanford: https://hazyresearch.github.io/snorkel/ that can generate training labels based on a some pre-determined experts rules. (Side question, anyone happen to know what's the underlining mathematics/statistics of this library?)
However, I am wondering in the scenarios when the snorkel packages can not be used, what are the approaches to label more data for training? Could Maximum Likelihood Estimator be used here? How would one implement such algorithm for labelling the data for training?
BTW, I am looking for a mathematical approach, not a brute-force one like using Amazon Mechanical Turk.