Fregata輕量級大規(guī)模機器學(xué)習(xí)算法庫
Fregata 是一個基于 Apache Spark 的輕量級、超快速、大規(guī)模的機器學(xué)習(xí)庫,并在 Scala 中提供了高級 API。
特性
更準(zhǔn)確:對于各種問題,F(xiàn)regata 可以實現(xiàn)比 MLLib 更高的精度。
更快速:對于廣義線性模型,F(xiàn)regata 在絕大部分?jǐn)?shù)據(jù)上都能夠掃描一遍數(shù)據(jù)即收斂。對于 10 億 X 10 億的數(shù)據(jù)集,F(xiàn)regata 可以在 1 分鐘內(nèi)用內(nèi)存緩存訓(xùn)練廣義線性模型,或在沒有內(nèi)存緩存的情況下訓(xùn)練 10 分鐘。通常,F(xiàn)regata 比 MLLib 快 10-100 倍。
算法無需調(diào)參(調(diào)參相對簡單):Fregata 使用 GSA SGD 優(yōu)化。GSA 算法是梯度型隨機優(yōu)化算法,也是 Fregata采用的核心優(yōu)化方法。它是基于隨機梯度下降法(SGD)的一種改進:保持了 SGD 易于實現(xiàn),內(nèi)存開銷小,便于處理大規(guī)模訓(xùn)練樣本的優(yōu)勢,同時免去了 SGD 不得不人為調(diào)整學(xué)習(xí)率參數(shù)的麻煩。
更輕量:Fregata 只使用 Spark 的標(biāo)準(zhǔn) API,能快速,無縫地集成到 Spark 大多數(shù)業(yè)務(wù)的數(shù)據(jù)處理流程上。
架構(gòu)
這份文檔是關(guān)于 Fregata 0.1 版本的
core : 主要實現(xiàn)基于 GSA 的獨立算法,包括分類、回歸和聚類分析
Classification:支持二進制和多重分類
Regression:即將發(fā)布
Clustering:即將發(fā)布
spark : 主要通過包裹 core.jar 實現(xiàn)基于 spark 的大規(guī)模機器學(xué)習(xí)算法,并提供相應(yīng)的算法
Fregata 支持 spark 1.x 以及帶 scala 2.10 和 scala 2.11 的 2.x
算法
