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