10個基于JavaScript的機器學習案例
在過去的幾年里,機器學習的開發庫增長很快,可用性也變得越來越可靠,而且沒有減慢的趨勢。一直以來Python作為機器學習的主力語言,現在神經網絡可以應用任何語言了,包括JavaScript!
web生態系統雖然最近一直在取得進步,但是在機器學習領域JavaScropt和Node.js相對Python和Java來說還是稍弱,但是現在它們已經有足夠的能力來處理機器學習方法的問題了。Web語言也有一個優勢,就是你所有的JavaScript機器學習工程只需要瀏覽器支持。
現在大部分JavaScript機器學習的庫都比較新而且有的還一直在開發中,但是已經實現并且可以嘗試使用了。這篇文章我們將一起來了解這些庫,一些比較酷的AI的web應用你也可以上手試試。
1. Brain
Brain是一個容易創建神經網絡的庫,你可以基于它的輸入/輸出數據來訓練。因為訓練需要大量的數據資源,雖然有CDN的鏈接可以通過網絡直接加載到網頁上。但還是推薦使用Node.js的環境來運行這個庫。這里是一個 例子 ,在它們的網站上,被訓練來識別顏色的對比。
2. Deep playground
帶有教育性質的web應用讓你參與神經網絡的世界,并探索它們不同的組件。它有一個不錯的UI, 讓你來控制數據的輸入,神經元的數量,用什么樣的算法,還有其它大量的可調參數來影響最終的結果。還有大量的可以從應用中的場景中學習的東西 — 代碼是開源的,而且用了一個可定義的 機器學習庫 , 這個庫是基于TypeScript并且有豐富的文檔可查閱。
3. FlappyLearning
FlappyLearning是一個JavaScript項目,大概僅僅800行未合并壓縮的代碼,創建了一個機器學習的庫來實現了一個很好玩的例子來玩 Flappy Bird 。這個庫里用的人工智能技術叫 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技術并且整合了Google的兩個機器學習的API - Cloud Vision 來做圖片識別, Translate API 來做 神經語言翻譯。
8. Neurojs
構建AI系統基于強化學習的框架??上У氖?,這個開源項目并沒有合適的文檔。但是其中的例子,一個汽車自動駕駛的實驗,有對構造神經網絡的不同部分的詳細描述。這個庫是純JavaScript語言并且應用了webpack和babel。
9. Machine Learning
另外的一個可以只用JavaScript來構建并訓練神經網絡的庫。非常容易的安裝,需要Nodejs和客戶端,對于開發人員非常容易上手的API調用。這個庫提供了大量的 示例 來實現了當下流行的算法,幫助來理解核心的機器學習的原則。
10. DeepForge
DeepForge是一個用戶友好的開發環境來使用深度學習。允許自己用一些圖形接口來設計神經網絡,支持遠程機器的訓練模型,并有版本控制。項目運行在瀏覽器,并基于Node.js和MongoDB,安裝過程對于web開發人員非常熟悉。
非常優秀的博客文章,由Burank Kanber撰寫,主要是關于機器學習的基礎原理。非常適合JavaScript開發人員的閱讀和學習。如果你想深入了解機器學習,這是一個非常棒的資源,推薦給大家。
總結 雖然基于JavaScript的機器學習生態并沒有充分的開發出來,我們推薦這些是你開始了解機器學習和核心技術的的非常好的資源。文中列出的試驗性的項目,你可以僅使用瀏覽器或者一些JavaScript代碼,就能探索出非常多好玩的東西。
來自:http://www.iteye.com/news/32380
相關文章: