作者:Lucn 時間:2018-12-19
目前,機器學習是軟件開發中最熱門的領域之一。甚至許多專家分析,認為機器學習將會徹底改變包括Web應用和移動應用在內的軟件開發過程。
以下所列的幾個方面可以清楚地說明機器學習對Web開發的重大影響:
可以很好的替代傳統數據挖掘
可以避免安全威脅
豐富的機器學習API庫
加速產品發展
生產定制的內容和信息
了解用戶行為
機器學習通過一些算法可以在沒有顯式編程的情況下,讓計算機進行自行學習。并且可以找到最優的數據分析方法,自動建立分析模型。這就是為什么機器學習框架在Web開發中起著重要作用的原因。
在本文中,我們將討論一些主要用于Web開發的機器學習框架。下面會一一進行說明。
5大機器學習框架:1) Microsoft Cognitive Toolkit
開發語言:Python和C++
這是一個開源的深度學習工具包,是微軟公司專門用來訓練算法的,以便讓機器像人腦一樣學習。通過這個工具,你可以使用各種機器學習模型,如卷積神經網絡、前饋DNN和遞歸神經網絡。
毫無疑問,這個工具主要使用神經網絡來檢查大型非結構化數據集,給開發者提供現成的神經網絡代碼。它有更短的訓練時間和易于使用的體系結構,并且是高度可定制化的,允許選擇參數、網絡和算法。并且,它支持多機多GPU的后端集群模式。
2)TensorFlow
開發語言:Python、Java和Go
TensorFlow是在Java開發中最流行的機器學習框架之一。它是一個開源的庫,使用了數據流圖進行數值計算,將復雜的數據結構傳輸至神經網絡中進行分析和處理。毫無疑問,TensorFlow是在GitHub上分支最多的機器學習項目,并且也是投資人參與最多的項目。
TensorFlow具有靈活的體系結構,讓用戶能夠很容易地利用單一的API庫在一個或多個GPU或CPU上實現分布式計算,而不管是在臺式計算機、服務器還是移動電話上。
上圖中的節點代表了數值運算,而圖的邊緣則表示它們之間通信的多維數據集(張量)。TensorFlow為張量從數據流圖的一端流動到另一端的過程進行計算。
3)Apache Mahout
開發語言:Java和 Scala
這是Apache提供的另一個最流行的源碼開放資源庫,主要是為統計學專家、數據專家和數學專家而設計的,為了讓他們能夠更快速、更高效地執行算法操作。另外,它是一種分布式線性代數框架,用于創建具有可擴展性能的機器學習應用。Mahout主要被用于協作分組、過濾和分類幾個方面。
此外,它還使你能夠在實際運行在大數據平臺上的交互式環境中開發自己的數學計算模型,然后可以將相同的程序代碼移植到其它應用程序中進行復用。
Mahout Samsara還提供了分布式線性代數以及正在運行的統計引擎,并與交互式Shell和庫一起進行分發,以連接到在生產中的應用。利用Apache Hadoop 庫,它可以應用map/reduce模式到Apache Hadoop平臺,但這并不會對Hadoop上其它那些實現產生影響。
4)Caffe
開發語言:C++和Python
Caffe是一個基于Java語言的關于深度學習的框架,特別是針對運行速度、表示能力和模塊化幾個方面。它是由伯克利大學人工智能研究小組開發的,極具表現力的體系結構更加支持個性化的應用和創新。
另外,Caffe提供的配置選項允許用戶通過配置單個指示器在GPU和CPU之間進行無縫切換。它提供的可擴展代碼促進了早期的發展,使其成為另一個非常成功的GitHub機器學習項目。
Caffe的速度對研究機構和工業級應用方面做出了很大的貢獻。它是利用了卷積神經網絡來實現圖像分類/計算機視覺的。它還提供了Model Zoo,這是一組預訓練的模型,并且不需要任何編碼來實現。
應該指出的是,Caffe最適用于應用系統的構造,并且主要應用于計算機視覺領域。
5)Apache Singa
開發語言: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等等。
Copyright 2011 - 2018 huaiyangxian.com 版權所有 麥地網絡 豫ICP備15054802號-4 百度統計