Change the minimization function in Neural Network

2 visualizzazioni (ultimi 30 giorni)
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

Risposte (1)

Himanshu
Himanshu il 4 Ott 2024
Modificato: Himanshu il 4 Ott 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.

Categorie

Scopri di più su Deep Learning Toolbox in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by