999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Flink的分布式在線集成學(xué)習(xí)框架研究

2023-01-01 00:00:00曹張宇鐘原周靜

摘 要:在大數(shù)據(jù)環(huán)境背景下,傳統(tǒng)機(jī)器學(xué)習(xí)算法多采用單機(jī)離線訓(xùn)練的方式,顯然已經(jīng)無法適應(yīng)持續(xù)增長的大規(guī)模流式數(shù)據(jù)的變化。針對(duì)該問題,提出一種基于Flink平臺(tái)的分布式在線集成學(xué)習(xí)算法。該方法基于Flink分布式計(jì)算框架,首先通過數(shù)據(jù)并行的方式對(duì)在線學(xué)習(xí)算法進(jìn)行分布式在線訓(xùn)練;然后將訓(xùn)練出的多個(gè)子模型通過隨機(jī)梯度下降算法進(jìn)行模型的動(dòng)態(tài)權(quán)重分配,實(shí)現(xiàn)對(duì)多個(gè)子模型的結(jié)果聚合;與此同時(shí),對(duì)于訓(xùn)練效果不好的模型利用其樣本進(jìn)行在線更新;最后通過單機(jī)與集群環(huán)境在不同數(shù)據(jù)集上做實(shí)驗(yàn)對(duì)比分析。實(shí)驗(yàn)結(jié)果表明,在線學(xué)習(xí)算法結(jié)合Flink框架的分布式集成訓(xùn)練,能達(dá)到集中訓(xùn)練方式下的性能,同時(shí)大大提高了訓(xùn)練的時(shí)間效率。

關(guān)鍵詞:分布式流計(jì)算; 在線學(xué)習(xí); 集成學(xué)習(xí); Flink

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)志碼:A

文章編號(hào):1001-3695(2023)06-029-1784-05

doi:10.19734/j.issn.1001-3695.2022.09.0535

Research on distributed online integrated learning framework based on Flink

Cao Zhangyu, Zhong Yuan, Zhou Jing

(School of Computer Science, Southwest Petroleum University, Chengdu 610500, China)

Abstract:In the environment of big data, traditional machine learning algorithms mostly use stand-alone offline training, which is obviously unable to adapt to the continuous growth of large-scale streaming data changes. Considering the problems above, this paper proposed a distributed online integrated learning algorithm based on Flink platform, which was based on Flink distributed computing framework. The algorithm firstly performed distributed online training on the online learning algorithm through data parallelism. And then the trained multiple submodels were dynamically weighted allocation of the model through stochastic gradient descent algorithm to realize the results aggregation of multiple submodels. At the same time, the samples of the models with poor training effect were updating online. Finally, by comparing the performance of stand-alone and cluster environments on different datasets, the experimental results show that the online learning algorithm combined with the distributed ensemble training of the Flink framework can achieve the performance in the centralized training mode, and greatly improve the time efficiency of training.

Key words:distributed stream computing; online learning; ensemble learning; Flink

近年來,隨著云計(jì)算、移動(dòng)互聯(lián)、大數(shù)據(jù)等新興行業(yè)的高速發(fā)展,導(dǎo)致人類社會(huì)的數(shù)據(jù)類型和數(shù)據(jù)規(guī)模呈井噴式增長,推動(dòng)人類進(jìn)入數(shù)據(jù)驅(qū)動(dòng)時(shí)代。目前,大數(shù)據(jù)主要分為實(shí)時(shí)流式數(shù)據(jù)和靜態(tài)批量數(shù)據(jù)兩個(gè)種類。靜態(tài)批量大數(shù)據(jù)的分析注重對(duì)大規(guī)模數(shù)據(jù)的存儲(chǔ),一般經(jīng)過數(shù)據(jù)采集、數(shù)據(jù)清洗之后建立離線數(shù)倉,再對(duì)這些靜態(tài)數(shù)據(jù)進(jìn)行計(jì)算分析。然而,隨著各種互聯(lián)網(wǎng)+行業(yè)的興起,如工業(yè)傳感器數(shù)據(jù)、機(jī)器行為日志數(shù)據(jù)、視頻數(shù)據(jù)等都呈現(xiàn)流式狀態(tài)。與傳統(tǒng)批量數(shù)據(jù)相比,流式數(shù)據(jù)具有實(shí)時(shí)性、無序性、易失性、無界性等特征。對(duì)于這些特征的數(shù)據(jù),傳統(tǒng)的Hadoop[1]、Spark[2]等離線計(jì)算分析平臺(tái)已無法滿足流式數(shù)據(jù)的計(jì)算分析要求,流型分布式計(jì)算平臺(tái)Flink[3]應(yīng)運(yùn)而生。與此同時(shí),傳統(tǒng)機(jī)器學(xué)習(xí)算法往往以離線方式訓(xùn)練,即假設(shè)在訓(xùn)練模型時(shí)已采集到完備的樣本,通過一次離線訓(xùn)練過程可得到最終的決策模型。離線訓(xùn)練模式下模型無法對(duì)新數(shù)據(jù)進(jìn)行迭代學(xué)習(xí),只能進(jìn)行批量數(shù)據(jù)的線下重新學(xué)習(xí),這會(huì)消耗大量的時(shí)間和空間資源,學(xué)習(xí)的速度無法跟上數(shù)據(jù)更新的速度。

