Change the minimization function in Neural Network

2 次查看(过去 30 天)
I searched a lot in the other questions, but I did not find something working for me.
I would like to change the default function during the NN training (that is, 'mse') to just the minimization of the absolute value of the absolute error between the output of the NN 'y' and the real output 't'. In other words, I want something like:
myperf = abs(y(i) - t(i))<= 0.4; for each i
thus, without the "mean", without the "square" and considering the minimization of each i-th error, and not the sum of them.
Thanks for helping me

回答(1 个)

Himanshu
Himanshu 2024-10-4
编辑:Himanshu 2024-10-4
Hello,
I see that you are trying to customize the performance function in a neural network to minimize the absolute error for each individual prediction instead of using the default mean squared error.
You can follow the below steps to achieve this:
  • Define a custom performance function that calculates the absolute error for each prediction and checks if it is within a threshold.
  • Modify the neural network training process to use this custom function by setting it in the network's performance function property.
  • Implement the custom function in MATLAB by creating a new function file and assigning it to the network's "performFcn" property.
  • Ensure the custom function outputs the performance value and its derivative for backpropagation during training.
Please refer to the below documentation for more information.
I hope this helps.

类别

Help CenterFile Exchange 中查找有关 Deep Learning Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by