随机化在解决机器学习中混杂变量的作用

应用机器学习的很大一部分是进行受控实验,以发现如何在一个预测建模问题上使用算法或算法配置。

一个挑战是,问题和算法的某些方面被称为混淆变量,这些变量是无法控制(保持恒定)的,并且必须被考虑进去。例如,在学习算法中使用随机性,如随机初始化或学习过程中的随机选择。

解决方案是以一种已成为应用机器学习标准的随机性方式来使用它。通过简要了解随机性在医学中如何通过随机临床试验来管理混淆变量,我们可以更多地了解在受控实验中使用随机性的基本原理。

在本帖中,您将了解混淆变量以及如何使用随机化工具来处理它们。

阅读本文后,你将了解:

  • 与自变量和因变量相关的混淆变量会混淆效果并影响实验结果。
  • 应用机器学习关注的是确实存在已知混淆变量的受控实验。
  • 机器学习实验中处理混淆变量的关键是实验的随机化。

通过我的新书《机器学习统计学》来启动您的项目,其中包含分步教程和所有示例的Python源代码文件。

让我们开始吧。

The Role of Randomization to Address Confounding Variables in Machine Learning

随机化在解决机器学习中混杂变量的作用
照片作者:Funk Dooby,保留部分权利。

概述

本帖分为四个部分;它们是

  1. 混淆变量
  2. 机器学习中的混淆
  3. 实验的随机化
  4. 机器学习中的随机化

需要机器学习统计学方面的帮助吗?

立即参加我为期7天的免费电子邮件速成课程(附示例代码)。

点击注册,同时获得该课程的免费PDF电子书版本。

混淆变量

在实验中,我们通常对自变量对因变量的影响感兴趣。

混淆变量是混淆自变量和因变量之间关系的变量。

混淆,有时被称为混淆偏差,主要被描述为效果的“混合”或“模糊”。

混淆:它是什么以及如何处理它,2008。

混淆变量可以通过多种方式影响实验结果,例如

  • 无效的相关性。
  • 增加方差。
  • 引入偏差。

混淆变量可能是已知的,也可能是未知的。

它们通常被描述为与自变量和因变量都存在关联或相关性。

另一种描述是混淆变量对不同群体或观测值有影响。

混淆变量或混淆因子通常被定义为与因变量和自变量都相关的变量(正相关或负相关)。混淆因子是一个外在变量,其存在会影响正在研究的变量,从而导致结果无法反映正在研究的变量之间的实际关系。

如何通过统计分析控制混淆效应,2012。

混淆变量更深层次的困难在于,它们可能不明显存在并且正在影响结果。

混淆变量的影响通常不明显,甚至无法识别,除非在实验设计或数据收集方法中对其进行专门处理。

机器学习中的混淆

混淆变量传统上是应用统计学中的一个关注点。

这是因为在统计学中,我们通常关注数据中自变量对因变量的影响。统计方法旨在发现和描述这些关系,而混淆变量基本上会破坏或使发现无效。

机器学习从业者通常对预测模型的技能感兴趣,而不太关心模型的统计正确性或可解释性。因此,混淆变量是数据选择和准备方面的一个重要课题,但不如在开发描述性统计模型时那样重要。

尽管如此,混淆变量在应用机器学习中至关重要。

机器学习模型的评估是一个包含自变量和因变量的实验。因此,它会受到混淆变量的影响。

令人惊讶的是,您已经知道了这一点,并且应用机器学习中的黄金标准实践也解决了这个问题。因此,要理解机器学习模型评估的选择和解释,就必须深入了解机器学习实验中的混淆变量。

考虑一下,什么会影响机器学习模型的评估,自变量是什么?

一些例子包括:

  • 数据准备方案的选择。
  • 训练数据集中样本的选择。
  • 测试数据集中样本的选择。
  • 学习算法的选择。
  • 学习算法初始化的选择。
  • 学习算法配置的选择。

这些选择中的每一个都会影响机器学习实验中的因变量,即用于估计模型在进行预测时的技能的选定指标。

机器学习模型的评估涉及受控实验的设计和执行。受控实验保持除研究的一个元素之外的所有元素恒定。机器学习中最常见的两种受控实验是

  • 用于变化和评估学习算法的受控实验。
  • 用于变化和评估学习算法配置的受控实验。

然而,存在受控实验无法保持恒定的混淆变量。特别是,存在随机源,如果它们被保持恒定,将导致模型评估无效。三个例子包括

  • 数据样本中的随机性。
  • 模型初始化中的随机性。
  • 学习算法中的随机性。

例如,神经网络中的权重被初始化为随机值。随机梯度下降会随机化一个时期内样本的顺序,以改变执行的更新类型。在随机森林中,为每个可能的切点选择随机的特征子集。还有更多例子。

机器学习算法中的随机化不是一个bug;它是一个旨在通过平均而言比经典确定性方法提高模型性能的特征。

随机性可以在许多不同级别的机器学习中存在,通常可以提高性能或缓解经典方法的困难。

随机机器学习方法:最新进展与挑战,2017。

这些是我们无法保持恒定的混淆变量。如果它们被保持恒定,模型的评估将不再提供对结果可推广性的洞察。我们将知道模型在特定数据样本或学习决策序列的初始化上表现如何,但对其在一般情况下的表现知之甚少。

我们可以处理无法控制的混淆变量的方法是使用随机化。

实验的随机化

随机化是实验设计中的一种技术,用于控制那些无法(不应)保持恒定的混淆变量。

例如,随机化在临床实验中用于控制个体人类之间的生物学差异,以评估治疗效果。这就是为什么在可以推广发现之前,必须对多个个体进行治疗评估,而不是只对单个个体进行评估。

