我有一个典型的NN多分类器(10个类),其中有一个隐藏层。训练和测试成本不会像增加层时那样最小化,但是分类器的准确性在两个网络中是相同的(91%的训练,88%的测试)。
测试数据与训练数据是分开的。
当培训停止时,成本值过高(0.5培训,0.7测试)的后果是什么?
为什么在第一个网络中,尽管成本很高,但准确性可能是相同的?
如果需要,我很乐意提供更多的信息。
发布于 2018-10-22 19:25:49
那么,您的问题隐含地需要回答许多其他问题,稍后您将看到:
当培训停止时,成本值过高(0.5培训,0.7测试)的后果是什么?
首先,某些成本值是否高是主观的,也就是说,没有真实的阈值,然而,成本值是模型中过拟合/欠拟合的一个很好的指标。因此,最好比较训练集和测试集的成本,如下所示:
现在听我说,过拟合/欠拟合也与神经网络中的隐藏层和隐藏单元有关!!(见下文)。
其次,隐藏层的数量和隐藏单元的数量直接影响成本价值,因为它改变了训练复杂性,如下所示(来自Jeff Heaton的Java神经网络简介(第二版)):
隐藏层数:
只能够表示线性可分函数的
另一方面,根据经验,在隐藏层中使用太少的神经元会导致拟合不足,而在隐藏层中使用太多的神经元可能会导致过度拟合:
总而言之,这是训练集和测试集的代价值之间的关系,以及与神经网络中隐含层大小的关系。
因此,其后果是过拟合/欠拟合。
为什么尽管第一个网络的成本很高,但准确性可能是相同的?
这有点奇怪,因为它是成本和准确性之间的反向关系,即成本越低,准确性越高。
然而,还不清楚你所指的准确性是什么,因为正如我所见,你是在训练集上测试准确性,这是毫无意义的,但再看看你的结果,它们反映了上面提到的成本和准确性之间的反向关系:
0.5 training cost -> 91% training accuracy
0.7 test cost -> 88% test accuracy
如果您仍然有任何疑问,请提供您的神经网络和数据集的体系结构,以及详细的准确性和成本结果,并以漂亮的摘要形式提供。
https://stackoverflow.com/questions/52926910
复制相似问题