How to create a custom weighted loss function for regression using Deep Learning Toolbox?
古いコメントを表示
I want to implement a custom weighted loss function for a regression neural network and aim to achieve the following:
% non-vectorized form is used for clarity loss_elem(i) = sum((Y(:,i) - T(:,i)).^2) * W(i)); loss = sum(loss_elem) / N;
where W(i) is the weight of the i-th input sample.
I found a similar example for creating a weighted classification output layer and attempted to adapt it for a custom regression output layer.
To access the specific documentation for creating a custom weighted cross-entropy classification layer in MATLAB R2020a, please run the following command in the command window:
>> web(fullfile(docroot, 'deeplearning/ug/create-custom-weighted-cross-entropy-classification-layer.html'))
Similarly, for defining a custom regression output layer, execute the following command in MATLAB R2020a:
>> web(fullfile(docroot, 'deeplearning/ug/define-custom-regression-output-layer.html'))
The weighted classification output layer uses weights for each class label, meaning that the same fixed weights will be used for training iterations. However, for a weighted regression layer, there should be a different weight vector for each training batch.
I am uncertain about how to use weights as input arguments while creating the network and how to maintain the indices of weights for each training batch.
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Statistics and Machine Learning Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!