properties(SetAccess = private)
% LossFunction The loss function for training
% The loss function that will be used during training. Possible
% values are:
% 'crossentropyex' - Cross-entropy for exclusive outputs.
LossFunction = 'focalloss';//默认值为'crossentropyex'
end
在类定义ClassificationOutputLayer中将LossFunction更改为你都函数名即可,这里我使用focalloss作为我都损失函数,以应对在卷积神经网络分类中,样本不平衡问题。prediction和target分别为预测值和真实值。
function loss = focalLoss(prediction, target)
gamma = 2;
alpha = 0.25;
ce = -target .* log(prediction);
pt = prediction;
alpha_term = alpha * target .* ((1 - pt) .^ gamma);
loss = mean(ce .* alpha_term);
end