机器学习中的偏见数据

机器算法验证 机器学习 分类 数据挖掘 偏见 外推
2022-02-07 15:57:36

我正在研究一个机器学习项目,其中的数据已经(严重)受到数据选择的影响。

假设您有一组硬编码规则。当它可以使用的所有数据都是已经被这些规则过滤的数据时,你如何构建一个机器学习模型来替换它?

为了清楚起见,我想最好的例子是信用风险评估:任务是过滤所有可能无法付款的客户。

  • 现在,您拥有的唯一(标记)数据来自已被规则集接受的客户,因为只有在接受之后,您才会(显然)看到是否有人付款。你不知道这组规则有多好,以及它们会在多大程度上影响付费到未付费的分配。此外,您还有来自被拒绝的客户的未标记数据,这也是由于规则集。所以你不知道如果这些客户被接受了会发生什么。

例如,其中一条规则可能是:“如果客户年龄 < 18 岁,则不接受”

分类器无法学习如何处理已被这些规则过滤的客户端。分类器应该如何在这里学习模式?

忽略这个问题,会导致模型暴露在它以前从未遇到过的数据中。基本上,我想在这里估计 x 在 [a, b] 之外时 f(x) 的值。

4个回答

你的担心是对的——如果样本外数据的分布与模型训练/测试的数据分布显着不同,即使是最好的模型也会失败。

我认为你能做的最好的事情就是在你拥有的标记数据上训练一个模型,但尽量保持模型的可解释性。这可能意味着仅限于简单的模型。然后,您可以尝试推理您的模型学习的规则如何与您拥有的先前规则交互,以尝试估计您的模型在未过滤的总体上的工作情况。

例如 - 假设您的模型发现在您的标记数据集中,客户越年轻,他们就越有可能违约。如果您删除了“如果客户年龄 < 18 岁,则不接受”的先前过滤器,那么假设您的模型将运行良好可能是合理的。

我不确定我是否完全理解这个问题,但据我所知,你问的是如何训练分类器来预测它已经看到的样本域之外的样本。一般来说,据我所知,这是不可能的。机器学习理论基于“经验风险最小化”的概念,归结为假设您的训练集是您在样本和标签上的真实分布的良好近似。如果违反该假设,则实际上没有任何保证。

您提到了未标记的数据——我不知道这是否能解决您的问题,但是半监督学习有很多方法可以尝试在给定标记和未标记数据的情况下学习分类器,您可能需要考虑研究这些(例如,转导式支持向量机)。

您的规则可能会为您提供一种执行数据扩充的方法。复制一个正样本,将年龄改为17岁,然后标记为负样本。

此过程不一定对所有数据集都很简单或有用。我使用 NLP 数据,在该领域做得很好很棘手。例如,如果您有其他与年龄相关的特征,您最终可能会得到不切实际的样本。但是,它提供了一种将系统暴露给未进入数据集的样本之类的方法。

在类似情况下对我们有用的一件事是做一些强化学习(探索和利用)。在基于规则的模型之上,我们运行了一个探索器,它会以很小的可能性改变模型的响应,因此在模型不会向 17 岁的孩子推荐卡片的偶尔情况下,探索器会推翻模型的决定并发卡。从这些偶尔的案例中,您将为未来的学习模型生成学习数据,在该模型中,它可用于根据资源管理器发放给 17 岁儿童的卡片是否没有默认来决定为 17 岁儿童推荐卡片,因此您可以构建可以在现有模型的偏差之外工作的系统。