汪 云 曾 平 謝小義
(天門職業(yè)學(xué)院 湖北天門 431700)
隨著科學(xué)技術(shù)的不斷發(fā)展,以大數(shù)據(jù)、云計算、物聯(lián)網(wǎng)為代表的先進(jìn)科技,逐漸在生活中產(chǎn)生了深遠(yuǎn)的影響。熱別是大數(shù)據(jù)技術(shù),能夠通過對數(shù)據(jù)的收集、存儲、計算和分析,使數(shù)據(jù)價值的意義得到充分的發(fā)揮,對生活各方面的影響越來越深遠(yuǎn)。傳統(tǒng)的大數(shù)據(jù)計算,采用的是批量計算模式;經(jīng)過不斷發(fā)展,逐漸發(fā)展為在線學(xué)習(xí)計算,其效率得到了顯著的提升,這一過程具有非常重要的現(xiàn)實意義。
盡管當(dāng)前基于大數(shù)據(jù)分析的在線學(xué)習(xí)算法已經(jīng)逐漸成熟,但是在以下三個方面還面臨著關(guān)鍵的問題。
對于大數(shù)據(jù)技術(shù)來說,要處理的各種流數(shù)據(jù)具有非常明顯的隨機(jī)性,但是這些隨機(jī)性的數(shù)據(jù)需要對其展開實時處理,并將結(jié)果迅速反饋出來;而且絕大多數(shù)的流數(shù)據(jù)僅僅在短時間內(nèi)有價值,因此通過大數(shù)據(jù)展開計算和分析的數(shù)據(jù),往往只有很少一些能夠保存,而絕大部分會被放棄。因此,針對此類計算,系統(tǒng)必須要具備很高的收斂速度,才能夠確保流數(shù)據(jù)的價值能夠在其有效期內(nèi)得到體現(xiàn)[1]。但是當(dāng)前的在線學(xué)習(xí)算法,盡管與傳統(tǒng)的批量學(xué)習(xí)計算相比,其效率已經(jīng)有了大幅提升,但是其收斂性卻明顯不足,在分析實時流數(shù)據(jù)方面依然需要持續(xù)改進(jìn)。
大數(shù)據(jù)要處理的流數(shù)據(jù)是一個非常龐大的數(shù)據(jù)量,而且在數(shù)據(jù)源不停止的情況下,數(shù)據(jù)會持續(xù)生成,因此這樣的數(shù)據(jù)的數(shù)量是難以量化的;同時,系統(tǒng)在針對流數(shù)據(jù)實施計算分析的過程中,由于具有無限多的龐大數(shù)據(jù),所以是無法通過硬盤予以存儲的,因此這樣必然會造成流數(shù)據(jù)管理難度非常高。采用在線學(xué)習(xí)算法,也無需儲存流數(shù)據(jù),而是僅僅就內(nèi)存中數(shù)據(jù)實施計算,這就意味著其擴(kuò)展性相對較低,這對于在線算法的性能來說也是一種嚴(yán)重的制約。
基于大數(shù)據(jù)分析的在線學(xué)習(xí)算法,往往需要在這個過程中對一些格式實施轉(zhuǎn)化,對相關(guān)參數(shù)實施優(yōu)化,然后才能夠更好地滿足計算目標(biāo),獲得良好的滿意度。在傳統(tǒng)的批量計算模式下,因為這是一種靜態(tài)訓(xùn)練的分析模式,所以出現(xiàn)了一些自動化工具,并且經(jīng)過發(fā)展已經(jīng)非常成熟,諸如Libsvm工具,這為批量計算模式提供了諸多便利[2]。然而,隨著在線學(xué)習(xí)算法的出現(xiàn),計算遇到的難度更大。既因為數(shù)據(jù)產(chǎn)生速度過快,又由于數(shù)據(jù)的生成量過大,而且要實現(xiàn)動態(tài)訓(xùn)練,所以使得傳統(tǒng)的工具都無法適用。因此,適合于在線學(xué)習(xí)算法的自動化工具非常匱乏,這在一定程度上限制了在線學(xué)習(xí)算法的應(yīng)用。
1.感知器的在線學(xué)習(xí)算法
在當(dāng)前大數(shù)據(jù)分析為基礎(chǔ)的在線學(xué)習(xí)算法中,產(chǎn)生了多種不同的算法,然而就應(yīng)用范圍來看,感知器的應(yīng)用是最為廣泛的一種。這是一種屬于機(jī)器學(xué)習(xí)仿生學(xué)領(lǐng)域的分類學(xué)習(xí)機(jī)的模型,其算法具有較高的復(fù)雜度,在當(dāng)前機(jī)器算法領(lǐng)域中有著非常廣泛的應(yīng)用。其主要算法原則為[3]:在正確分類的前提下,無需對其權(quán)重實施變化,因此對其實施“賞”;在錯誤分類的前提下,則應(yīng)當(dāng)對其發(fā)生的錯誤予以修正,就是調(diào)整其方向,因此應(yīng)當(dāng)針對其權(quán)重實施“罰”。然后,針對全部錯誤分類樣本,以求和方式實施懲罰,具體可依據(jù)如下的算法公式:
從在線學(xué)習(xí)算法的分類上來看,感知器算法本質(zhì)上是一種賞罰算法。該算法被廣泛應(yīng)用于線性可分問題的解決;而且作為一種相對比較基礎(chǔ)的在線學(xué)習(xí)算法,感知器算法的出現(xiàn),對于推動及其學(xué)習(xí)具有非常重要的意義。另外,隨著感知器算法的不斷發(fā)展,出現(xiàn)了一種更具收斂性的二階感知器,這是一種可以持續(xù)對公式實施更新的計算方法,未來應(yīng)該有更廣泛的應(yīng)用前景。
2.在線學(xué)習(xí)中被動—主動算法
這是一種能夠主動得出全局最優(yōu)解,并且以此為基礎(chǔ)對其展開驗證并能夠確保其實現(xiàn)的算法模型。這種算法的本質(zhì)思維,就是在一個樣本的支持向量機(jī)的基礎(chǔ)設(shè)想,從而使得向量機(jī)最大間隔約束得以有效的轉(zhuǎn)化。此外,該算法的更新采用了如下的機(jī)制,當(dāng)新數(shù)據(jù)出現(xiàn)錯誤,則會對算法實施更新,以最大程度的避免數(shù)據(jù)錯誤;當(dāng)新數(shù)據(jù)無錯誤,則算法繼續(xù)使用無更新。
3.在線稀疏解學(xué)習(xí)算法
該算法的根本原理是以批量整體訓(xùn)練為基礎(chǔ)以得到邊界最優(yōu)值。然而,因為在線學(xué)習(xí)算法都是以隨機(jī)梯度下降法作為訓(xùn)練方法的,所以在實際應(yīng)用中結(jié)果的稀疏性是非常難以保障的,而通過梯度截取法,則能夠在一定程度上得到有效稀疏解。通常是在過程中,把更新權(quán)重都以0賦值,這樣就能夠讓出現(xiàn)的特征數(shù)目進(jìn)一步增加,從而表現(xiàn)出稀疏權(quán)重向量。與隨機(jī)梯度下降法相比,梯度截取法注意更能夠保障算法的性能[4]。
在了解了在線模型的線性模型以后,我們對非線性模型也做一些簡單的介紹。當(dāng)前,主要的非線性模型有如下的四種方法。第一種是核感知器,這種方法本質(zhì)上是線性模型中感知器算法的一種升級和發(fā)展,是一種基于核函數(shù)思想而產(chǎn)生的算法,使得其算法分類能力得到了非常明顯的提升。第二種是核在線被動—主動算法,這同樣是一種基于核函數(shù)產(chǎn)生的算法,該算法在批量向量機(jī)處理方面顯示了非常強大的能力,然而迄今為止尚未大規(guī)模針對實用數(shù)據(jù)訓(xùn)練,因此實際應(yīng)用中還不廣泛。第三種是固定的緩沖器核在線學(xué)習(xí)算法,這是一種通過對隨機(jī)感知器分類錯誤的集合的判斷,當(dāng)集合狀態(tài)充分飽和,則以一個新的將次樣本替換,以確保數(shù)據(jù)盡可能保持一定穩(wěn)定性。第四種是核在線梯度下降法,這種方法目前也尚未大范圍推廣應(yīng)用。
除了上面介紹的各種在線學(xué)習(xí)算法以外,還有一些非傳統(tǒng)在線學(xué)習(xí)算法,其中最為典型的有兩種,一種是多任務(wù)在線學(xué)習(xí),另一種是組LASSO在線學(xué)習(xí)。前者主要是基于共享信息的前提下實施若干關(guān)聯(lián)任務(wù)的同時學(xué)習(xí),因此其效率相對于常規(guī)學(xué)習(xí)方法來說要明顯更高。后者的主要優(yōu)勢是使用非常便捷,復(fù)雜程度相對較低,因此其在學(xué)習(xí)目標(biāo)變量選擇方面有較為廣泛的應(yīng)用。
當(dāng)前大數(shù)據(jù)領(lǐng)域的研究日新月異,在這樣的發(fā)展速度下,我們有理由相信,在未來的發(fā)展中,在線學(xué)習(xí)算法必然會遇到各種各樣的極具挑戰(zhàn)性的問題,而克服這些挑戰(zhàn)性問題就是推動技術(shù)持續(xù)發(fā)展的動力。其中,提升學(xué)習(xí)泛化能力是在線學(xué)習(xí)算法的發(fā)展中遇到的一大難題之一,而這也是當(dāng)前在應(yīng)用領(lǐng)域?qū)τ趯W(xué)習(xí)算法的最大的期待。就當(dāng)前學(xué)習(xí)理論的發(fā)展?fàn)顩r來看,向量機(jī)泛化能力技術(shù),基本上都涵蓋了從理論到實踐的全方面。并且,在很多領(lǐng)域中,可理解性對于學(xué)習(xí)算法同樣具有至關(guān)重要的意義。
在社會的實踐領(lǐng)域,將各種機(jī)器學(xué)習(xí)方法融入其中,從而在提升社會事務(wù)效率的同時,也使得機(jī)器學(xué)習(xí)速度得到進(jìn)一步提升,這是在大數(shù)據(jù)理論不斷發(fā)展以后研究人員追逐的目標(biāo)。然而,在學(xué)習(xí)速度和訓(xùn)練速度之間,如何能夠找到有效的平衡,進(jìn)而消除二者矛盾,這是一個非常重要的課題。比如,K鄰算法盡管其測試速度相對較差,但是實際應(yīng)用的速度卻非常理想[5]。傳統(tǒng)學(xué)習(xí)算法,主要針對標(biāo)記數(shù)據(jù),而在線學(xué)習(xí)算法將針對所有產(chǎn)生的數(shù)據(jù)展開,因此其對處理速度有更高的要求;再加上在處理過程中還必然會受到屬性變化、噪聲干擾等影響,因此還需要其具有更強的應(yīng)用能力,從根本上提升其應(yīng)用效率。
大數(shù)據(jù)時代的來臨,對于在線學(xué)習(xí)算法來說,既是一種良好的機(jī)遇,又提出了更高的挑戰(zhàn)。所謂機(jī)遇,是因為大數(shù)據(jù)為在線學(xué)習(xí)算法提供了更優(yōu)秀的技術(shù)支持;所謂挑戰(zhàn),是因為大數(shù)據(jù)獨有的諸多特性,顛覆了傳統(tǒng)學(xué)習(xí)算法,主要是批量機(jī)器學(xué)習(xí)的模式。在無法計量,且不斷生成的大數(shù)據(jù)模式下,批量機(jī)器算法遠(yuǎn)遠(yuǎn)無法滿足實際計算需求,而在線學(xué)習(xí)算法當(dāng)前也還存在著一些問題。基于此,本文針對基于大數(shù)據(jù)在線學(xué)習(xí)算法展開總結(jié)性的闡述,同時對未來的發(fā)展趨勢也作出了分析,筆者希望其有助于我國在線學(xué)習(xí)算法的不斷發(fā)展和推廣應(yīng)用。