如何在培训数据集中扩展模型以涵盖培训数据的各个方面



在面试中要求我在机器学习的帮助下解决用例。我必须使用机器学习算法来确定交易中的欺诈。我的培训数据集是说100,200笔交易,其中100,000件是法律交易,200次是欺诈。

我无法整体使用数据集来制作模型,因为它将是一个有偏见的数据集,并且模型将是一个非常糟糕的数据集。

例如,我要做的是200个良好交易的样本,这些交易代表数据集(良好的交易(和200个欺诈行为,并将模型用作培训数据。

我被问到的问题是,如何将200件良好的交易扩展到100,000个良好记录的整个数据集,以便我的结果可以映射到所有类型的交易中。我从未解决过这种情况,所以我不知道如何处理。

关于我如何解决的任何指导都会有所帮助。

这是面试中提出的一般问题。有关该问题的信息是简洁而模糊的(我们不知道例如功能数量!(。您需要问自己的第一件事是,面试官希望我回应什么?因此,基于此上下文,答案必须以类似的一般方式提出。这意味着我们不必找到"解决方案",而是提供参数,表明我们实际上知道如何方法问题,而不是 solding it。P>

我们提出的问题是少数族裔(欺诈(仅占总数的约0.2%。这显然是一个巨大的失衡。仅预测所有案例为"非欺诈"的预测因子将获得99.8%的分类精度!因此,绝对必须做些事情。

我们将主要任务定义为二进制分类问题,我们想预测交易是被标记为正(欺诈(还是负面的(不是欺诈(。

第一步将考虑我们确实可以使用哪些技术来减少失衡。这可以通过减少多数类(不足(或增加少数样本(过采样(的数量来完成。两者都有缺点。第一个意味着严重丢失了数据集中潜在有用的信息,而第二个可能会出现过度拟合的问题。一些改善过度拟合的技术是Smote和Adasyn,它们使用策略来改善新的合成样品的多样性。

当然,在这种情况下,交叉验证变得至关重要。此外,如果我们终于进行了过度采样,则必须与交叉验证方法"协调",以确保我们充分利用这两个想法。检查http://www.marcoaltini.com/blog/dealing-with-mmbalanced-data-undersampling-oversmpling-oversmpling-and-proper-cross-cross-validation,以获取更多详细信息。

除了这些抽样想法之外,选择我们的学习者时,可以针对特定指标培训/优化许多ML方法。就我们而言,我们不想绝对优化准确性。相反,我们希望训练模型以优化 roc-auc ,或者是专门寻找高召回,即使是在损失的情况下,我们都希望预测所有正面即使有些人会证明误报,"欺诈"或至少会引起警报。模型可以调整内部参数(阈值(以找到这两个指标之间的最佳平衡。请查看这个不错的博客,以获取有关指标的更多信息:https://www.analyticsvidhya.com/blog/2016/02/02/7-important-model-model-evaluation-eror-metrics/

最后,仅是一个凭经验评估模型的问题,以检查哪些选项和参数是最合适的数据集。遵循这些想法并不能保证100%我们将能够解决手头的问题。但这可以确保我们处于更好的位置,可以尝试从数据中学习并能够摆脱那些邪恶的欺诈者,同时也许一路上做得很好;(

在此问题中,您要将交易分类为好或欺诈。但是,您的数据确实是不平衡的。因为您可能会对异常检测感兴趣。我会让您阅读所有文章以获取更多详细信息,但我会在答案中引用一些部分。

我认为这将使您说服您要解决这个问题:

不仅是分类吗?

如果满足以下三个条件,答案是肯定的。

您将培训数据标记为异常,正常类是 平衡(例如至少1:5(数据不相关。( 那个 数据点不取决于早期的数据点。这通常会破裂 时间序列数据(。如果以上所有都是真的,我们不需要 异常检测技术,我们可以使用像随机的算法 森林或支撑矢量机(SVM(。

但是,通常很难找到培训数据,即使 您可以找到它们,大多数异常是1:1000至1:10^6的事件 课程不平衡。

现在回答您的问题:

通常,类不平衡是使用由 多次重新采样数据。这个想法是首先创建新数据集 通过获取所有异常数据点并添加一部分正常数据 点(例如,作为异常数据点的4倍(。然后是分类器 使用SVM或随机森林为每个数据集构建,而这些 使用集合学习将分类器组合在一起。这种方法有 效果很好,产生了很好的结果。

如果数据点彼此自动相关,则简单 分类器无法正常工作。我们使用时间处理这些用例 串联分类技术或复发性神经网络。

我也建议问题的另一种方法。在本文中,作者说:

如果您没有培训数据,仍然可以进行异常 使用无监督学习和半监督学习的检测。 但是,建立模型后,您将不知道它的状况如何 在这样做,因为您没有什么可以对其进行测试。因此,结果 这些方法需要在将其放置在现场中进行测试 关键路径。

但是,您确实有一些欺诈数据可以测试您的无监督算法是否做得很好,如果它做得不错,它可能是第一个解决方案,它将有助于收集更多数据来培训有监督的分类器后来。


请注意,我不是专家,这只是我混合了知识和最近阅读的有关该主题的一些文章后想到的。

有关机器学习的更多问题我建议您使用此stackexchange社区

我希望它能帮助您:(

最新更新