TensorFlow 2.0神经网络实践
上QQ阅读APP看书,第一时间看更新

1.4 半监督学习

半监督学习算法介于有监督学习算法和非监督学习算法之间。

它们依赖于这样一个假设,即我们可以利用标注数据的信息来改进无监督学习算法的结果,反之亦然。

能否使用半监督学习取决于可用数据:如果只有标注数据,则可以使用有监督学习;如果没有任何标注数据,则必须使用非监督学习。但是,假设有以下情况:

·带标签和不带标签的示例

·都标注为相同类的示例

如果有这些情况,则可以使用半监督学习方法来解决问题。

在这个场景中,所有的示例都标注为同一个类别,看起来像是一个有监督学习问题,但事实并非如此。

如果分类的目的是找到一个至少划分两个区域的边界,那么如果只有一个区域,如何定义区域之间的边界呢?

我们不能!

无监督学习或半监督学习是解决这类问题的方法。该算法将学习如何对输入空间进行分区(希望在单个类簇中)、其形状以及数据是如何在空间中分布的。

可以使用无监督学习方法来了解数据中是否存在单个类簇。通过使用标签,从而切换到半监督学习方法,我们可以对空间施加一些额外的约束,以便更好地表示数据。

一旦无监督学习/半监督学习算法了解了数据的表示形式,我们就可以测试一个新的示例(我们在训练过程中从未见过的示例)是否属于类簇。或者,我们可以计算一个数值分数,以告诉我们新示例在学习到的表示中的“适合程度”。

与无监督学习算法一样,半监督学习算法也分为两个阶段。