Change the minimization function in Neural Network

2 Ansichten (letzte 30 Tage)
Francesco Porretta
Francesco Porretta am 16 Nov. 2021
Bearbeitet: Himanshu am 4 Okt. 2024
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

Antworten (1)

Himanshu
Himanshu am 4 Okt. 2024
Bearbeitet: Himanshu am 4 Okt. 2024
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.

Kategorien

Mehr zu Deep Learning Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by