如何处理由于数据中的域传输而导致的性能下降

数据挖掘 神经网络 可视化
2022-03-08 20:04:56

我正在标记数据集上训练分类 CNNx,y. 该网络在测试和验证集上达到 0.92% 的准确率。在这个过程之后,我通过一些过程对数据进行预处理,以模拟一些合理的条件x^=Ψ{x}并获得一个新的数据集x^,y具有相同的标签。此过程的一个示例是颜色域之间的转换,例如,xRGBx^grayscale.

在我给出的示例中,如果使用丢失的颜色特征,该过程可能会降低网络的性能。就我而言,尽管数据可能会损坏,但不会丢失任何数据。申请后Ψ我正在训练一个性能下降的新网络,准确率仅为 0.81%。我猜测我正在经历概念漂移,尽管我不确定如何显示或可视化这一点。另外,我不知道如何修复 NN 中的概念漂移。

不幸的是,我无法透露我正在处理的确切案例。有没有办法分析或显示新域中的数据分布发生了变化?

我如何解决所描述的案例以及我可以做些什么来尝试提高性能(无论具体任务如何)?

2个回答

多种方法可以检测协变量偏移,例如Kullback–Leibler散度,但我最喜欢的是逆向验证对于图像,我还会查看shap explainer,如果它在测试集中的不同随机位置上激活,您可能会怀疑概念上有问题。

使用 NN 进行补救概念转变 -如果您还没有,请尝试批量归一化。为什么?由神经网络学习的较深层的权重将相对较少地依赖于较浅层上学习的权重,因此避免了移位。

一种选择是提高新域数据集的性能是正则化。正则化是添加额外约束或信息以减少过拟合机会的过程。

有很多方法可以对 CNN 进行正则化 - 训练更多和/或更好的数据、dropout、L1 或 L2 正则化或最大范数约束。