批次中的每个成员具有相同的标签有多大的问题?

数据挖掘 分类 阶级失衡 小批量梯度下降
2022-02-11 16:24:58

我的批量大小为 128,总数据大小约为 1000 万,我在 4 个不同的标签值之间进行分类。

如果每个批次只包含一个标签的数据,会有多大的问题?

例如 - 批次 0 都有第三个标签。第 1 批都有第 1 批。第 2 批第 2 批。等等。

3个回答

如果您对收敛感兴趣,那么很可能它不应该收敛。我使用“应该”是因为虽然我们对收敛的工作原理有直觉,但没有人能 200% 确定一切。


让我们了解整个学习过程的几个方面。
-每个数据点都有一个不同的损失空间
- 整体损失空间将是所有单个损失表面的平均值
- 我们可以有把握地假设,一个类中数据点的整体损失空间将彼此更接近,但在以下情况下非常不同与其他班级相比。
- 最后,梯度在批次结束时计算


当我们有很好的洗牌批次时——
在这种情况下,每个批次之后的梯度将指向整体梯度,因为梯度将被平均。这意味着每批次都能平稳减少损失


当我们每批都有一个类时-
在这种情况下,每个备用批次将在两个不同的损失空间(每个类之一)上移动。
问题是我们将计算一个空间的损失,但是在批次结束时更新权重后,下一批将继续在自己的空间中,但使用前一批的权重。这将使学习变得非常不可预测。
此外,优化器中应用的许多逻辑也无济于事,因为梯度会随每个批次随机变化。

我在 MNIST 数字上尝试了这个(仅使用 0,1 数字)并得到了这个 Loss per Batch。我在 LR 优化、LR 衰减等方面没有付出足够的努力。所以,不能得出结论总是相似的。

在此处输入图像描述

如果每批只有一个标签,模型就不会学得很好。每次更新都会尽量减少仅针对单个标签的错误。最终,模型不会同时为所有标签找到一组权重。

如果单个批次恰好随机只有一个标签,它不会对训练产生太大影响,因为其他批次将表示所有标签。

欢迎来到 StackExchange!

是的,小批量的想法是增加不平衡数据集中的平衡。

您应该在平衡的数据集(即所有类别的普遍性相同)上进行训练,并在此处此处讨论的代表性数据集上测量性能


使用不平衡数据训练的神经网络通常根据训练数据中类样本数量的差异来确定每个类的精度水平不同,这是工业质量检测中的一个重要问题。为了解决这个问题,我们提出了一种平衡的小批量训练方法,可以虚拟地平衡训练样本的类比。在一项实验中,对于两种不平衡的图像数据集,使用该方法训练的神经网络比使用过采样或欠采样数据训练的神经网络具有更高的分类能力。

[良太等]