8大JavaScript机器学习框架之探索

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世纪技术官

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180306G1NBVV00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券