Catalog npm
PACKAGE EXPLORERView in registry

3net.js

npm

A simple library for implementing 3 layer neural networks

3net3netjsdatalearningmachinemultilayernetworkneuralperceptronmachine learningneural network
Versions collected10
Direct dependencies1From release 0.2.4
Last observed20 Oct, 19:49 UTC

README

Current package documentation

3net.js

A simple library for implementing 3 layer neural networks

NPM

Initialization

var three_net = require('3net.js');     // Install with 'npm install 3net.js'
var inputLayer = 400;
var hiddenLayer = 25;
var outputLayer = 10;
var neuron = "rectifier";               // The activation function. Can be "rectifier", "sigmoid", or "tanh"

//If neuron is not specified, the default sigmoid will be used
var net = three_net.createNet(inputLayer, hiddenLayer, outputLayer, neuron);  

Online training

// If options is not specified, the default values will be used.
options = {
    "learning_rate": 0.3,   // Learning rate for gradient descent. The default is 0.5
    "dropconnect": 0.5,     // DropConnect parameter to prevent overfitting. Must be a value between 0 and 1. It represents the chance that a weight will be randomly set to 0 during training. The default is 0
    "regularization": 0.3,  // L2 regularization parameter to prevent overfitting. The default is 0
};

// Data and label must be an array matching the dimensions of the input layer and output layer
var success = net.train(data, label, options);

//Returns true if training was successful
if (success) console.log("training complete");  

Training on a set

// If options is not specified, the default values will be used.
options = {
    "iters": 100,               // Maximum amount of time stochastic gradient descent will run. The default is 1000
    "learning_rate": 0.5,       // Learning rate for gradient descent. The default is 0.5
    "regularization": 1,        // L2 regularization parameter to prevent overfitting. The default is 0
    "dropconnect": 0.5,         // DropConnect parameter to prevent overfitting. Must be a value between 0 and 1. It represents the chance that a weight will be randomly set to 0 during training. The default is 0
    "change_cost": 0.00001,     // If the change in cross entropy cost between iterations is less than this, the net will stop training. The default is 0.00001
};

// Data and label are arrays containing the training set
var success = net.trainSet(dataset, labels, options);

//Returns true if training was successful
if (success) console.log("training complete");  

Predicting

net.predict(data);  // Returns an array with the output layer activations

Importing and exporting

var savedNet = net.exportNet();                 // Exports as JSON
var copiedNet = three_net.importNet(savedNet);  // Imports from JSON

Example: Training an XOR

var three_net = require('3net.js');
var net = three_net.createNet(2, 3, 1);

inputs = [[0, 0], [0, 1], [1, 0], [1, 1]];
labels = [[0], [1], [1], [0]];

// Uses default options since it is not specified
net.trainSet(inputs, labels);

console.log(net.predict([1, 1])); // Outputs 0.020773462753469724
console.log(net.predict([1, 0])); // Outputs 0.9836636258293651

// Output values be slightly different when you try it because of random intialization

An online training example can be found here

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 10

Collected releases
VersionPublishedDirect dependenciesOpen version
0.2.4Registry latest4 Sept 20151
0.2.34 Sept 20151
0.2.24 Sept 20151
0.2.128 Aug 20151
0.2.025 Aug 20151
0.1.018 Aug 20151
0.0.418 Aug 20151
0.0.318 Aug 20151
0.0.217 Aug 20151
0.0.117 Aug 20151

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
muntashir/3net.js

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 19:49 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:a02a054c203826478a7e5753b6a8c67a0f9ad37966c85b66d93e244d5c32c287