UNPKG

encog

Version:

Encog is a NodeJs ES6 framework based on the Encog Machine Learning Framework by Jeff Heaton, plus some the of basic data manipulation helpers.

27 lines (24 loc) 743 B
const UpdateRule = require('./updateRule'); const ArrayUtils = require(PATHS.PREPROCESSING + 'array'); class Momentum extends UpdateRule { /** * @inheritDoc */ init(theTraining) { this.lastDelta = []; this.training = theTraining; this.lastDelta = ArrayUtils.newFloatArray(theTraining.getFlat().getWeights().length); } /** * @inheritDoc */ update(gradients, weights) { let delta; for (let i = 0; i < weights.length; i++) { delta = (this.training.getLearningRate() * gradients[i]) + (this.training.getMomentum() * this.lastDelta[i]); weights[i] += delta; this.lastDelta[i] = delta; } } } module.exports = Momentum;