sklearn中半监督学习的相关部分
from sklearn.semi_supervised import LabelPropagation, LabelSpreading
英文
https://scikit-learn.org/stable/modules/label_propagation.html
中文
http://sklearn.apachecn.org/#/docs/15?id=_114-%e5%8d%8a%e7%9b%91%e7%9d%a3%e5%ad%a6%e4%b9%a0
相关知识(理论知识来自西瓜书)
让学习器不依赖外界交互、自动地利用未标记样本来提升学习性能,就是半监督学习(semi-supervised learning)。
半监督学习可进一步划分为纯半监督学习和直推学习。纯半监督学习是基于“开放世界”假设,希望学得模型能适用于训练过程中未观察到的数据;而直推学习,是基于“封闭世界”假设,仅试图对学习过程中观察到的未标记数据进行预测。
1、生成式方法
生成式方法是直接基于生成式模型的方法。此类方法假设所有数据(无论是否有标记)都是由同一个潜在的模型“生成”的。这个假设使得我们能通过潜在模型的参数将未标记数据与学习目标联系起来,而未标记数据的标记则可以看作模型的缺失参数,通常可基于EM算法进行极大似然估计求解。此类方法的区别主要在于生成式模型的假设,不同的模型假设将产生不同的方法。
此类方法简单,易于实现,在有标记数据极少的情况下,往往比其他方法性能更好。然而此类方法有一个问题,就是模型假设必须准确,即假设的生成式模型必须与真实数据分布吻合;否则利用未标记数据反倒会降低泛化性能。
2、半监督SVM
半监督支持向量机(semi-supervised support vector machine,简称S3VM)是支持向量机在半监督学习上的推广。
半监督支持向量机中最著名的是TSVM(Transductive Support Vector Machine).TSVM试图考虑对未标记样本进行各种可能的标记指派(label assignment)即尝试将每个未标记样本分别作为正例和反例,然后在所有这些结果中,寻求一个在所有样本(包括有标记样本和进行了标记指派的未标记样本)上间隔最大化的划分超平面。一旦划分超平面得以确定,未标记样本的最终标记指派就是其预测结果。
显然,搜寻标记指派可能出错的每一对未标记样本进行调整,是一个涉及巨大计算开销大规模优化问题。因此,半监督SVM研究的一个重点是如何设计出高效的优化求解策略。