Atwood's Law: Any application that can be written in JavaScript, will eventually be written in JavaScript

I like working on web applications. The idea of being able to write an application and being able to run from anywhere and from any device is appealing. Over the past few months I have been trying to get some basic light-weight machine learning algorithms to work on Javascript and use them to build "intelligent" web apps. With the advent of Node, it has become possible to train models on the server-side and use these models to make predictions on the client-side. I have explored some libraries/tools that do/help in doing machine learning with Javascript. Here we go:

Brain.js A neural network library

svmjs SVM library

Forest.js Javascript library implementing Random trees

Numeric.js Performs sophisticated numerical computations.

Node-sylvester Linear algebra library

(Shameless plug) Lineareg.js Linear regression with Javascript.

Most of these use node.js for training on the server-side. They generate a classifier(usually in JSON) which can be used to make predictions on the server-side. Often the classifier generated is too heavy to be useful, but there are several non-trivial uses as well. Hopefully I shall be coming up with a neat application soon 😉