如何使用实时数据来改进现有模型?

数据挖掘 机器学习 逻辑回归 训练
2022-03-12 16:57:58

我正在使用逻辑回归来训练模型以使用 ['browser info', 'publisher info', , 'location', 'time', 'day'] 预测“click/non-click”。

我想知道如何使用新的实时数据来改进已经训练好的模型。

是否存在考虑到功能集更改的解决方案?

1个回答

假设您有一个模型,该模型已经个时期个数据进行了训练。这意味着该模型已经看到了个示例中的每一个,次。NENE

现在假设你有更多的训练数据。通常你也想为 epoch 训练新的。ME

但是,如果不是来自相同的基础分布(或没有充分表示它),这将导致模型“忘记”前个示例并“更加关注”后面个示例。NMNM

时期训练您的模型,以便它学习后者但不会忘记前者,但这纯粹是经验性的,在实践中很难实现。<E

您可以采取一些措施来避免这种情况:

  1. 示例(您将随机播放)重新训练您的整个模型。这将需要定期对模型进行新的完整训练,并且训练难度会越来越大(由于训练数据的大小不断增加)。这是一个非常低效的解决方案,不适用于任何在线培训应用程序N+M
  2. 使用支持在线培训的模型。一些算法支持增量(在线)训练,而不需要重新训练整个事情。scikit-learn 比较可用
  3. 自定义算法,使其具有所需的效果。例如,您可以增量训练线性 SVM,具有较大的正则化惩罚和 SGD 分类器。这将在此处针对 scikit-learn 进行更详细的讨论