简单聊一下Semi-supervised Learning(SSL)分类时, 两个可用的方法: self-training与active learning.
当我们有标注的样本很少时, 训练的模型会不够准确. 这时我们可以尝试利用一下无标注的样本.
Self-training
- 用Labeled set训练模型.
- 用模型预测Unlabeled set.
将预测结果中置信度最大的一个instance从Unlabeled set移动到Labeled set. 其label当然就是预测的这个结果. - Goto 1 直到所有instance都移动到Labeled set中.
Active learning
- 用Labeled set训练模型.
- 用模型预测Unlabeled set.
从预测结果中, 选取最不确信的一个(批), 拿来人工标注. 并移动到Labeled set中. - Goto 1 直到所有instance都移动到Labeled set中.
其中第2步, 如何选择一批合适的instance来标注呢? 选最不确信(决策边界附近)的instance是一个方法. 同时也有很多其他方法, 比如训练多个模型, 选多个模型分歧最大的instance; 选取能使模型变化最大(或loss下降最多)的instance等. 详细总结可见Wikipedia.