Advertisement

机器学习10 -- 半监督学习 Semi-supervised Learning

阅读量:

1 为什么要做半监督学习

有监督机器学习在多个领域展现了显著的有效性,例如ImageNet图像分类任务。在2017年之前,深度学习模型的准确率就已经超越了人类水平。机器学习被视为一门以数据驱动为基础的学科,数据分为两类:data和label。data类数据相对容易获取,而label数据需要经过人工标注,其稀缺性使得label数据的价值更高。例如,在图像分类任务中,网络上存在海量的图片数据,但其中大多数图片缺乏label标注,这一现象凸显了label数据获取的挑战。

通常情况下,我们可以通过一小部分数据进行标注处理,构建有监督数据集,然后充分利用其他未标注数据。这种方法被称为半监督学习。其主要价值体现在能够有效结合有监督和无监督学习的优势,提升整体模型性能。

  1. 该方法显著减少了机器学习模型对标注数据的依赖程度,在项目处于冷启动阶段时尤其有效。
  2. 未标注数据的分布情况提供了丰富的信息,对模型迭代具有指导意义,即使它们是unlabeled。
  3. 未标注数据大多数情况下相对容易获取,数据量非常大。质量虽不足,但数量虽少,通过合理利用,也能创造较大的价值。

2 半监督方法

2.1 self-training 自学习

self-training的大体流程如下

  1. 基于labeled data训练一个模型,训练方法不限制。
  2. 通过经过训练的模型对unlabeled data进行预测,赋予其标注,定义为pseudo label。
  3. 从pseudo label中选择一些样本,加入到labelled data中。选择方法也是自定义的,例如可以选择置信度较高的样本。
  4. 重新训练模型,然后继续进行迭代过程。

需要注意的是,pseudo label必须采用hard label,而不能采用soft label。hard label是什么?我们假设一个二分类任务,某个样本经过模型predict后,得到的概率分布为[0.8, 0.2]。这里,[0.8, 0.2]代表soft label,而[1, 0]则代表hard label。为什么不能使用soft label呢?因为在self-training过程中,soft label是模型预测输出的结果,将其作为label使用会导致模型无法有效学习,模型参数保持不变。因此,必须采用hard label。

image.png

2.2 Entropy-based Regularization 熵正则

还有一种利用unlabeled data的策略是entropy-based正则化方法。其核心思想在于,模型对data的预测概率分布倾向于集中在某一个类别上,这在模型具有高区分度时,效果显著。这一策略也是合理的。设想一下,如果model的预测在每个类别上的概率相同,那么就无法确定样本的类别。因此,我们的模型预测概率分布必须尽量集中在某一个类别上。

image.png

那么,如何衡量概率分布是否集中在某一类别上呢?这被称为entropy,通常用符号H表示。其数学表达式如下所示。当熵越小时,概率分布越集中于某一类别。

image.png

那现在问题就很简单了,我们半监督学习的目标,包括两个

在有标签的数据上,模型的损失应尽可能小。例如,分类任务中通常采用交叉熵损失函数。在无标签的数据上,熵应尽量小,从而使概率分布趋于集中。

那么目标函数就可以改为优化上面两项,表达式如下

image.png

可见,unlabeled data对机器学习模型还是很有价值的。

2.3 聚类

还有一种方法,通过相似度来处理unlabeled data。具体来说,通过计算某个unlabeled data与所有labeled data之间的相似度,找到最接近的那个,然后将其类别应用到该unlabeled data上。这种方法表面上看似合理,但存在重大缺陷。其根本原因在于,相似性并不等同于类别一致性。例如,如图所示。

image.png

中间的数字2,与最右边的3更为接近,但其实它应与最左边的2属于同一类别。在半监督学习中,不能直接利用相似度信息,这是否意味着半监督学习就无能为力了呢?答案是否定的。设想,当数据量极大时,会生成多种形式的样本点,通过这些样本点之间的传播,从而使得这些样本点聚集在一个密集的区域内。归入同一类别中的样本点,自然会采用聚类方法来识别这些密集区域。那如何确定这些样本点所在的密集区域呢?这正是聚类分析的核心任务。

采用聚类算法来实现半监督学习的步骤为

  1. 对所有数据进行聚类,个人感觉DBScan、HDBScan这些基于密度的聚类算法比较有效。
  2. 同一个聚类的,认为具有同一个类别。利用labeled data获取cluster的类别,从而得到该cluster内unlabeled data的类别。
  3. 利用这些有监督数据训练模型

该方法的核心在于,聚类的同质性。通常情况下,实现同一cluster内的数据属于同一类别是一项具有挑战性的任务。聚类过程一般包含两个步骤:首先将样本嵌入为向量并计算两两之间的距离;接着,利用聚类算法(如kmeans、HDBScan、optics、Spectral Clustering等)进行聚类。个人倾向于认为,嵌入的重要性更为突出。

image.png

此外,利用聚类算法,可以评估标注的准确性。对于同一聚类簇中的数据,若其label不一致,则可通过重新标注来修正。从而减少标注噪声。

2.4 Graph-based Approach 图方法

在之前,我们引入了聚类方法,以未标注的数据为基础进行分析。此外,我们还可以通过构建图结构来展示数据之间的联系。通常情况下,这类关系数据相对容易获取,例如网页之间的超链接、商品销售的时序数据以及学术论文之间的引用关系等。通过结合K近邻等算法,可以将这些离散的数据点组织成一个图结构。每个数据点作为图中的一个节点,数据之间的关系则通过图中的边来表示。需要注意的是,边可以赋予一定的权重,以反映不同数据之间的关联程度。

image.png

节点之间相互连通,就被认为属于同一个类别。通过这些标记数据,我们就可以确定它们所属的类别。这种方法的核心在于

图构建的质量,不仅体现在节点连接关系的准确上,也体现在边的权重的精确度上。
只有当数据量足够大时,才有可能因缺少某些节点而导致某个graph无法连接。

3 总结

半监督学习在数据利用效率方面发挥着显著作用,尤其是在 cold start stage。通过主动学习、标注噪声学习、小样本学习的结合使用,能够显著降低标注成本,加速模型迭代的上线速度。

系列文章,请多支持

