在具有稀疏正标签的二进制分类序列问题上平衡样本

数字进化

我正在研究一个涉及作为时间步序列的样本的二元分类问题。我的模型应该为每个样本的每个时间步提供一个预测, 01 。不确定是否相关,但我正在使用 LSTM 和密集的 w/sigmoid 激活函数。我没有得到我期望的结果,我怀疑我的抽样方法。

从标签的角度来看,我的每个样本看起来都像这样:

y = [0,0,0,0,0,0,0,0,...,0,0,0,1,1,1,0,0,0,0,0,0] # usually it possesses around 4000 timesteps

我正在考虑一个正样本是一个包含至少一个标签为1的时间步长的样本。从逻辑上讲,负样本是不包含任何1的样本,其标签向量中仅包含0值。考虑到这一点,我有 1300 个正样本和 6200 个负样本。因此,我的样本中只有大约20%至少有一个我想分类为1的标签,而其余的则完全是0值。然后,我按照通常的做法将我的样本分布在训练、验证和测试集中 - 某种 0.80 - 0.10 - 0.10 - 确保它们之间保持相似百分比的正样本和负样本。

关于我的训练,尽管尝试了批量大小、学习率等的多种配置,但它似乎非常不稳定......我的损失函数和指标“趋于”减少,但它们非常不稳定并且经常突然达到峰值。毫无疑问,调优/优化阶段可能会有一些改进,但我怀疑最大的问题可能不在于这里,而在于采样。该模型仍然能够在训练期间学习一些东西,但我希望它远未达到指标值。

有了这个背景,我想就以下问题获得一些指导:

  1. 碰巧这个采样比例与这个问题所源自的场景是一致的。因此,与标签1相关联的事件相对于它的缺席而言非常罕见……即使我的样本反映了表征标签1出现的稀疏性- 也可能有许多“样本/时间步”在没有绝对没有1的现实生活,我是否仍然应该通过不考虑我拥有的过多负样本来选择均衡数据集中正样本和负样本的数量?那么,例如,考虑到我的 1300 个正样本和大约 1300 个负样本?
  2. 我的一些样本实际上只有很少的时间步长。如果正常长度是 4000 个时间步,我的一些样本实际上只包含大约 5-20 个时间步。将此类样本输入模型是否不好?我担心他们不会带来任何额外的学习,实际上会通过“混乱”用于更新参数的批次样本来影响学习过程——不确定这是否有意义,或者是否没有区别。如果提供那些无意义的样本确实有所不同,那么使用第 .1 点中的逻辑并从删除同样为负的较小样本开始可能是一个好主意?

你对这个问题有什么看法?真的很好奇听到他们的声音!

J_H
  1. 是的,一个 50 / 50 的平衡训练集是有意义的。

  2. 是的,拒绝每个短序列,甚至在检查它是正面还是负面之前,都是有道理的。


这个问题的问题是不可重现/不可测试。https://stackoverflow.com/help/minimal-reproducible-example


不要掉入这个陷阱:

0, 0, 0, ..., 0, 1, 1, 1, 0, ..., 0, 0, 0
A             B           C             D

一些训练方法可能会将 A..C 和 B..D 绘制为两个“不同”的样本,尽管中间有共享的正拉伸。避免这样做。

鉴于您将其设计为 LSTM 解决方案,这表明对样本 B..D 的训练可能不是很有帮助,因为在我们看到积极因素之前状态没有太多时间发展。考虑将正样本限制为在样本的初始 N% 中始终为负。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章