JavaScript 中的機器學習
傳統上,機器學習應用使用 R 或 Python。
但是 JavaScript 作為一種機器學習語言具有巨大的未來
- JavaScript 是眾所周知的。所有開發人員都可以使用它。
- 內建安全。JavaScript 無法訪問你的檔案。
- JavaScript 比 Python 更快。
- JavaScript 可以使用硬體加速。
- JavaScript 在瀏覽器中執行
JavaScript 適合機器學習
機器學習可能涉及大量數學。神經網路的性質非常技術化,並且與之相關的術語往往會嚇退人們。
這就是 JavaScript 可以提供幫助的地方,它提供易於理解的軟體來簡化建立和訓練神經網路的過程。
藉助新的機器學習庫,JavaScript 開發人員可以將機器學習和人工智慧新增到 Web 應用程式中。
JavaScript 機器學習庫
瀏覽器中的機器學習意味著
- JavaScript 中的機器學習
- 面向 Web 的機器學習
- 面向所有人的機器學習
- 更多平臺的機器學習
優點
- 易於使用。無需安裝。
- 強大的圖形。瀏覽器支援 WebGL。
- 更好的隱私。資料可以保留在客戶端。
- 更多平臺。JavaScript 執行在移動裝置上。
Brain.js
Brain.js 是一個 JavaScript 庫,它透過隱藏數學的複雜性,使神經網路易於理解。
Brain.js 使用簡單。你無需詳細瞭解神經網路即可使用 Brain.js。
Brain.js 提供了多種神經網路實現,因為不同的神經網路可以被訓練來很好地完成不同的任務。
ml5.js
ml5.js 試圖讓更廣泛的受眾更容易接觸到機器學習。
ml5 團隊致力於以更友好的方式封裝機器學習功能。
下面的示例僅使用三行程式碼即可對影像進行分類
<img id="myImage" src="pic1.jpg" width="100%">
<script>
const classifier = ml5.imageClassifier('MobileNet');
classifier.classify(document.getElementById("myImage"), gotResult);
function gotResult(error, results)
{ ... }
</script>
自己動手試一試 »
嘗試將 pic1.jpg 替換為 pic2.jpg、pic3.jpg 和 pic4.jpg。
TensorFlow
TensorFlow Playground 是一個用d3.js編寫的 Web 應用程式。
藉助 TensorFlow Playground,你可以瞭解神經網路(NN)而無需學習數學。
在你自己的 Web 瀏覽器中,你可以建立一個神經網路並檢視結果。
TensorFlow.js 以前稱為 Tf.js 和 Deeplearn.js。
瀏覽器中的數學
Math.js 是一個廣泛的 JavaScript 和 Node.js 數學庫。
Math.js 功能強大且易於使用。它帶有一套大型內建函式、靈活的表示式解析器以及用於處理數字、大數、複數、分數、單位、陣列和矩陣等多種資料型別的解決方案。
瀏覽器中的繪圖
以下是一些可用於機器學習圖和其他 HTML 圖表的 JavaScript 庫列表
繪製方程
繪製數值
WebGL API
WebGL 是一個 JavaScript API,用於在任何瀏覽器中渲染 2D 和 3D 圖形。
WebGL 可以在任何 PC 的整合和獨立顯示卡上執行。
WebGL 將 3D 圖形帶入了 Web 瀏覽器。主要的瀏覽器供應商 Apple (Safari)、Google (Chrome)、Microsoft (Edge) 和 Mozilla (Firefox) 都是 WebGL 工作組成員。