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.

55 lines (43 loc) 1.54 kB
const BasicLayer = require(PATHS.LAYERS + 'basic'); const BasicNetwork = require(PATHS.NETWORKS + 'basic'); const NeuralNetworkPattern = require(PATHS.PATTERNS + 'neuralNetwork'); const NeuralNetworkError = require(PATHS.ERROR_HANDLING + 'neuralNetwork'); const FreeformNetwork = require(PATHS.FREEFORM + 'network'); /** * Construct an ADALINE neural network. */ class ADALINEPattern extends NeuralNetworkPattern { constructor() { super(); } /** * @inheritDoc */ addHiddenLayer() { throw new NeuralNetworkError("An ADALINE network has no hidden layers."); } /** * @inheritDoc */ generate() { const network = new BasicNetwork(); const inputLayer = new BasicLayer(this.inputLayer.activationFunction, true, this.inputLayer.neurons); const outputLayer = new BasicLayer(this.outputLayer.activationFunction, false, this.outputLayer.neurons); network.addLayer(inputLayer); network.addLayer(outputLayer); network.randomize(); return network; } /** * @inheritDoc */ generateFreeformNetwork() { const network = new FreeformNetwork(); const inputLayer = network.createInputLayer(this.inputLayer.neurons); const outputLayer = network.createOutputLayer(this.outputLayer.neurons); network.connectLayers(inputLayer, outputLayer, this.outputLayer.activationFunction, 1.0); network.randomize(); return network; } } module.exports = ADALINEPattern;