1.14. 半监督学习
半监督学习是指在您的训练数据中,一些样本没有标记的情况。sklearn.semi_supervised
中的半监督估计器能够利用这些额外的未标记数据来更好地捕捉底层数据分布的形状,并更好地推广到新样本。当我们有少量的标记点和大量的未标记点时,这些算法可以很好地执行。
y中有未标记数据
在使用fit
方法训练模型时,为未标记的点以及标记的数据分配标识符非常重要。此实现使用的标识符是整数值-1。
1.14.1. 标签传播
标签传播表示半监督图推理算法的一些变体。
此模型中提供了一些特性如下:
- 可用于分类和回归任务
- 核方法可将数据投影到备用维度空间(alternate dimensional spaces)
scikit learn
提供了两种标签传播模型:LabelPropagation
和LabelSpreading
。两者的工作原理都是在输入数据集中的所有项上构造一个相似图(similarity graph)。
标签传播说明:未标记观测数据的结构与类结构一致,因此类标签可以传播到训练集中未标记观测数据上。
LabelPropagation
和 LabelSpreading
对相似性矩阵的修改不同,相似性矩阵的图形化和对标签分布的钳制效应(clamping effect)也不同。钳制(clamping)允许算法在一定程度上改变真实标记数据的权重。LabelPropagation
算法执行输入标签的硬夹持(hard clamping),这意味着\alpha=0。这个钳制因子(clamping factor)可以被放宽,比如说,\alpha=0.2,这意味着我们将始终保留原始标签分布的80%,但是算法可以在20%之内改变其分布的置信度。
LabelPropagation
使用原始相似性矩阵,该相似性矩构建于不做任何修改的数据。相比之下,LabelSpreading
最小化了具有正则化特性的损失函数,因此它通常对噪声数据更为鲁棒。该算法在原图的一个修改版本上进行迭代,并通过计算规一化图拉普拉斯矩阵(he normalized graph Laplacian matrix)来规一化边缘权值。此过程也用于Spectral clustering。
标签传播模型有两种内置的内核方法。内核的选择影响算法的可扩展性和性能。以下是可用的:
- rbf (\exp(-\gamma |x-y|^2), \gamma > 0. \gamma 由关键字 gamma 指定。
-
knn (1[x’ \in kNN(x)]. k 由关键字 n_neighbors 指定。
RBF核将产生一个全连通图(fully connected graph),该图以密集矩阵的形式存储在内存中。此矩阵可能非常大,并且与算法的每次迭代执行全矩阵乘法计算的成本相结合,可能导致很长的运行时间。另一方面,KNN内核将产生一个更为内存友好的稀疏矩阵,可以大大减少运行时间。
案例
参考文献
[1] Yoshua Bengio, Olivier Delalleau, Nicolas Le Roux. In Semi-Supervised
Learning (2006), pp. 193-216
[2] Olivier Delalleau, Yoshua Bengio, Nicolas Le Roux. Efficient Non-
Parametric Function Induction in Semi-Supervised Learning. AISTAT 2005
https://research.microsoft.com/en-us/people/nicolasl/efficient_ssl.pdf
(C) 2007 – 2019, scikit-learn 开发人员 (BSD 许可证). 此页显示源码
未经允许不得转载:PythonOK » 1.14. 半监督学习