2.0.0 • Published 1 year ago

deepneuralnet v2.0.0

Weekly downloads
3
License
ISC
Repository
github
Last release
1 year ago

Use the library

Constructors:

// Neural network with 2 inputs, 1 hidden layer, 4 hidden nodes and 1 output
let nn0 = new NeuralNetwork([2, 4, 1]);

// Neural network with 2 inputs, 2 hidden layers, 4 hidden nodes and 1 output
let nn1 = new NeuralNetwork([2, 2, 4, 1]);

Train and guess:

// Train the neural network with a training dataset (inputs and expected outputs)
nn.train(trainingDataInputs, trainingDataTargets);

// Guess for the given testing data is returned as an array (Array(double[]))
nn.query(testingDataSets) // [[o1, o2, o3...], [o1, o2, o3...]];

Read and write from/to file:

// Reads from a (previously generated) JSON-file the nn-Data and returns a NeuralNetwork-object
let model = nn.getModel();

// Writes a JSON-file with the current "state" (weights and biases) of the NN
let nn = NeuralNetwork.fromModel(model);

Adjust the learning rate:

// Set the learning rate (Initially the learning rate is 0.1)
nn.setLearningRate(0.01);

Use different activation functions:

// Set the activation function (By default Sigmoid will be used)
nn.setActivation(activation_function, dactivation_function);

Use this library with genetic algorithms:

// Make an exact and "independent" copy of a Neural Network
let nn2 = nn1.copy();

// Merge the weights and biases of two Neural Networks with a ratio of 50:50
let merged = nn1.merge(nn2);

// Merge the weights and biases of two Neural Networks with a custom ratio (here: 20:80)
let merged = nnA.merge(nnB, 0.2);

// Mutate the weights and biases of a Neural Network with custom probability
nn.mutate(x=>x*0.1);

More detailed examples can be found below.

Download

If you want to use this library you can download v1.2.0 here or check the release tab of this repository.

2.0.0

1 year ago

1.2.0

5 years ago

1.0.0

5 years ago