我的神经网络的每日新数据,我想要迁移(?)学习

数据挖掘 神经网络 迁移学习 早停
2022-02-25 05:16:19

我做了我的神经网络,它是pre-trained for 180 days of data.

It filters the fraud data of credit cards everyday and 1-days new data is comming in.

我也想要过滤后,

我想重新训练我的 AI 模型,但我只想使用新的 1 天数据(因为训练神经网络真的很耗时)。

我的 AI 模型是 0(非欺诈)/1(欺诈)分类模型。我想改变我的神经网络1/181......因为数据量只有一天

我应该如何训练神经网络?如果我只使用 1 天的数据并运行多个 epoch(时间),它会过度拟合......通过提前停止,似乎一天的数据训练是不够的......

我认为像 LSTM 这样的记忆可能需要我的神经网络……哪种神经网络设计最适合我的情况?

1个回答

因此,我相信您要问的问题是如何在一天的数据上重新训练模型,而不是在所有 180 天的数据上进行训练。

您看到过拟合绝对是合理的,这可能是由于模型的复杂性(与网络深度有关)。

所以改变模型的架构以适应这个分类任务绝对是一个好主意。为此,在不知道您的模型架构的情况下,我会查看整体深度(即神经网络中的层数)。

澄清一下,LSTM(如 RNN [循环神经网络])通常用于将顺序数据作为数据 xix, 在哪里0<i<N(N是序列中数据示例的数量)在模型中按顺序馈送到每个时间步的任一输出i或稍后在输入序列中。

我想到的一个建议是,由于 RNN 只是一个带有重复隐藏层的普通 NN,我们可以使用迁移学习(你谈到了)。

迁移学习本质上是当我们对通常大量(通用)数据的模型进行预训练,然后我们采用这个预训练模型并更改网络架构的输出部分以适应分类任务(在您的情况下,添加一个softmax 层输出 2 个类别的概率分布)。然后,我们用不同的数据(在你的情况下是你一天的数据)训练这个改变的模型。

为了防止模型失去泛化性能,我们通常在预训练模型的隐藏层中冻结参数更新,只允许模型的更改部分更新其参数。这还具有减少训练模型所需时间的额外好处。

所以,这就是我的建议,首先用 180 天的数据预训练你的模型,然后改变你的预训练模型以适应这个任务来分类一天的时间,训练模型但只更新参数模型的更改部分。