Spark的39個機器學習庫-中文

//Apache Spark 自己//git


1.MLlibgithub

>AMPLab算法

Spark最初誕生於伯克利 AMPLab實驗室,現在依然仍是AMPLab所致力的項目,儘管這些不處於Apache Spark Foundation中,可是依然在你平常的github項目中享有至關的地位。 服務器

>ML Base網絡

Spark自己的MLLib位於三層ML Base中的最底層,MLI位於中間層,ML Optimizer則處於最爲抽象的頂層。框架


2.MLI
機器學習


3.ML Optimizer (又稱 Ghostface)
分佈式

Ghostware這個項目在2014年就開始進行了,不過從未對外公佈。在這39個機器學習庫中,這是惟一一個霧件,之因此能囊括在這列表中,全憑着AMPLab與ML Base的地位支撐。
函數


//ML Base以外//性能


4.Splash

這是近期2015年6月的一個項目,在運行隨機梯度降低(SGD)時這套隨機學習算法聲稱在性能上比Spark MLib中快了25%-75%。這是AMPLab實驗室的sp標記項目,所以值得咱們去閱讀。

5.Keystone ML

KML將端到端的機器學習管道引進到了Spark中,但在近期Spark版本中管道已經趨於成熟。一樣也承諾具備一些計算機視覺能力,我曾經在博客中也提到過這也存在一些侷限。


6.Velox

做爲一個服務器專門負責管理大量機器學習模型的收集。


7.CoCoA

經過優化通訊模式與shuffles來實現更快的機器學習,詳情可見這篇論文的描述《高效通訊分佈式雙座標上升》。


//框架:GPU-based//


8.DeepLearning4j

我曾經的一則博客有進行說明 《DeepLearning4J 增長了Spark gpu的支持》。


9.Elephas

全新的概念,這也是我寫這篇博客的初衷。它提供了一個接口給Keras。


//框架:Non-GPU-based//


10.DistML

模式並行下而並不是數據並行的參數服務器(正如 Spark MLib)。


11.Aerosolve

來自Airbnb,用於他們自動化訂價。


12. Zen

邏輯斯諦迴歸、隱含狄利克雷分佈(LDA)、因子分解機、神經網絡、受限玻爾茲曼機。


13.Distributed Data Frame

與Spark DataFrame相似,可是引擎是不可知的(例如在將來它將運行在引擎上而不是Spark)。其中包括了交叉驗證和外部機器學習庫的接口。



//其餘機器學習系統的接口//


14. spark-corenlp

封裝了斯坦福CoreNLP。


15. Sparkit-learn

給Python Scikit-learn的接口。


16. Sparkling Water

給H2O的接口。


17. hivemall-spark

封裝了Hivemall,,在Hive中的機器學習。


18. spark-pmml-exporter-validator

可導出預測模型標記語言(PMML),一種用於傳遞機器學習模型的行業標準的XML格式。


//附加組件:加強MLlib中現有的算法//


19. MLlib-dropout

爲Spark MLLib 增長dropout能力。基於如下這篇論文進行的實現,《Dropout:一個簡單的方法來防止神經網絡中的過擬合》。


20.generalized-kmeans-clustering

爲K-Means算法增長任意距離函數。


21. spark-ml-streaming

可視化的流式機器學習算法內置於Spark MLlib。


//算法:監督學習//


22. spark-libFM

因子分解機。


23. ScalaNetwork

遞歸神經網絡(RNNs)。


24. dissolve-struct

基於上文中提到的高性能Spark通訊框架CoCoA下的支持向量機(SVM)。


25. Sparkling Ferns

基於如下這篇論文進行的實現,《經過使用隨機森林與隨機蕨算法的圖像分類技術》。


26. streaming-matrix-factorization

矩陣分解推薦系統。



//算法:無監督學習//


27. PatchWork

聚類的速度比Spark MLlib 中的K-Means算法提高了40%。


28. Bisecting K-Meams Clustering 

可產生更多相同大小簇的K-Means算法,是基於《文檔分類技術對比》一文的實現。


29. spark-knn-graphs

經過使用K近鄰算法與位置敏感哈希函數(LSH)來創建圖。


30. TopicModeling

在線隱含狄利克雷分佈, 吉布斯採樣隱含狄利克雷分佈,在線層次狄利克雷過程(HDP)算法構建塊。


31. sparkboost

自適應提高算法與MP-Boost算法。


32. spark-tfocs

整合到Spark中的TFOCS(一階圓錐曲線求解器模板),若是你機器學習中的代價函數剛好是凸函數,那麼即可以運行TFOCS來解決問題。33. lazy-linalg運用Spark MLlib中的linalg包來完成線性代數操做。


//特徵提取//


34.spark-infotheoretic-feature-selection

特徵選擇的信息理論基礎。基於《條件最大似然方法:一種統一的框架用於信息理論下的特徵選擇》該文的實現。


35. spark-MDLP-discretization

對於數據標籤,對其中的一部分連續的數字維度進行「離散化」,經過這樣即可以讓每箱的數據類相對分佈均勻。這是CART與ID3算法生成決策樹的基本想法。基於《對分類學習中連續值屬性的多區間離散化》該文的實現。


36. spark-tsne

分佈式t-SNE算法用於數據降維。


37. modelmatrixSparse feature vectors

稀疏特徵向量。


//特定領域//


38. Spatial and time-series data

K均值算法、迴歸算法與統計方法。


39. Twitter data

2015-09-30更新內容: 正是因爲看到reddit.com上的一篇關於Spark深度學習框架Elephas 的文章進而讓我動起了編輯這分類列表的念頭,其實從中大多數項目都是來自於 AMPLab與 spark-packages.org,還有一對是來自於內存中。以後我會不斷關注AMPLab與spark-packages.org的進展以便更新(儘管這博客只是一篇靜態列表)。若是想了解如何去保持一個快速發展的Spark生態系統,那麼能夠來看我在2015年二月所錄製的十分鐘演講。

相關文章
相關標籤/搜索