在大數(shù)據(jù)環(huán)境下,針對(duì)大規(guī)模和超大規(guī)模流數(shù)據(jù)的分析是機(jī)器學(xué)習(xí)研究的重點(diǎn)方向之一,現(xiàn)有研究中常采用在線學(xué)習(xí)范式,即針對(duì)按序到達(dá)的新數(shù)據(jù)進(jìn)行逐步的增量式學(xué)習(xí),在線學(xué)習(xí)范式更加符合實(shí)際業(yè)務(wù)場(chǎng)景的使用,如實(shí)時(shí)股票信息、傳感器數(shù)據(jù)和視頻流分析等。據(jù)調(diào)研,許多工作已提出了多種在線學(xué)習(xí)算法[4~8],這些算法雖然具有對(duì)流數(shù)據(jù)的增量學(xué)習(xí)能力,但大多數(shù)算法都是基于單機(jī)環(huán)境設(shè)計(jì),面對(duì)大規(guī)模的流數(shù)據(jù),常會(huì)出現(xiàn)內(nèi)存溢出、訓(xùn)練效率低下無法跟上實(shí)時(shí)數(shù)據(jù)速率等問題。因此,基于上述情況,本文提出了一種基于Flink平臺(tái)的分布式在線集成學(xué)習(xí)框架,來處理流數(shù)據(jù)的回歸分析任務(wù)。本文工作的主要貢獻(xiàn)包括:

a)基于Flink流數(shù)據(jù)平臺(tái)搭建了分布式模型訓(xùn)練框架,針對(duì)大規(guī)模數(shù)據(jù)流,實(shí)現(xiàn)了多節(jié)點(diǎn)的模型在線訓(xùn)練過程,降低了單模型的在線訓(xùn)練時(shí)間和單節(jié)點(diǎn)的數(shù)據(jù)存儲(chǔ)壓力。

b)提出了一種基于隨機(jī)梯度下降的多節(jié)點(diǎn)子模型集合預(yù)測(cè)策略,達(dá)到了單機(jī)訓(xùn)練模型的性能,驗(yàn)證了在大規(guī)模實(shí)時(shí)流數(shù)據(jù)下,以分布式方式進(jìn)行在線訓(xùn)練模型的可靠性和有效性。

1 相關(guān)工作

1.1 分布式流處理框架Flink

Apache Flink[3]是一個(gè)針對(duì)通用數(shù)據(jù)流的開源處理平臺(tái),采用Java和Scala代碼實(shí)現(xiàn)。同時(shí),F(xiàn)link 是一個(gè)分布式處理框架,相較于MapReduce[1]、Spark[2]、 Apache Storm[9]等分布式處理框架,它能滿足任意規(guī)模下對(duì)高吞吐、低延遲、高性能的要求。 此外,F(xiàn)link還具備如下顯著優(yōu)點(diǎn):

a)支持事件時(shí)間和系統(tǒng)時(shí)間語義。目前大多數(shù)框架窗口計(jì)算采用的都是系統(tǒng)時(shí)間(process time),即事件傳輸?shù)接?jì)算框架處理時(shí),系統(tǒng)主機(jī)的當(dāng)前時(shí)間。Flink能夠支持基于事件時(shí)間(event time)語義。也就是使用事件產(chǎn)生的時(shí)間,這種基于事件驅(qū)動(dòng)的機(jī)制使得事件即使亂序到達(dá),流系統(tǒng)也能夠計(jì)算出精確的結(jié)果,保持了事件原本產(chǎn)生時(shí)的時(shí)序性,盡可能避免網(wǎng)絡(luò)傳輸或硬件系統(tǒng)的影響。

b)支持有狀態(tài)計(jì)算。所謂狀態(tài)就是在流式計(jì)算過程中將算子的中間結(jié)果數(shù)據(jù)保存在內(nèi)存或者文件系統(tǒng)中,等下一個(gè)事件進(jìn)入算子后可以從之前的狀態(tài)中獲取中間結(jié)果中計(jì)算當(dāng)前的結(jié)果,從而無須每次都基于全部的原始數(shù)據(jù)來統(tǒng)計(jì)結(jié)果,這種方式極大地提升了系統(tǒng)的性能,并降低了數(shù)據(jù)計(jì)算過程的資源消耗。

c)支持基于輕量級(jí)分布式快照(CheckPoint)。在任務(wù)執(zhí)行過程中,如果發(fā)生錯(cuò)誤處理導(dǎo)致數(shù)據(jù)不一致問題,可以通過CheckPoint,將任務(wù)執(zhí)行過程中的狀態(tài)信息持久化存儲(chǔ)下來,一旦任務(wù)發(fā)生異常,F(xiàn)link就可以從CheckPoints中進(jìn)行任務(wù)自動(dòng)恢復(fù),以保證數(shù)據(jù)在過程中僅被處理一次。綜上所述,針對(duì)持續(xù)數(shù)據(jù)流分析,F(xiàn)link平臺(tái)對(duì)比傳統(tǒng)批處理的分布式計(jì)算平臺(tái),具有明顯的性能優(yōu)勢(shì),特別地,結(jié)合基于在線學(xué)習(xí)的算法,F(xiàn)link流處理框架能發(fā)揮出更突出的計(jì)算性能。

