假设您有一个分类机器学习模型,并且从包含3个类的初始数据集开始。将初始数据集拆分为培训/测试数据集,培训初始模型并对其进行评估,然后超时,为数据集收集更多数据。现在您有了要添加到初始培训数据集中的更多数据。问题是:您如何组织数据集和模型培训团,以便有效地量化初始模型和新模型之间可能的改进?
一种可能的解决方案:如果将初始培训数据集拆分为培训/测试数据,那么一旦有了更多的数据,您只需拆分该数据,然后将各自的新培训/测试拆分添加到原始拆分中。但是这种方法有点过于简单化,它可能会导致数据集本身的漂移。
这类似于对机器学习模型进行回归测试,但我不确定我是否使用了正确的技术术语。
发布于 2021-05-22 05:56:44
您所描述的解决方案无疑是一种选择。
再培训的另一个动机是,新数据的分布已经偏离了原始数据集的分布,因此有必要进行再培训,以保持模型性能的相同水平。
在这种情况下,您可能实际上会丢弃一些旧的培训数据,因为它们可能已经过时,并且包含了新获得的一部分培训数据。剩下的新数据可以用于样本外测试和验证。
你也想弄清楚什么时候该启动再培训。这通常是通过一个独立的漂移检测过程来完成的,它跟踪与您的业务相关的一些度量,如果它低于预定义的阈值就会触发再培训。
发布于 2021-05-22 09:09:58
我认为需要考虑的一个重要方面是新数据是否比旧数据更相关。如果您正在从一些没有改变的物理进程中收集数据,那么旧的数据与新的数据一样有价值。也许更常见的是,新数据更有价值/相关性,因为底层数据生成过程会发生变化。例如,如果你试图预测广告的点击量,人们对广告的反应会随着时间的推移而改变,看到广告的观众也会改变,所以更新的数据会更好。
如果是这样的话,您可能希望只对较新的数据进行评估,尽管简单性也是一个很好的特性。如果一些简单的东西有效,不要放弃它,因为它不会使你看起来很聪明。;-)
https://datascience.stackexchange.com/questions/94743
复制相似问题