目前,機器學(xué)習(xí)是軟件開發(fā)中最熱門的趨勢之一。許多分析師甚至認(rèn)為,機器學(xué)習(xí)將徹底改變幾個程序的Web開發(fā)過程,包括Web和移動應(yīng)用程序。
以下幾點清楚地表明了機器學(xué)習(xí)對Web開發(fā)的強大影響:
傳統(tǒng)數(shù)據(jù)挖掘的良好替代品
消除安全威脅
機器學(xué)習(xí)API的庫存
加速產(chǎn)品發(fā)現(xiàn)
制作定制的內(nèi)容和信息
了解客戶行為
機器學(xué)習(xí)使用一些算法使計算機無需明確編程即可學(xué)習(xí)。它是最好的數(shù)據(jù)分析方法,可自動創(chuàng)建分析模型。這就是機器學(xué)習(xí)框架在Web開發(fā)中發(fā)揮重要作用的原因。
在本文中,我們將討論一些用于Web開發(fā)的主要機器學(xué)習(xí)框架。清單如下:
五大機器學(xué)習(xí)框架
1、Microsoft Cognitive Toolkit
用:Python和C ++編寫
這是Microsoft開源的深度學(xué)習(xí)工具包,用于訓(xùn)練算法以像人腦一樣學(xué)習(xí)。通過使用此工具,您可以使用各種機器學(xué)習(xí)模型,如卷積神經(jīng)網(wǎng)絡(luò)、前饋DNN和循環(huán)神經(jīng)網(wǎng)絡(luò)。
毫無疑問,該工具旨在使用神經(jīng)網(wǎng)絡(luò)來瀏覽大型非結(jié)構(gòu)化數(shù)據(jù)集。通過更快的訓(xùn)練時間和易于使用的架構(gòu),它可高度自定義,允許您選擇自己的參數(shù)、網(wǎng)絡(luò)和算法。特別感謝它對多機多GPU后端的支持,它可以輕松超越許多競爭對手。
2、TensorFlow
用:Python、Java和Go編寫
它是Java開發(fā)中最流行的機器學(xué)習(xí)框架之一。它是一個開源庫,使用數(shù)據(jù)流圖進(jìn)行數(shù)值計算。毫無疑問,TensorFlow是GitHub上分岔最多的機器學(xué)習(xí)項目,也是納稅人參與人數(shù)最多的項目。
TensorFlow的靈活架構(gòu)使用戶可以輕松地使用單個API在一個或多個GPU或CPU上實現(xiàn)計算,無論是臺式計算機、服務(wù)器還是移動電話。
圖中的節(jié)點表示數(shù)學(xué)運算,而圖的邊表示在它們之間傳遞的多維數(shù)據(jù)集(張量)。
3、Apache Mahout
用:Java和Scala編寫
它是Apache提供的另一個最受歡迎的開源產(chǎn)品,主要面向統(tǒng)計學(xué)家、數(shù)據(jù)科學(xué)家和數(shù)學(xué)家,因此他們可以快速執(zhí)行自己的算法。此外,它是一個分布式線性代數(shù)框架,用于創(chuàng)建具有可擴展性能的機器學(xué)習(xí)應(yīng)用程序。 Mahout主要關(guān)注協(xié)作分組、過濾和分類。
此外,它使您能夠在實際在大數(shù)據(jù)平臺上運行的交互式環(huán)境中開發(fā)自己的數(shù)學(xué)計算,然后將完全相同的代碼移動到您的應(yīng)用程序中并實現(xiàn)。
Mahout Samsara還提供分布式線性代數(shù)和統(tǒng)計引擎,它們正在運行,并與交互式shell和庫一起分發(fā),以鏈接到生產(chǎn)中的應(yīng)用程序。它通常使用map / reduce范例爬上Apache Hadoop平臺,但這并不限制對基于Hadoop的其他實現(xiàn)的貢獻(xiàn)。
4、Caffe
用:C ++和Python編寫
它是Java開發(fā)的深度學(xué)習(xí)框架,尤其適用于速度、表達(dá)式和模塊化。它由Berkley AI研究團(tuán)隊開發(fā)。富有表現(xiàn)力的架構(gòu)鼓勵個性化應(yīng)用和創(chuàng)新。
此外,配置選項允許用戶通過配置單個指示器在GPU和CPU之間切換。Caffe的可擴展代碼幫助推動了它的早期發(fā)展,使其成為另一個非常成功的GitHub機器學(xué)習(xí)項目。
Caffe的速度使其對研究機構(gòu)和工業(yè)實施具有價值。它是利用卷積神經(jīng)網(wǎng)絡(luò)為圖像分類/計算機視覺開發(fā)的。它還提供了Model Zoo,它是一組預(yù)先訓(xùn)練的模型,不需要任何編碼即可實現(xiàn)。
無論如何,應(yīng)該指出的是,Caffe最適合用于應(yīng)用程序的構(gòu)建,而不是專門用于除人工視覺之外的任何其他應(yīng)用。
5、Apache Singa
用:C ++,Python和Java編寫
Apache Singa是一個可擴展且靈活的深度學(xué)習(xí)平臺,用于大數(shù)據(jù)分析。它由新加坡國立大學(xué)的團(tuán)隊開發(fā)。該機器學(xué)習(xí)框架為大量數(shù)據(jù)中的可擴展分布式訓(xùn)練提供了靈活的架構(gòu)。
可擴展以在各種硬件上運行。主要應(yīng)用是自然語言處理(NLP)和圖像識別。
目前,Apache孵化器項目提供了一種可以在一組節(jié)點中工作的簡單編程模型。深度分布式學(xué)習(xí)在訓(xùn)練過程中使用模型共享和并行化。
但是,Singa支持傳統(tǒng)的機器學(xué)習(xí)模型,如邏輯回歸。
總而言之
所以我們已經(jīng)看到了一些用于Java開發(fā)的頂級機器學(xué)習(xí)框架。實際上,使用機器學(xué)習(xí)進(jìn)行Web開發(fā)將使IT世界發(fā)生革命性變化。但是,各種流行的機器學(xué)習(xí)框架和庫都是由Python編寫或主要支持的,包括Keras、Theano、TensorFlow和較小的項目,如Microsoft Azure Studio、sci-kit learn、Veles、Chainer和Neon。
如果您想要使用其中一個機器學(xué)習(xí)框架開發(fā)下一個項目,那么現(xiàn)在是時候開始了。