One of the readers pointed out that this list includes libraries from large organizations. It was not my intention to bring a list of libraries backed by Google and such large companies and so I searched about some more libraries which can be used for Machine Learning. Some of these are suggested by the reader mentioned above. Here is a list of some more JS libraries for Machine Learning.
"Neuro-evolution on steroids, right in the browser" this is what is written on the homepage of Neataptic. It is basically a JS library with neuroevolution as its building block. Neuroevolution means that evolutionary algorithms are used to train the neural network. Instinct algorithm is used as the neuroevolution algorithm of this framework.
Neataptic offers 6 pre-configured networks-
It is a very light JS framework for ML which can be used to customize the network topology. It uses matrix implementation to train data. The tutorial of Mind can be found here. A demo of movie recommender system using Mindjs can be found here.
This library is a compilation of the tools developed in the mljs organization. It is mainly maintained for use in the browser.
To include the ml.js library in a web page:
It has tools for a lot of Machine Learning algorithms. For unsupervised learning it has
- Principal component analysis (PCA)
- Hierarchical clustering
- K-means clustering
It has many supervised learning algorithms like-
- Naive Bayes
- K-Nearest Neighbor (KNN)
- Decision tree classifier
- Random forest classifier
It is a gem of a library for Regression with varied type of regression algorithms.
- Simple linear regression
- Polynomial regression
- Multivariate linear regression
- Power regression
- Exponential regression
- Theil-Sen regression
- Robust polynomial regression
- Decision tree regression
- Random forest regression
The description above on the homepage of ConvnetJs aptly describes this framework. This library is developed by a Ph.D. student at Stanford University. It was originally having support for Convolutional Neural Networks, but now it supports Common Neural Networks, Classification using SVM, L2 regularisation, and also Reinforcement Learning.
A very good visualization of CNN on CIFAR-10 dataset can be found here. It is done using JS and on your browser. It will help you better understand CNN.
Hope you all liked this article and will try some of these libraries for training your own neural networks.