ML 小数据场景下的机器学习

Posted by XiLock on February 12, 2025

在小数据场景下,许多机器学习方法可以通过结合先验知识、迁移学习、数据增强或模型优化来提升性能。

**注意事项

  • 小数据训练需严格控制模型复杂度,避免过拟合。
  • 数据质量(如噪声、类别平衡)对小数据模型影响更大。
  • 若任务允许,尽量利用预训练模型或外部知识库。

数据量极小时(如几十样本)

迁移学习(Transfer Learning)
  • 核心思想:利用在大规模数据上预训练的模型(如ImageNet、BERT),通过微调(Fine-tuning)适应小数据任务。
  • 适用场景:图像分类、文本分类、自然语言处理。
  • 示例
    • 图像:使用预训练的ResNet、EfficientNet微调医学图像分类。
    • 文本:基于BERT或GPT的预训练模型进行下游任务(如情感分析)。
  • 优点:显著减少训练数据需求,同时保持高性能。
小样本学习(Few-Shot Learning)
  • 核心思想:通过元学习(Meta-Learning)或度量学习(Metric Learning),让模型从少量样本中快速泛化。
  • 方法
    • MAML(Model-Agnostic Meta-Learning):学习一个可快速适应新任务的初始化参数。
    • Prototypical Networks:将样本映射到特征空间,通过类原型(Prototype)进行分类。
    • Siamese Networks:通过对比样本对的相似性进行分类。
  • 适用场景:图像识别、个性化推荐(如冷启动问题)。
贝叶斯方法(Bayesian Methods)
  • 核心思想:利用概率模型捕捉不确定性,避免过拟合。
  • 方法
    • 高斯过程(Gaussian Processes):适用于回归和小样本分类。
    • 贝叶斯神经网络(Bayesian Neural Networks):通过参数的后验分布提升鲁棒性。
  • 适用场景:需要不确定性建模的任务(如药物发现)。

中等数据量(几百样本)

数据增强(Data Augmentation)
  • 核心思想:通过人工或生成方法扩展数据量。
  • 方法
    • 基础增强:旋转、翻转、裁剪、噪声添加。
    • 高级增强
      • GAN生成数据:使用生成对抗网络(如StyleGAN)生成合成样本。
      • 基于领域知识的增强:例如医疗图像中模拟病变区域的变换。
      • 自监督对比学习(如SimCLR):利用未标注数据学习特征表示。
  • 适用场景:图像、文本、时序数据。
生成模型(Generative Models)
  • 核心思想:利用生成模型(如VAE、GAN)生成合成数据,补充训练集。
  • 适用场景
    • 图像生成:补充医学图像、工业缺陷检测数据。
    • 文本生成:生成对话数据用于聊天机器人训练。

注:

  1. 数据增强是对现有数据施加规则化变换,生成与原始数据分布一致的变体,不改变标签。生成模型则是从数据分布中学习潜在规律,生成全新的合成数据,可能生成新标签或扩展分布。数据量中等,且可通过简单变换提升泛化性;或需要快速实现且计算资源有限(如手机端应用),则选择数据增强。数据极度稀缺(如罕见病图像);或需要生成多样化样本(如游戏角色设计),则选择生成模型。
  2. 对抗生成模型在材料筛选中的应用如:From Small Data Modeling to Large Language Model Screening: A Dual-Strategy Framework for Materials Intelligent Design
半监督学习(Semi-Supervised Learning)
  • 核心思想:结合少量标注数据和大量未标注数据。
  • 方法
    • 自训练(Self-Training):用已标注数据训练模型,预测未标注数据并迭代增强训练集。
    • 一致性正则化(Consistency Regularization):如FixMatch、MixMatch,强制模型对扰动后的数据输出一致。
  • 适用场景:标注成本高的任务(如医学影像、语音识别)。
基于模型的方法(Model-Based Approaches)
  • 简单模型优先
    • 线性模型:如逻辑回归、线性SVM。
    • K近邻(KNN):适合低维数据。
    • 决策树:通过剪枝防止过拟合。
  • 正则化技术:L1/L2正则化、早停法(Early Stopping)。

标注成本高时

主动学习(Active Learning)**
  • 核心思想:通过智能选择“信息量最大”的样本进行标注,降低标注成本。
  • 策略
    • 基于不确定性(如熵值、置信度最低的样本)。
    • 基于多样性(选择代表性样本)。
  • 适用场景:标注预算有限的场景(如文本标注、科学实验)。
