當前位置:
首頁 > 知識 > 機器學習必知的15大框架

機器學習必知的15大框架


摘要: 不管你是一個研究人員,還是開發者,亦或是管理者,想要使用機器學習,需要使用正確的工具來實現。本文介紹了當前最流行15個機器學習框架。

機器學習必知的15大框架

機器學習工程師是開發產品和構建演算法團隊中的一部分,並確保其可靠、快速和成規模地工作。他們和數據科學家密切合作來了解理論知識和行業應用。數據專家和機器學習工程師的主要區別是:

·機器學習工程師構建、開發和維護機器學習系統的產品。

·數據專家進行調查研究形成有關於機器學習項目的想法,然後分析來理解機器學習系統的度量影響。

下面是機器學習的框架介紹:

1.Apache Singa 是一個用於在大型數據集上訓練深度學習的通用分散式深度學習平台,它是基於分層抽象的簡單開發模型設計的。它還支持各種當前流行的深度學習模型,有前饋模型(卷積神經網路,CNN),能量模型(受限玻爾茲曼機,RBM和循環神經網路,RNN),還為用戶提供了許多內嵌層。

2.Amazon Machine Learning(AML)是一種讓各種級別使用機器學習技術的開發人員可輕鬆掌握的一個服務,提供了視覺工具和嚮導,可以指導您在不必學習複雜的機器學習演算法和技術的情況下建立機器學習。

3.Azure ML Studio允許微軟Azure的用戶創建和訓練模型,隨後將這些模型轉化為能被其他服務使用的API。儘管您可以將自己的Azure存儲鏈接到更大模型的服務,但是每個賬戶模型數據的存儲容量最多不超過10GB。在Azure中有大量的演算法可供使用,這要感謝微軟和一些第三方。甚至你都不需要註冊賬號,就可以匿名登錄,使用Azure ML Studio服務長達8小時。

4.Caffe是由伯克利視覺學習中心(BLVC)和社區貢獻者們基於BSD-2-協議開發的一個深度學習框架,它秉承「表示、效率和模塊化」的開發理念。模型和組合優化通過配置而不是硬編碼實現,並且用戶可根據需要在CPU處理和GPU處理之間進行切換,Caffe的高效性使其在實驗研究和產業部署中的表現很完美,使用單個NVIDIA K40 GPU處理器每天即可處理超過六千萬張圖像 。

5.H2O使人輕鬆地應用數學和預測分析來解決當今極具挑戰性的商業問題,它巧妙的結合了目前在其他機器學習平台還未被使用的獨有特點:最佳開源技術,易於使用的WebUI和熟悉的界面,支持常見的資料庫和不同文件類型。用H2O,你可以使用現有的語言和工具。此外,也還可以無縫擴展到Hadoop環境中。

6.Massive Online Analysis (MOA)是目前最受歡迎的數據流挖掘開源框架,擁有一個非常活躍的社區。它包含一系列的機器學習演算法(分類,回歸,聚類,離群檢測,概念漂移檢測和推薦系統)和評價工具。和WEKA項目一樣,MOA 也是用Java編寫,但擴展性更好。

7.MLlib (Spark)是Apache Spark的機器學習庫,目的是讓機器學習實現可伸縮性和易操作性,它由常見的學習演算法和實用程序組成,包括分類、回歸、聚類,協同過濾、降維,同時包括底層優化原生語言和高層管道API。

8.Mlpack是一個基於C++的基礎學習庫 ,最早於2011年推出,據庫的開發者聲稱,它秉承「可擴展性、高效性和易用性」的理念來設計的。執行Mlpack有兩種方法:通過快速處理簡易的「黑盒」操作命令行執行的緩存,或者藉助C++ API處理較為複雜的工作。Mlpack可提供簡單的能被整合到大型的機器學習解決方案中的命令行程序和C++的類。

9.Pattern是Python編程語言的web挖掘組件,有數據挖掘工具( Google、Twitter 、Wikipedia API,網路爬蟲,HTML DOM解析器),自然語言處理(詞性標註,n-gram搜索,情感分析,WordNet介面),機器學習(向量空間模型,聚類,支持向量機),網路分析和<canvas>可視化。

10.Scikit-Learn為了數學和科學工作,基於現有的幾個Python包(Numpy,SciPy和matplotlib)拓展了Python的使用範圍。最終生成的庫既可用於互動式工作台應用程序,也可嵌入到其他軟體中進行復用。該工具包基於BSD協議,是完全免費開源的,可重複利用。Scikit-Learn中含有多種用於機器學習任務的工具,如聚類,分類,回歸等。Scikit-Learn是由擁有眾多開發者和機器學習專家的大型社區開發的,因此,Scikit-Learn中最前沿的技術往往會在很短時間內被開發出來。

11.Shogu是最早的機器學習庫之一,它創建於1999年,用C++開發,但並不局限於C++環境。藉助SWIG庫,Shogun適用於各種語言環境,如Java,Python,c#,Ruby,R,Lua,Octave和Mablab。Shogun旨在面向廣泛的特定類型和學習配置環境進行統一的大規模學習,如分類,回歸或探索性數據分析。

12.TensorFlow是一個使用數據流圖進行數值運算的開源軟體庫,它實現了數據流圖,其中,張量(「tensors」)可由一系列圖形描述的演算法來處理,數據在該系統中的變化被稱為「流」,由此而得名。數據流可用C++或Python編碼後在CPU或GPU的設備上運行。

13.Theano是一個基於BSD協議發布的可定義、可優化和可數值計算的Phython庫。使用Theano也可以達到與用C實現大數據處理的速度相媲美,是支持高效機器學習的演算法。

14.Torch是一種廣泛支持把GPU放在首位的機器學習演算法的科學計算框架。由於使用了簡單快速的腳本語言LuaJIT和底層的C/CUDA來實現,使得該框架易於使用且高效。Torch目標是讓你通過極其簡單的過程、最大的靈活性和速度建立自己的科學演算法。Torch是基於Lua開發的,擁有一個龐大的生態社區驅動庫包設計機器學習、計算機視覺、信號處理,並行處理,圖像,視頻,音頻和網路等。

15.Veles是一套用C++開發的面向深層學習應用程序的分散式平台,不過它利用Python在節點間自動操作與協作任務。在相關數據集中到該集群之前,可對數據進行分析與自動標準化調整,且REST API允許將各已訓練模型立即添加至生產環境當中,它側重於性能和靈活性。Veles幾乎沒有硬編碼,可對所有廣泛認可的網路拓撲結構進行訓練,如全卷積神經網路,卷積神經網路,循環神經網路等。

在評論中告訴我們更多關於你喜歡的機器學習框架。

作者介紹:Devendra Desale(@DevendraDesale)是一位目前從事文本挖掘和大數據技術的數據科學研究生,也對企業架構和數據驅動感興趣。業餘時間,喜歡參加聚會和未知的冒險。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雲棲社區 的精彩文章:

Redis大數據應用場景
用Excel理解神經網路
阿里雲Redis讀寫分離典型場景:如何輕鬆搭建電商秒殺系統
PostgreSQL 用 CTE語法 + 繼承 實現平滑拆分大表
網站加速新時代 阿里雲CDN推出全站加速服務

TAG:雲棲社區 |