在随机化中,将研究对象随机分配到暴露类别,以打破暴露与混淆因子之间的任何联系。这通过生成在已知和未知混淆变量方面相当可比的组来减少混淆的可能性。

如何通过统计分析控制混淆效应,2012。

随机化是实验设计中的一个简单工具,它允许混淆变量在样本中发挥其作用。它将实验从关注个体案例转移到关注观测集合,然后使用统计工具来解释发现。

在医学中,随机化是评估治疗的金标准,被称为随机临床试验。它旨在不仅消除生物学差异的混淆效应,还消除偏差,例如实验者选择治疗组和非治疗组的成员的影响。您可以想象,如果选择患病最轻的队列成员接受治疗,那么治疗的效果会非常好。

一个[随机临床试验]是一种特殊的队列研究,其特点是患者被随机分配到实验组(有暴露)和对照组(无暴露)。[…]因此,随机化有助于防止临床医生选择,并有助于建立在相关预后因素方面相等的组。

随机临床试验:临床研究中无可匹敌的标准?,2007。

在使用随机临床试验时仍然存在混淆变量。一个例子是实验者知道研究参与者正在接受哪种治疗。这会影响实验者与参与者互动的方式,进而影响实验结果。

答案是使用盲法,即参与者或实验者不知道治疗。理想情况下,采用双盲实验,确保参与者和实验者都不知道他们的治疗。

如果可行,强烈建议在随机化之后,患者和临床医生也不知道谁接受了干预,谁没有。研究可以是单盲(患者或临床医生不知道谁接受了治疗,谁没有)或双盲(患者和临床医生都不知道谁接受了治疗)。

随机临床试验:临床研究中无可匹敌的标准?,2007。

请注意,在我们继续研究随机化在机器学习中的应用之前,请考虑还有其他处理混淆变量影响的方法。 维基百科在此处有一个很好的列表

机器学习中的随机化

随机化用于机器学习模型的评估,以管理不可控的混淆变量。

它是评估机器学习模型的标准方法和使用诸如数据重采样和重复实验等方法的原理的关键。

  • 重采样方法用于随机化训练和测试数据集,以帮助估计在来自该领域随机样本上的训练和评估模型的技能,而不是在特定数据样本上。
  • 重复评估实验以帮助估计模型在不同随机初始化和学习决策下的技能,而不是在单一初始条件和学习决策序列上。

随机化使机器学习从业者能够泛化发现,使其有用且适用。这就是为什么仔细设计测试平台和重采样方法很重要。这就是我们重复评估模型的原因,也是我们不固定伪随机数生成器种子的原因。

我在以下帖子中更详细地讨论了这些主题

我们应该使用盲法试验吗?

当我们仔细研究我们为什么使用随机化来控制混淆变量时,这会引发关于我们可能没有控制的其他混淆变量的问题。

例如,机器学习从业者在每个模型都有机会通过数据准备和超参数调优发挥最佳水平之前,就知道了模型的技能。也许从业者应该盲目自己,以消除偏见最终模型选择的可能性。

风险在于,真正喜欢人工神经网络的从业者将“发现”一种优于其他模型的神经网络配置。

充其量,这是统计上的巧合或奥卡姆剃刀原则在预测建模项目中的应用;最坏的情况下,这是科学欺诈。临床医生积极消除这种偏差的原因是人们的生命受到威胁。我们可能会遇到机器学习算法中的这种情况,例如在汽车中。

在实践中,我认为这提供了很好的动力,可以在实验开始时就进行广泛而仔细的设计,并自动化执行和统计解释结果。

进一步阅读

如果您想深入了解,本节提供了更多关于该主题的资源。

总结

在本帖中,您了解了混淆变量以及如何使用随机化工具来处理它们。

具体来说,你学到了:

  • 与自变量和因变量相关的混淆变量会混淆效果并影响实验结果。
  • 应用机器学习关注的是确实存在已知混淆变量的受控实验。
  • 机器学习实验中处理混淆变量的关键是实验的随机化。

你有什么问题吗?
在下面的评论中提出你的问题,我会尽力回答。

掌握机器学习统计学!

Statistical Methods for Machine Learning

培养对统计学的实用理解

...通过在 python 中编写代码

在我的新电子书中探索如何实现
机器学习的统计方法

它提供关于以下主题的自学教程
假设检验、相关性、非参数统计、重采样,以及更多...

探索如何将数据转化为知识

跳过学术理论。只看结果。

查看内容

8 条对《机器学习中处理混淆变量的随机化作用》的回复

  1. Elie 2018年7月18日下午9:56 #

    Jason,感谢这篇精彩的博文。您是否计划很快发布关于实验设计和 A/B 测试的博文?

    • Jason Brownlee 2018年7月19日上午7:52 #

      谢谢。我可能会写更多关于实验设计的内容。我不打算涵盖 A/B 测试。

  2. rahul 2018年7月19日凌晨3:19 #

    您是否认为“它们通常被描述为与自变量和因变量都存在关联或相关性”这句话的意思是,共线性变量是混淆变量?

    • Jason Brownlee 2018年7月19日上午7:58 #

      是的,对于那些未包含在回归中的变量。

  3. Nihad Almahrooq 2018年8月1日下午6:59 #

    Jason,感谢您提供的这些前期阅读资料。

  4. Faisal Ahmed 2019年10月2日下午3:01 #

    到目前为止,我还不明白随机化是如何减少混淆变量的影响的?

    • Jason Brownlee 2019年10月3日上午6:38 #

      简而言之:重复的交叉验证可以控制数据样本和学习算法的随机性质。

发表评论

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。