◆陸敬怡 祝子健
大數(shù)據(jù)背景下機(jī)器學(xué)習(xí)的趨勢(shì)分析
◆陸敬怡 祝子健
(南京郵電大學(xué) 江蘇 210046)
機(jī)器學(xué)習(xí)是當(dāng)前計(jì)算機(jī)信息處理技術(shù)中的熱點(diǎn),特別是在大數(shù)據(jù)的背景下,每天互聯(lián)網(wǎng)會(huì)產(chǎn)生30萬(wàn)億千兆字節(jié)的數(shù)據(jù),這些數(shù)據(jù)使我們的決策變得更加科學(xué)。本文通過(guò)介紹大數(shù)據(jù)背景下機(jī)器學(xué)習(xí)的特點(diǎn)和趨勢(shì),分析在機(jī)器學(xué)習(xí)領(lǐng)域存在的主要問(wèn)題,提出三種大數(shù)據(jù)背景下機(jī)器學(xué)習(xí)算法的趨勢(shì)。
大數(shù)據(jù);機(jī)器學(xué)習(xí);算法設(shè)計(jì)
大數(shù)據(jù)通常是指不能裝進(jìn)計(jì)算機(jī)內(nèi)存儲(chǔ)器的數(shù)據(jù),大數(shù)據(jù)的顯著特點(diǎn)是數(shù)據(jù)的數(shù)量大、種類多、產(chǎn)生快、處理快、價(jià)值高等。
面對(duì)海量的數(shù)據(jù),人們需要一個(gè)智能分析的接口將人類與計(jì)算機(jī)世界進(jìn)行連接,隨著數(shù)據(jù)挖掘、數(shù)據(jù)處理、機(jī)器學(xué)習(xí)等相關(guān)技術(shù)的成熟,可以借助機(jī)器學(xué)習(xí)、并行處理等非傳統(tǒng)的工具對(duì)大量的數(shù)據(jù)進(jìn)行處理、分析和預(yù)測(cè),從而為決策提供依據(jù)。
機(jī)器學(xué)習(xí)是通過(guò)模擬人類的各種學(xué)習(xí)行為,來(lái)學(xué)習(xí)新的知識(shí)并不斷完善機(jī)器的結(jié)構(gòu),提高各方面處理問(wèn)題的性能。機(jī)器學(xué)習(xí)的過(guò)程就是計(jì)算機(jī)通過(guò)學(xué)習(xí)提前輸入里面的數(shù)據(jù)和信息,對(duì)數(shù)據(jù)和信息進(jìn)行處理,展示我們想要的結(jié)果的過(guò)程。整個(gè)學(xué)習(xí)過(guò)程的目的是明確的,思路是提前設(shè)定的,數(shù)據(jù)越多學(xué)習(xí)的過(guò)程越長(zhǎng),建立并且訓(xùn)練的模型數(shù)據(jù)越多,處理的結(jié)果就越準(zhǔn)確。而且整個(gè)學(xué)習(xí)過(guò)程是迭代學(xué)習(xí)的過(guò)程,一般計(jì)算機(jī)在處理過(guò)程中使用這種迭代算法不斷完善模型的方法,就屬于機(jī)器學(xué)習(xí)的過(guò)程。要使用機(jī)器學(xué)習(xí),各種學(xué)習(xí)模式是必須的,伴隨著大數(shù)據(jù)處理技術(shù)的發(fā)展,我們可以更加準(zhǔn)確地使用機(jī)器學(xué)習(xí)方法處理,使之成為大數(shù)據(jù)處理的重要工具,而大數(shù)據(jù)為機(jī)器學(xué)習(xí)提供更多的數(shù)據(jù),幫助機(jī)器學(xué)習(xí)變得更加強(qiáng)大。但歸根到底,機(jī)器學(xué)習(xí)并不等同于大數(shù)據(jù)處理,而大數(shù)據(jù)的處理也不僅僅是機(jī)器學(xué)習(xí)。
大數(shù)據(jù)已成為信息處理的熱點(diǎn),當(dāng)大數(shù)據(jù)和機(jī)器學(xué)習(xí)結(jié)合在一起時(shí),可以顯著提高計(jì)算機(jī)對(duì)數(shù)據(jù)的處理能力和預(yù)測(cè)能力。大數(shù)據(jù)與機(jī)器學(xué)習(xí)的結(jié)合,已經(jīng)被廣泛應(yīng)用于網(wǎng)絡(luò)營(yíng)銷、關(guān)鍵詞搜索、廣告設(shè)計(jì)等領(lǐng)域,未來(lái)會(huì)延伸到更多的領(lǐng)域。
與傳統(tǒng)的機(jī)器學(xué)習(xí)相比,大數(shù)據(jù)背景下的機(jī)器學(xué)習(xí)大大擴(kuò)充了學(xué)習(xí)數(shù)據(jù)的數(shù)量,提高了機(jī)器學(xué)習(xí)的準(zhǔn)確性,但與此同時(shí)也帶來(lái)了很多問(wèn)題。
首先隨著計(jì)算機(jī)硬件技術(shù)的提高以及編程算法的不斷優(yōu)化,數(shù)據(jù)之間的關(guān)系越來(lái)越復(fù)雜,例如在海量的數(shù)據(jù)中如何區(qū)分哪些數(shù)據(jù)是有用的,哪些數(shù)據(jù)是冗余的,哪些數(shù)據(jù)會(huì)對(duì)其他數(shù)據(jù)的運(yùn)行造成干擾和影響,如何將這些數(shù)據(jù)提取出來(lái)越來(lái)越成為人們難以控制的問(wèn)題,如何從海量復(fù)雜的數(shù)據(jù)中挖掘出數(shù)據(jù)之間的規(guī)律并發(fā)揮數(shù)據(jù)信息的最大價(jià)值成為大數(shù)據(jù)背景下機(jī)器學(xué)習(xí)函待解決的重點(diǎn),也是大數(shù)據(jù)處理技術(shù)的核心。
大數(shù)據(jù)背景下的機(jī)器學(xué)習(xí),在理論上,數(shù)據(jù)的數(shù)量越多,數(shù)據(jù)樣本越豐富,計(jì)算機(jī)能學(xué)習(xí)的數(shù)據(jù)就越多,機(jī)器學(xué)習(xí)就能訓(xùn)練出更加復(fù)雜的模型,模型的處理信息能力就越強(qiáng)。但在當(dāng)前現(xiàn)實(shí)中,規(guī)模宏大的大數(shù)據(jù)給計(jì)算機(jī)的機(jī)器學(xué)習(xí)帶來(lái)了很多麻煩,例如,在一些復(fù)雜的模型中,隨著數(shù)據(jù)數(shù)量的增加,機(jī)器學(xué)習(xí)過(guò)程的計(jì)算量可能會(huì)產(chǎn)生超線性增長(zhǎng)速度,而不是按照相同比例增長(zhǎng),使計(jì)算量變得更加復(fù)雜,大大影響了機(jī)器學(xué)習(xí)的速度,使得計(jì)算機(jī)新建模型的處理效率變低。因此很多領(lǐng)域經(jīng)常使用簡(jiǎn)單的模型去處理大數(shù)據(jù),盡管有更復(fù)雜準(zhǔn)確的模型。例如在工業(yè)領(lǐng)域機(jī)器學(xué)習(xí)中的分類器常用的有l(wèi)ogistic regression和kernel SVM兩種,前者是比較簡(jiǎn)單的線性模型,在創(chuàng)建模型的時(shí)候不需要大量的數(shù)據(jù)資源,能高效的進(jìn)行模型訓(xùn)練和數(shù)據(jù)分析預(yù)測(cè);而kernel 屬于較復(fù)雜的分類器,它的模型通常需要大量的數(shù)據(jù)訓(xùn)練才能創(chuàng)建,它的預(yù)測(cè)結(jié)果相對(duì)來(lái)說(shuō)更加準(zhǔn)確。在工業(yè)領(lǐng)域人們使用最多的是logistic regression分類器,因?yàn)槿绻皇窃黾訑?shù)據(jù)的數(shù)量,而不采用更為復(fù)雜的模型,那么大數(shù)據(jù)背景下的機(jī)器學(xué)習(xí)同傳統(tǒng)的機(jī)器學(xué)習(xí)并沒(méi)有本質(zhì)的差別。因此,怎樣使用大數(shù)據(jù)訓(xùn)練出更加復(fù)雜有效的模型也是當(dāng)前機(jī)器學(xué)習(xí)的主要問(wèn)題,大數(shù)據(jù)背景下訓(xùn)練模型,最大的問(wèn)題就是計(jì)算量大和計(jì)算時(shí)間長(zhǎng)以及計(jì)算機(jī)內(nèi)存容量的限制。
在大數(shù)據(jù)背景下去訓(xùn)練復(fù)雜的機(jī)器模型,就應(yīng)該在機(jī)器學(xué)習(xí)算法設(shè)計(jì)中解決計(jì)算量和計(jì)算時(shí)間以及內(nèi)存容量的問(wèn)題。未來(lái)大數(shù)據(jù)背景下的機(jī)器學(xué)習(xí)算法設(shè)計(jì)主要有三種趨勢(shì):并行算法、在線算法以及近似算法。
解決大數(shù)據(jù)算法問(wèn)題最主要的方法就是引入并行算法,并行算法是一些可同時(shí)執(zhí)行的諸多進(jìn)程的集合,這些進(jìn)程相互作用和協(xié)調(diào)動(dòng)作從而達(dá)到求出問(wèn)題的解。在大數(shù)據(jù)的處理中就是將數(shù)據(jù)處理任務(wù)分配到多臺(tái)計(jì)算機(jī)或者處理器上,這些計(jì)算機(jī)或者處理器相互通信和協(xié)作,能快速、高效地求解大型復(fù)雜數(shù)據(jù)樣本的處理。并行算法的處理效率與運(yùn)行時(shí)間、處理器數(shù)目、并行算法的成本、總運(yùn)算量和分布式有關(guān)系,分布式并行算法的設(shè)計(jì)通常需要具備較高的硬件資源,它需要各種集群計(jì)算的資源,通常適合谷歌、微軟等這種計(jì)算能力強(qiáng)大的企業(yè)。并行算法和分布式計(jì)算是有差別的,不是所有的算法都可以用分布式計(jì)算來(lái)解決,即使有大量的計(jì)算資源。例如,理想狀態(tài)下,用五十臺(tái)計(jì)算機(jī)做并行計(jì)算,會(huì)把計(jì)算時(shí)間縮短至以前的五十分之一,可事實(shí)并非如此,實(shí)際計(jì)算過(guò)程中,并行算法很難達(dá)到這種效率。分布式并行算法的設(shè)計(jì)不僅僅需要解決存儲(chǔ)量的問(wèn)題,還需考慮到通信數(shù)據(jù)的多少,數(shù)據(jù)間是否同步等問(wèn)題。
在大數(shù)據(jù)背景下,內(nèi)存容量是制約計(jì)算量的主要因素,如果并行算法可以提前對(duì)數(shù)據(jù)特征進(jìn)行識(shí)別分類,合理的安排并行的各計(jì)算機(jī)去處理分類的數(shù)據(jù),讓每臺(tái)計(jì)算機(jī)并行計(jì)算時(shí)的內(nèi)存消耗低于未并行時(shí)的內(nèi)存消耗量,那么并行算法就會(huì)顯著提高計(jì)算量,縮短計(jì)算時(shí)間。在并行算法設(shè)計(jì)中通常需要考慮選擇同步還是異步處理的問(wèn)題,如果選擇同步處理,那么在一輪輪的數(shù)據(jù)迭代過(guò)程中,每一輪所有的計(jì)算機(jī)同步運(yùn)行,先運(yùn)行完成的計(jì)算機(jī)要等待后面的計(jì)算機(jī),直到全部計(jì)算機(jī)完成這一輪的迭代過(guò)程,這種迭代方式會(huì)降低數(shù)據(jù)處理的效率,因此在并行計(jì)算中通常使用異步算法設(shè)計(jì),即計(jì)算機(jī)完成每一次迭代后可以繼續(xù)去計(jì)算。
傳統(tǒng)的機(jī)器學(xué)習(xí)算法通常在每一輪訓(xùn)練完成后,用所有的數(shù)據(jù)去重新更新模型,使得每次更新的計(jì)算量很大。而在線算法是當(dāng)前機(jī)器學(xué)習(xí)的另一項(xiàng)發(fā)展趨勢(shì),在線算法在每一輪數(shù)據(jù)訓(xùn)練完成后,只用少量的有用的數(shù)據(jù)去更新模型,這樣使計(jì)算量變小,機(jī)器的內(nèi)存消耗變小,提高模型創(chuàng)建效率。隨機(jī)優(yōu)化算法是在線算法的一種變體,它的設(shè)計(jì)思想與在線算法一樣,雖然經(jīng)過(guò)迭代訓(xùn)練計(jì)算機(jī)已經(jīng)獲取了數(shù)據(jù),但每一輪模型更新只會(huì)隨機(jī)選擇少量的數(shù)據(jù)來(lái)創(chuàng)建新模型,隨機(jī)優(yōu)化算法已經(jīng)在大數(shù)據(jù)處理過(guò)程中被使用。
矩陣分解是機(jī)器學(xué)習(xí)中的難點(diǎn),因?yàn)闄C(jī)器學(xué)習(xí)中很多算法及模型都需要進(jìn)行各種矩陣分解,分解的時(shí)間通常與樣本數(shù)據(jù)的平方成正比,在大數(shù)據(jù)背景下,面對(duì)海量的數(shù)據(jù),如果不能高效率的進(jìn)行矩陣分解,那么機(jī)器學(xué)習(xí)就不能用來(lái)解決大數(shù)據(jù)問(wèn)題。
一種有效的處理大規(guī)模矩陣分解的方式就是隨機(jī)算法,隨機(jī)算法是找出大矩陣的近似矩陣,近似矩陣通常是小矩陣,它具有和大矩陣相似的性質(zhì),對(duì)近似矩陣快速地進(jìn)行矩陣分解等操作,得出近似矩陣的分解結(jié)果,把近似矩陣的分解結(jié)果等同于大矩陣的分解結(jié)果。這種近似的計(jì)算已經(jīng)被越來(lái)越多的實(shí)驗(yàn)證明是非常準(zhǔn)確的,因此很多近似算法已成為處理大數(shù)據(jù)的機(jī)器學(xué)習(xí)過(guò)程中非常高效且有前景的方法。
在大數(shù)據(jù)背景下,機(jī)器學(xué)習(xí)的未來(lái)變得更加光明。然而,機(jī)器學(xué)習(xí)并不僅僅是利用海量的數(shù)據(jù)去訓(xùn)練模型,而是逐步把大數(shù)據(jù)用在復(fù)雜模型的訓(xùn)練和創(chuàng)建中。并行算法、分布式算法、在線算法和近似算法都為大數(shù)據(jù)下的機(jī)器學(xué)習(xí)的提供了幫助,未來(lái),機(jī)器學(xué)習(xí)將會(huì)更加高效地處理大數(shù)據(jù)。
[1]孫凱.大數(shù)據(jù)背景下機(jī)器學(xué)習(xí)在數(shù)據(jù)挖掘中的應(yīng)用淺析[J].科學(xué)技術(shù)創(chuàng)新,2018.
[2]馬巍巍,殷鳳梅,張江.大數(shù)據(jù)背景下機(jī)器學(xué)習(xí)并行算法研究[J].電子技術(shù)與軟件工程,2018.
[3]李成錄.大數(shù)據(jù)背景下機(jī)器學(xué)習(xí)算法的綜述[J].信息記錄材料,2018.
[4]王凌.大數(shù)據(jù)背景下的機(jī)器學(xué)習(xí)算法簡(jiǎn)述[J].數(shù)字傳媒研究,2017.
[5]朱巍,陳慧慧,田思媛,王紅武.人工智能:從科學(xué)夢(mèng)到新藍(lán)海——人工智能產(chǎn)業(yè)發(fā)展分析及對(duì)策[J].科技進(jìn)步與對(duì)策,2016.
[6]吳元立,司光亞,羅批.人工智能技術(shù)在網(wǎng)絡(luò)空間安全防御中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用研究,2015.