1.2 在線集成學(xué)習(xí)范式

在線學(xué)習(xí)[10]是一種典型的機(jī)器學(xué)習(xí)范式,對(duì)比離線學(xué)習(xí)執(zhí)行“離線訓(xùn)練+在線預(yù)測(cè)”模式,在線學(xué)習(xí)執(zhí)行的是“在線預(yù)測(cè)+在線訓(xùn)練”模式,特別適用于能即時(shí)獲得標(biāo)簽的數(shù)據(jù)流分析場(chǎng)景[11,12]。在持續(xù)的數(shù)據(jù)流中,模型針對(duì)當(dāng)前實(shí)例進(jìn)行預(yù)測(cè),并在每次預(yù)測(cè)后獲得真實(shí)反饋,再利用預(yù)測(cè)結(jié)果和真實(shí)結(jié)果的誤差對(duì)模型實(shí)施訓(xùn)練,以達(dá)到模型的不斷優(yōu)化[13]。常見的在線學(xué)習(xí)方法主要與集成學(xué)習(xí)進(jìn)行聯(lián)合,通過集成學(xué)習(xí)來弱化在線基學(xué)習(xí)器的不足,進(jìn)而提供更有效的模型預(yù)測(cè)。不少研究者對(duì)在線集成學(xué)習(xí)方法[14,15]進(jìn)行了討論。在線集成通常為在線學(xué)習(xí)過程中對(duì)部分弱學(xué)習(xí)器的參數(shù)進(jìn)行更新,或者直接替換掉某些弱學(xué)習(xí)器,從而實(shí)現(xiàn)多個(gè)基學(xué)習(xí)器的動(dòng)態(tài)集成。也有研究[16,17]提出以Boosting方式進(jìn)行單個(gè)模型的在線學(xué)習(xí),再進(jìn)行集成,并在目標(biāo)檢測(cè)和目標(biāo)跟蹤等方面取得了較好的研究成果。在線集成學(xué)習(xí)方法的應(yīng)用領(lǐng)域不斷擴(kuò)大,目前這種方法已廣泛應(yīng)用于軍事偵察、智能交通、視頻監(jiān)控、人機(jī)交互、醫(yī)學(xué)圖像處理等相關(guān)領(lǐng)域。

1.3 分布式機(jī)器學(xué)習(xí)

在大數(shù)據(jù)背景下,分布式實(shí)時(shí)計(jì)算技術(shù)有助于解決海量數(shù)據(jù)實(shí)時(shí)響應(yīng)能力差的問題,極大提升計(jì)算平臺(tái)處理大量數(shù)據(jù)的速度[18,19],實(shí)現(xiàn)實(shí)時(shí)處理與計(jì)算以完成數(shù)據(jù)挖掘與分析任務(wù)。分布式機(jī)器學(xué)習(xí)主要分為數(shù)據(jù)并行和模型并行兩種模式,例如:在國內(nèi),文獻(xiàn)[20]采用MapReduce思想,將大數(shù)據(jù)集切分成若干小的數(shù)據(jù)集來并行加速處理,同時(shí)引入bagging算法的思想來綜合并行結(jié)果,提高分類的準(zhǔn)確率。Chen等人[21]提出了一種在Spark云計(jì)算環(huán)境下的并行隨機(jī)森林算法,該算法是基于一種混合的方法,并結(jié)合數(shù)據(jù)并行和任務(wù)并行優(yōu)化,采用Spark批處理模式,雖然大大提高了計(jì)算效率,但是實(shí)時(shí)性不強(qiáng)。白玉辛等人[22]結(jié)合層疊和分組訓(xùn)練SVM算法的優(yōu)缺點(diǎn),設(shè)計(jì)了基于Flink并行SVM算法。文獻(xiàn)[23]基于Flink平臺(tái)實(shí)現(xiàn)了K-means算法的并行版本,該算法在map端計(jì)算各個(gè)點(diǎn)的位置信息,最后通過reduce聚合結(jié)果獲得全局聚類中心,研究結(jié)果表明Flink平臺(tái)實(shí)現(xiàn)聚類算法大大提高了時(shí)間效率。在國外,Yang等人[24]提出了一種改進(jìn)CDL(協(xié)調(diào)深度學(xué)習(xí))方法,并在Spark平臺(tái)實(shí)現(xiàn)了它的并行化,Spark對(duì)模型各部分的參數(shù)進(jìn)行并行訓(xùn)練和優(yōu)化,以增強(qiáng)模型可處理數(shù)據(jù)的規(guī)模和可擴(kuò)展性,最后,使用真實(shí)數(shù)據(jù)集驗(yàn)證了此方法的可行性。Liu等人[25]對(duì)孤立森林算法進(jìn)行了改進(jìn),提出了基于Flink的并行異常檢測(cè)算法(Flink-iForest),同時(shí)結(jié)合K-means算法解決了Flink-Forest閾值劃分問題,提高了異常檢測(cè)結(jié)果的穩(wěn)定性。通過與單機(jī)環(huán)境下的iForest算法進(jìn)行比較實(shí)驗(yàn),驗(yàn)證了Flink-iFo-rest算法的準(zhǔn)確性和時(shí)間效率。上述研究通常只針對(duì)于傳統(tǒng)的離線機(jī)器學(xué)習(xí)算法,對(duì)于高實(shí)時(shí)性要求的大規(guī)模數(shù)據(jù)流分析常應(yīng)用的在線學(xué)習(xí)算法研究相對(duì)較少。

