I am building a binary classification neural network. The last 3 layers of my CNN architecture are the following:
fullyConnectedLayer(2, 'Name', 'fc1');
Currently, the classificationLayer uses a crossentropyex loss function, but this loss function weights the binary classes (0, 1) the same. Unfortunately, in my total data is have substantially less information about the 0 class than about the 1 class.
As a result, I want to weight the loss function to penalize misclassifying the 0 class more, with classWeights proportional to 1/(class frequency).
I noted that there is a way to weight classes in the pixelClassificationLayer but not the general classificationLayer, which I would be using as I am working on a classification problem.
How can I add class weights to my loss function for training?