[英]How to use the custom neural network function in the MATLAB Neural Network Toolbox
[英]How to customize error function of MATLAB Neural Network
我想将此函数实现为用于训练神经网络的错误函数:
function err = MyErrorFunction(T,O)
d = T - O;
err = -d*( exp(-d) - 1 );
end
其中T
是目标值, O
是输入的神经网络输出。
训练算法无关紧要(显然, trainlm
错误函数不可自定义,因此我可以使用trainscg
)。
我发现这篇文章建议使用template_performance.m
文件定义一个新的性能函数。 我说我只是复制了这个文件并根据需要对其进行了自定义。
显然,自MATLAB 2010起已弃用template_performance.m
。
那么,当训练神经网络时,如何改变计算/评估错误/性能的方式呢?
我有一个类似的问题……关于定制性能功能的整个过程完全是一场灾难。 很多东西都被折旧了,关于我们应该怎么做的文献零。
我最终不得不破解我不打算使用的性能功能的核心文件(SSE)。 在matlab目录MATLAB\\R2012b\\toolbox\\nnet\\nnet\\nnperformance
您可以找到它们。 我修改了apply.m(在SSE +文件夹中)函数,并根据t
, t-1
变化使用了一些方向权重。 但是后来我遇到了一个训练算法的问题,该算法以与perform()
不同的方式和格式发送参数到apply()
perform()
。 我最终没有使用perform()
并为此编写自己的代码。 耶稣...一团糟。
这是一个非常丑陋的骇客,我很想听听任何找到正确方法的人的来信。
据我了解,性能功能既用于训练又用于测试/评估(除非将某种训练算法硬编码为特定功能)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.