1.4 分布式實(shí)時(shí)流環(huán)境下的在線模型聚合

分布式環(huán)境下的在線集成學(xué)習(xí)是一種應(yīng)對(duì)大規(guī)模實(shí)時(shí)數(shù)據(jù)流分析的有效方式。主要將模型訓(xùn)練分配到多個(gè)節(jié)點(diǎn)上并行進(jìn)行,通過數(shù)據(jù)流的動(dòng)態(tài)劃分,使各個(gè)計(jì)算節(jié)點(diǎn)學(xué)習(xí)到差異化的模型,再進(jìn)行聚合,得到功能更強(qiáng)大的集成模型。那么如何將這些模型進(jìn)行聚合是一項(xiàng)關(guān)鍵的問題。文獻(xiàn)[26]提出client-server的中心化方式和fully decentralized的去中心化方式兩種聚合方式;文獻(xiàn)[27]提出了一種簇狀聚合方法。這些模型聚合方法是基于可以獲取到參數(shù)的模型,而對(duì)于類似于樹結(jié)構(gòu)的模型,模型聚合無法從參數(shù)聚合著手,只有通過各個(gè)模型的預(yù)測(cè)結(jié)果來聚合。對(duì)于上述研究,存在以下問題:a)大多數(shù)為分布式的離線機(jī)器學(xué)習(xí),對(duì)于分布式的在線流學(xué)習(xí)研究較少;b)大多數(shù)算法在分布式訓(xùn)練時(shí)方便獲取中間訓(xùn)練參數(shù),類似于樹型(Hoeffding tree、online randorm forest等)不方便獲取訓(xùn)練參數(shù)的算法的分布式研究較少;c)大多數(shù)以分類和聚類任務(wù)為主、回歸任務(wù)的研究較少。

綜上所述,本文針對(duì)同分布式架構(gòu)的差異性,提出一種基于Flink分布式流處理框架的在線集成學(xué)習(xí)框架,通過Flink平臺(tái)的數(shù)據(jù)流動(dòng)態(tài)分配、實(shí)現(xiàn)了對(duì)在線學(xué)習(xí)算法的分布式訓(xùn)練,并提出了一種基于隨機(jī)梯度下降的多節(jié)點(diǎn)子模型聚合加權(quán)預(yù)測(cè)策略。此框架既滿足了對(duì)大規(guī)模流式數(shù)據(jù)的分布式在線訓(xùn)練,并用五個(gè)回歸數(shù)據(jù)集驗(yàn)證了此框架的可行性。

2 基于Flink的在線集成學(xué)習(xí)框架

在線學(xué)習(xí)是一種針對(duì)流數(shù)據(jù)的模型訓(xùn)練與預(yù)測(cè)模式,結(jié)合Flink分布式計(jì)算引擎在對(duì)流式數(shù)據(jù)的處理的天然優(yōu)勢(shì),本文提出的Flink平臺(tái)分布式在線訓(xùn)練與預(yù)測(cè)框架可實(shí)現(xiàn)多個(gè)子節(jié)點(diǎn)的數(shù)據(jù)流動(dòng)態(tài)分配、子模型的在線(預(yù))訓(xùn)練以及對(duì)流數(shù)據(jù)的實(shí)時(shí)預(yù)測(cè),框架流程如圖1所示。

2.1 流環(huán)境下的分布式在線訓(xùn)練

在線學(xué)習(xí)算法在Flink上的分布式訓(xùn)練實(shí)現(xiàn)首先需搭建Flink集群,集群節(jié)點(diǎn)在物理高速網(wǎng)絡(luò)連通的基礎(chǔ)上,使用Flink平臺(tái)的JobManager和TaskManager兩個(gè)主要進(jìn)程。JobManager進(jìn)程主要負(fù)責(zé)任務(wù)的調(diào)度,F(xiàn)link客戶端將任務(wù)提交到Flink集群后,JobManager根據(jù)活躍的TaskManager的資源信息,將任務(wù)分配給資源空閑TaskManager進(jìn)程,隨即啟動(dòng)運(yùn)行任務(wù)。TaskManager進(jìn)程執(zhí)行數(shù)據(jù)流的task任務(wù),每個(gè)task可設(shè)置并行度,得到多個(gè)SubTask。為了使模型具備即時(shí)上線預(yù)測(cè)能力,可首先進(jìn)行預(yù)訓(xùn)練,將訓(xùn)練數(shù)據(jù)流放入Kafka集群,為了達(dá)到負(fù)載均衡,本文通過指定Kafka分區(qū)(partion)編號(hào)將訓(xùn)練數(shù)據(jù)以輪詢方式讀入Kafka的各個(gè)分區(qū),以平衡各個(gè)worker子節(jié)點(diǎn)獲得的數(shù)據(jù)量,也使得子模型的規(guī)模相當(dāng)?;贔link的分布式在線訓(xùn)練過程如算法1所示。

