用於Web開發的5種機器學習框架

本文講述了機器學習對Web應用和移動應用在內的軟件開發過程產生的重大影響。

用於Web開發的5種機器學習框架

目前,機器學習是軟件開發中最熱門的領域之一。甚至許多專家分析,認為機器學習將會徹底改變包括Web應用和移動應用在內的軟件開發過程。

以下所列的幾個方面可以清楚地說明機器學習對Web開發的重大影響:

· 可以很好的替代傳統數據挖掘

· 可以避免安全威脅

· 豐富的機器學習API庫

· 加速產品發展

· 生產定製的內容和信息

· 瞭解用戶行為

機器學習通過一些算法可以在沒有顯式編程的情況下,讓計算機進行自行學習。並且可以找到最優的數據分析方法,自動建立分析模型。這就是為什麼機器學習框架在Web開發中起著重要作用的原因。

在本文中,我們將討論一些主要用於Web開發的機器學習框架。下面會一一進行說明。


5大機器學習框架:

1) Microsoft Cognitive Toolkit

用於Web開發的5種機器學習框架

開發語言:Python和C++

這是一個開源的深度學習工具包,是微軟公司專門用來訓練算法的,以便讓機器像人腦一樣學習。通過這個工具,你可以使用各種機器學習模型,如卷積神經網絡、前饋DNN和遞歸神經網絡。

毫無疑問,這個工具主要使用神經網絡來檢查大型非結構化數據集,給開發者提供現成的神經網絡代碼。它有更短的訓練時間和易於使用的體系結構,並且是高度可定製化的,允許選擇參數、網絡和算法。並且,它支持多機多GPU的後端集群模式。

2)TensorFlow

用於Web開發的5種機器學習框架

開發語言:Python、Java和Go

TensorFlow是在Java開發中最流行的機器學習框架之一。它是一個開源的庫,使用了數據流圖進行數值計算,將複雜的數據結構傳輸至神經網絡中進行分析和處理。毫無疑問,TensorFlow是在GitHub上分支最多的機器學習項目,並且也是投資人參與最多的項目。

TensorFlow具有靈活的體系結構,讓用戶能夠很容易地利用單一的API庫在一個或多個GPU或CPU上實現分佈式計算,而不管是在臺式計算機、服務器還是移動電話上。

上圖中的節點代表了數值運算,而圖的邊緣則表示它們之間通信的多維數據集(張量)。TensorFlow為張量從數據流圖的一端流動到另一端的過程進行計算。

3)Apache Mahout

用於Web開發的5種機器學習框架

開發語言:Java和 Scala

這是Apache提供的另一個最流行的源碼開放資源庫,主要是為統計學專家、數據專家和數學專家而設計的,為了讓他們能夠更快速、更高效地執行算法操作。另外,它是一種分佈式線性代數框架,用於創建具有可擴展性能的機器學習應用。Mahout主要被用於協作分組、過濾和分類幾個方面。

此外,它還使你能夠在實際運行在大數據平臺上的交互式環境中開發自己的數學計算模型,然後可以將相同的程序代碼移植到其它應用程序中進行復用。

Mahout Samsara還提供了分佈式線性代數以及正在運行的統計引擎,並與交互式Shell和庫一起進行分發,以連接到在生產中的應用。利用Apache Hadoop 庫,它可以應用map/reduce模式到Apache Hadoop平臺,但這並不會對Hadoop上其它那些實現產生影響。

4)Caffe

用於Web開發的5種機器學習框架

開發語言:C++和Python

Caffe是一個基於Java語言的關於深度學習的框架,特別是針對運行速度、表示能力和模塊化幾個方面。它是由伯克利大學人工智能研究小組開發的,極具表現力的體系結構更加支持個性化的應用和創新。

另外,Caffe提供的配置選項允許用戶通過配置單個指示器在GPU和CPU之間進行無縫切換。它提供的可擴展代碼促進了早期的發展,使其成為另一個非常成功的GitHub機器學習項目。

Caffe的速度對研究機構和工業級應用方面做出了很大的貢獻。它是利用了卷積神經網絡來實現圖像分類/計算機視覺的。它還提供了Model Zoo,這是一組預訓練的模型,並且不需要任何編碼來實現。

應該指出的是,Caffe最適用於應用系統的構造,並且主要應用於計算機視覺領域。

5)Apache Singa

用於Web開發的5種機器學習框架

開發語言:C++、Python和Java.

Apache Siga是一個可擴展的、靈活的、用來簡化在大數據上訓練深度學習模型的開源框架。它是由新加坡國立大學的團隊開發的,主要應用於大數據分析領域。該框架為海量數據可擴展的分佈式訓練提供了一種靈活的體系結構。

Apache Siga在各種各樣的硬件上運行都具有可擴展性。它主要應用在自然語言處理(NLP)和圖像識別領域。

目前,Apache孵化器項目提供了一種可以在一組節點中工作的簡單開發模型。深度分佈式學習在訓練過程中使用了模型共享和並行化方式,模型既可以串行訓練,也可以選擇並行訓練。Singa也使用Apache Zookeeper簡化了集群的搭建。

不管怎樣,Apache Siga也支持傳統的機器學習模型,如邏輯迴歸等等。


我們已經介紹了一些用於Java開發的最好的機器學習框架。事實上,應用了機器學習的Web開發將會使IT世界進行一場革命。然而,目前各種流行的機器學習框架和庫不是用Python語言編寫的,就是由Python支持的,主要包括Keras、Theano、TensorFlow和一些較小的項目,比如Microsoft Azure Studio、sci-kit learn、Veles、Chainer和Neon等等。

文章原標題《Top 5 Machine Learning Frameworks For Web Development》

成都加米穀大數據培訓機構,小班教學面授,大數據開發、數據分析與挖掘零基礎班報名進行中...


分享到:


相關文章: