You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

分类问题及机器学习场景中,如何处理含部分标签/真值(ground truths)的数据?

针对分类任务及各类机器学习场景中仅部分样本具备标注的情况,以下是实用的技术方案,按方法类型和适用场景分类:

半监督学习:直接利用无标注数据

这是最常用的方向,核心是用少量标注数据引导模型从无标注数据中学习模式:

  • 伪标签法:先用标注数据训练一个基础模型,接着用这个模型给无标注数据生成“伪标签”,只保留模型置信度极高(比如预测概率>0.9)的伪标签样本,和原标注数据合并后重新训练模型,重复这个迭代过程。适合数据分布相对均匀的分类任务。
    简单实现逻辑(Python):
    import numpy as np
    from sklearn.linear_model import LogisticRegression
    
    # 初始训练基础模型
    base_model = LogisticRegression()
    base_model.fit(labeled_X, labeled_y)
    
    # 生成伪标签并筛选高置信样本
    pseudo_probs = base_model.predict_proba(unlabeled_X)
    pseudo_y = np.argmax(pseudo_probs, axis=1)
    high_conf_mask = np.max(pseudo_probs, axis=1) > 0.9
    
    # 合并数据重新训练
    combined_X = np.vstack([labeled_X, unlabeled_X[high_conf_mask]])
    combined_y = np.hstack([labeled_y, pseudo_y[high_conf_mask]])
    final_model = LogisticRegression()
    final_model.fit(combined_X, combined_y)
    
  • 一致性正则化:让模型对同一输入的微小扰动(比如图像加高斯噪声、文本同义词替换)输出一致结果。典型方法如FixMatch、MixMatch,同时计算标注数据的分类损失和无标注数据的一致性损失,比单纯伪标签更稳定,不易被错误伪标签干扰。
  • 基于图的标签传播:把样本视为图的节点,相似样本间连边,将标注样本的标签通过图结构传播到无标注样本。适合样本特征有明显相似性的场景(比如同类别文本语义相近、同类别图像视觉特征相似)。
主动学习:高效利用标注资源

如果能获取人工标注的资源,主动学习可以用最少的标注成本提升模型效果:

  • 不确定性采样:让模型挑选自己最不确定的无标注样本请求标注,比如二分类任务中选择预测概率接近0.5的样本,多分类任务中选择预测熵最大的样本。
  • 多样性采样:避免标注重复的样本,通过聚类等方法挑选和已标注样本差异大的样本,保证标注数据覆盖更多数据分布。
  • 混合采样:结合不确定性和多样性,比如先对无标注数据聚类,再在每个簇里选不确定性最高的样本,平衡标注的信息量和覆盖范围。
弱监督学习:利用弱替代标签

如果无法获取精准标注,但有弱标签资源(比如噪声标签、领域知识库、用户生成标签),可以用这类方法:

  • 噪声标签鲁棒训练:如果无标注样本能获取带噪声的标签(比如电商商品的用户标签),可以用鲁棒损失函数(如Label Smoothing、Bootstrap Loss)或给样本加权(降低噪声样本的权重)来训练模型,减少噪声的影响。
  • 远距离监督+多实例学习:比如文本分类任务中,用知识库给无标注文本自动打标签(即使标签存在错误),然后用多实例学习——假设一个文档中至少有一个句子符合标签,以此训练模型,过滤错误标签的干扰。
迁移学习与预训练:借助通用特征
  • 预训练模型微调:先用大规模无标注数据预训练通用模型(比如BERT用于文本、ViT用于图像),模型已经学到了数据的通用特征,再用少量标注数据微调适配当前任务,这是目前少样本标注场景下的主流方案之一。
  • 领域自适应:如果有其他领域的标注数据,而当前任务无标注样本多,可以用域对抗训练等方法,让模型对齐源领域(有标注)和目标领域(无标注)的特征分布,把源领域的知识迁移到目标任务。
无监督特征学习:先提取通用特征

先对无标注数据做无监督学习,提取通用特征后再用少量标注数据训练分类器:

  • 对比学习:比如SimCLR、MoCo这类方法,通过构造正负样本对,让模型学习到样本的本质特征,在图像、文本任务中都能得到高质量的特征表示,后续分类器只需要少量标注就能达到不错的效果。
  • 自编码器/聚类:用自编码器重构无标注数据,提取压缩后的特征;或者用聚类方法把无标注样本分成簇,再用标注数据给簇打标签,适合数据结构明显的场景。

内容的提问来源于stack exchange,提问作者procrastinationmonkey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.02 02:14:51