【探究】八种支持机器学习模型训练的JavaScript框架

编译作者: 陈峻 2018-03-09 09:00:00

八种值得探究的机器学习JavaScript框架

【51CTO.com快译】JavaScript开发人员大多倾向于寻找一些基于不同的机器学习算法、并可用于训练机器学习模型的JavaScript框架。我们在下面所罗列出的各种机器学习算法,都适用于本文将为您展示的八种可用于模型训练的JavaScript框架。

  • 简单线性回归
  • 多变量线性回归
  • 逻辑回归
  • 朴素贝叶斯(Naive Bayesian)
  • K最近邻算法(K-nearest neighbor,KNN)
  • K-Means算法
  • 支持向量机(Support vector machine,SVM)
  • 随机森林
  • 决策树
  • 前馈神经网络(Feedforward neural network)
  • 深度学习网络

在本文中,您将分别概览到用于机器学习的不同JavaScript框架。它们分别是:

1.DeepLearn.js

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

  1. <script src="https://cdn.jsdelivr.net/npm/deeplearn@latest"></script>  
  2. <!-- or -->  
  3. <script src="https://unpkg.com/deeplearn@latest"></script> 

2.PropelJS

Propel是一个JavaScript库,它为科学计算提供了一个支持GPU的、类似numpy(译者注:它是Python的一种开源的数值计算扩展)的基础架构。它可以被使用在NodeJS的各种应用以及浏览器中。

以下是为浏览器设置的代码:

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

而下面则是被用到NodeJS应用的代码:

  1. npm install propel  
  2. import { grad } from "propel"

PropelJS的文档链接是:https://propelml.org/docs/。它的GitHub页面为https://github.com/propelml/propel。

3.ML-JS

ML-JS为工作在NodeJS和各个浏览器环境中,提供了机器学习的多个工具。ML JS工具可以通过如下的代码进行设置:

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

它能够支持以下的机器学习算法:

  • 无监督学习
    • 主成分分析(Principal component analysis,PCA)
    • K-Means聚类
  • 监督学习
    • 简单线性回归
    • 多变量线性回归
    • 支持向量机(SVM)
    • 朴素贝叶斯
    • K最近邻算法(KNN)
    • 偏最小二乘(Partial least squares,PLS)
    • 决策树:CART
    • 随机森林
    • 逻辑回归
  • 人工神经网络
    • 前馈神经网络

4.ConvNetJS

ConvNetJS是一个JavaScript库,它可以被用于在您的浏览器中,完全地训练各种深度学习的模型(神经网络)。这个库也能够被用在NodeJS的各种应用之中。

您可以从下载链接--https://cs.stanford.edu/people/karpathy/convnetjs/build/convnet-min.js 来获取ConvNetJS的缩减库,从而上手这个缩小版本的ConvNetJS。它的GitHub页面为https://github.com/karpathy/convnetjs/releases。如下是其对应的加载代码:

  1. <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和支持GPU的WebGL,您可以在浏览器中运行Keras的模型。除了CPU模式,该模型也可以在Node.js中运行。Keras的GitHub页面为https://github.com/transcranial/keras-js。以下是可以在浏览器中运行的所有Keras的模型列表:

  • MNIST的基本转换(译者注:MNIST是一个入门级的计算机视觉数据集)
  • 经MNIST训练的卷积变分自编码器
  • 基于MNIST的辅助分类器生成对抗网络(AC-GAN)
  • 经ImageNet训练的50层残差网络(residual network)
  • 经ImageNet训练的Inception v3模型
  • 经ImageNet训练的DenseNet-121(极深网络)模型
  • 经ImageNet训练的SqueezeNet v1.1模型
  • 基于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的机器学习框架。它支持以下方面:

  • 二进制分类
  • 多标签分类
  • 特征工程(Feature engineering)
  • 支持向量机(SVM)

开发者可以使用如下的命令来安装limdu.js:

  1. npm install limdu 

8.Brain.js

Brain.js是一套用于训练神经网络和朴素贝叶斯分类器的JavaScript库。您可以使用如下命令来设置Brain.js:

  1. npm install brain.js 

开发者也可以使用以下代码,在浏览器中包含该库:

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

如下的命令可以被用于安装朴素贝叶斯分类器:

  1. npm install classifier 

总结

在本文中,您了解到了可用于在浏览器、以及Node.js应用中训练机器学习模型的不同JavaScript库。如果您有兴趣了解更多有关机器学习的文档,我们建议您去查看我们的机器学习文档集-- https://vitalflux.com/category/machine-learning/。

如果您觉得本文对您有所帮助,或者您对本文所提及的机器学习JavaScript框架有任何的疑问与建议,欢迎您在此留下评论或提出问题。

原文标题:8 Machine Learning JavaScript Frameworks to Explore,作者:Ajitesh Kumar

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

前端 JavaScript 机器学习
上一篇:微软:开源软件和云计算是推动人工智能和机器学习的主要方式 下一篇:百度妇女节海报描绘智能生活图景:人工智能将让女性更自由
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

刷脸取件被小学生“破解”!丰巢紧急下线 精选

近日,#小学生发现刷脸取件bug#的话题引发关注!这是真的吗?都市快报《好奇实验室》进行了验证。

好奇实验室 ·  4天前
4 分钟!OpenAI 的机器手学会单手解魔方了,完全自学无需编程 精选

OpenAI 的机器手学会单手解魔方了,而且还原一个三阶魔方全程只花了 4 分钟,其灵巧程度让人自叹不如。

佚名 ·  2019-10-16 13:52:13
MIT新研究表明机器学习不能标记假新闻

麻省理工学院研究人员发表的两篇新论文显示,当前的机器学习模型还不能完成区分虚假新闻报道的任务。在不同的研究人员表明计算机可以令人信服地生成虚构新闻故事而无需太多人为监督之后,一些专家希望可以训练基于相同机器学习的系统来检测此类新闻。

佚名 ·  2019-10-16 11:52:15
高位截瘫患者重新行走:靠意念指挥外骨骼,法国脑机接口新突破 精选

依靠介入头部的 2 个传感器,法国里昂的一名瘫痪男子 Thibault 实现了操控外骨骼装备来助力行走。

孙滔 ·  2019-10-15 10:10:00
2008 年预测 2020 年生活方式:基本都实现了

美国皮尤研究中心曾在 2008 年预测 2020 年的生活方式,目前来看,该研究的预测基本已经实现。而对于未来 10 年,也就是 2030 年左右人们的生活,在 2017 年底的世界经济论坛上,800 多名信息和通讯技术领域的技术高管和专家给出了如下预测。

佚名 ·  2019-10-15 10:03:43
机器学习的正则化是什么意思?

正则化的好处是当特征很多时,每一个特征都会对预测y贡献一份合适的力量;所以说,使用正则化的目的就是为了防止过拟合。

佚名 ·  2019-10-15 10:01:43
机器学习的正则化是什么意思?

正则化的好处是当特征很多时,每一个特征都会对预测y贡献一份合适的力量;所以说,使用正则化的目的就是为了防止过拟合。

佚名 ·  2019-10-15 10:01:43
为什么我的CV模型不好用?没想到原因竟如此简单……

机器学习专家 Adam Geitgey 近日发布了一篇文章探讨了这一简单却又让很多人头痛的问题,并分享了他为解决这一问题编写的自动图像旋转程序。

机器之心 ·  2019-10-15 09:46:46
Copyright©2005-2019 51CTO.COM 版权所有 未经许可 请勿转载