Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何定制MATLAB神经网络的误差函数_Matlab_Customization_Neural Network - Fatal编程技术网

如何定制MATLAB神经网络的误差函数

如何定制MATLAB神经网络的误差函数,matlab,customization,neural-network,Matlab,Customization,Neural Network,我想将此函数作为训练神经网络的误差函数: function err = MyErrorFunction(T,O) d = T - O; err = -d*( exp(-d) - 1 ); end 其中,T是目标值,O是输入的神经网络输出 训练算法无关紧要(显然,trainlm的错误函数是不可自定义的,因此我可以使用trainscg) 我发现这建议使用template\u performance.m文件来定义新的性能函数。我说我只需要复制这个文件,并根据需要自定义它 但据我所知,`tem

我想将此函数作为训练神经网络的误差函数:

function err = MyErrorFunction(T,O)
  d = T - O;
  err = -d*( exp(-d) - 1 );
end
其中,
T
是目标值,
O
是输入的神经网络输出

训练算法无关紧要(显然,
trainlm
的错误函数是不可自定义的,因此我可以使用
trainscg

我发现这建议使用
template\u performance.m
文件来定义新的性能函数。我说我只需要复制这个文件,并根据需要自定义它

但据我所知,`template_performance.m`是**performance**函数的模板,而不是**error**函数:`template_performance.m`获取错误值并输出性能值,例如,它可以将错误的平方相加并输出它们(SSE)。 显然,
template\u performance.m
从Matlab2010开始就被弃用了


那么,在训练神经网络时,我如何改变计算/评估误差/性能的方式呢

据我所知,性能函数用于训练和测试/评估(除非某个训练算法硬编码为特定函数)

我有一个类似的问题。。。定制性能函数的整个过程是一场彻底的灾难。很多东西都在贬值,关于我们应该做什么的文档也没有

我最终不得不破解一个我不打算使用的性能函数(SSE)的核心文件。在matlab目录下
matlab\R2012b\toolbox\nnet\nnet\nnperformance
可以找到它们。我根据
t
t-1
更改,使用一些方向权重修改了apply.m(在SSE+文件夹中)函数。但随后我遇到了一个问题,即训练算法将参数发送到
apply()
,发送方式和格式与
perform()
不同。我最终没有使用
perform()
,也没有为此编写自己的代码。上帝啊一团糟


这是一个非常丑陋的黑客行为,我希望听到任何找到正确方法的人的意见。

你能链接你提到的文章吗?以下是文章:正确。我不是在寻找在培训/测试中实现不同性能功能的方法。我正在寻找一种自定义错误函数的方法。请仔细阅读这个问题。关于这个问题的更多细节也可以在这里找到:我可能完全错了,但训练算法不是在处理性能函数的输出(不是直接的误差/差值)并试图将其作为目标进行优化吗?如果是这样的话,实现自定义性能功能就足够了。它收到的第一个参数“error”是目标和输出之间的差值,它将直接用于等式
perf=-E*(exp(-E)-1)
。。。您应该知道,从MatlabR2010B开始,所有这些函数都已被弃用。您是对的。性能函数实际上就是我想要的。但显然,这种解决方案(使用
模板\u性能
)对于Matlab2010及更高版本已经过时。那么,还有其他想法吗?这里也一样。自定义性能函数是一个很难实现的问题。因为并没有文档,也并没有文档化的一般实现,所以这是一个逆向工程问题。如果有人有见解,我很想听听。