avaScript開發人員傾向於尋找可用於機器學習模型訓練的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/[email protected]"></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