2.2 分布式模型在線聚合預(yù)測(cè)

得到分布式訓(xùn)練的子模型后,預(yù)測(cè)時(shí)需要將子模型預(yù)測(cè)結(jié)果進(jìn)行聚合,以獲取到最終的預(yù)測(cè)結(jié)果。預(yù)測(cè)時(shí),master節(jié)點(diǎn)實(shí)時(shí)地從Redis數(shù)據(jù)庫中加載子模型,子模型在線聚合預(yù)測(cè)過程如算法2所示。

3 實(shí)驗(yàn)過程與結(jié)果分析

3.1 實(shí)驗(yàn)環(huán)境

本文實(shí)驗(yàn)采用三臺(tái)PC機(jī)構(gòu)建Flink分布式計(jì)算集群,集群包括一臺(tái)master節(jié)點(diǎn)和三個(gè)worker節(jié)點(diǎn)(其中的一臺(tái)機(jī)器既是master節(jié)點(diǎn)又是worker節(jié)點(diǎn)),資源調(diào)度模式默認(rèn)采用Flink Standalone。集群硬件配置主要為:CPU 16 Core、內(nèi)存32 GB(機(jī)器1);CPU 16 Core、內(nèi)存32 GB(機(jī)器2);CPU 20 Core、內(nèi)存64 GB(機(jī)器3)。集群主要軟件組件如表1所示。

3.2 實(shí)驗(yàn)數(shù)據(jù)

實(shí)驗(yàn)數(shù)據(jù)采用UCI[28]平臺(tái)提供的三個(gè)公開回歸數(shù)據(jù)集和一個(gè)私有回歸數(shù)據(jù)集,其中AirQuality數(shù)據(jù)集包含來自空氣質(zhì)量傳感器設(shè)備的空氣監(jiān)測(cè)數(shù)據(jù);California_Housing數(shù)據(jù)集包含加州地區(qū)的房價(jià)數(shù)據(jù);WineQuality數(shù)據(jù)集是對(duì)意大利同一地區(qū)種植的葡萄酒進(jìn)行品質(zhì)分析的數(shù)據(jù);Pressure為油井壓裂作業(yè)數(shù)據(jù)以及Kaggle用于質(zhì)量檢測(cè)的Mining數(shù)據(jù)集。這些數(shù)據(jù)都按一定時(shí)序范圍采集的流數(shù)據(jù)。具體指標(biāo)如表2所示。

3.3 基準(zhǔn)模型

本文采用了三個(gè)在線模型作為應(yīng)用于Flink分布式在線訓(xùn)練的基準(zhǔn)模型,其中ARF-Reg(adaptive random forest for regression)模型[4]改進(jìn)了文獻(xiàn)[5]的分類任務(wù),提出了它的回歸算法,采用了重采樣方法和自適應(yīng)算子來應(yīng)對(duì)不斷變化的數(shù)據(jù)流,可以處理不同類型的概念漂移。HTR(Hoeffding tree regression)[29]是增量樹算法[7]的改進(jìn),該算法對(duì)數(shù)據(jù)流中的每個(gè)樣本檢查一次,并逐步生成一棵樹型模型,該樹的葉節(jié)點(diǎn)中存儲(chǔ)著擴(kuò)展結(jié)構(gòu)所必需的統(tǒng)計(jì)信息,并可進(jìn)行在線預(yù)測(cè)。iSOUP-Tree-Regressor[30]是一種基于樹的在線MTR方法,重點(diǎn)在于樹歸納過程中使用的啟發(fā)式函數(shù)和最佳分割的選擇,以遞增方式增長樹。 上述基準(zhǔn)模型均為經(jīng)典在線學(xué)習(xí)模型,并且都是基于樹狀模型,模型聚合只能夠由預(yù)測(cè)結(jié)果來聚合,可在持續(xù)數(shù)據(jù)流中不斷進(jìn)行模型優(yōu)化,應(yīng)用于Flink在線集成框架,可有效提升在線訓(xùn)練效率,同時(shí)有利于提高預(yù)測(cè)性能。

3.4 預(yù)測(cè)性能對(duì)比與分析

為了評(píng)估在本地環(huán)境下和在集群環(huán)境下的模型準(zhǔn)確率情況,使用表1所列數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),分別使用表1數(shù)據(jù)集在單機(jī)環(huán)境和集群環(huán)境對(duì)多個(gè)在線學(xué)習(xí)模型進(jìn)行訓(xùn)練,模型誤差(MSE)是通過訓(xùn)練出的模型對(duì)相應(yīng)的測(cè)試集進(jìn)行預(yù)測(cè),最終的結(jié)果如表2所示。與單機(jī)模式下的性能對(duì)比,針對(duì)三種在線回歸模型,在分布式在線訓(xùn)練與預(yù)測(cè)框架下得到的五個(gè)數(shù)據(jù)集MSE統(tǒng)計(jì)結(jié)果如表3所示,集群分布式模式與單機(jī)模式性能靠近,其中iSOUP-Tree-Regressor模型在分布式框架下,在五個(gè)數(shù)據(jù)集中,其性能均優(yōu)于單機(jī)模式,說明該在線學(xué)習(xí)模型在分布式在線訓(xùn)練和聚合框架中,更能提升模型的整體性能。

