{"_id":"3net.js","_rev":"13-c913e7244e4c13f9b535cae7d0dd1556","name":"3net.js","description":"A simple library for implementing 3 layer neural networks","dist-tags":{"latest":"0.2.4"},"versions":{"0.0.1":{"name":"3net.js","version":"0.0.1","description":"A simple library for implementing 3 layer neural networks","main":"index.js","keywords":["neural network","machine learning"],"repository":{"type":"git","url":"https://github.com/muntashir/"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"license":"ISC","author":{"name":"Muntashir","email":"muntashir.hossain@uwaterloo.ca","url":"http://muntashir.com/"},"dependencies":{"mathjs":"^2.1.1"},"gitHead":"fd2f0bc5d74bb032e4365b5c6181557820921f8b","_id":"3net.js@0.0.1","_shasum":"c594ad9cbdae82a140c5de8f1015e07219f07c35","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"muntashir","email":"muntashir.hossain@uwaterloo.ca"},"dist":{"shasum":"c594ad9cbdae82a140c5de8f1015e07219f07c35","tarball":"https://registry.npmjs.org/3net.js/-/3net.js-0.0.1.tgz","integrity":"sha512-s7QgH3pvlnjjYwYwII1J9J88koaHhwuJSbYzAqTwUYURl/cdP05AzO1D6lISwgC/9hpN8s31YtA1YRo/ekPjDg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICel/QQXTMP6oc1xZpk4omlEU2YezT/mNKoR9fbFilMEAiEA8j6W9YKGBWcEYOrGSnjQZoNX23voP4B+r9UNAVwHgog="}]},"maintainers":[{"name":"muntashir","email":"muntashir.hossain@uwaterloo.ca"}]},"0.0.2":{"name":"3net.js","version":"0.0.2","description":"A simple library for implementing 3 layer neural networks","main":"index.js","keywords":["neural network","machine learning"],"repository":{"type":"git","url":"https://github.com/muntashir/"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"license":"ISC","author":{"name":"Muntashir","email":"muntashir.hossain@uwaterloo.ca","url":"http://muntashir.com/"},"dependencies":{"mathjs":"^2.1.1"},"gitHead":"fd2f0bc5d74bb032e4365b5c6181557820921f8b","_id":"3net.js@0.0.2","_shasum":"829df1e80a8f04b427b694218628e2ecdde3c79b","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"muntashir","email":"muntashir.hossain@uwaterloo.ca"},"dist":{"shasum":"829df1e80a8f04b427b694218628e2ecdde3c79b","tarball":"https://registry.npmjs.org/3net.js/-/3net.js-0.0.2.tgz","integrity":"sha512-sjiya8QCX5wKx8d4ug2N9H7VAAhchmv3NnnteVbMb372fu/ek4ptCQKnm/vONqYJGyY2LsDp79CcwmUb/AF79Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCCWKCqDvhrg3eXGYCEKik+mqyIoPX59XU4TAyqtSb5kgIgY5poKaudgLY7WX7sEf3fLVwgT/ulE9jFrWcRd3Rm9e4="}]},"maintainers":[{"name":"muntashir","email":"muntashir.hossain@uwaterloo.ca"}]},"0.0.3":{"name":"3net.js","version":"0.0.3","description":"A simple library for implementing 3 layer neural networks","main":"index.js","keywords":["neural","network","machine","learning","3netjs","3net"],"repository":{"type":"git","url":"https://github.com/muntashir/3net.js/"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"license":"ISC","author":{"name":"Muntashir","email":"muntashir.hossain@uwaterloo.ca","url":"http://muntashir.com/"},"dependencies":{"mathjs":"^2.1.1"},"gitHead":"fd2f0bc5d74bb032e4365b5c6181557820921f8b","_id":"3net.js@0.0.3","_shasum":"7e2481ca3cc4beb59a18ec0e718e9048ebf859a5","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"muntashir","email":"muntashir.hossain@uwaterloo.ca"},"dist":{"shasum":"7e2481ca3cc4beb59a18ec0e718e9048ebf859a5","tarball":"https://registry.npmjs.org/3net.js/-/3net.js-0.0.3.tgz","integrity":"sha512-84bsUQ0mz17CK9VhfXsuvKQEXkxLZ2bwtl1tuN2u4nQydBQ4Vob8xl8OUGtfCU5prrhioUuDpVo7WRK825T6rQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFnrWbaL7qYj+vD8kW6naUauieDJxrXwWU3JlbYm4pHJAiEA80GHWwlLeJkLVsCNUMTBPRtuSeaQ/9dRk9y+hCJO0IU="}]},"maintainers":[{"name":"muntashir","email":"muntashir.hossain@uwaterloo.ca"}]},"0.0.4":{"name":"3net.js","version":"0.0.4","description":"A simple library for implementing 3 layer neural networks","main":"index.js","keywords":["neural","network","machine","learning","3netjs","3net","data","multilayer","perceptron"],"repository":{"type":"git","url":"https://github.com/muntashir/3net.js/"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"license":"ISC","author":{"name":"Muntashir","email":"muntashir.hossain@uwaterloo.ca","url":"http://muntashir.com/"},"dependencies":{"mathjs":"^2.1.1"},"gitHead":"857b01bfc3b4e321c6e99953faf1b2585fd27fbc","_id":"3net.js@0.0.4","_shasum":"1820a8722862941dd297b60cb1c1060037fbbfc2","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"muntashir","email":"muntashir.hossain@uwaterloo.ca"},"dist":{"shasum":"1820a8722862941dd297b60cb1c1060037fbbfc2","tarball":"https://registry.npmjs.org/3net.js/-/3net.js-0.0.4.tgz","integrity":"sha512-Tb+MMGkabvYwc+/p+uxBuHZb4VTOK5ej2sAhTLecwvXL6XGZIwVTi2VG1gBThVTQzq96a6NAe4ELcsne1w2R1Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdLL53PQX7CS2rV4Nf0gjp9emjbhD3+jeVNapmXfX8fAIhAP17ejb82l/xvtXjhnHzYlRfO/GSs0VJ9eFhEqUT1cR4"}]},"maintainers":[{"name":"muntashir","email":"muntashir.hossain@uwaterloo.ca"}]},"0.1.0":{"name":"3net.js","version":"0.1.0","description":"A simple library for implementing 3 layer neural networks","main":"index.js","keywords":["neural","network","machine","learning","3netjs","3net","data","multilayer","perceptron"],"repository":{"type":"git","url":"https://github.com/muntashir/3net.js/"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"license":"ISC","author":{"name":"Muntashir","email":"muntashir.hossain@uwaterloo.ca","url":"http://muntashir.com/"},"dependencies":{"mathjs":"^2.1.1"},"gitHead":"4630121fcb75f4a80ed1ec1881b13882ff4e39e5","_id":"3net.js@0.1.0","_shasum":"dd38a5082200013a046f1b3acb95b260f9af33ad","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"muntashir","email":"muntashir.hossain@uwaterloo.ca"},"dist":{"shasum":"dd38a5082200013a046f1b3acb95b260f9af33ad","tarball":"https://registry.npmjs.org/3net.js/-/3net.js-0.1.0.tgz","integrity":"sha512-hCd0ZGIA1CoKkj30Ojv5V+yRDYTjPLwPSYHxyDf/GmPxytAyreEh8LndGjgvcXqu9OuIuavXwQ2P2nVde+hv7g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQGb7YX9FSi26Kge/Pl8+bYD7F9sgqC3l23NJ1N9czxQIhAMdyj8irG0nDrX4Ks8SWUx5bn2KWBaezuGHYRDvv2K+e"}]},"maintainers":[{"name":"muntashir","email":"muntashir.hossain@uwaterloo.ca"}]},"0.2.0":{"name":"3net.js","version":"0.2.0","description":"A simple library for implementing 3 layer neural networks","main":"index.js","keywords":["neural","network","machine","learning","3netjs","3net","data","multilayer","perceptron"],"repository":{"type":"git","url":"https://github.com/muntashir/3net.js/"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"license":"ISC","author":{"name":"Muntashir","email":"muntashir.hossain@uwaterloo.ca","url":"http://muntashir.com/"},"dependencies":{"mathjs":"^2.1.1"},"gitHead":"4b8898fdf0c61e85c62f69941e27444270251f2b","_id":"3net.js@0.2.0","_shasum":"10f8f92a838cf8fb2ab6562d8d8f219f38d5985d","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"muntashir","email":"muntashir.hossain@uwaterloo.ca"},"dist":{"shasum":"10f8f92a838cf8fb2ab6562d8d8f219f38d5985d","tarball":"https://registry.npmjs.org/3net.js/-/3net.js-0.2.0.tgz","integrity":"sha512-DN1TVJFIoXwyYuv+WpD41rc8OC9zW12MpqrNTElgii4DAuCghsNbfpZQUClN+iVwIzFdCvXCDAHd4tihBDd35A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICwoFXGyOJ+BjxF2KZS3DayYdcsLMbXtVVYJxVLLCDL6AiEAk5k2uPq8ymAEXkE96sEa1yNpmQRHV3XkxSTBa2n5gIM="}]},"maintainers":[{"name":"muntashir","email":"muntashir.hossain@uwaterloo.ca"}]},"0.2.1":{"name":"3net.js","version":"0.2.1","description":"A simple library for implementing 3 layer neural networks","main":"index.js","keywords":["neural","network","machine","learning","3netjs","3net","data","multilayer","perceptron"],"repository":{"type":"git","url":"https://github.com/muntashir/3net.js/"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"license":"ISC","author":{"name":"Muntashir","email":"muntashir.hossain@uwaterloo.ca","url":"http://muntashir.com/"},"dependencies":{"mathjs":"^2.1.1"},"gitHead":"5faf966f96ced15531528cf4cc3bee50cf49f2ae","_id":"3net.js@0.2.1","_shasum":"c078a83701f0bbf270bacf7c13b5efc21e51db1f","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"muntashir","email":"muntashir.hossain@uwaterloo.ca"},"dist":{"shasum":"c078a83701f0bbf270bacf7c13b5efc21e51db1f","tarball":"https://registry.npmjs.org/3net.js/-/3net.js-0.2.1.tgz","integrity":"sha512-pXWy92ubmTblTp8NNgjfn0ulq9WuS/qC+Nc1ZQ17Cci4F01KLevwGy4V7BblVDo/WrAnTjMMjiaWtfoOhMIJQw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF0t2pV4yZqmXzxti2ipi0MDO6RKM8rwOjDzfOHYjdvZAiEAzeiYHxC+di+mZBkWlePC7yOcWSV6lVjQWZVnWnPweYw="}]},"maintainers":[{"name":"muntashir","email":"muntashir.hossain@uwaterloo.ca"}]},"0.2.2":{"name":"3net.js","version":"0.2.2","description":"A simple library for implementing 3 layer neural networks","main":"index.js","keywords":["neural","network","machine","learning","3netjs","3net","data","multilayer","perceptron"],"repository":{"type":"git","url":"https://github.com/muntashir/3net.js/"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"license":"ISC","author":{"name":"Muntashir","email":"muntashir.hossain@uwaterloo.ca","url":"http://muntashir.com/"},"dependencies":{"mathjs":"^2.1.1"},"gitHead":"5ffb6593f9c178ad863fe220362a213110957a24","_id":"3net.js@0.2.2","_shasum":"fb125148cf10a0b16d1438bbe73ab147ef2eb84c","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"muntashir","email":"muntashir.hossain@uwaterloo.ca"},"dist":{"shasum":"fb125148cf10a0b16d1438bbe73ab147ef2eb84c","tarball":"https://registry.npmjs.org/3net.js/-/3net.js-0.2.2.tgz","integrity":"sha512-roRTt0v+UVoa7vsh+Spf3YVuWseOGmKycj2+avasXfnMKydGxufvIhxBJ/K7Y017uC7whJuDpuER35Rf1vsGFA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICPlFKAyxjIgpNadOjoPlOnN2pYppNTAE0yKFM73i4a6AiEAyOfqBEmKihjDGzM3DILGpYGJt84g2Q9RCIlvWYFy140="}]},"maintainers":[{"name":"muntashir","email":"muntashir.hossain@uwaterloo.ca"}]},"0.2.3":{"name":"3net.js","version":"0.2.3","description":"A simple library for implementing 3 layer neural networks","main":"index.js","keywords":["neural","network","machine","learning","3netjs","3net","data","multilayer","perceptron"],"repository":{"type":"git","url":"https://github.com/muntashir/3net.js/"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"license":"ISC","author":{"name":"Muntashir","email":"muntashir.hossain@uwaterloo.ca","url":"http://muntashir.com/"},"dependencies":{"mathjs":"^2.1.1"},"gitHead":"18f5c62ce83f8b3bea51f2763ceb0f937edf21c0","_id":"3net.js@0.2.3","_shasum":"e508cf21b04cc0a85fa624dbecfa9b19c09f0450","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"muntashir","email":"muntashir.hossain@uwaterloo.ca"},"dist":{"shasum":"e508cf21b04cc0a85fa624dbecfa9b19c09f0450","tarball":"https://registry.npmjs.org/3net.js/-/3net.js-0.2.3.tgz","integrity":"sha512-lGuOGtoQC1zDxSeVE1pp2WQqh8ctqtYdDYjeG06PNhCape3I1jvWsKDQAn139GXKV9Vw56QSqJ0F7bF3xX94SA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC0toLHO8/5FJrnfxR/MFbtrlbyAgWwYT+QRNZETQ7MjAiAC8fBkXeVt/fkbAdjwVn3CBf8FCTr0RhhW5hEYBdD8UQ=="}]},"maintainers":[{"name":"muntashir","email":"muntashir.hossain@uwaterloo.ca"}]},"0.2.4":{"name":"3net.js","version":"0.2.4","description":"A simple library for implementing 3 layer neural networks","main":"index.js","keywords":["neural","network","machine","learning","3netjs","3net","data","multilayer","perceptron"],"repository":{"type":"git","url":"https://github.com/muntashir/3net.js/"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"license":"ISC","author":{"name":"Muntashir","email":"muntashir.hossain@uwaterloo.ca","url":"http://muntashir.com/"},"dependencies":{"mathjs":"^2.1.1"},"gitHead":"dddcf47afc5b857c4caeed5fb5ea3e231719556f","_id":"3net.js@0.2.4","_shasum":"aafa2ed11045c5df2299c967efbb3b1f4c1c8355","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"muntashir","email":"muntashir.hossain@uwaterloo.ca"},"dist":{"shasum":"aafa2ed11045c5df2299c967efbb3b1f4c1c8355","tarball":"https://registry.npmjs.org/3net.js/-/3net.js-0.2.4.tgz","integrity":"sha512-UjUMoRsBhDglUqGey8IdJCevmTqcx/c3uGrdhTzOn40nUbpLjRSxV/lbtAgnCNNj3S8ZytMzroc7fgyKwC1Erw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD95W7YUYQfudFBVTsGYa7i8qqx1V55AOUsxUiPAKroRwIhAJRmL+XLgg59Ea5qRDxQ6tyVSYFuH2Yw9dK4hmVW8CnZ"}]},"maintainers":[{"name":"muntashir","email":"muntashir.hossain@uwaterloo.ca"}]}},"readme":"# 3net.js\r\n\r\nA simple library for implementing 3 layer neural networks\r\n\r\n[![NPM](https://nodei.co/npm/3net.js.png)](https://npmjs.org/package/3net.js)\r\n\r\n#### Initialization\r\n    var three_net = require('3net.js');     // Install with 'npm install 3net.js'\r\n    var inputLayer = 400;\r\n    var hiddenLayer = 25;\r\n    var outputLayer = 10;\r\n    var neuron = \"rectifier\";               // The activation function. Can be \"rectifier\", \"sigmoid\", or \"tanh\"\r\n    \r\n    //If neuron is not specified, the default sigmoid will be used\r\n    var net = three_net.createNet(inputLayer, hiddenLayer, outputLayer, neuron);  \r\n    \r\n#### Online training \r\n    // If options is not specified, the default values will be used.\r\n    options = {\r\n        \"learning_rate\": 0.3,   // Learning rate for gradient descent. The default is 0.5\r\n        \"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\r\n        \"regularization\": 0.3,  // L2 regularization parameter to prevent overfitting. The default is 0\r\n    };\r\n    \r\n    // Data and label must be an array matching the dimensions of the input layer and output layer\r\n    var success = net.train(data, label, options);\r\n    \r\n    //Returns true if training was successful\r\n    if (success) console.log(\"training complete\");  \r\n    \r\n#### Training on a set \r\n    // If options is not specified, the default values will be used.\r\n    options = {\r\n        \"iters\": 100,               // Maximum amount of time stochastic gradient descent will run. The default is 1000\r\n        \"learning_rate\": 0.5,       // Learning rate for gradient descent. The default is 0.5\r\n        \"regularization\": 1,        // L2 regularization parameter to prevent overfitting. The default is 0\r\n        \"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\r\n        \"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\r\n    };\r\n    \r\n    // Data and label are arrays containing the training set\r\n    var success = net.trainSet(dataset, labels, options);\r\n    \r\n    //Returns true if training was successful\r\n    if (success) console.log(\"training complete\");  \r\n    \r\n#### Predicting\r\n    net.predict(data);  // Returns an array with the output layer activations\r\n    \r\n#### Importing and exporting\r\n    var savedNet = net.exportNet();                 // Exports as JSON\r\n    var copiedNet = three_net.importNet(savedNet);  // Imports from JSON\r\n  \r\n#### Example: Training an XOR\r\n    var three_net = require('3net.js');\r\n    var net = three_net.createNet(2, 3, 1);\r\n\r\n    inputs = [[0, 0], [0, 1], [1, 0], [1, 1]];\r\n    labels = [[0], [1], [1], [0]];\r\n\r\n    // Uses default options since it is not specified\r\n    net.trainSet(inputs, labels);\r\n\r\n    console.log(net.predict([1, 1])); // Outputs 0.020773462753469724\r\n    console.log(net.predict([1, 0])); // Outputs 0.9836636258293651\r\n\r\n    // Output values be slightly different when you try it because of random intialization\r\n\r\n#### An online training example can be found [here](https://github.com/muntashir/draw3net)\r\n","maintainers":[{"name":"muntashir","email":"muntashir.hossain@uwaterloo.ca"}],"time":{"modified":"2022-06-12T14:07:27.409Z","created":"2015-08-17T06:54:24.385Z","0.0.1":"2015-08-17T06:54:24.385Z","0.0.2":"2015-08-17T08:30:49.258Z","0.0.3":"2015-08-18T03:14:19.781Z","0.0.4":"2015-08-18T06:31:47.095Z","0.1.0":"2015-08-18T19:24:17.302Z","0.2.0":"2015-08-25T19:53:00.159Z","0.2.1":"2015-08-28T18:26:04.113Z","0.2.2":"2015-09-04T21:13:07.414Z","0.2.3":"2015-09-04T21:40:03.007Z","0.2.4":"2015-09-04T22:01:57.451Z"},"keywords":["neural","network","machine","learning","3netjs","3net","data","multilayer","perceptron"],"repository":{"type":"git","url":"https://github.com/muntashir/3net.js/"},"author":{"name":"Muntashir","email":"muntashir.hossain@uwaterloo.ca","url":"http://muntashir.com/"},"license":"ISC","readmeFilename":"README.md","users":{"muntashir":true}}