持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第27天,点击查看活动详情
导读
最基础的半监督学习的概念,给大家一个感性的认识。
半监督学习(SSL)是一种机器学习技术,其中任务是从一个小的带标签的数据集和相对较大的未带标签的数据中学习得到的。SSL的目标是要比单独使用有标记数据训练的监督学习技术得到更好的结果。这是半监督学习系列文章的第1部分,对这个机器学习的重要子领域进行了简要的介绍。
区分半监督学习,监督学习和无监督学习
整个数据集中可用于训练的有标记数据的范围区分了机器学习的这三个相关领域。
监督学习 是机器学习中最流行的模式,在这种模式中,可以通过标签的形式获得完整的监督。整个数据集都有标记,即一个标签与训练数据集中的每个样本相关联。机器学习模型使用这个标签数据集训练,并期望对新的样本预测一个标签。监督学习主要包括两类任务:分类和回归。分类问题要求算法预测一个离散值,而回归任务是需要从输入变量(X)逼近一个映射函数(f)到连续输出变量(y)。
手写数字识别 使用(MNIST)数据集。每个样本都有一个图像和对应的数字作为标签。任务是学习从图像中预测标签(即数字)。
另一个例子是情感分类,使用IMDB数据集。每条记录都包含一个评论和一个相应的标签(正面的或负面的)。这里的任务是预测给定评论的情绪。
房价预测是一个回归任务,其中标签(房价)是一个连续变量。
在无监督学习中,没有标记数据可用。训练数据集包含样本,但没有特定的期望结果或标签。机器学习模型试图通过提取有用的特征并对其进行分析来自动地在数据中找到结构。像聚类、异常检测、关联等任务属于无监督学习。
聚类 是将数据集划分为多个簇,使同一簇中的数据点与同一簇中的其他数据点更相似,与其他簇中的数据点不相似。例如,下图(左)中的数据点可以分成3个簇,如图(右)所示。注意,簇可以是任何形状。
半监督式学习(SSL) ,正如其名称所示,介于两个极端之间(监督式是指整个数据集被标记,而非监督式是指没有标记)。半监督学习任务具有一个标记和一个未标记的数据集。它使用未标记的数据来获得对数据结构的更多理解。通常,SSL使用小的带标签数据集和较大的未带标签数据集来进行学习。
我们的目标是学习一个预测器来预测未来的测试数据,这个预测器比单独从有标记的训练数据中学习的预测器更好。
监督学习,半监督学习,无监督学习在标记数据上的差别可视化
为什么要关注半监督学习
在许多实际应用中,收集大的有标签数据集太昂贵或者不可行,但是有大量的无标签数据可用。对于这种情况,半监督学习是一个完美的方案。SSL技术可以利用带标签的数据,也可以从未带标签的数据派生结构,从而更好地解决总体任务。
典型的监督学习算法在标记数据集较小的情况下,容易出现过拟合问题。SSL通过在训练过程中理解未标记数据的结构来缓解这个问题。
此外,这种学习技术减轻了构建大量标记数据集来学习任务的负担。SSL方法更接近我们人类的学习方式。
让我们举个例子来直观地看看半监督学习的效果。在下面的图中,当只对标记数据(大的黑点和白点)进行训练(即对标记数据进行监督学习)时,决策边界(虚线)并不遵循数据“流形”的轮廓,这可以由额外的未标记数据(小灰点)来表示。
因此,SSL的目标是利用未标记数据来生成决策边界,从而更好地反映数据的底层结构。
由不同的半监督学习方法生成的决策边界
半监督学习的任务举例
- CIFAR-10 — 它是由10个类的32×32像素的RGB图像组成的数据集,任务是图像分类。通常使用Tiny Images数据集中的随机图像来形成未标记数据集。
- SVHN — 街景门牌号数据集由真实门牌号的32×32像素的RGB图像组成,任务是分类最中间的数字。它附带一个“SVHN-extra”数据集,该数据集由531,131个额外的数字图像组成,可以用作未标记数据。
- Text-Classification Tasks — 亚马逊评论数据库,Yelp评论数据集。
总结
半监督学习是一种有趣的方法,用于解决机器学习中缺乏标记数据的问题。SSL算法还利用未标记数据来提高监督学习算法的性能。SSL算法通常提供了一种从无标签示例中了解数据结构的方法,减轻了对标签的需求。
本系列的第2部分会介绍了一些具体的SSL技术,未完待续。