在训练模型中包含有偏差的数据

数据挖掘 机器学习 预测建模 训练
2022-03-09 03:35:39

我的朋友从事将猫带到山顶的业务。他目前使用一组启发式方法来决定哪些猫最有可能登上顶峰。

对于他喜欢的人,他会不惜重金地喂养他们,希望他们足够强壮以达到顶峰。对于那些他不喜欢的人,他认为不值得他花时间/金钱来养活,如果他们无论如何都能达到顶峰,他会感到高兴和惊讶。通过查看数据,我们知道平均而言,他不喂食的人很少经常到达顶部。

我正在训练一个分类器来帮助他决定喂哪个。在训练数据中包含他输入和没有输入的行是否有意义?当我排除他没有喂它们的行时,模型做得更糟,这是我没想到的。

原谅这个例子。它是做作的,但我认为保留了实际情况的所有特征。

1个回答

这是一个很好的问题,而且提出的很漂亮。我喜欢你以如此清晰的方式抓住问题的本质。不幸的是,答案是您的数据集没有足够的信息来帮助您决定应该喂哪些猫。如果没有适当控制的实验,您就无法推断因果关系;不能排除混杂因素的可能性。

假设他喂食的猫中有 70% 到达顶部,而他不喂食的猫中有 20% 到达顶部。让我对为什么会发生这种情况做出四种替代解释:

  • 假设1:世界上只有一种猫。猫的特征无关紧要。如果你喂它们,它们将有 70% 的机会登顶;如果你不这样做,他们将只有 20% 的机会。这适用于所有猫,无论它们的属性如何。

  • 假设2:世界上有两种猫:强猫和弱猫。强者有 70% 的几率登上山顶,无论你是否喂它们。弱者有 20% 的机会登上顶峰,无论你是否喂它们。你可以通过它们的特征来区分这两种猫,你的朋友恰好喜欢强壮的猫,不喜欢弱的猫。

  • 假设 3:世界上有两种猫:运动员和打盹冠军。如果你喂它们,前者有 70% 的机会到达山顶,如果你不喂它们,则有 50% 的机会。如果你喂它们,后者有 40% 的机会登上顶峰,如果你不喂它们,则有 20% 的机会。你可以通过他们的特点来区分这两者,而你的朋友恰好喜欢运动员而不喜欢打盹。

  • 假设4:世界上有两种猫:饥饿的和超重的。如果你喂它们,前者有 70% 的机会到达山顶(它们非常健康,但他们已经拥有了所需的所有食物,所以为什么还要费心探索呢?),或者如果你有 100% 的机会,你没有(饥饿将他们推向更高的高度)。后者有 21% 的机会登上顶峰,如果你喂它们,或者有 20% 的机会,如果你不喂它们(不管怎样,它们可能不会成功,因为它们太重了形状)。你可以通过他们的特点来区分这两者,你的朋友恰好喜欢饥饿的人,不喜欢超重的人。

所有四个假设都与数据一致。数据集无法帮助您区分它们。然而,每个假设都导致了关于喂哪些猫的不同预测:前两个说没关系,第三个说你应该喂你朋友喜欢的猫,第四个说你应该喂你朋友不喜欢的猫。再多的统计数据或机器学习都无法让您仅根据数据做出决定。

为了区分这些可能性,您要么需要某种先验知识,为您在与数据一致的模型中进行选择提供基础(可能基于您的领域知识),要么您需要进行对照实验(其中是否喂猫的选择是随机的,而不是根据您的朋友是否喜欢猫来选择)。


如果我们有一个先验说喂猫只能帮助它登上顶峰的机会,而不会损害它的机会呢?嗯,这是我在最后一段中建议的两个选项中的第一个示例。然而,它仍然不足以让我们决定喂哪些猫。

问题是我们需要判断喂你朋友喜欢的猫是否会比喂你朋友不喜欢的猫更能提高他们的几率。我们只是没有这方面的任何信息。

他喜欢的猫有 70% 对 69% 的机会,他不喜欢的猫有 90% 对 20% 的机会(即,他喜欢的猫如果喂食有 70% 的机会,如果不喂食有 69% 的机会,等等) ; 或者他喜欢的猫可能是 70% 对 0%,他不喜欢的猫可能是 21% 对 20%。在前一种情况下,你应该给他喜欢的猫喂食,因为它们的喂食效果提高了 70 个百分点,而他喜欢的猫只提高了 1 个百分点。在后一种情况下,你应该喂他喜欢的猫,因为它们看到了 70 个百分点的改善,而他不喜欢的猫只看到了 1 个百分点的改善。您只是无法从您拥有的数据集中区分这两种可能性。因此,在您取得任何进展之前,您的先验需要比这更详细。

如果您想了解有关该主题的更多信息,以及在没有对照实验的情况下我们可以在什么情况下得出有关因果关系的结论,您可以从阅读 Judea Pearl 的作品开始。