【发布时间】:2016-07-07 18:23:23
【问题描述】:
我为 ANN BP 开发了一个代码,用于对打鼾片段进行分类。我有 10 个输入特征和 1 个隐藏层,其中包含 10 个神经元和一个输出神经元。我将 1 表示为没有打鼾,将 0 表示为打鼾段。我有 3000 个片段,其中 2500 个没有打鼾片段,标记为 1。和 500 个打鼾片段标记为 0。我已经将数据集分为三组(70% 训练,15% 验证和 15% 测试) .
现在,在训练网络时,首先我打乱了训练集并将打鼾和无打鼾的片段混合在一起。因此,在我训练了网络之后,当我验证它(仅通过前馈网络)时,我发现它只能对其中一个进行分类。让我进一步澄清一下,假设在训练集中最后一个元素不是打鼾(即 1)。因此,它为最后一个输出训练了网络。然后在验证阶段,即使对于打鼾段(即 0),它也总是给出接近 1 的输出。如果最后一个元素是打鼾 (0),也会发生同样的事情。然后它在验证阶段始终给出接近 0 的输出。
我该如何解决这个问题?为什么我的网络不能记住之前段的输出。它只保存最后一段?我应该在网络中改变什么来解决它?
【问题讨论】:
标签: neural-network backpropagation