3.5 訓(xùn)練時(shí)間對(duì)比與分析

為了準(zhǔn)確地反映出算法在集群環(huán)境和單機(jī)環(huán)境訓(xùn)練的時(shí)間效率問題,應(yīng)該采用較為復(fù)雜的模型進(jìn)行實(shí)驗(yàn)。這是由于模型越復(fù)雜,需要訓(xùn)練的時(shí)間越久,簡單模型訓(xùn)練時(shí)間在本地和集群差別不大。本文采用表1所列數(shù)據(jù)集和ARF-Reg算法進(jìn)行實(shí)驗(yàn),并將最終訓(xùn)練時(shí)間取三次訓(xùn)練的平均時(shí)間進(jìn)行對(duì)比,最終結(jié)果如圖4所示。

圖4展示了ARF-Reg算法在不同規(guī)模數(shù)據(jù)集上訓(xùn)練所需要的時(shí)間。當(dāng)數(shù)據(jù)集較小時(shí),單機(jī)訓(xùn)練和集群訓(xùn)練的時(shí)間差別不大,隨著數(shù)據(jù)規(guī)模的增加,算法在集群上訓(xùn)練的優(yōu)勢(shì)就尤為明顯。這是因?yàn)镕link將數(shù)據(jù)集劃分到多個(gè)TaskManager,每個(gè)TaskManager獲得一部分?jǐn)?shù)據(jù)進(jìn)行在線訓(xùn)練,有效減少了訓(xùn)練數(shù)據(jù)量,降低了訓(xùn)練過程的計(jì)算復(fù)雜度。其中,由于Mining數(shù)據(jù)集由于數(shù)量級(jí)與其他四個(gè)數(shù)據(jù)集相差過大,模型訓(xùn)練時(shí)使用的并行度為6,所以不便于在一張圖展示,在單機(jī)環(huán)境下,Mining數(shù)據(jù)集在ARF模型上訓(xùn)練時(shí)間為22 687 s,集群環(huán)境下,Mining數(shù)據(jù)集在ARF模型上訓(xùn)練時(shí)間為6 874 s,相差約2.9倍。

3.6 參數(shù)分析

為了進(jìn)一步分析不同并行度對(duì)訓(xùn)練時(shí)間和模型性能的影響,選用California_Housing 數(shù)據(jù)集和ARF-Reg模型進(jìn)行實(shí)驗(yàn)和分析。數(shù)據(jù)集分別在單機(jī)環(huán)境,并行度參數(shù)(parallelism)分別為1、3和6的分布式環(huán)境下實(shí)驗(yàn),最終結(jié)果如圖5所示。從圖5的結(jié)果可以看出,隨著并行度的增加,算法的訓(xùn)練時(shí)間隨之下降。但是模型的預(yù)測(cè)準(zhǔn)確性卻出現(xiàn)下降的情況。這是由于在集群訓(xùn)練過程中,隨著并行度的增加,F(xiàn)link將數(shù)據(jù)集切分成過多的數(shù)據(jù)塊,導(dǎo)致了每個(gè)小數(shù)據(jù)塊與原始數(shù)據(jù)集的數(shù)據(jù)分布有所差別,導(dǎo)致訓(xùn)練出來的模型與單機(jī)結(jié)果不一致。所以在分布式訓(xùn)練模型時(shí),參考數(shù)據(jù)流的規(guī)模,不宜將并行度設(shè)置過大,選擇合適的并行度將有利于提高訓(xùn)練效率和模型整體性能。

4 結(jié)束語

在當(dāng)今大數(shù)據(jù)時(shí)代背景下,傳統(tǒng)的離線機(jī)器學(xué)習(xí)已無法適應(yīng)大規(guī)模的流式數(shù)據(jù)集。本文對(duì)現(xiàn)有的在線學(xué)習(xí)算法進(jìn)行深入研究,結(jié)合Flink框架,實(shí)現(xiàn)了一個(gè)基于Flink的在線學(xué)習(xí)平臺(tái),有效地克服了單機(jī)訓(xùn)練在處理大規(guī)模流式數(shù)據(jù)集出現(xiàn)的OOM(內(nèi)存溢出)、訓(xùn)練效率低等問題。實(shí)驗(yàn)結(jié)果表明,本文在保證了一定算法準(zhǔn)確率的前提下,能較大程度減少訓(xùn)練時(shí)間、提高訓(xùn)練速度,是傳統(tǒng)在線學(xué)習(xí)算法處理大規(guī)模數(shù)據(jù)集的有效解決方案。本文方法不足之處在于對(duì)于結(jié)構(gòu)較為復(fù)雜的模型,實(shí)時(shí)加載會(huì)消耗較長時(shí)間,在預(yù)測(cè)時(shí),無法滿足一個(gè)樣本預(yù)測(cè)之后,下一樣本加載到最新的模型。本文雖然將Flink與現(xiàn)有的在線學(xué)習(xí)平臺(tái)做了整合提出一套分布式訓(xùn)練框架,但仍有許多不足之處,為此對(duì)下一步研究工作作出以下展望:a)該設(shè)計(jì)進(jìn)行在線聚合預(yù)測(cè)需要對(duì)模型進(jìn)行動(dòng)態(tài)加載,對(duì)于結(jié)構(gòu)復(fù)雜的模型實(shí)時(shí)性不足,因此可進(jìn)一步提升模型加載效率,增強(qiáng)其實(shí)時(shí)性;b)該設(shè)計(jì)在做分布式訓(xùn)練時(shí)運(yùn)用的是命令行的方式提交任務(wù),不具有拓展性和易用性,因此后續(xù)將考慮使用可視化界面交互,用戶只需在選擇模型以及參數(shù)即可。

