How to replace the one-hot-encoded label with a (Gaussian) distribution in the training of a CNN for classification ?
10 views (last 30 days)
Show older comments
Hi there,
I am trying to train a CNN for classification using imagedatastore, in which the cross entropy loss needs to be calculated between the softmax output and a (Gaussian) distribution instead of its one-hot-encoded version of the label.
In case I need to customize Matlab functions such that my own function (that converts an original label into a distribution) runs instead of 'onehotencode', where (or in which function) does this 'onehotencode' run ?
There may be other simpler ways to achieve my goal. I would greatly appreciate if anyone could help me on this.

Best regards,
HK
0 Comments
Answers (1)
yanqi liu
on 24 Jan 2022
yes,sir,may be just compute vector,such as
class_info = [1; 2; 2; 1]
class_num = length(unique(class_info));
Y = zeros(length(class_info), class_num);
for i = 1 : length(class_info)
Y(i, class_info(i)) = 1;
end
Y
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!