Loss.mse constructor

Loss.mse()

Mean Square Error loss function for batch

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

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

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

Implementation

Loss.mse() {
  function = (Matrix y, Matrix yP, [dynamic parameter]) {
    return (y - yP)
            .apply((double x) => math.pow(x, 2).toDouble())
            .reduceSum() /
        y.n /
        y.m;
  };
  dfunction = (Matrix y, Matrix yP, [dynamic parameter]) {
    return (yP - y).scaled(2 / y.n);
  };
  name = 'mse';
}