參考文獻(xiàn):

[1]Dean J, Ghemawat S. MapReduce:a flexible data processing tool[J].Communications of the ACM,2010,53(1):72-77.

[2]Zaharia M, Xin R S, Wendell P, et al. Apache spark: a unified engine for big data processing[J].Communications of the ACM,2016,59(11):56-65.

[3]Carbone P, Ewen S, Fóra G, et al. State management in Apache Flink: consistent stateful distributed stream processing[J].Proceedings of the VLDB Endowment,2017,10(12):1718-1729.

[4]Gomes H M, Barddal J P, Ferreira L E B, et al. Adaptive random forests for data stream regression[C]//Proc of European Symposium on Artificial Neural Networks.2018:267-272.

[5]Gomes H M, Bifet A, Read J, et al. Adaptive random forests for evolving data stream classification[J].Machine Learning,2019,106:1469-1495.

[6]Krawczyk B, Minku L L, Gama J, et al. Ensemble learning for data stream analysis:a survey[J].Information Fusion,2017,37:132-156.

[7]Kumar A, Kaur P, Sharma P. A survey on Hoeffding tree stream data classification algorithms[J].International Journal of Science and Research,2015,5(4):2094-2097.

[8]Osojnik A, Panov P, Dzeroski S. Multi-label classification via multi-target regression on data streams[J].Machine Learning,2017,106:745-770.

[9]Van Der Veen J S, Van Der Waaij B, Lazovik E, et al. Dynamically scaling Apache storm for the analysis of streaming data[C]//Proc of the 1st International Conference on Big Data Computing Service and Applications.Piscataway,NJ:IEEE Press,2015:154-161.

[10]Fontenla-Romero O, Guijarro-Berdias B, Martinez-Rego D, et al. Online machine learning[M]//Igelnik B, Zurada J M. Efficiency and Scalability Methods for Computational Intellect.Hershey,PA:IGI Global,2013:27-54.

[11]Benczúr A A, Kocsis L, Pálovics R. Online machine learning in big data streams[EB/OL].(2018-02-16).https://arxiv.org/abs/1802.05872.

[12]Nguyen D T, Joty S, Imran M, et al. Applications of online deep learning for crisis response using social media information[EB/OL].(2016-10-05).https://arxiv.org/abs/1610.01030.

[13]Nallaperuma D, Nawaratne R, Bandaragoda T, et al. Online incremental machine learning platform for big data-driven smart traffic management[J].IEEE Trans on Intelligent Transportation Systems,2019,20(12):4679-4690.

[14]Saadallah A, Morik K. Online ensemble aggregation using deep reinforcement learning for time series forecasting[C]//Proc of the 8th International Conference on Data Science and Advanced Analytics.Piscataway,NJ:IEEE Press,2021:1-8.

[15]Von Krannichfeldt L, Wang Yi, Hug G. Online ensemble learning for load forecasting[J].IEEE Trans on Power Systems,2021,36(1):545-548.

[16]Ditzler G, Labarck J, Ritchie J, et al. Extensions to online feature selection using bagging and boosting[J].IEEE Trans on Neural Networks and Learning Systems,2018,29(9):4504-4509.

[17]Wang Boyu, Pineau J. Online bagging and boosting for imbalanced data streams[J].IEEE Trans on Knowledge and Data Enginee-ring,2016,28(12):3353-3366.

[18]王銘坤,袁少光,朱永利,等.基于Storm的海量數(shù)據(jù)實(shí)時(shí)聚類[J].計(jì)算機(jī)應(yīng)用,2014,34(11):3078-3081.(Wang Mingkun, Yuan Shaoguang, Zhu Yongli, et al. Real-time clustering for massive data using storm[J].Journal of Computer Applications,2014,34(11):3078-81.)

[19]王志平,李小勇.基于實(shí)時(shí)計(jì)算平臺(tái)的虛擬機(jī)調(diào)度策略[J].計(jì)算機(jī)工程,2016,42(5):30-34,41.(Wang Zhiping, Li Xiaoyong. Virtual machine scheduling policy based on real-time computing platform[J].Computer Engineering,2016,42(5):30-34,41.)

[20]吳正江,陳如,張霄宏.Spark下BP神經(jīng)網(wǎng)絡(luò)并行化算法研究[J].測(cè)控技術(shù),2018,37(3):23-27.(Wu Zhengjiang, Chen Ru, Zhang Xiaohong. Research on parallel algorithm of BP neural network under Spark[J].Measurement amp; Control Technology,2018,37(3):23-27.)

