当培训数据过多时,如何训练模型



我有一个RNN,训练数据过多。整个数据迭代将需要数年。现在,我有两个培训选择:

1。一个人通过尽可能多的数据

2。找到数据的选择部分,并在其上训练多个时期

哪个更好,为什么?

选项1远远优越,假设数据的质量相同。

原因是它有助于避免过度拟合。ML中最大的问题之一是您需要培训的数据有限,并且网络倾向于过度贴合,它是学习一组数据的特定的,而不是对问题的概括。。

从不重复数据实际上是培训的理想情况。

唯一的警告是,如果您将标签非常准确地设置在某些部分,而在其他部位则更加湿润 - 在这种情况下,请坚持使用更好的质量数据可能会更好。

概括地提出了问题,因此以下内容也是一般术语。我希望这有助于帮助您解决特定问题。

一种方法将是交叉验证的一种变体。您可以随机选择数据的一部分,并在数据的第二部分中评估结果。重复整个过程,直到满足收敛标准或耗尽计数为止。收敛标准可能是以某种速度获得相同或相似的网络。您可以在两种模式中的任何一个中执行此操作,允许或不允许重复使用数据。

要记住的第二点是,您的执行时间取决于"功能向量"的长度或在应用程序中起作用的任何功能。选择功能向量的重要组成部分,都减少了处理时间,也可以帮助培训更成功。Scikit Learn具有一个函数selectkest((,可能对此有所帮助。

最新更新