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

> 原文： [https://machinelearningmastery.com/confounding-variables-in-machine-learning/](https://machinelearningmastery.com/confounding-variables-in-machine-learning/)

应用机器学习的很大一部分是关于运行对照试验以发现在预测性建模问题上使用什么算法或算法配置。

一个挑战是问题的某些方面和称为混杂变量的算法无法控制（保持不变）并且必须进行控制。一个例子是在学习算法中使用随机性，例如随机初始化或学习期间的随机选择。

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

在这篇文章中，您将发现混淆变量以及我们如何使用随机化工具解决它们。

阅读这篇文章后，你会知道：

*   与独立变量和因变量相关的混杂变量会混淆影响并影响实验结果。
*   应用机器学习涉及遭受已知混杂变量的对照试验。
*   实验随机化是控制机器学习实验中混杂变量的关键。

让我们开始吧。

![The Role of Randomization to Address Confounding Variables in Machine Learning](img/050bf669417117f0f98ce5a56a05678f.jpg)

随机化在机器学习中解决混淆变量的作用
照片由 [Funk Dooby](https://www.flickr.com/photos/funkdooby/33051321096/) ，保留一些权利。

## 概观

这篇文章分为四个部分：l它们是：

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

## 混淆变量

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

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

> 混淆，有时被称为混杂偏见，主要被描述为效果的“混合”或“模糊”。

- [混淆：它是什么以及如何处理它](https://www.sciencedirect.com/science/article/pii/S0085253815529748)，2008。

混杂变量可以通过多种方式影响实验结果，例如：

*   相关性无效。
*   增加差异。
*   引入偏见。

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

它们通常被表征为与独立变量和因变量具有关联或相关性。

另一个特征是混杂变量以不同方式影响群体或观察。

> 混淆变量或混淆因素通常被定义为变量与因变量和自变量相关（正或负）。 Confounder是一个无关变量，其存在会影响正在研究的变量，因此结果不会反映所研究变量之间的实际关系。

- [如何通过统计分析控制混杂效应](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4017459/)，2012。

混淆变量的更大难度在于它们存在并且影响结果可能并不明显。

混淆变量的影响通常不明显甚至无法识别，除非它们在实验或数据收集方法的设计中得到明确解决。

## 混淆机器学习

混淆变量传统上是应用统计中的一个问题。

这是因为在统计中我们经常关注自变量对数据中因变量的影响。统计方法旨在发现和描述这些关系，混淆变量本质上可以破坏或使发现无效。

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

然而，混淆变量在应用机器学习中至关重要。

机器学习模型的评估是具有独立和因变量的实验。因此，它受到混淆变量的影响。

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

考虑一下影响机器学习模型评估的因素，有哪些独立变量？

一些例子包括：

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

这些选择中的每一个都将影响机器学习实验中的因变量，该实验是用于在做出预测时估计模型技能的所选度量。

机器学习模型的评估涉及对照试验的设计和执行。对照试验保持所有元素不变，除了研究中的一个元素。机器学习中两种最常见的对照实验类型是：

*   对照试验可以改变和评估学习算法。
*   对照试验可以改变和评估学习算法配置。

然而，存在一些混淆变量，对照试验不能保持不变。具体而言，存在随机性的来源，如果它们保持不变将导致对模型的无效评估。三个例子包括：

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

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

机器学习算法中的随机化不是一个bug;它是一种旨在平均超过经典确定性方法来改善模型表现的特征。

> 随机性可以在许多不同水平的ML中存在，通常增强表现或减轻经典方法的问题和困难。

- [随机机器学习方法：最新发展和挑战](https://www.researchgate.net/publication/316740225_Randomized_Machine_Learning_Approaches_Recent_Developments_and_Challenges)，2017年。

这些是混淆变量，我们不能保持不变。如果它们保持不变，模型的评估将不再提供对结果的普遍性的深入了解。我们将了解模型在特定数据样本上的表现如何，或者在学习过程中对决策序列的初始化进行初始化，但对模型在一般情况下的表现几乎一无所知。

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

## 实验随机化

随机化是一种用于实验设计的技术，用于控制不能（不应该）保持不变的混杂变量。

例如，在评估治疗时，在临床实验中使用随机化来控制个体之间的生物学差异。这就是为什么在研究结果可以概括之前必须对多个人而不是单个个体进行评估的原因。

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

— [How to control confounding effects by statistical analysis](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4017459/), 2012.

随机化是实验设计中的一个简单工具，它允许混杂变量在样本中产生影响。它将实验从单个案例转移到观察集合，其中统计工具用于解释发现。

在医学中，随机化是评估治疗的金标准，被称为随机临床试验。它旨在不仅消除生物学差异的混杂影响，而且还消除偏差，例如实验者选择治疗成员和非治疗组的效果。你可以想象，如果选择一个队列中病情最轻的成员进行治疗，治疗看起来会非常成功。

> [随机临床试验]是一项特殊的队列研究，其特征是患者被随机分配到实验组（有暴露）和对照组（无暴露）。 [...]因此，随机化有助于防止临床医生选择，并有助于建立与相关预后因素相同的群体。

- [随机临床试验：临床研究中无与伦比的标准？](http://www.kidneyinternational-online.org/article/S0085-2538(15)52692-6/fulltext) ，2007年。

使用随机临床试验时仍存在混淆变量。一个例子是实验者知道研究的参与者正在接受什么样的治疗。这可能会影响实验者与参与者互动的方式，从而影响实验结果。

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

> 在可行的情况下，强烈建议在随机化后，患者和临床医生不知道谁接受干预，谁不接受干预。研究可以是单盲（患者或临床医生不知道谁接受治疗，谁不接受治疗）或双盲（患者和临床医生都不知道谁接受治疗）。

— [The randomized clinical trial: An unbeatable standard in clinical research?](http://www.kidneyinternational-online.org/article/S0085-2538(15)52692-6/fulltext), 2007.

请注意，在我们继续研究机器学习中随机化的使用之前，请考虑使用其他方法来管理混杂变量的影响。 [维基百科在这里有一个很好的清单](https://en.wikipedia.org/wiki/Confounding#Decreasing_the_potential_for_confounding)。

## 机器学习中的随机化

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

它是评估机器学习模型所描述的标准方法的关键，也是使用数据重采样和重复实验等方法的基本原理。

*   重采样方法用于随机化训练和测试数据集，以帮助估计训练和评估来自域的随机数据样本的模型，而不是特定的数据样本。
*   重复评估实验以帮助估计具有不同随机初始化和学习决策的模型的技能，而不是基于单个初始条件和学习决策序列。

随机化允许机器学习从业者概括发现，使其有用和适用。这就是为什么仔细设计测试线束和重采样方法很重要的原因。这就是为什么我们重复模型的评估以及我们不在伪随机数生成器上修复种子的原因。

我在帖子中详细介绍了这些主题：

*   [在机器学习中拥抱随机性](https://machinelearningmastery.com/randomness-in-machine-learning/)
*   [如何评估深度学习模型的技巧](https://machinelearningmastery.com/evaluate-skill-deep-learning-models/)

### 我们应该盲目审判吗？

当我们仔细研究为什么我们使用随机化来控制混杂变量时，它会引发对我们可能无法控制的其他混杂因素的质疑。

例如，机器学习从业者在通过数据准备和超参数调整为每个模型提供最佳机会之前了解模型的技能。也许从业者应该盲目地消除偏向最终模型选择的可能性。

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

对于预测性建模项目的简约解决方案，最好是统计侥幸或违反Occam的Razor;在最坏的情况下，这是科学欺诈。临床医生积极消除这种偏见的原因是人们的生命处于危险之中。我们可以通过机器学习算法来达到这一点，例如：在汽车里。

在实践中，今天，我认为这是通过大量精心设计实现前期加载实验的良好动机，并使结果的执行和统计解释自动化。

## 进一步阅读

如果您希望深入了解，本节将提供有关该主题的更多资源。

*   [混淆维基百科](https://en.wikipedia.org/wiki/Confounding)
*   [控制维基百科上的变量](https://en.wikipedia.org/wiki/Controlling_for_a_variable)
*   [维基百科上的随机对照试验](https://en.wikipedia.org/wiki/Randomized_controlled_trial)
*   [随机临床试验：临床研究中无与伦比的标准？](http://www.kidneyinternational-online.org/article/S0085-2538(15)52692-6/fulltext) ，2007年。
*   [混淆：它是什么以及如何处理它](https://www.sciencedirect.com/science/article/pii/S0085253815529748)，2008。
*   [机器学习预测中的混淆变量？在交叉验证](https://stats.stackexchange.com/questions/271694/confounding-variables-in-machine-learning-predictions)
*   [如何通过统计分析控制混杂效应](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4017459/)，2012。
*   [随机机器学习方法：最新发展和挑战](https://www.researchgate.net/publication/316740225_Randomized_Machine_Learning_Approaches_Recent_Developments_and_Challenges)，2017年。

## 摘要

在这篇文章中，您发现了混淆变量以及我们如何使用随机化工具解决它们。

具体来说，你学到了：

*   混淆变量与独立变量和因变量相关，并混淆影响并影响实验结果。
*   应用机器学习涉及遭受已知混杂变量的对照试验。
*   实验随机化是控制机器学习实验中混杂变量的关键。

你有任何问题吗？
在下面的评论中提出您的问题，我会尽力回答。