[21]Chen J, Li Kenli, Tang Zhuo, et al. A parallel random forest algorithm for big data in a Spark cloud computing environment[J].IEEE Trans on Parallel and Distributed Systems,2017,28(4):919-933.

[22]白玉辛,劉曉燕.并行SVM算法在Flink平臺(tái)的應(yīng)用研究[J].小型微型計(jì)算機(jī)系統(tǒng),2021,42(5):1003-1007.(Bai Yuxin, Liu Xiaoyan. Application research of parallel SVM algorithm on Flink platform[J].Journal of Chinese Computer Systems,2021,42(5):1003-1007.)

[23]蔡鯤鵬,李澄非,田果.基于Flink平臺(tái)的K-means算法[J].信息技術(shù),2019(3):75-78.(Cai Kunpeng, Li Chengfei, Tian Guo. Application of K-means algorithm based on Flink platform[J].Information Technology,2019(3):75-78.)

[24]Yang Fan, Wang Huaqiong, Fu Jianjing. Improvement of recommendation algorithm based on collaborative deep learning and its paralle-lization on Spark[J].Journal of Parallel and Distributed Computing,2021,148:58-68.

[25]Liu Yue, Lou Yuansheng, Huang Sipei. Parallel algorithm of flow data anomaly detection based on isolated forest[C]//Proc of International Conference on Artificial Intelligence and Electromechanical Automation.Piscataway,NJ:IEEE Press,2020:132-135.

[26]Marfoq O, Neglia G, Bellet A, et al. Federated multi-task learning under a mixture of distributions[EB/OL].(2022-11-07).https://arxiv.org/abs/2108.10252.

[27]Sattler F, Müller K R, Samek W. Clustered federated learning: model-agnostic distributed multitask optimization under privacy constraints[J].IEEE Trans on Neural Networks and Learning Systems,2021,32(8):3710-3722.

[28]Aha D, Murphy P, Merz C, et al. UCI machine learning repository[EB/OL].(2021-02-04).https://archive.ics.uci.edu/ml/index.php.

[29]Bifet A, Holmes G, Pfahringer B, et al. MOA: massive online analysis, a framework for stream classification and clustering[J].Proceedings of Machine Learning Research,2010,11:44-50.

[30]Osojnik A, Panov P, Deroski S. Tree-based methods for online multi-target regression[J].Journal of Intelligent Information Systems,2018,50:315-339.

主站蜘蛛池模板: 成人在线观看一区| 在线视频一区二区三区不卡| 欧美国产精品拍自| 一级毛片免费不卡在线| 国产精品欧美激情| 久久99国产精品成人欧美| 日本在线免费网站| 国产精品对白刺激| 另类专区亚洲| 亚洲无码精品在线播放| 最新国产成人剧情在线播放| 国产导航在线| 国产成人永久免费视频| 久久美女精品| 国产激情无码一区二区APP| 看国产一级毛片| 欧美成人精品一级在线观看| 久久99精品国产麻豆宅宅| 亚洲综合经典在线一区二区| 人妻少妇乱子伦精品无码专区毛片| 国产高潮流白浆视频| 国产流白浆视频| 黄色一级视频欧美| 欧美成人精品高清在线下载| 日日碰狠狠添天天爽| 72种姿势欧美久久久久大黄蕉| 久久精品国产亚洲麻豆| 久久精品无码一区二区日韩免费| 美女内射视频WWW网站午夜 | 黄色国产在线| 亚洲高清资源| 日韩a在线观看免费观看| 久久中文无码精品| 91成人在线观看| 最近最新中文字幕在线第一页| 欧洲高清无码在线| 中文无码精品a∨在线观看| 18禁影院亚洲专区| 亚洲精品黄| 欧美人在线一区二区三区| 伊人久久大香线蕉影院| 国产一级毛片网站| 国产sm重味一区二区三区| 日本欧美视频在线观看| 国产精品99一区不卡| 久久精品视频一| 亚洲婷婷六月| 久久狠狠色噜噜狠狠狠狠97视色 | 26uuu国产精品视频| 成年网址网站在线观看| 免费毛片全部不收费的| 亚洲无码精彩视频在线观看| 国产成人一区免费观看| 国产91精选在线观看| 久久亚洲国产一区二区| 日韩欧美中文字幕在线韩免费 | 精品视频免费在线| 婷婷六月综合| 精品欧美视频| 久热re国产手机在线观看| 亚洲91精品视频| 国内丰满少妇猛烈精品播 | 在线观看欧美国产| 午夜天堂视频| 亚洲天堂日韩av电影| 午夜丁香婷婷| 欧美色99| 国产成人综合亚洲欧美在| 91探花在线观看国产最新| 国产黑丝视频在线观看| 久久久精品无码一区二区三区| 青草视频网站在线观看| 丁香六月综合网| 五月天久久综合| a级毛片免费网站| 性做久久久久久久免费看| 亚洲午夜福利在线| 黄色免费在线网址| 亚洲综合专区| 色老头综合网| 四虎永久免费在线| 蜜桃视频一区二区三区|