classdef maeClassificationLayer < nnet.layer.ClassificationLayer % custom classification layer with mean-absolute-error loss. methods function layer = maeClassificationLayer(name) % layer = maeClassificationLayer(name) creates a % mean-absolute-error regression layer and specifies the layer % name. % Set layer name. layer.Name = name; % Set layer description. layer.Description = 'Mean absolute error'; end function loss = forwardLoss(layer, Y, T) % loss = forwardLoss(layer, Y, T) returns the MAE loss between % the predictions Y and the training targets T. % Calculate MAE. %R = size(Y,3); % meanAbsoluteError = sum(abs(Y-T),3)/R; meanAbsoluteError = sum(abs(Y-T)); % Take mean over mini-batch. N = size(Y,4); loss = sum(meanAbsoluteError)/N; end end end