半监督学习(SSL)

来源:互联网 发布:手机虚拟地球仪软件 编辑:程序博客网 时间:2024/06/05 19:11
什么是半监督学习?
我的理解就是一种偷懒的学习算法。
利用很少的数据样本,构造模型,然后对大量的数据进行训练。
百度百科的答案:半监督学习(Semi-Supervised Learning,SSL)是模式识别和机器学习领域研究的重点问题,是监督学习与无监督学习相结合的一种学方法。它主要考虑如何利用少量的标注样本和大量的未标注样本进行训练和分类的问题。主要分为半监督分类,半监督回归,半监督聚类和半监督降维算法。
很容易理解的例子:
我们在丰收的季节来到瓜田,满地都是西瓜,瓜农抱来三四个西瓜说这都是好瓜,然后指着地里面五六个瓜说这些不好,还需要再生长几天,基于这些信息,我们能否构建一个模型,用于判别地里面哪些是该采摘的瓜?显然,可将瓜农告诉我们的好瓜,与不好的瓜分别作为正例和反例来训练一个分类器,然而只用这十个瓜做训练样本,有点太少了吧,能不能把地里的瓜也用上呢?
我们可以先让瓜农挑选少量的瓜,哪些是好瓜哪些是不好的瓜,也就是给每个给少量的训练样本打上标签,然后我们用瓜农挑选标注的样本来训练一个模型,然后用这个模型去地里面挑选一个瓜,然后询问瓜农好不好,然后把这个新获得有标记的样本加入刚开始建立的模型中去,再去挑瓜,。。。反复重复这样,若每次都挑出对改善模型能帮助大的瓜,则只需要询问瓜农比较少的瓜就能构建很强的模型,从而降低标记的成本。(这也是半监督学习的思想)
我们都知道,训练是最花费时间的,然而预测是很快的不需要很多的时间。
我们利用极少量的样本,来训练一个模型,然后把其余大量的数据通过这个模型,进行预测,预测的结果肯定是有的对的,有的是错的,我们把错的样本拿来给专家(本咧是瓜农)来判断进行修改和标注,然后把这个专家新标注的样本,放进刚开始少量的模型中,进行更强的预测,那么现在问题来了,我们怎么知道预测的瓜是不是真的预测对了或者错了呢????
我们把未标注的样本都扔进少样本的模型中进行预测(预测不花什么时间的),然后通过几个算法,我们能判断每个数据的不确定性,具体的算法后续呈上,然后我们选择最不确定的那个样本,认为是分类错误的,然后把这些拿出来给专家进行标注,拿取少量的比所有的少花了很多的时间。把标注后的样本放在初始的模型中进行预测,(预测能力会越来越强的)。反复以上步骤。
这就是半监督学习的思想!!!!
0 0