Usually, people apply machine learning (ML) methods and algorithms using one of two programming languages: Python or R. Books, courses, and tutorials about Machine Learning most often use one of these languages as well (or both).
Python is a general-purpose programming language used not only for Machine Learning but also for scientific computing, back-end Web development, desktop applications, etc. R is created primarily for statisticians. However, they have at least two common characteristics:
Java is also used for Machine Learning, but usually by professional programmers.
Supported supervised learning methods are:
Besides, ml.js offers several unsupervised learning methods:
TensorFlow is a very comprehensive library that still enables building and training models easily. It supports a huge variety of network layers, activation functions, optimizers, and other components. It has good performance and offers GPU support.
License: Apache 2.0.
It provides advanced options like:
brain.js saves and loads models to/from JSON files.
ConvNetJS is another library for neural networks and deep learning. It enables training neural networks in browsers. In addition to classification and regression problems, it has the reinforcement learning module (using Q-learning) that is still experimental. ConvNetJS provides support for convolutional neural networks that excel in image recognition.
In ConvNetJS, neural networks are lists of layers. It provides the following layers:
It supports several important activation functions like:
as well as the optimizers such as:
It also provides the possibility of GPU execution in browsers.
A very convenient feature of WebDNN is the possibility to convert and use the models pretrained with PyTorch, TensorFlow, Keras, Caffemodel or Chainer.