一,半监督学习
半监督学习是一种介于监督式学习和无监督学习之间的学习范式,我们都知道,在监督式学习中,样本的类别标签都是已知的,学习的目的找到样本的特征与类别标签之间的联系。一般来讲训练样本的数量越多,训练得到的分类器的分类精度也会越高。但是在很多现实问题当中,一方面由于人工标记样本的成本十分高昂,导致了有标签的样本十分稀少。而另一方面,无标签的样本很容易被收集到,其数量往往是有标签样本的上百倍。半监督学习(这里仅针对半监督分类)就是要利用大量的无标签样本和少量的有标签样本来训练分类器,解决有标签样本不足这个难题。
二,self-training
self-training可能是最早被提出来的半监督学习方法,最早可以追溯到Scudder(1965)。self-training相比其它的半监督学习方法的优势在于简单以及不需要任何假设。
上面是self-training的算法流程图,简单解释一下:
1,将初始的有标签数据集作为初始的训练集(Xtrain,ytrain)=(Xl,yl)(Xtrain,ytrain)=(Xl,yl)
,根据训练集训练得到一个初始分类器CintCint。
2,利用CintCint对无标签数据集XuXu中的样本进行分类,选出最有把握的样本(Xconf,yconf)(Xconf,yconf)
3,从XuXu中去掉(Xconf,yconf)(Xconf,yconf)
4,将(Xconf,yconf)(Xconf,yconf)加入到有标签数据集中,(Xtrain,ytrain)←(Xl,yl)∪(Xconf,yconf)(
Xtrain,ytrain)←(Xl,yl)∪(Xconf,yconf)
5,根据新的训练集训练新的分类器,重复步骤2到5直到满足停止条件(例如所有无标签样本都被标记完了)
最后得到的分类器就是最终的分类器。
热门工具 换一换