Loss Functions

Overview

Loss Functions are the functions used to measure the error of a neural network model against an input/output pair or set of pairs.

API Examples

The following shows calculating the total loss or error using pre-defined loss functions from the api. The error function takes four parameters.



  • meanSquaredError

    let error = ba.error(layers, inputs, outputs, ba.meanSquaredError());

  • crossEntropyLoss

    let error = ba.error(layers, inputs, outputs, ba.crossEntropyLoss());

Implementation

An error function must implement two functions:

  • evaluate - evaluates the loss for the two values, one being the evaluated value, and the other being the target (or real) value.
  • inputGradient - the inputGradient function calculates the gradient of the layer given an input and corresponding output.

The following code demonstrates implementing

function meanSquaredError(){ let layer = { type:'meanSquaredError', evaluate:function(val1, val2){ let diff = la.subtract(val1, val2); let result = la.multiply(la.transpose(diff), diff); result[0][0] = 0.5 * result[0][0]; return result; }, inputGradient:function(input, output){ let result = []; for(let i=0;i<input.length;i++){ result.push([input[i][0] - output[i][0]]); } return result; }, }; return layer; }