近日,MIT 釋出了動態程式語言 Julia 1.0 正式版本,下載地址:
由 MIT 主導開發的 Julia 是一種新型程式語言,它將 C 的速度、Ruby 的靈活性 Matlab 的數學表徵、Python 的通用程式設計結合在一起,集眾家之所長,近年來成為全球火熱程度上升最快的程式語言之一,受到包括 Google、Facebook 在內的世界知名網際網路公司開發者們的廣泛歡迎。
總體來看,Julia 具有快速、通用、動態、專業、多樣性和可組合等特點。由於其高效能、使用簡單、面向廣大開發者,因此在某些情況下非常適合開發各種東西,比如深度學習框架。故而它一經推出,就引起資料分析和科學計算領域的濃厚興趣。
本文就介紹 5 個面向 Julia 的機器學習專案,它們並非全都是機器學習庫,其中一個是實現機器學習演算法的支援功能的合集。
MLBase.jl
以這個專案著手開始比較合適,MLBase 自稱為“機器學習中的瑞士軍刀”。
它不是實現機器學習演算法,而是一系列支援工具的合集,比如用於預處理、基於分數的分類、效能評估指標、模型除錯等等這方面的工具。
MLBase 的文件非常不錯,而且每個工具都附有一定數量的程式碼示例。
專案地址:
ScikitLearn.ji
對於使用 Python 程式設計的開發者來說,Julia 可以說是個潛在的“救火隊長”。
ScikitLearn.jl 用 Julia 實現了常見的 Scikit-learn 介面和演算法。其支援來自 Julia 生態系統和 Scikit-learn 庫(通過 PyCall.jl)這兩部分的模型。
雖然 ScikitLearn.jl 並非 Scikit-learn 的官方作品,但它實現了非常可靠的介面,並將 Python 模型和 Julia 模型結合在一起,還是非常有吸引力的。
專案中附有很不錯的入門指南,以及很多 Jupyter notebook 示例。
專案地址:
MachineLearning.jl
該專案主要介紹 Julia 中的機器學習演算法。其包含了相當數量的機器學習演算法和支援工具,對於用Julia進行機器學習開發是個很棒的資源。
目前主要包括以下演算法:決策樹分離器,隨機森林分類器,基礎的神經網路和貝葉斯累加回歸樹。另外也支援將資料集分割為 訓練集 和 測試集,以及對模型進行交叉檢驗。
專案地址:
Mocha.jl
Macha.jl 是一個面向 Julia 的深度學習框架,其開發靈感源自 C++ 框架 Caffe。Mocha.jl 中高效實現了通用的隨機梯度解算器和常見網路層,能通過無監督預訓練方式用於訓練深度神經網路和卷積神經網路。
專案文件包含了一系列的教程合集以及完整的使用指南,是一個非常詳盡的面向 Julia 的深度學習專案。
專案地址:
TextAnalysis.jl
TextAnalysis.jl 是一個用於文字分析的 Julia 庫,提供文件預處理、語料庫建立、文件術語矩陣、逆文件頻率、潛在語義分析、潛在狄利克雷分佈等多種自然語言處理功能。如果你對使用 Julia 執行自然語言處理任務,這絕對是很合適的入門專案。
專案地址:
如果想入門瞭解一下 Julia,可以看看集智主站釋出的《Julia 快速入門》系列教程:
還想深入學習 Julia 的知識,集智推薦這個學習資源:
samuelcolvin.github.io/JuliaByExam…
最後再分享幾個 Julia 實現的機器學習演算法:
面向 Julia 的馬爾科夫鏈蒙特卡羅:
Julia 實現的簡單樸素貝葉斯:
Julia 實現的決策樹:
Julia 實現的廣義線性模型:
後面會繼續分享關於 Julia 的機器學習資源,以及如何從零開始用 Julia 進行資料科學工作,歡迎關注我們。
參考資料:
www.kdnuggets.com/2016/08/top…
集智在手 AI不愁
八月新課猛戳j.youzan.com/jiECwY