对数损失 - 但只有在离目标太远的情况下?

数据挖掘 神经网络 训练 损失函数
2022-03-12 09:09:29

我正在针对“大海捞针”问题训练神经网络 - 有大量数据,也存在巨大的类不平衡(每 10k 负数约 1 个正数)。如果我在绘制的示例上训练网络以平衡类,它可以工作,但要么过度拟合正面(因为它经常看到少数正面例子重复),要么看不到大部分负面。没有看到大多数负面结果的结果是出现了许多误报,即使是在训练集中但从未用于训练的示例上也是如此。据推测,如果网络接受过能够解决问题的训练。

部分解决方案:在训练期间每隔一段时间,对所有训练数据进行推理,并挑选困难的例子(假阳性或假阴性);为下一阶段使用平衡的样本。这确实有效,但速度很慢,并且不清楚要选择多少,有什么阈值等。

想法:我想进行训练,以便日志损失仅在离目标太远时才有效。换句话说,true=0 和 predict=0.01 根本不应该创建梯度;这样,绝大多数真正的负例只会通过一个训练有素的网络,但基本上什么都不做;少数误报会产生梯度,由负数抵消。

以前有这样做过吗?它有效吗?在同样的情况下有更好的方法吗?

1个回答

你研究过焦点损失吗?

在此处输入图像描述

这个想法似乎与您所描述的相似 - 如果预测(~0.8)接近 1 的 GT 标签,它不会增加损失值。