【问题标题】:Accuracy graph for neural network is fluctuating a lot神经网络的准确度图波动很大
【发布时间】:2019-05-29 17:38:31
【问题描述】:
我做了一个神经网络,它的架构如下:
它有两个合并的两个分支。一个分支将矩阵作为卷积网络的输入,而另一个分支是将向量作为输入的全连接层。这两个分支被合并并发送到一个全连接层,然后是一个输出层。我的网络运行,但是,我得到以下图表:
为了准确:
对于损失:
我认为我的损失图还可以。但是准确性的乐趣波动很大。我的整体准确率是 60%。您认为这些图表表明拟合不足还是正常?见解将不胜感激。
【问题讨论】:
标签:
python-3.x
keras
neural-network
【解决方案1】:
由于批量训练而出现波动是一种常见的行为。当且仅当为神经网络提供整个数据集时(从计算的角度来看这是不可能的),才能获得完美的平滑损失图/准确性增加。
当您的训练损失增加时,验证准确度会降低,这是一个好兆头。最后一张图和我之前的观察一起消除了过度拟合的可能性(至少在开发集上)。
图表看起来并没有什么异常(除了我已经提到的那些尖峰,在批量训练期间出现它们是正常的)
这可能是也可能不是欠拟合的情况。如果在两个分支上(甚至在其中一个分支上)使用更复杂的神经网络可以得到更好的结果,那么这意味着这是一种欠拟合的情况。
但是,这种欠拟合现象与您在图表上看到的尖峰无关。
希望这可以帮助您解决问题:)