半监督学习(Semi-Supervised Learning)

内容见上

其它

集成学习与模型融合**
  • 核心思想:结合多个简单模型的预测结果提升泛化性能。
  • 方法
    • Bagging:如随机森林(Random Forest)对小数据鲁棒性较强。
    • 模型平均(Model Averaging):如多个小模型的加权输出。
  • 适用场景:特征维度低、样本量少但特征明确的分类任务。
基于领域知识的方法**
  • 核心思想:结合领域知识设计特征或约束模型。
  • 方法
    • 特征工程:利用专家知识提取高信息量特征。
    • 知识图谱:引入外部知识库(如医学知识图谱)辅助模型训练。
    • 物理模型嵌入:在科学计算中结合物理方程约束模型。

元学习实例

1 元任务设计
1.1 元任务的定义
在化工催化剂配方优化中,每个元任务对应一个独立的催化剂优化问题。例如:

  • 任务1:优化Pt-Pd-Ru三元催化剂的反应速率。
  • 任务2:优化Pt-Fe-Co三元催化剂的反应速率。
  • 任务3:优化Pd-Ru-Fe三元催化剂的反应速率。

每个元任务的目标是通过少量实验数据(支持集),快速预测最优配方。

1.2 元任务的数据结构
每个元任务包含两部分数据:

  • 支持集(Support Set):用于模型快速适应(训练)。例如,3种金属比例(Pt: 0.2, Pd: 0.5, Ru: 0.3)及其对应的反应速率。
  • 查询集(Query Set):用于评估模型性能(验证)。例如,2种新的金属比例及其对应的反应速率。

2 样本数量设计
2.1 支持集样本数(K-shot)
K-shot表示每个类别(如一种金属组合)的支持集样本数。在催化剂优化中,每个元任务的类别是金属比例组合,因此,1-shot:每种金属比例组合有1个实验数据。3-shot:每种金属比例组合有3个实验数据。

2.2 查询集样本数
查询集样本数通常与支持集样本数相当,用于公平评估模型性能。例如,3-shot任务对应3个查询样本。

2.3 元任务数量
元任务数量决定了元学习的训练规模。在催化剂优化中,通常需要数百到数千个元任务,涵盖不同的金属组合和反应条件。

3 实验设计与额外实验
3.1 元学习训练阶段

  • 支持集数据:从历史实验数据中提取,每个元任务包含少量样本(如3-shot)。
  • 查询集数据:同样从历史数据中提取,用于验证模型性能。
  • 额外实验:在元学习训练阶段,不需要额外实验,因为所有数据均来自历史实验。

3.2 元学习测试阶段

  • 新任务支持集:针对新催化剂体系(如Pt-Ru-Fe),需要开展少量实验(如3个样本)作为支持集。
  • 新任务查询集:为了验证模型预测效果,需要额外开展实验(如2个样本)作为查询集。

3.3 额外实验的具体需求
新催化剂体系的支持集实验:例如,针对Pt-Ru-Fe三元催化剂,开展3次实验,获取不同金属比例下的反应速率。实验设计:

  • 实验1:Pt: 0.3, Ru: 0.5, Fe: 0.2,反应速率:1.2 mol/(g·h)。
  • 实验2:Pt: 0.4, Ru: 0.4, Fe: 0.2,反应速率:1.5 mol/(g·h)。
  • 实验3:Pt: 0.2, Ru: 0.6, Fe: 0.2,反应速率:1.0 mol/(g·h)。

新催化剂体系的查询集实验:例如,针对Pt-Ru-Fe三元催化剂,开展2次额外实验,用于验证模型预测效果。实验设计:

  • 实验4:Pt: 0.25, Ru: 0.55, Fe: 0.2,反应速率:1.3 mol/(g·h)。
  • 实验5:Pt: 0.35, Ru: 0.45, Fe: 0.2,反应速率:1.4 mol/(g·h)。

4 实验成本分析

阶段 实验需求 额外实验数量 成本
元学习训练 使用历史实验数据 0
元学习测试 新催化剂体系的支持集和查询集实验 5(3支持 + 2查询) 中等
传统试错法 大量实验寻找最优配方 50+
  • 元学习优势:通过少量额外实验(如5次),即可快速预测最优配方,显著降低实验成本。
  • 传统方法劣势:需要大量实验(如50次)才能找到最优配方,成本高昂。


手机版“神探玺洛克”请扫码