机器学习中的有偏数据


18

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

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

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

  • 现在,您拥有的唯一(带有标签的)数据来自该组规则已接受的客户,因为只有在接受之后,您才能看到有人付款(显然)。您不知道这套规则有多好,它们将对有偿分配到无偿分配产生多大影响。此外,再次由于规则集,您已经拒绝了来自客户端的未标记数据。因此,您不知道如果这些客户被接受,将会发生什么情况。

例如,规则之一可能是:“如果客户年龄小于18岁,则不接受”

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

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


8
信用风险评估中通常处理此问题的方法是按规则过滤一定比例的申请人。少数申请人被随机接纳,并被如此标记。
马修·德鲁里

真的很高兴知道。也许我什至可以设置相同的功能。
Laksan Nathan

1
当我向非专家解释此问题时,我画了一个云(现实)和一个近似于云的多边形(模型)。我展示了误报错误和误报错误。显而易见,我需要两个错误来改进模型,以便更好地估算云。
MSalters

现在正在准备我的演示文稿。这样的比喻真的派上用场,谢谢!
Laksan Nathan

这就是所谓的勘探开发困境。
seanv507

Answers:


12

您不必担心-如果样本外数据的分布与训练/测试模型的数据的分布有显着差异,那么即使最好的模型也可能会严重失败。

我认为您能做的最好的就是在您拥有的标签数据上训练模型,但是请尝试使模型易于解释。这可能意味着仅限于简单模型。然后,您可以尝试推断模型学习的规则如何与您之前拥有的规则进行交互,以尝试估算模型在未经过滤的总体上的运行情况。

例如-假设,您的模型发现在标记的数据集中,客户越年轻,他们默认的可能性就越大。那么,如果您删除了先前的过滤条件“如果客户年龄小于18岁,则不接受”,则可以合理地假设您的模型可以正常工作。


4

我不确定我是否完全理解该问题,但据我所知,您正在询问如何训练分类器,以预测位于已经看到的样本范围之外的样本。就一般而言,据我所知,这是不可能的。机器学习理论基于“经验风险最小化”的思想,可以归结为假设您的训练集非常近似于您在样本和标签上的真实分布。如果违反了该假设,则实际上没有任何保证。

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


我同意,我的问题没有“解决方案”。但是也许有一些关于如何处理这类问题的实用建议。
Laksan Nathan

2

您的规则可以为您提供执行数据扩充的方法。复制阳性样本,将年龄更改为17,然后将其标记为阴性样本。

此过程不一定对所有数据集都是琐碎的或有用的。我使用NLP数据,而在该领域中做得很好是很棘手的。例如,如果您具有与年龄相关的其他功能,则可能会得到不切实际的样本。但是,它提供了将系统暴露于未纳入数据集的样本之的途径。


当然,向数据添加噪音是解决此问题的一种方法。但是仅在少数情况下可以轻松分类客户数据。在某种程度上,我不会这样做,否则会再次导致领域知识“偏向”输出-集体/主观感知,从而导致所谓知识的追溯冲突。
Laksan Nathan

2

在类似情况下对我们有用的一件事是进行一些强化学习(探索和利用)。在基于规则的模型之上,我们运行了一个浏览器,该浏览器极有可能会更改模型的响应,因此,在偶尔的情况下,如果该模型不会向17岁的老人推荐卡片,则该浏览器会推翻该模型的决定并签发卡。从这些偶尔的情况中,您将为将来的学习模型生成学习数据,该数据可用于根据资源管理器发行给17岁孩子的卡片是否未违约来决定推荐17岁孩子的卡片,因此您可以构建可以在现有模型的偏见之外工作的系统。


由于这些偶发事件与一定的财务风险相关,因此从长远来看,这将是逐步揭示新模式的分步方法。正如您提到的,基本上是在探索与利用之间进行权衡。这肯定会在项目中考虑。
Laksan Nathan

2

从实践的角度来看,很难/不合理地要求模型对当前系统中不可能发生的案例进行预测(没有免费午餐)。

规避该问题的一种方法是将随机性添加到当前(部署的)系统中,例如,以较小的受控概率(从而可预测的成本)添加绕过(某些)规则的可能性。

一旦您成功说服负责系统的人员执行此操作,您就可以使用非政策评估方法(例如重要性抽样)提出“假设”问题。例如,如果我们允许当前被规则抛弃的人获得信用,那么预期的信用风险将是什么。甚至可以模拟(偏向)预测模型对该总体的影响。Bottou的关于反事实学习和推理的论文对这种方法提供了很好的参考。


很好的参考,谢谢。我会花时间去做。
Laksan Nathan

1

经典的统计答案是,如果选择过程在数据中并由模型描述,或者选择是随机的,则参数模型会正确地进行选择。参见Donald Rubin的论文Inference and Missing data(1976)。您确实需要在模型中包括数据选择机制。在这个领域中,参数推理应该比纯机器学习更好。


1

这类似于来世的困境:一个人死后(过滤器),好事和坏事(数据)的比率足以到达天堂而不是地狱(阶级)。在这里,死亡充当了过滤器,导致在有监督的学习方案中缺少价值观。

我想消除缺失值问题和“偏向数据”问题之间的歧义。没有诸如偏见数据之类的东西,有诸如解释所述数据的“偏见模型”之类的东西,但是数据本身并没有偏见,只是缺失了。如果缺失的数据与可观察的数据有意义地相关,则完全有可能训练无偏模型并获得良好的预测结果。

如果丢失的数据与可观察的数据完全不相关,则为“您不知道自己不知道的事”。您既不能使用有监督的学习方法,也不能使用无监督的学习方法。问题出在数据科学领域之外。

因此,为了有意义的解决方案,让我们假设丢失的数据与可观察的数据相关。我们将利用所说的相关性。

有几种数据挖掘算法试图解决这一问题。您可以尝试像Bagging-n-Boosting这样的“ Ensemble方法”,或者像Apriori和FP-growth这样的“频繁模式挖掘”算法。您也可以在“稳健统计”中探索方法。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.