微信号:FrontDev

介绍:分享 Web 前端相关的技术文章、工具资源、精选课程、热点资讯

值得探索的 8 个机器学习 JavaScript 框架

2018-03-22 21:08 前端大全

(点击上方公众号,可快速关注)

英文: Ajitesh Kumar   译文出:码农网/小峰

http://www.codeceo.com/8-machine-learn-js-frameworks.html


JavaScript开发人员倾向于寻找可用于机器学习模型训练的JavaScript框架。下面是一些机器学习算法,基于这些算法可以使用本文中列出的不同JavaScript框架来模型训练:


  • 简单的线性回归

  • 多变量线性回归

  • 逻辑回归

  • 朴素贝叶斯

  • k最近邻算法(KNN)

  • K-means

  • 支持向量机(SVM)

  • 随机森林

  • 决策树

  • 前馈神经网络

  • 深度学习网络



在这篇文章中,你将学习针对机器学习的不同JavaScript框架。具体内容为:


1.DeepLearn.js


Deeplearn.js是Google发布的一个开源的机器学习JavaScript库,可用于不同的目的,例如在浏览器中训练神经网络,理解ML模型,用于教育目的等。你可以在推理模式中运行预先训练的模型。可以在Typescript(ES6 JavaScript)或ES5 JavaScript中编写代码。通过在HTML文件的head标签中包含以下代码并编写用于构建模型的JS程序,可以实现快速入门。


<script src="https://cdn.jsdelivr.net/npm/deeplearn@latest"></script>

<!-- or -->

<script src="https://unpkg.com/deeplearn@latest"></script>


2.PropelJS


Propel,一个JavaScript库,为科学计算提供了GPU支持的类似numpy的基础架构。它可以用于NodeJS app和浏览器。以下是浏览器的设置代码:


<script src="https://unpkg.com/propel@3.1.0"></script>


以下代码可用于NodeJS app:


npm install propel

import { grad } from "propel";


PropelJS 文档(Propel doc)。Propel的GitHub页面。


3.ML-JS


ML-JS提供了用于使用NodeJS和浏览器的机器学习工具。ML JS工具可以使用以下代码进行设置:


<script src="https://www.lactame.com/lib/ml/2.2.0/ml.min.js"></script>


支持以下机器学习算法:


  • 无监督学习

  • 主成分分析(PCA)

  • K均值聚类

  • 监督学习

  • 简单线性回归

  • 多变量线性回归

  • 支持向量机(SVM)

  • 朴素贝叶斯

  • K最近邻算法(KNN)

  • 偏最小二乘算法(PLS)

  • 决策树:CART

  • 随机森林

  • 逻辑回归

  • 人工神经网络

  • 前馈神经网络


4.ConvNetJS


ConvNetJS是一个JavaScript库,完全用于在浏览器中深度学习模型训练(神经网络)。这个库也可以用在NodeJS app中。


可以从ConvNetJS简化库中获取ConvNetJS的简化版本入门。ConvNetJS的发布页面。


<script src="convnet-min.js"></script>


下面是一些重要的页面:


  • 用于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)


5.KerasJS


通过KerasJS,你可以在浏览器中运行Keras模型,并使用WebGL得到GPU支持。模型也可以在Node.js中运行,但只能在CPU模式下运行。Keras的GitHub页面。以下是可以在浏览器中运行的Keras模型列表:


  • MNIST的基本convnet

  • 卷积变分自编码器,在MNIST上训练

  • MNIST上的辅助分类器生成式对抗网络(AC-GAN)

  • 50层残差网络,在ImageNet上训练

  • Inception v3,在ImageNet上训练

  • DenseNet-121,在ImageNet上训练

  • SqueezeNet v1.1,在ImageNet上训练

  • IMDB情绪分类的双向LSTM


6.STDLIB


STDLib是一个JavaScript库,可用于构建高级统计模型和机器学习库。它也可以用于数据可视化和探索性数据分析的绘图和图形功能。


以下是与ML有关的库列表:


  • 通过随机梯度下降进行线性回归(@ stdlib / ml / online-sgd-regression)

  • 通过随机梯度下降进行二元分类(@ stdlib / ml / online-binary-classification)

  • 自然语言处理(@ stdlib / nlp)


7.Limdu.js


Limdu.js是Node.js的机器学习框架。它支持以下一些内容:


  • 二元分类

  • 多标签分类

  • 特征工程

  • SVM


可以使用以下命令来安装limdu.js:


npm install limdu


8.Brain.js


Brain.js是一套用于训练神经网络和朴素贝叶斯分类器的JavaScript库。以下代码可用于安装Brain.js:


npm install brain.js


也可以使用以下代码在浏览器中引入该库:


<script src="https://raw.githubusercontent.com/harthur-org/brain.js/master/browser.js"></script>


以下内容可用于安装朴素贝叶斯分类器:


npm install classifier


总结


在这篇文章中,我们了解了可用于在浏览器和Node.js app中机器学习模型训练的不同JavaScript库。有关机器学习的文章,建议查看机器学习档案。


这篇文章对你有帮助吗?或者你对文中有关机器学习的JavaScript框架有任何疑问或建议?欢迎在评论中留下你的看法并提出问题来共同探讨。



觉得本文对你有帮助?请分享给更多人

关注「前端大全」,提升前端技能

 
前端大全 更多文章 我所理解的前端 CSS布局解决方案(终结版) 50道CSS基础面试题(附答案) 因内部闹矛盾,PhantomJS 宣布封存归档暂停开发 从输入URL到页面加载的过程?由一道题完善自己的前端知识体系!
猜您喜欢 [演讲文字实录] Open-Falcon in SREcon17 Asia PHP语言基础简单整理 大数据日知录笔记 ZooKeeper的一致性算法赏析 【终南山.内核问道】Linux故障分析方法(中)