【转】伪标签学习 —— 一种简单有效的半监督学习方法
作者:互联网
对于每个机器学习项目而言,数据是基础,是不可或缺的一部分。在本文中,作者将会展示一个名为伪标签的简单的半监督学习方法,
它可以通过使用无标签数据来提高机器学习模型的性能。
1. 什么是半监督学习 (SSL) ?
假设我们目前面临一个简单的图像分类问题,我们的数据有两类标签(如下所示)。
我们的目标就是区分图像中有无日食,现在的问题就是如何仅从两幅图片的信息中构建一个分类系统。
一般而言,为了构建一个稳定的分类系统我们需要更多数据,我们从网上下载了更多相关图片来扩充我们的训练集。
但是,如果从监督学习的方法出发,我们还要给这些图片贴上标签,因此我们要借助人工完成这个过程。
基于这些数据运行了监督学习的算法,我们的模型表现显著高于那个仅基于两张图片的算法。
但是这个方法只在任务量不大的时候起效,数据量一大继续人工介入会消耗大量资源。
为了解决这一类问题,我们定义了一种名为半监督学习的方法,能从有标签(监督学习)和无标签数据(无监督学习)中共同习得模式。
因此,现在就让我们学习下如何利用无标签数据。
2. 如何利用无标签数据?
考虑如下的情形
我们只有分属两个类别的两个数据点,途中的线代表着任意有监督模型的决策边界。
现在,让我们再途中加一些无标签数据,如下所示。
因此,使用无标签数据的优点如下:
- 有标签数据往往意味着高成本和难以获得,但无标签数据量大又便宜。
- 通过提高决策边界的精确性,它们能提高模型的稳健性。
现在,我们对于半监督学习已经有了直观的认识,当然这个领域也有许多种方法,本文就介绍其中的伪标签学习法。
3. 伪标签学习
这一技术,让我们不必再手工标注无标签数据,我们只需要基于有标签数据的技术来给出一个近似的标签,我们把这个过程分成多个步骤逐一介绍。
为了训练一个监督学习的机器学习模型,我们必须要有带标签的数据。那这是否意味着无标签的数据对于诸如分类和回归之类的监督任务就无用了呢?当然不是! 除了使用额外数据进行数据分析,还可以将无标签数据和标签数据结合起来,一同训练半监督学习模型。
该方法的主旨思想其实很简单。首先,在标签数据上训练模型,然后使用经过训练的模型来预测无标签数据的标签,从而创建伪标签。此外,将标签数据和新生成的伪标签数据结合起来作为新的训练数据。
下面有一份整理了的流程图,具体执行步骤总结,和大家一起看一下:
- 将有标签部分数据分为两份:train_set&validation_set,并训练出最优的model1
- 用model1对未知标签数据(test_set)进行预测,给出伪标签结果pseudo-labeled
- 将train_set中抽取一部分做新的validation_set,把剩余部分与pseudo-labeled部分融合作为新的train_set,训练出最优的model2
- 再用model2对未知标签数据(test_set)进行预测,得到最终的final result label
转载:https://zhuanlan.zhihu.com/p/116065447
标签:set,标签,学习,监督,数据,我们 来源: https://www.cnblogs.com/huangm1314/p/16316050.html