机器学习的半监督学习,弱监督学习,自监督学习

半监督学习、弱监督学习和自监督学习是机器学习中利用不同形式监督信号的三种方法,它们的核心区别在于标注数据的数量、质量以及监督信号的来源。以下是它们的详细对比:


1. 半监督学习(Semi-Supervised Learning)

  • 核心特点

    • 少量标注数据 + 大量未标注数据,通过利用未标注数据的分布特征来提升模型性能。
    • 假设标注数据和未标注数据服从相同的分布(如聚类假设、流形假设)。
  • 典型方法

    • 自训练(Self-training):先用标注数据训练初始模型,预测未标注数据的伪标签,再迭代优化。
    • 协同训练(Co-training):用多个视图(特征子集)分别训练模型,相互提供伪标签。
    • 图半监督学习:基于数据点之间的图结构传播标签(如标签传播算法)。
  • 应用场景

    • 标注成本高的领域(如医学图像分类、语音识别)。
    • 示例:用100张标注的肺部CT图像和10万张未标注图像训练肺炎检测模型。

2. 弱监督学习(Weakly-Supervised Learning)

  • 核心特点

    • 使用不完整、不精确或噪声标注数据,标签质量低但数据量可能较大。
    • 标签形式多样:粗粒度标签(如图像级而非像素级)、多示例标签(如包级别标注)、噪声标签等。
  • 典型方法

    • 多示例学习(MIL):以"包"为单位标注(如"包中至少有一个正例"),用于病理切片分类。
    • 注意力机制(Attention):模型自动定位关键区域(如仅用图像级标签训练目标检测模型)。
    • 噪声标签修正:通过模型置信度或一致性过滤错误标签。
  • 应用场景

    • 标注难以获取或成本极高(如视频行为识别、遥感图像分割)。
    • 示例:训练目标检测模型时,仅提供图像级标签(如"图片中有猫"),不标注猫的位置。

3. 自监督学习(Self-Supervised Learning)

  • 核心特点

    • 无需人工标注,通过设计代理任务(Pretext Task)从数据本身生成监督信号。
    • 本质是无监督学习的一种,但通过构造监督任务学习特征表示。
  • 典型方法

    • 图像领域:图像修补(Inpainting)、旋转预测、对比学习(如SimCLR)。
    • 文本领域:掩码语言模型(如BERT)、下一句预测。
    • 视频领域:帧顺序预测、时序对齐。
  • 应用场景

    • 预训练通用特征表示,用于下游任务(如分类、检测)。
    • 示例:BERT通过预测文本中被掩码的词,学习语言表示,再微调用于问答任务。

三者的核心区别

维度 半监督学习 弱监督学习 自监督学习
监督信号来源 少量人工标注 + 未标注数据 低质量人工标注(如噪声标签) 数据自身生成的伪标签
数据假设 标注与未标注数据分布一致 标注不完整但有一定信息量 无标注数据隐含结构可被挖掘
典型任务 分类、回归 检测、分割 预训练表示学习
标注成本 中等(需部分标注) 低(标注简单但质量差) 零(无需人工标注)
代表方法 自训练、协同训练 多示例学习、注意力机制 对比学习、掩码语言模型

实际应用中的结合

  • 半监督 + 自监督:先用自监督任务预训练模型,再用半监督学习微调(如医疗影像分析)。
  • 弱监督 + 自监督:用自监督学习提取特征,结合弱监督标签训练下游模型(如社交媒体情感分析)。
  • 工业场景:自动驾驶中,利用自监督学习预训练视觉模型,再通过弱监督(自动生成的边界框)微调检测模型。

总结

  • 半监督学习:在标注数据有限时,利用未标注数据的分布信息提升模型。
  • 弱监督学习:在标注质量不足时,通过算法设计从噪声或不完整标签中学习。
  • 自监督学习:完全无需人工标注,通过数据内在结构学习通用特征表示。

三者并非互斥,实际应用中常结合使用(如自监督预训练 + 弱监督微调),以应对数据标注的多样挑战。

相关推荐
java1234_小锋9 分钟前
Scikit-learn Python机器学习 - 特征预处理 - 标准化 (Standardization):StandardScaler
python·机器学习·scikit-learn
TDengine (老段)1 小时前
从 ETL 到 Agentic AI:工业数据管理变革与 TDengine IDMP 的治理之道
数据库·数据仓库·人工智能·物联网·时序数据库·etl·tdengine
蓝桉8022 小时前
如何进行神经网络的模型训练(视频代码中的知识点记录)
人工智能·深度学习·神经网络
liliangcsdn2 小时前
Leiden社区发现算法的学习和示例
学习·数据分析·知识图谱
星期天要睡觉2 小时前
深度学习——数据增强(Data Augmentation)
人工智能·深度学习
南山二毛3 小时前
机器人控制器开发(导航算法——导航栈关联坐标系)
人工智能·架构·机器人
DKPT3 小时前
JVM中如何调优新生代和老生代?
java·jvm·笔记·学习·spring
phltxy3 小时前
JVM——Java虚拟机学习
java·jvm·学习
大数据张老师4 小时前
【案例】AI语音识别系统的标注分区策略
人工智能·系统架构·语音识别·架构设计·后端架构
xz2024102****4 小时前
吴恩达机器学习合集
人工智能·机器学习