21世纪技术官导读:在本文中,我们将了解8个不同的JavaScript学习框架,DeepLearn.js,PropelJS,ML-JS,ConvNetJS,KeraJS,STDLib,Limdu.js和Brain.js。
使用JavaScript的机器学习开发者,会经常寻找可用于不同机器学习算法来训练机器学习模型的JS框架。
在本文里,我们介绍一些机器学习算法。可以基于这些算法使用本文中列出的不同JavaScript框架来训练学习模型。
1、简单线性回归
2、多变量线性回归
3、逻辑回归
4、朴素贝叶斯
5、K近邻(KNN)
6、K-方法
7、支持向量机(SVM)
8、随机森林
9、决策树
10、反馈神经网络
11、深度学习网络
下面我们一起学习关于机器学习的8个JavaScript框架。包括如下:
DeepLearn.js
Deeplearn.js(https://deeplearnjs.org/)是Google开源的机器学习JavaScript库,可用于不同的目的。例如在浏览器中训练神经网络,理解ML模型,用于教育目的等。我们可以在预先训练的模型运行推理模式。、
我们可以在Typescript(ES6 JavaScript)或ES5JavaScript中编写代码。通过在HTML文件的head标签中包含以下代码并编写用于构建模型的JS程序,可以快速入门。
PropelJS
Propel(http://propeljs.org/)是一个JavaScript库,为科学计算提供了GPU支持,类似numpy的基础架构。它可使用在NodeJS应用程序和浏览器的场合。以下是浏览器端的设置代码:
以下代码可用于NodeJS应用程序:
npm install propel import from "propel";
这里是PropelJS(http://propelml.org/docs/)的文档。这是Propel的GitHub页面(https://github.com/propelml/propel)
ML-JS
ML-JS(https://github.com/mljs/)提供了用于使用NodeJS和浏览器的机器学习工具。ML JS工具可以使用以下代码进行设置:
ML-JS支持以下机器学习算法:
无监督学习
主成分分析(PCA)
K均值聚类
监督学习
简单的线性回归
多变量线性回归
支持向量机(SVM)
朴素贝叶斯
K-最近邻(KNN)
偏最小二乘(PLS)
决策树:CART
随机森林
逻辑回归
人工神经网络
前馈神经网络
可以到ML-JS的GitHub页面:https://github.com/mljs找到上面支持的机器学习算法。
ConvNetJS
ConvNetJS(https://cs.stanford.edu/people/karpathy/convnetjs/)是一个完整的JavaScript库,可以完全在浏览器中训练深度学习模型(神经网络)。这个库也可以用在NodeJS应用程序中。
刚一开始,可以从ConvNetJS压缩库中获取压缩版本的ConvNetJS。这是ConvNetJS的发布页面(https://github.com/karpathy/convnetjs/releases)。
以下是一些重要的页面:
用于ConvNetJS的NPM软件包
https://www.npmjs.com/package/convnetjs
入门
https://cs.stanford.edu/people/karpathy/convnetjs/started.html
文档
https://cs.stanford.edu/people/karpathy/convnetjs/docs.html
KerasJS
使用KerasJS(https://transcranial.github.io/keras-js/#/),我们可以在浏览器中运行Keras(https://github.com/transcranial/keras-js)模型,并使用WebGL支持GPU。Keras模型也可以在Node.js中运行,但只能在CPU模式下。以下是可以在浏览器中运行的Keras类型列表:
MNIST
卷积变分自编码器,在MNIST上进行训练
MNIST上的辅助分类器生成敌对网络(AC-GAN)
在ImageNet上进行了50层网络的学习
DenseNet-121,在ImageNet上接受学习
SqueezeNet v1.1,在ImageNet上进行学习
用于IMDB情绪分类的双向LSTM
STDLIB
STDLib(https://stdlib.io/)是一个JavaScript库,可用于构建高级统计模型和机器学习库。它也可以用于数据可视化和探索性数据分析的绘图和图形功能。
以下是与ML有关的图书馆列表:
通过随机梯度下降的线性回归(@ stdlib / ml / online-sgd-regression)
通过随机梯度下降进行二元分类(@ stdlib / ml / online-binary-classification)
自然语言处理(@ stdlib / nlp)
Limdu.js
Limdu.js(https://github.com/erelsgl/limdu)是Node.js的机器学习框架。它支持以下一些特性:
二进制分类
多标签分类
特色工程
SVM
使用如下命令来安装limdu.js:
npm install limdu
Brain.js
Brain.js(https://github.com/BrainJS)是一套用于训练神经网络和朴素贝叶斯分类器JavaScript库。以下命令用于设置Brain.js:
npm install brain.js
也可以使用以下代码在浏览器中包含库:
以下命令可用于安装朴素贝叶斯分类器:
npm install classifier
小结
在这篇文章中,您可以了解在浏览器或Node.js应用程序中训练机器学习模型的不同JavaScript库。有关机器学习的文章,可以在历史文章中搜索。
作者:Ajitesh Kumar
译者:安晓宁
来源:21世纪技术官
领取专属 10元无门槛券
私享最新 技术干货