Neural network 范恩:我如何在期望的错误和位失败之间找到平衡?

Neural network 范恩:我如何在期望的错误和位失败之间找到平衡?,neural-network,Neural Network,我希望网络在位失败为0时停止训练。 当这种情况正常发生时,期望的误差非常低。但是如果我把期望的误差设置得太低,网络将继续训练。。即使训练过度,即使位失败为0 如何在期望的错误和位失败之间找到良好的平衡 TL;DR:如何计算最低可能的期望错误,以便在位失败达到0时网络停止训练 您可以创建一个类型为的方法,我们将其称为trainCallback,然后将此方法设置为对NN的回调(使用该方法) 此方法-trainingCallback-将在培训时调用,而不是打印培训的详细信息。 在此回调中,您可以访问所

我希望网络在位失败为0时停止训练。
当这种情况正常发生时,期望的误差非常低。但是如果我把期望的误差设置得太低,网络将继续训练。。即使训练过度,即使位失败为0

如何在期望的错误和位失败之间找到良好的平衡


TL;DR:如何计算最低可能的期望错误,以便在位失败达到0时网络停止训练

您可以创建一个类型为的方法,我们将其称为trainCallback,然后将此方法设置为对NN的回调(使用该方法)

此方法-trainingCallback-将在培训时调用,而不是打印培训的详细信息。 在此回调中,您可以访问所需的所有信息(MSE、bitfail等-在上面的链接中查看签名),如果返回的值小于0,则培训将停止

希望能有帮助



int trainCallback(struct fann *ann, struct fann_train_data *train, 
                           unsigned intmax_epochs, unsigned int epochs_between_reports,
                           float desired_error, unsigned int epochs) {
   if(/*your condition*/)
       return -1;
   return 0;
}

/* in your code */
{
...
fann_set_callback(ptrToFANN, &trainCallback);
...
}

您可以创建一个类型为的方法,我们将其称为trainCallback,然后将此方法设置为对NN的回调(使用该方法)

此方法-trainingCallback-将在培训时调用,而不是打印培训的详细信息。 在此回调中,您可以访问所需的所有信息(MSE、bitfail等-在上面的链接中查看签名),如果返回的值小于0,则培训将停止

希望能有帮助



int trainCallback(struct fann *ann, struct fann_train_data *train, 
                           unsigned intmax_epochs, unsigned int epochs_between_reports,
                           float desired_error, unsigned int epochs) {
   if(/*your condition*/)
       return -1;
   return 0;
}

/* in your code */
{
...
fann_set_callback(ptrToFANN, &trainCallback);
...
}

在libfann中,您应该能够在位失败为0时停止计算,方法是将所需的_错误设置为0,作为列数据或列文件上的列的参数,并使用set_列停止函数(libfann.STOPFUNC_位)。但事实并非如此“至少不能通过python绑定工作。所以这个答案是你最好的答案,Matyas描述的是一个微分停止准则,你可以在任何神经网络实现中轻松实现。您所要做的就是将之前的NN链接权重保存在内存中,并在下一次学习迭代中计算每个链接更改的绝对差值:如果所有这些差值之和(因此计算欧几里得距离)小于您给定的阈值,甚至小于0,然后您可以退出。在libfann中,您应该能够在位失败为0时停止计算,方法是将所需的错误设置为0作为列数据或列文件上的列的参数,并使用设置列停止功能(libfann.STOPFUNC_位)。但事实并非如此“至少不能通过python绑定工作。所以这个答案是你最好的答案,Matyas描述的是一个微分停止准则,你可以在任何神经网络实现中轻松实现。您所要做的就是将之前的NN链接权重保存在内存中,并在下一次学习迭代中计算每个链接更改的绝对差值:如果所有这些差值之和(因此计算欧几里得距离)小于您给定的阈值,甚至小于0,则您可以退出。