【问题标题】:How to use trainbr training function如何使用trainbr训练功能
【发布时间】:2014-03-13 00:13:14
【问题描述】:

我正在尝试将 trainbr 训练功能用于我的神经网络字符识别项目。如何选择这个函数的参数和迭代次数?还有如何划分训练、验证和测试的数据?我已经浏览了 nn 工具箱文档。但我很难理解参数。

【问题讨论】:

    标签: matlab neural-network


    【解决方案1】:

    在神经网络中,参数层数(layer_size)和每层神经元数(neuron_size),模型复杂度随着layer_size和neuronz_size的增加而增加,因为它会赋予模型能力拟合更复杂的函数,但随着模型复杂度的增加,很容易导致过拟合(这意味着你在训练数据中得到低错误率,但在验证数据和测试数据中得到高错误率)。

    迭代应该与你期望的梯度有关,因为神经网络通常使用梯度下降法进行优化,通常我们会在梯度达到最小值(例如 1e-4)时停止迭代,但这取决于,我建议你检查梯度而不是太在意迭代,因为迭代次数取决于训练数据。

    我建议选择train:validation:test的比例为6:3:1,但这取决于你得到的样本数量,通常我将测试样本数量设置为0,只使用train&validation数据集。

    【讨论】:

    • 你能解释一下trainbr函数中的参数吗?
    • @Anu trainbr 使用 Levenberg-Marquardt 优化,你应该为 mu 阅读一些关于它的内容(cs.nyu.edu/~roweis/notes/lm.pdf),而 net.trainParam.min_grad 是你应该关心的 grad
    猜你喜欢
    • 1970-01-01
    • 2017-02-02
    • 2013-02-16
    • 2017-04-20
    • 1970-01-01
    • 2017-10-16
    • 2016-10-09
    • 2012-06-15
    • 1970-01-01
    相关资源
    最近更新 更多