如何有效地训练我的模型?

数据挖掘 机器学习 深度学习 数据挖掘 预测建模 训练
2022-03-06 10:27:09

我是 ML 新手,并且一直在在线阅读有关数据频繁更新时的训练瓶颈的信息。

假设我有一个基于 10M 记录数据集的模型。

现在,再过 2 个月,我可能会收到另外 100 万条记录,我们也希望将它们输入到我们的模型中。

同样,这种情况每 2 个月进行一次。我们希望在可用时使用最新数据更新/训练我们的模型

1) 但是例如,假设每次新数据更新需要 1 周的训练时间

2)关于如何最大限度地减少培训时间(我们每 2 个月培训一次?)的任何建议?

3) 我们应该从 100 万个数据点中选择一个有代表性的样本吗?这够好吗

4)我知道这都是关于权衡的,但我很想知道我是否遗漏了任何已知的方法来节省培训时间?我认为有代表性的样本可以减少样本量并帮助我们加快训练过程

你能分享你对此的建议吗?

2个回答

据我了解-您的问题是“样本选择偏差”问题。任何从大数据中选择子集的模式都可能导致偏差。这就提出了两个问题。

  1. 如何选择?随机/分层随机(如果您有多个类)在抽样下获得较小的子集。
  2. 选多大的?我们可以设置欠采样的百分比。

减少训练时间:我们可以执行预处理:通过应用 PCA 等技术来删除相关数据的降维技术。或稀疏重建方法 - 将数据转换为稀疏数据,然后进行处理。

您有一个大数据集,并且每 2 个月获得新的实例//数据。

首先,您应该选择要训练的数据。由于您的数据很大,并且有可能 2 年前的数据不如上个月的数据相关,您可以考虑进行Roll out// 滑动窗口验证。这样,您将只选择最新的数据,您的模型将花费更少的时间进行训练。

滚动窗口

在这种情况下(来自此处的上一个问题),您可以看到您不需要使用所有数据进行训练,而是使用最新部分进行训练。

这种方法可以为您工作,并且可以增加您的训练时间,增加您的模型,因为它只考虑最近的时间和建议的采样方法。