JavaScript 中的 10 個機器學習示例
隨著時間的推移,機器學習庫變得更快也更易於使用,其發展速度絲毫沒有放緩的跡象。雖然一直以來 Python 都是機器學習的重要語言,但目前的神經網路可以在任何語言中運行,包括 JavaScript!
最近一段時間,Web 生態系統發展迅速,雖然 JavaScript 和 Node.js 在性能上仍然不及 Python 和 Java,但它們也已經強大到足以處理許多機器學習的問題。Web 開發語言非常易用,它們在這一點上受益匪淺——你只需要在 Web 瀏覽器運行一個 JavaScript ML 項目即可。
大多數 JavaScript 機器學習庫都還很年輕,仍然處理髮展中,但是它們已經存在於此,你可以大膽的試著用用。通過本文,我們會了解到這些庫及其大量的很酷的示例。
1.Brain
Brain 是一個可以讓你輕鬆創建神經網路的庫,然後你可以通過輸入/輸出數據對神經網路進行訓練。雖然它可以通過 CDN 瀏覽器版本直接在 Web頁面中載入,但由於訓練會佔用大量資源,所以最好是在 Node.js 環境下進行。它們的網站上有一個小小的演示,它被訓練來識別色彩的對比度。
2. Deep playground
這是一個用於教育目的的 Web 應用程序,你可以在上面把玩神經網路並且探索其各種組件。 它有一個很好的 UI 界面,允許您控制輸入數據、神經元數量、使用哪種演算法以及想要在最終結果中反映的各種其他指標。你還可以從場景背後的應用那裡學習到許多東西 —— 代碼是開放源代碼的,使用了一個用 TypeScript 編寫的定製的機器學習庫,並且擁有友好的文檔。
3. FlappyLearning
FlappyLearning 是一個 JavaScript 項目,大約有 800 行未簡化的代碼在管理著一個機器學習庫的創建,並且在一個有趣的演示中對它進行了場景化的實現,內容就是像一個演奏家那樣玩 Flappy Bird。 在這個庫中所使用的 AI 技術被稱為神經演化(Neuroevolution),並且應用了從自然界的神經系統中吸收到靈感而發現的神經系統的演算法,從每次迭代的成功或失敗中進行動態學習。 演示非常容易運行起來 —— 只需要在瀏覽器中打開 index.html 即可。
4. Synaptic
Synaptic 是一個與架構無關的 Node.js 和瀏覽器庫,它有可能是這個列表中最活躍的項目,允許開發人員構建出他們想要的任何類型的神經網路。 它內置了幾種架構,可以用來對不同的機器學習演算法進行快速的測試和比較。它還擁有一個很好的對神經網路的書面介紹、一些實例演示,以及其他一些用來揭示機器學習如何工作的很棒的教程。
5. Land Lines
Land Lines 是一個有趣的 Chrome Web 實驗,可以用來發現地球的衛星圖像,類似於用戶製作的塗鴉。 該應用程序不會有對伺服器端的調用:它完全在瀏覽器中工作,並且得益於其對機器學習以及 WebGL 的巧妙運用,在移動設備上也能有出色的性能。 您可以在 GitHub 上查看它的源代碼,或者在此處查閱完整的學習案例。
6. ConvNetJS
ConvNetJS 雖然不再積極地進行維護了,但它仍然是最先進的基於 JavaScript 的深入學習庫之一。 ConvNetJS 最初是在斯坦福大學開發出來的,隨後在 GitHub 上變得非常受歡迎,進而產生了許多社區驅動的功能和教程。 它可以直接在瀏覽器中跑起來,支持多種學習技術,而且相當底層,所以適合於對神經網路具有較多經驗的人來使用。
7. Thing Translator
Thing Translator 是一項 Web 實驗,可以讓你的手機識別出現實生活中的物體對象,並用不同的語言對它們進行命名。該應用程序完全基於 Web 技術,並利用了 Google 的兩個機器學習 API —— Cloud Vision 來進行圖像識別而 Translate API 則進行自然語言的翻譯。
8. Neurojs
這是一個基於增強學習來建立人工智慧系統的框架。可悲的是,它做為開源項目並沒有適當的文檔,不過有一個 Demo,是一個自動駕駛實驗,對構成神經網路的不同部分進行了很好的描述。這個庫是純 JavaScript 的,使用了像 webpack 和 babel 這樣的現代工具。
9. Machine_learning
這是另外一個能讓我們 JavaScript 來設置和訓練神經網路的庫。 在 Node.js 和客戶端中,它都非常容易進行安裝,並且具有非常乾淨的 API,對於所有具備熟練技能級別的開發人員來說都是很合適的。 該庫提供了許多實現了流行演算法的示例,以幫助你了解核心的機器學習原理。
10. DeepForge
DeepForge 是一個對用戶友好的開發環境,用來進行深度學習。 它能讓你使用簡單的圖形界面來設計出神經網路,支持在遠程機器上進行模型培訓,並且內置了版本控制。 該項目在瀏覽器中能運行起來,基於 Node.js 和 MongoDB,大多數的 Web 開發人員對於其安裝過程都是非常熟悉的。
結語
雖然 JavaScript 機器學習的生態系統尚未完全開發,但你可以使用此列表中的資源來開啟學習 ML 之路,並獲得對核心技術的體驗。正如文章中的示例所示,你僅使用瀏覽器和一些熟悉的 JavaScript 代碼就能獲得大量有趣的東西。
來源:oschina
原文:https://www.oschina.net/translate/10-machine-learning-examples-in-javascript
點擊展開全文
※28款GitHub最流行的開源機器學習項目
※1小時入門機器學習
※這個可以框架解決幾乎所有機器學習問題
※10個基於JavaScript的機器學習案例
※細胞瀏覽器:機器學習預測出的3D幹細胞圖像庫
TAG:機器學習 |
※apache的commons-email 類庫開發示例
※SQL_Server2000示例資料庫NorthWind的分析(轉)
※零示例學習中的映射域遷移 (projection domain shift) 問題
※springboot+atomikos 分散式事務處理示例
※Docker-Window環境下安裝,使用入門hello-world示例
※RobotFramework的官方示例閱讀
※面向 JS 開發者的機器學習框架 TensorFlow.js 以及相關示例
※Nginx反代Mogilefs分散式儲存示例
※Github2.2K星PyTorch資源列表:450個NLP/CV/SP、論文實現、教程、示例
※用Python 實現的機器人演算法示例集合——PythonRobotics
※如何用一個Python示例入門TensorFlow?
※oruxmaps路點導航示例
※集群管理工具KafkaAdminClient——原理與示例
※用Youtube-dl下載視頻:新手示例-中
※CVPR Spotlight論文:當零示例學習遇上網路數據
※Linux 下 cut 命令的 4 個基礎實用的示例
※使用以 Tensorflow 為後端的 Keras 構建生成對抗網路的代碼示例
※用Youtube-dl下載視頻:新手示例-上
※PyTorch資源列表:450個NLP/CV/SP、論文實現、教程、示例
※jQuery實現動態給table賦值的方法示例