Change the minimization function in Neural Network

2 ビュー (過去 30 日間)
Francesco Porretta
Francesco Porretta 2021 年 11 月 16 日
編集済み: Himanshu 2024 年 10 月 4 日
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 Center および File ExchangeDeep Learning Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by