【发布时间】:2014-03-13 00:13:14
【问题描述】:
我正在尝试将 trainbr 训练功能用于我的神经网络字符识别项目。如何选择这个函数的参数和迭代次数?还有如何划分训练、验证和测试的数据?我已经浏览了 nn 工具箱文档。但我很难理解参数。
【问题讨论】:
标签: matlab neural-network
我正在尝试将 trainbr 训练功能用于我的神经网络字符识别项目。如何选择这个函数的参数和迭代次数?还有如何划分训练、验证和测试的数据?我已经浏览了 nn 工具箱文档。但我很难理解参数。
【问题讨论】:
标签: matlab neural-network
在神经网络中,参数层数(layer_size)和每层神经元数(neuron_size),模型复杂度随着layer_size和neuronz_size的增加而增加,因为它会赋予模型能力拟合更复杂的函数,但随着模型复杂度的增加,很容易导致过拟合(这意味着你在训练数据中得到低错误率,但在验证数据和测试数据中得到高错误率)。
迭代应该与你期望的梯度有关,因为神经网络通常使用梯度下降法进行优化,通常我们会在梯度达到最小值(例如 1e-4)时停止迭代,但这取决于,我建议你检查梯度而不是太在意迭代,因为迭代次数取决于训练数据。
我建议选择train:validation:test的比例为6:3:1,但这取决于你得到的样本数量,通常我将测试样本数量设置为0,只使用train&validation数据集。
【讨论】: