Loss.mae constructor

Loss.mae()

Mean Absolute Error loss function for batch

mse(y, yP) = 1/n * sum |y - yP| Example:

final y = Matrix.column([0, 1, 0]);
final yP = Matrix.column([0.1, 0.1, 0.8]);

final mae = Loss.mae();
double loss = mae.function(y, yP);
print(loss); // output: 0.6

Implementation

Loss.mae() {
  function = (Matrix y, Matrix yP, [dynamic parameter]) {
    return (y - yP).apply((double x) => x.abs()).reduceSum() / y.n / y.m;
  };
  dfunction = (Matrix y, Matrix yP, [dynamic parameter]) {
    return (yP - y).apply((double x) => x > 0 ? 1 : -1).scaled(1 / y.n);
  };
  name = 'mae';
}