半监督学习(SEMI-Supervised Learning)

半监督学习的工作原理

想象一下,收集了大量未标记的数据,您想在这些数据上训练模型。手动标记所有这些信息可能会花费你一大笔钱,除了需要几个月的时间来完成注释。这时候半监督机器学习方法就派上用场了。工作原理很简单。无需将标签添加到整个数据集,而是仅对一小部分数据进行手工标记并使用它来训练模型,然后将其应用于未标记数据的海洋。

自我训练

一般来说,半监督学习最简单的例子之一就是自我训练。

自我训练是您可以采用任何有监督的分类或回归方法并将其修改为以半监督方式工作的过程,利用标记和未标记的数据。标准工作流程如下。

半监督自训练方法

  • 选择少量标记数据,例如显示带有各自标签的猫和狗的图像,并使用此数据集在普通监督方法的帮助下训练基本模型。
  • 然后,使用称为伪标记的过程——当您采用部分训练的模型并使用它对数据库中尚未标记的其余部分进行预测时。此后生成的标签被称为标签,因为它们是基于具有局限性的原始标记数据生成的(例如,集合中的类可能存在不均匀的表示,从而导致偏差——狗多于猫)。
  • 从这一点开始,采用模型做出的最自信的预测(例如,我们希望某个图像显示猫而不是狗的置信度超过 80%)。如果任何伪标签超过此置信水平,则将它们添加到标记数据集中并创建一个新的组合输入来训练改进的模型。
  • 该过程可以经历多次迭代(10 通常是标准数量),每次都添加越来越多的伪标签。只要数据适合流程,模型的性能将在每次迭代中不断提高。

虽然有使用自我训练的成功例子,但应该强调的是,性能可能因一个数据集而异。在很多情况下,与采用监督路线相比,自我训练可能会降低性能。

联合培训

源自自我训练方法并且是其改进版本,协同训练是另一种半监督学习技术,当只有一小部分标记数据可用时使用。与典型过程不同,协同训练基于两个数据视图训练两个单独的分类器。

视图基本上是不同的功能集,它们提供有关每个实例的附加信息,这意味着它们在给定类的情况下是独立的。此外,每个视图都足够了——可以仅从每组特征中准确地预测样本数据的类别。

最初的联合训练研究论文声称该方法可以成功地用于例如网络内容分类任务。每个网页的描述可以分为两种视图:一种是出现在该页面上的单词,另一种是指向它的链接中的锚词。

半监督协同训练方法

因此,以下是简单来说协同训练的工作原理。

  • 首先,在少量标记数据的帮助下为每个视图训练一个单独的分类器(模型)。
  • 然后添加更大的未标记数据池以接收伪标签。
  • 分类器使用具有最高置信度的伪标签相互训练。如果第一个分类器自信地预测数据样本的真实标签,而另一个分类器做出预测错误,则具有由第一个分类器分配的自信伪标签的数据更新第二个分类器,反之亦然。
  • 最后一步涉及组合来自两个更新分类器的预测以获得一个分类结果。

与自我训练一样,协同训练要经过多次迭代,才能从大量未标记的数据中构建一个额外的训练标记数据集。

具有基于图形的标签传播的 SSL

运行 SSL 的一种流行方法是以图形的形式表示标记和未标记的数据,然后应用标签传播算法。它通过整个数据网络传播人造注释。

标签传播的典型例子

如果查看图表,将看到一个数据点网络,其中大部分没有标记,带有四个携带标签(两个红点和两个绿点代表不同的类别)。任务是在整个网络中传播这些彩色标签。一种方法是选择第 4 点,然后计算通过网络从 4 到每个彩色节点的所有不同路径。如果你这样做,你会发现有 5 条步道通向红点,只有 4 条步道通向绿色点。由此,我们可以假设第 4 点属于红色类别。然后您将对图表上的每个点重复此过程。

这种方法的实际应用可以在个性化和推荐系统中看到。通过标签传播,可以根据其他客户的信息预测客户兴趣。在这里,我们可以应用连续性假设的变体——例如,如果两个人在社交媒体上联系在一起,他们很可能会分享相似的兴趣。

来自:Semi-Supervised Learning, Explained | AltexSoft

猜你喜欢

转载自blog.csdn.net/qq_42769683/article/details/127751528