标题说明了一切:神经网络能否具有完美的列车精度?我的准确度达到了约0.9,我想知道这是否表明我的网络或训练数据存在问题。
训练实例:~4500个序列,平均长度为10个元素。 网络:双向香草RNN,顶部有softmax层。
答案 0 :(得分:5)
训练数据的完美准确性通常是称为过度拟合(https://en.wikipedia.org/wiki/Overfitting)的现象的标志,并且该模型可能对看不见的数据概括不足。所以,不,可能只有这一点并不表示存在问题(你可能仍然过度拟合,但无法从你问题中的信息中得知)。
您应该检查验证集上的NN的准确性(您的网络在培训期间没有看到的数据)并判断其普遍性。通常,它是一个迭代过程,您可以并行训练许多具有不同配置的网络,并查看哪一个在验证集上表现最佳。另请参阅交叉验证(https://en.wikipedia.org/wiki/Cross-validation_(statistics))
如果测量噪声较低,模型可能仍然无法获得零训练误差。这可能有很多原因,包括模型不够灵活,无法捕捉真正的基础功能(可能是一个复杂的,高维的,非线性的功能)。您可以尝试增加隐藏层和节点的数量,但是您必须注意过度拟合等相同的事情,并且只能通过交叉验证来评估。
通过提高模型复杂性,您可以在训练数据集上获得100%的准确率,但我会对此保持警惕。
答案 1 :(得分:2)
您不能指望您的模型在您的测试集上比在训练集上更好。这意味着如果您的训练精度低于所需的准确度,则必须更改某些内容。您很可能需要增加模型的参数数量。
你可能没有完美训练准确性的原因是(1)过度拟合(2)训练时间的问题。模型越复杂,过度拟合的可能性就越大。
您可能希望了解Structural Risc Minimization: