我正在尝试将trainbr训练函数用于我的神经网络字符识别项目。如何选择此函数的参数和迭代次数?另外,如何划分用于训练、验证和测试的数据?我已经看过了nn工具箱文档。但我正在努力理解其中的参数。
发布于 2014-03-13 00:13:14
在神经网络中,层的数目( layer_size )和每层的神经元数目(Neuron_size)的参数,随着layer_size和neuronz_size的增加,模型的复杂度增加,因为它将赋予模型拟合更复杂函数的能力,但随着模型复杂度的增加,容易导致过拟合(这意味着在训练数据中获得较低的错误率,但在验证数据和测试数据中获得较高的错误率)。
迭代应该与你期望的梯度相关,因为神经网络通常是用梯度下降法优化的,通常我们会在梯度达到最小值(例如1e-4)时停止迭代,但这取决于,我建议你检查梯度而不是过于关心迭代,因为迭代次数取决于训练数据。
我建议选择训练:验证:测试的比例为6:3:1,但这取决于您获得的样本数量,通常我将测试样本数量设置为0,仅使用训练和验证数据集。
https://stackoverflow.com/questions/22357028
复制相似问题