Machine Learning in JavaScript
Traditionally, Machine Learning applications are using R or Python.
But JavaScript has a great future as a Machine Learning language:
- JavaScript is well known. All developers can use it.
- Security is built in. JavaScript cannot access your files.
- JavaScript is faster than Python.
- JavaScript can use hardware acceleration.
- JavaScript runs in the browser
JavaScript is Good for Machine Learning
Machine Learning can be math-heavy. The nature of neural networks is highly technical, and the jargon that goes along with it tends to scare people away.
This is where JavaScript comes to help, with easy to understand software to simplifying the process of creating and training neural networks.
With new Machine Learning libraries, JavaScript developers can add Machine Learning and Artificial Intelligence to web applications.
JavaScript Machine Learning Libraries
Machine Learning in the Browser means:
- Machine Learning in JavaScript
- Machine Learning for the Web
- Machine Learning for Everyone
- Machine Learning on more Platforms
Advantages:
- Easy to use. Nothing to install.
- Powerful graphics. Browsers support WebGL.
- Better privacy. Data can stay on the client.
- More platforms. JavaScript runs on mobile devices.
Brain.js
Brain.js is a JavaScript library that makes it easy to understand Neural Networks because it hides the complexity of the mathematics.
Brain.js is simple to use. You do not need to know neural networks in details to work with Brain.js.
Brain.js provides multiple neural network implementations as different neural nets can be trained to do different things well.
ml5.js
ml5.js is trying to make machine learning more accessible to a wider audience.
The ml5 team is working to wrap machine learning functionality in friendlier ways.
The example below uses only three lines of code to classify an image:
<img id="myImage" src="pic1.jpg" width="100%">
<script>
const classifier = ml5.imageClassifier('MobileNet');
classifier.classify(document.getElementById("myImage"), gotResult);
function gotResult(error, results)
{ ... }
</script>
Try it Yourself »
Try substitute pic1.jpg with pic2.jpg, pic3.jpg and pic4.jpg.
TensorFlow
TensorFlow Playground is a web application written in d3.js.
With TensorFlow Playground you can learn about Neural Networks (NN) without math.
In your own Web Browser you can create a Neural Network and see the result.
TensorFlow.js was previously called Tf.js and Deeplearn.js.
Math in the Browser
Math.js is an extensive math library for JavaScript and Node.js.
Math.js is powerful and easy to use. It comes with a large set of built-in functions, a flexible expression parser, and solutions to work with many data types like numbers, big numbers, complex numbers, fractions, units, arrays, and matrices.
Plotting in the Browser
Here is a list of some JavaScript libraries to use for both Machine Learning graphs and other HTML charts:
Plotting Equations
Plotting Values
WebGL API
WebGL is a JavaScript API for rendering 2d and 3D graphics in any browser.
WebGL can run on both integrated and standalone graphic cards in any PC.
WebGL brings 3D graphics to the web browser. Major browser vendors Apple (Safari), Google (Chrome), Microsoft (Edge), and Mozilla (Firefox) are members of the WebGL Working Group.