【探究】八种支持机器学习模型训练的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程序。
<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(译者注:它是Python的一种开源的数值计算扩展)的基础架构。它可以被使用在NodeJS的各种应用以及浏览器中。
以下是为浏览器设置的代码:
<script src="https://unpkg.com/propel@3.1.0"></script>
而下面则是被用到NodeJS应用的代码:
npm install propel 2.import { grad } from "propel";
PropelJS的文档链接是:http://propelml.org/docs/。它的GitHub页面为https://github.com/propelml/propel。
3.ML-JS
ML-JS为工作在NodeJS和各个浏览器环境中,提供了机器学习的多个工具。ML JS工具可以通过如下的代码进行设置:
<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的各种应用之中。
您可以从下载链接--http://cs.stanford.edu/people/karpathy/convnetjs/build/convnet-min.js 来获取ConvNetJS的缩减库,从而上手这个缩小版本的ConvNetJS。它的GitHub页面为https://github.com/karpathy/convnetjs/releases。如下是其对应的加载代码:
<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:
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应用中训练机器学习模型的不同JavaScript库。如果您有兴趣了解更多有关机器学习的文档,我们建议您去查看我们的机器学习文档集-- https://vitalflux.com/category/machine-learning/。
时间:2018-10-09 22:31 来源: 转发量:次
声明:本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。
相关文章:
- [数据挖掘]Uber开源Manifold:机器学习可视化调试工具
- [数据挖掘]2020 年数据科学就业市场必备的五项技能
- [数据挖掘]吴恩达deeplearning.ai新课上线:TensorFlow移动和web端
- [数据挖掘]30段极简Python代码:这些小技巧你都Get了么
- [数据挖掘]加快数据科学项目的五个自动化工具
- [数据挖掘]BERT, RoBERTa, DistilBERT, XLNet的用法对比
- [数据挖掘]一个案例告诉你如何使用Kyligence + Spark 进行大数
- [数据挖掘]想留住人才?先要管理好数据科学团队
- [数据挖掘]数据处理必看:如何让你的 pandas 循环加快 7180
- [数据挖掘]数据科学中的强大思维
相关推荐:
网友评论: