深度学习笔记(七):分布偏移

Dataset shift is a challenging situation where the joint distribution of inputs and outputs differs between the training and test stages.

Dataset ShiftThe MIT Press

前言

从数理统计的角度来看,统计学习(或包括深度学习)的本质是给定样本空间的条件概率分布建模问题。那么,特征、标签的分布以及机器学习任务中特征和标签的条件概率分布的改变都会对模型的应用产生影响。所谓“分布的改变”就是分布偏移问题。

分布偏移的分类

协变量偏移

协变量偏移指的是训练数据的分布与测试数据的分布不同(即特征分布不同,在流行病学的观点中几句是基线数据不同),但是条件概率分布(即给定输入X时目标Y的分布)保持不变的情况。这种情况下,尽管输入数据的分布发生了变化,但是输入与输出之间的关系(即模型试图学习的映射)保持不变。

协变量偏移的影响

协变量偏移可能会对模型的泛化能力产生负面影响。由于模型是在训练数据上学习得到的,如果测试数据的分布与训练数据有显著不同,模型可能无法正确预测测试数据的标签。这会导致模型在实际应用中的性能下降。

如何检测协变量偏移

  • 数据分布的可视化: 尝试可视化训练集和测试集的特征分布,看是否能观察到明显的差异。
  • 统计测试: 使用统计检验方法(如KS检验、卡方检验等)来量化训练集和测试集分布之间的差异。

    应对协变量偏移的方法

  • 重要性加权: 调整训练数据的权重,使得训练数据在模型训练过程中的重要性更加贴近于测试数据的分布。

  • 域适应(Domain Adaptation): 修改模型或训练过程,使模型能够更好地适应测试数据的分布。
  • 数据收集策略: 在数据收集阶段尽量减少偏移,例如通过确保训练数据能够覆盖到预期的测试数据分布范围。

    一句话理解

卡通照片学习的图片分类器应用到真实数据集中。

标签偏移

标签偏移(Label Shift)是监督学习中的另一个关键概念,与协变量偏移相对应。标签偏移指的是在训练数据和测试数据之间,标签的分布发生变化,而条件概率分布(即给定目标Y时输入X的分布)保持不变的情况。这意味着虽然输出(标签)的分布发生了变化,但给定这个输出时,输入数据的生成方式保持不变。

标签偏移的影响

标签偏移可能会导致模型对于某些标签的预测性能下降,尤其是当模型在训练期间未能充分学习到现在变得更加常见的标签时。这种偏移的存在可能会降低模型在实际应用中的准确性和可靠性。

如何检测标签偏移

  • 标签分布的可视化: 对训练集和测试集中的标签分布进行可视化,查看是否存在显著差异。
  • 统计测试: 利用统计方法(例如卡方检验)来评估训练集和测试集中标签分布之间的差异性。

应对标签偏移的方法

  • 标签分布调整: 通过调整训练数据中各个标签的比例,使其更加贴近于测试集的标签分布。
  • 使用模型不变性: 在一些情况下,可以假设给定标签时输入的分布是不变的。在这种假设下,可以直接对测试集的标签分布进行估计,并据此调整预测。
  • 主动学习: 通过主动学习策略,选择性地从测试数据中标注一些样本,以此来校正模型对于标签分布的估计。

一句话理解

疾病依然是那些症状(由y可以推导x),但不同流行率时(y的分布发生变化),可能发生错误。

概念偏移

概念偏移(Concept Drift)是指在数据流中随时间推移,数据的统计性质或潜在分布发生变化,导致原有的预测模型不再准确或完全失效的现象。与协变量偏移和标签偏移不同,概念偏移可能影响数据的整体分布,包括输入特征和输出标签之间的关系(即模型试图捕捉的概念),而不仅仅是输入或输出分布的单独变化。

概念偏移的影响

概念偏移直接影响模型的预测准确性,因为模型是基于历史数据学习的,如果潜在的数据分布或模式发生变化,未经调整的模型将难以适应新的数据环境。这对于需要在动态环境中长期运行的模型尤其具有挑战性。

如何检测概念偏移

  • 性能监控: 定期评估模型的预测性能,寻找准确率、召回率等关键指标的下降,这可能是概念偏移的迹象。
  • 数据分布的监控: 通过监控数据的分布,尤其是与目标变量相关的特征分布,来检测潜在的概念偏移。
  • 统计检测方法: 使用统计测试(如序列分析、假设检验)来识别数据分布的显著变化。

应对概念偏移的方法

  • 模型定期更新: 定期重新训练模型,使用最新的数据以适应最新的数据分布。
  • 在线学习和增量学习: 使用在线学习或增量学习算法,允许模型不断地从新数据中学习,实时适应数据变化。
  • 集成方法: 使用集成学习方法,如集成不同时间窗口的模型,以增强模型对新变化的适应能力。
  • 概念漂移检测算法: 实施专门设计来检测概念漂移的算法,并在检测到漂移时触发模型更新。

一句话理解

疾病诊断标准的变化。

森林坦克和流行病学的混杂因素

森林监测坦克的经典例子经常被用来说明机器学习中的一个重要现象,这通常与数据收集的偏差有关,但它也可以解释为协变量偏移的一个例子。从这个例子,我们可以认识到:所谓协变量偏移,本质上就是X分布的变化被学习器捕捉。前面所说的协变量偏倚是针对训练集和测试集的比较,而这里则是训练集本身存在的问题。

背景

这个故事源自一个关于机器学习模型的都市传说,模型被训练来识别卫星图像中的坦克。根据故事,当坦克隐藏在森林中时,模型表现出色;但是,当它们在开阔地带时,模型就失效了。问题在于,所有含有坦克的训练图像都是在阴天拍摄的(因为坦克通常会在这种条件下进行隐蔽),而所有不含坦克的图像都是在晴天拍摄的。因此,模型实际上学会了区分晴天和阴天的图像,而不是学习识别坦克。

解释为协变量偏移

在这个例子中,协变量偏移发生是因为训练数据(晴天和阴天的图片)与测试数据(坦克可能在不同天气条件下出现的情况)之间的分布不同。换句话说,模型训练时使用的特征分布(天气条件作为输入的一部分)与模型实施时面对的特征分布不一致。尽管坦克与否是我们希望模型识别的目标(即Y),但模型错误地将天气条件(X的一部分)与目标变量相关联,导致它在实际应用时性能下降。

深入理解

这个例子虽然经常被简化或误传,但它深刻地展示了机器学习中数据准备阶段的重要性,尤其是需要确保训练数据能够准确反映模型部署环境中的实际情况。此外,它也提醒我们要小心数据中的潜在偏差,这些偏差可能导致模型学习到错误的模式或关系。在准备训练数据集时考虑到这些因素,可以帮助减少协变量偏移的风险,提高模型的泛化能力。

欢迎关注我的其它发布渠道