****************[机器学习1 -- 梯度下降(Gradient Descent)

icon-default.png?t=N7T8

该算法通过迭代参数θ来最小化目标函数J(θ),在机器学习模型训练中具有广泛应用。数学表达式为:J(\theta) = \frac{1}{2m}\sum_{i=1}^{m}(y^{(i)} - h_\theta(x^{(i)}))^2,其中m表示训练样本的数量,y(i)代表第i个样本的真实输出,hθ(x(i))是模型预测值。该方法通过不断调整θ值,使得预测结果与真实值之间的误差最小化。其核心思想是通过计算目标函数的梯度,逐步更新参数,从而达到优化的目的。该算法在处理线性回归问题时表现尤为突出,但在面对高维数据或复杂模型时,可能会面临计算效率较低的挑战。

****************[机器学习2 -- 优化器(SGD、SGDM、Adagrad、RMSProp、Adam等)

icon-default.png?t=N7T8

机器学习算法2 -- 优化算法(SGD、SGDM、Adagrad、RMSProp、Adam等)

该博客详细介绍了机器学习算法中的优化算法,重点分析了常见的优化方法,包括随机梯度下降法(SGD)、动量法(SGDM)、Adagrad优化算法、RMSProp优化算法以及Adam优化算法等。

通过深入探讨这些优化算法的原理与实现细节,帮助读者更好地理解机器学习模型训练过程中的关键优化策略。

文章还结合实例分析了不同优化算法在实际应用中的表现特点,为学习者提供了实用的算法选择参考。

****************[机器学习3 -- 误差来源(偏差bias和方差variance)

icon-default.png?t=N7T8

在机器学习模型中,误差来源主要由两个关键因素构成:偏差项和方差项。偏差项反映了模型在训练过程中未能充分捕捉数据内在规律的能力,这会导致模型在预测过程中出现系统性的偏差。相比之下,方差项则衡量了模型对训练数据高度敏感的表现,当模型对训练数据过度拟合时,方差项的增大会直接影响其在新数据上的泛化能力。因此,平衡偏差和方差是提升模型泛化性能的关键。在实际应用中,通过优化模型结构和调整超参数,可以有效降低偏差项和方差项的综合影响,从而实现对复杂数据关系的准确建模。

****************[机器学习4 -- 反向传播(back propagation)

icon-default.png?t=N7T8

该文详细阐述了机器学习领域中反向传播算法的核心原理及其在神经网络训练中的重要性。文章通过深入分析反向传播的工作机制,揭示了其在优化模型参数过程中的关键作用。此外,文章还探讨了反向传播算法在实际应用中的优缺点,并提供了若干优化策略以提升算法的训练效率。

****************[机器学习5 -- 为什么深度学习需要加深?

icon-default.png?t=N7T8

机器学习5:探讨深度学习深化的原因

****************[机器学习6 -- 深度学习训练优化

icon-default.png?t=N7T8

机器学习6:深度学习训练优化策略

****************[机器学习7 -- 可解释学习

icon-default.png?t=N7T8

该文章深入探讨了机器学习领域的可解释性学习,其核心内容涵盖了模型解释性、特征重要性分析以及结果可视化等关键方面。通过系统化的分析,本文旨在为研究者提供一种全面的解决方案,以提升模型的可解释性和预测能力。研究者可采用该方法来深入理解模型行为,从而在实际应用中实现更可靠和可信赖的决策支持。

****************[机器学习8 -- 模型攻防(model attack & model defense)

icon-default.png?t=N7T8

机器学习8 -- 机器学习模型的对抗攻击与防御策略

****************[机器学习9 -- 模型压缩和加速

icon-default.png?t=N7T8

机器学习(9):模型压缩与加速技术

****************[机器学习10 -- 半监督学习 Semi-supervised Learning

icon-default.png?t=N7T8

机器学习10 -- 半监督学习 Semi-supervised Learning

****************[机器学习11 -- 无监督学习之Auto-Encoder

icon-default.png?t=N7T8

机器学习系列文章的第11篇深入探讨了无监督学习中的Auto-Encoder技术,这是一种强大的深度学习模型,能够自动生成低维特征表示,广泛应用于图像压缩和降噪等领域。

****************[机器学习12 -- 无监督学习之线性模型(clustering、PCA、MF)

icon-default.png?t=N7T8

机器学习12 -- 无监督学习之线性模型(clustering、PCA、MF)

****************[机器学习13 -- 无监督学习之自监督 self-supervised

icon-default.png?t=N7T8

该文章介绍了机器学习领域中的一种无监督学习方法,即自监督学习。该方法通过利用自身生成的数据对模型进行训练,从而实现对复杂数据的深入学习。自监督学习的优势在于其能够有效减少对标注数据的依赖,同时通过生成对抗训练等技术提升模型的泛化能力。

****************[机器学习14 -- Transfer Learning 迁移学习

icon-default.png?t=N7T8

基于深度学习的迁移学习方法在机器学习领域中具有重要应用价值。该方法通过构建共享特征空间,实现了不同任务间的知识迁移。在特征提取过程中,模型能够有效识别和提取数据中的关键特征,为分类器的优化提供了有力支持。此外,该方法在提升模型泛化能力方面表现出显著的优势,尤其是在小样本学习任务中,能够通过知识迁移显著提升学习效果。

****************[机器学习15 -- Meta Learning 元学习

icon-default.png?t=N7T8

该文介绍了机器学习领域中的元学习机制,探讨了其在自适应学习和知识迁移中的应用。具体而言,元学习方法通过优化学习器的参数,使得模型能够更高效地适应新任务。研究者们还提出了多种元学习算法,这些算法通过经验的积累和知识的共享,进一步提升了学习效率。此外,元学习技术在自然语言处理和计算机视觉等领域的应用也取得了显著成果,为机器学习的发展提供了新的方向。

****************[机器学习16 -- Lifelong Learning 终生学习

icon-default.png?t=N7T8

机器学习领域中的第16章,深入探讨持续学习机制,为人工智能系统构建终身学习能力。

****************[机器学习17 -- GAN 生成对抗网络

icon-default.png?t=N7T8

机器学习领域中的第17篇文章深入探讨了生成对抗网络(GAN)这一重要技术。GAN是一种基于深度学习的生成模型,其核心在于通过对抗训练来优化生成器(G)和判别器(D)。具体而言,生成器的目标是通过不断改进,使生成的样本更加逼真,从而能够在高维空间中占据更广阔的区域;而判别器则致力于通过优化参数,准确地区分生成样本与真实样本。这种相互对抗的过程不仅推动了生成模型的发展,也为解决诸多复杂的现实问题提供了新的思路。然而,尽管GAN在生成效果方面表现出色,其训练过程往往面临收敛性问题,这在一定程度上限制了其实际应用。

全部评论 (0)

还没有任何评论哟~