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