【问题标题】:How to cancel the huge negative effect of my training data distribution on subsequent neural network classification function?如何消除我的训练数据分布对后续神经网络分类功能的巨大负面影响?
【发布时间】:2016-07-22 16:45:57
【问题描述】:

我需要在具有正态分布的数据上训练我的网络,我注意到我的神经网络非常倾向于只预测我导出的 csv 文件中出现次数最多的类标签(将其预测与实际标签)。

有哪些建议(除了清理数据以生成均匀分布的训练数据)可以帮助我的神经网络不去,只预测出现次数最多的标签?

更新:只是想提一下,确实在评论部分提出的建议有效。然而,我发现向我的神经网络添加一个额外的层可以缓解这个问题。

【问题讨论】:

  • 你是用自己的NN码还是外接包?
  • 我正在使用我自己的 NN 代码。它有大约 1000 个节点的输入、100 个节点的隐藏层和 10 个节点的输出层。这是一个 sigmoid 神经网络。
  • (1) 什么是训练数据类分布?特别是,最频繁的课程有多频繁? (2) 如果你在一个均匀分布的训练集上训练,这个问题会减少吗?
  • 一个标签约占标签的 50%。我确实在 mnist 上测试了我的代码,它的准确率超过了 98%,但是我没有在我的均匀分布的数据上测试它。显然 bcz 缺乏此类数据。你怎么看?

标签: python machine-learning neural-network


【解决方案1】:

假设 NN 是使用小批量训练的,则可以通过确保每个小批量均匀分布来模拟(而不是生成)均匀分布的训练数据。

例如,假设一个 3 类分类问题和 minibatch size=30,通过随机选择每个类 10 个样本来构造每个 minibatch(如有必要,可以重复)。

【讨论】:

    猜你喜欢
    • 2017-01-27
    • 2015-06-02
    • 2016-04-03
    • 2018-08-15
    • 2012-03-24
    • 2018-05-09
    • 2020-04-22
    • 2017-01-15
    • 2017-01-20
    相关资源
    最近更新 更多