代麗萍,王敬雄,李為麗,劉春紅,2*,程渤
(1.河南師范大學(xué)計算機與信息工程學(xué)院,河南新鄉(xiāng) 453007;2.智慧商務(wù)與物聯(lián)網(wǎng)技術(shù)河南省工程實驗室河南新鄉(xiāng) 453007;3.北京郵電大學(xué)網(wǎng)絡(luò)與交換技術(shù)國家重點實驗室北京 100876)
大規(guī)模云平臺運行著成千上萬項應(yīng)用,云集群管理系統(tǒng)調(diào)度各種資源,以保障應(yīng)用的正常運行,并提高云資源的利用率[1]。目前,云資源調(diào)度策略的優(yōu)化已成為提高資源利用率的重要手段。其中,基于機器學(xué)習(xí)的任務(wù)終止?fàn)顟B(tài)預(yù)測結(jié)果,作為調(diào)度器采取相應(yīng)調(diào)度策略的決策依據(jù),已成為云資源管理優(yōu)化的研究熱門[2?10]。
在分布式云平臺的調(diào)度管理中,用戶的應(yīng)用請求以作業(yè)的形式提交到數(shù)據(jù)中心,每個作業(yè)由調(diào)度器分配計算和存儲資源,作業(yè)的一次調(diào)度運行,稱為任務(wù)。作業(yè)包含一個或多個任務(wù)。其中,任務(wù)終止?fàn)顟B(tài)包含驅(qū)逐、失敗、完成和被殺[1]。提前預(yù)測任務(wù)的終止?fàn)顟B(tài),對不能成功完成的任務(wù)采取相應(yīng)的調(diào)度策略,可有效節(jié)約資源,縮短任務(wù)的運行時間,提高資源的利用率[6?7,9?10]。
云平臺失敗任務(wù)預(yù)測研究分為任務(wù)終止?fàn)顟B(tài)影響因素的分析和終止?fàn)顟B(tài)預(yù)測方法兩個領(lǐng)域。任務(wù)終止?fàn)顟B(tài)影響因素的分析從失敗預(yù)測的可行性、任務(wù)和資源請求等屬性的相關(guān)性以及故障表征研究等進行分析[3?6]。Jassas 等人[2]探索了失敗作業(yè)與CPU 資源請求等因素之間的相關(guān)性。Islam 等人[3]對task 進行了故障表征研究,并探索云平臺進行失敗預(yù)測的可行性?;跈C器學(xué)習(xí)技術(shù)的終止?fàn)顟B(tài)預(yù)測是近年來的研究熱點。利用云平臺的監(jiān)視日志收集作業(yè)/任務(wù)的屬性和運行狀態(tài)數(shù)據(jù),在任務(wù)終止?fàn)顟B(tài)影響因素研究的基礎(chǔ)上,使用機器學(xué)習(xí)技術(shù),建立終止?fàn)顟B(tài)預(yù)測模型。目前常用支持向量機(SVM)[4],集成模型[5]和神經(jīng)網(wǎng)絡(luò)(NN)[7]進行預(yù)測。P.Padmakumari等人[5]使用bagging 集成學(xué)習(xí)策略,集成多個弱分類器進行失敗預(yù)測,并獲得較好的預(yù)測精度。越早期的失敗預(yù)測會帶來更好的收益,然而,越早期預(yù)測提供給預(yù)測模型的運行狀態(tài)信息量越少。Chen 等人[8]選擇在任務(wù)運行的1/2時刻,使用遞歸神經(jīng)網(wǎng)絡(luò)(RNN)模型預(yù)測,但預(yù)測時期相對較晚,且精度不高。Liu 等人[9]提出了利用作業(yè)間的結(jié)構(gòu)化信息,彌補早期預(yù)測時信息量的不足,在任務(wù)執(zhí)行1/3時刻進行預(yù)測的聯(lián)合預(yù)測方法,但該方法將任務(wù)終止?fàn)顟B(tài)簡化為成功和失敗兩類。
為了更準(zhǔn)確地對云平臺不同終止?fàn)顟B(tài)任務(wù)采取不同的調(diào)度策略,需要進一步對任務(wù)的終止?fàn)顟B(tài)預(yù)測進行細分,即不僅預(yù)測任務(wù)是成功還是失敗,還需要進一步細分失敗是驅(qū)逐、失敗或被殺的狀態(tài),從而采取提前終止或繼續(xù)運行等不同的調(diào)度策略。Rosa等人[7]提出的嵌套神經(jīng)網(wǎng)絡(luò)(Nested Neural Network,Nested Prediction)預(yù)測方法,進行任務(wù)多種終止?fàn)顟B(tài)的預(yù)測,并分析了作業(yè)終止?fàn)顟B(tài)對任務(wù)終止?fàn)顟B(tài)的影響。但是,該方法預(yù)測準(zhǔn)確率不高,如果某作業(yè)終止?fàn)顟B(tài)對應(yīng)的任務(wù)數(shù)量很少,則可能導(dǎo)致更低的準(zhǔn)確率。
本文以Google 云平臺的計算調(diào)度系統(tǒng)Borg[1]為研究對象,利用Google 公開的Borg 代表性工作負(fù)載監(jiān)控日志(由https://github.com/google/cluster?data 下載),該日志有一個月的監(jiān)控數(shù)據(jù),統(tǒng)計分析其失敗和被殺的任務(wù),其中,任務(wù)有多個事件在規(guī)定時間內(nèi),最后一個事件的終止?fàn)顟B(tài)被認(rèn)為是任務(wù)的最終終止?fàn)顟B(tài)。任務(wù)的事件是指提交、調(diào)度、運行和終止這四個狀態(tài)之間的轉(zhuǎn)換,運行過程中各個事件的最終執(zhí)行概率,統(tǒng)計結(jié)果如圖1所示。
圖1 各種事件對應(yīng)的任務(wù)成功執(zhí)行概率
由圖1 可見,事件成功執(zhí)行的概率隨著驅(qū)逐和失敗事件的增加而下降。由于驅(qū)逐的任務(wù)多是由于任務(wù)前期所請求資源不足或優(yōu)先級過高導(dǎo)致,任務(wù)運行后期可能會被滿足,可以再次重新調(diào)度。失敗的任務(wù)是因為任務(wù)本身出現(xiàn)問題而終止,所以即使重新調(diào)度,失敗的概率依然很高,而被殺的任務(wù)多是因為被用戶自己取消或者所依賴的任務(wù)失敗,可以再次重新調(diào)度,但如果調(diào)度后仍不能執(zhí)行,則最終終止的概率很大。
因此,對于不同任務(wù)終止類型需要采取不同的調(diào)度策略,可以提高機器運行效率、節(jié)約資源。為了對任務(wù)態(tài)采取更細粒度的調(diào)度策略,需要構(gòu)建多種終止?fàn)顟B(tài)的預(yù)測模型。
任取3 天的監(jiān)控日志數(shù)據(jù),統(tǒng)計分析任務(wù)的終止?fàn)顟B(tài)。任務(wù)終止?fàn)顟B(tài)中,驅(qū)逐、失敗、完成、被殺的比例為1∶2:3031∶343,其中,最大不均衡比例為1∶3031。終止?fàn)顟B(tài)為完成和被殺的任務(wù)數(shù)量遠遠高于驅(qū)逐和失敗的任務(wù),任務(wù)類別屬于極度類不均衡(class im‐balance)。當(dāng)處于極度不均衡的狀態(tài)時,很難對少數(shù)類的任務(wù),即驅(qū)逐和失敗狀態(tài),進行有效的預(yù)測。極度不均衡的訓(xùn)練集訓(xùn)練出來的分類器更偏向于多數(shù)類,從而使少數(shù)類的分類性能下降。
同時,由于Borg 系統(tǒng)中同一個作業(yè)包含的任務(wù),其大部分屬性相同,例如靜態(tài)特征優(yōu)先級、調(diào)度類、CPU 請求資源、RAM 請求資源和DISK 請求資源等特征屬性基本一致。而不同類別的任務(wù)往往在這些特征屬性上具有相似的數(shù)值,導(dǎo)致數(shù)據(jù)集在極度不均衡的同時,不同的終止?fàn)顟B(tài)具有明顯的類重疊,四種終止?fàn)顟B(tài)類的重疊程度如圖2所示。圖2將失敗預(yù)測特征使用PCA降維,選擇任務(wù)的主要二維特征作為橫縱坐標(biāo),不同顏色的點區(qū)分任務(wù)的不同終止?fàn)顟B(tài),圖2可見,驅(qū)逐和失敗狀態(tài)被成功狀態(tài)覆蓋,成功和被殺狀態(tài)有大面積的重疊。
圖2 四種終止?fàn)顟B(tài)的重疊圖
由于極度不均衡和類重疊的問題,常用的多分類預(yù)測方法不能獲得良好的預(yù)測性能。針對該問題,本文提出了自定義步長‐提升決策樹(Self Paced?Gradi‐ent Boosting Decision Tree,SP?GBDT)模型,對極度不均衡的原始數(shù)據(jù)集進行擴展比例的自定義步長欠采樣之后,選取重疊度較低的最優(yōu)二類組合,構(gòu)建梯度提升決策樹模型,將欠采樣之后的數(shù)據(jù)進行多分類。該方法能有效解決數(shù)據(jù)集的不均衡程度和類重疊程度,篩選出信息含量更為豐富的數(shù)據(jù),提高模型對于少數(shù)類任務(wù)的正確分類能力,獲得很好的分類性能。
為實現(xiàn)任務(wù)不同終止?fàn)顟B(tài)的準(zhǔn)確預(yù)測,提出了SP?GBDT預(yù)測方法。算法架構(gòu)圖如圖3所示。
圖3 SP?GBDT架構(gòu)圖
設(shè)待預(yù)測數(shù)據(jù)共有n類,為計算各個任務(wù)不同終止?fàn)顟B(tài)之間的重疊度,以及更好地對二類組的任務(wù)數(shù)據(jù)進行自定義步長的欠采樣,將不同任務(wù)的多個終止?fàn)顟B(tài)分為若干個二類組。首先將不均衡的數(shù)據(jù)集按7∶3 的比例,隨機分為訓(xùn)練集和測試集。將訓(xùn)練集分為n(n-1)/2 二類的組合,并根據(jù)各個二類組合的平衡比例和類重疊程度,選擇最優(yōu)的二類組合;然后針對數(shù)據(jù)集極度不均衡的情況,擴展欠采樣的比例,以獲取更多的信息含量豐富的任務(wù),同時使得多類和少類的數(shù)據(jù)具有較為平衡的比例;最后使用欠采樣后的新訓(xùn)練集訓(xùn)練模型,使用原始測試集進行多分類預(yù)測。
數(shù)據(jù)集X 包含n個任務(wù),其中X={x1,x2,...,xn} 。任務(wù)xi包含了靜態(tài)和動態(tài)特征,i={1 ,2,???,n},n∈N+。標(biāo)簽Y包含n個任務(wù)的終止?fàn)顟B(tài),即Y={y1,y2,...,yn} 。任務(wù)的終止?fàn)顟B(tài)yi由一維類別標(biāo)簽組成,其中yi∈{2 ,3,4,5},2 表示任務(wù)終止?fàn)顟B(tài)為驅(qū)逐,3表示任務(wù)執(zhí)行失敗,4 表示任務(wù)執(zhí)行成功,5 表示任務(wù)在執(zhí)行過程中被殺。
任務(wù)各個終止?fàn)顟B(tài)的重疊程度對其可分離性是有一定程度的影響的。至少有兩個類C1、C2同時出現(xiàn)在區(qū)域A 的概率大于0,即對任意的重疊任務(wù)數(shù)據(jù)xi,。如果重疊區(qū)域較大,則分類器的性能指標(biāo)便會降低。
為降低不同類別的重疊度,利用支持向量數(shù)據(jù)描述算法(Support Vector Data Description,SVDD)[11]方法識別互相重疊的任務(wù)數(shù)量,從而確定重疊區(qū)域。然后選取均衡比例較好且重疊度最低的二類組合為最優(yōu)的組合。
SVDD模型的決策函數(shù)如公式(1)所示:
其中sgn(?)是階躍函數(shù),取值在?1、0、1之中。
將任務(wù)數(shù)據(jù)輸入到SVDD 模型中,其決策函數(shù)的值若滿足以下條件,則可對任務(wù)是否為重疊樣本進行判定。其中,SVDD算法參數(shù)默認(rèn)選擇為0.5。
利用SVDD 算法對任務(wù)數(shù)據(jù)中的每個終止?fàn)顟B(tài)類別進行單類學(xué)習(xí),基于各個單類模型的決策函數(shù)f(x)進行計算比較。若任務(wù)樣本數(shù)據(jù)在至多一個單類模型上的決策函數(shù)值大于或等于0,則它處于非重疊區(qū)域;若任務(wù)在至少兩個單類模型上的決策函數(shù)值大于或等于0,則它處于重疊區(qū)域。
以計算任務(wù)終止?fàn)顟B(tài)為完成和失敗的兩類樣本的重疊度計算為例說明:第一步,完成樣本和失敗樣本分別訓(xùn)練了SVDD 的模型為M1和M2。第二步,合并完成和失敗兩類樣本,將合并后的數(shù)據(jù)分別輸入M1、M2模型中,得到?jīng)Q策函數(shù)的值。第三步,根據(jù)一個樣本中至少兩個決策函數(shù)值大于等于0 即為重疊區(qū)域,計算完成和失敗兩類中重疊樣本個數(shù)。第四步,重疊樣本個數(shù)比上合并樣本總數(shù)即為完成和失敗兩類的重疊比例。
SP?GBDT 使用SP 欠采樣(Self?paced under?sam‐pling)[12],減少帶有各類比例不均衡的任務(wù)數(shù)據(jù)對模型的影響。采用GB 算法和決策樹(CART)作為基學(xué)習(xí)器,其中,決策樹能最大化擬合訓(xùn)練數(shù)據(jù)。將GB算法和CART 決策樹模型結(jié)合,得到GBDT 模型。GB‐DT 模型能通過梯度提升的方法集成多個決策樹,損失函數(shù)是deviance,且將負(fù)梯度作為上一輪單顆決策樹犯錯的衡量指標(biāo),在下一輪學(xué)習(xí)中通過擬合負(fù)梯度來糾正上一輪犯的錯誤。因此,SP?GBDT 模型解決極度不均衡的同時,增加邊界樣本的重要性。
SPE 欠采樣中硬度函數(shù)和自定義步長的定義如下:
(1)硬度函數(shù):硬度函數(shù)的定義如公式(3),每個任務(wù)樣本具有一個硬度值,將多類的任務(wù)數(shù)據(jù)按照硬度值分成k個箱子,其中k是超參。每個箱子都有一個特定的硬度級別,通過保持每個箱子中的總硬度值相同,對數(shù)據(jù)集進行欠采樣,使其達到一個平衡的程度。硬度函數(shù)如公式(3)所示:
其中,f(x)為GBDT 模型的目標(biāo)函數(shù),即硬度函數(shù)的值和使用的模型相關(guān)。
然而在訓(xùn)練過程中,只通過協(xié)調(diào)箱子的硬度值,使分類器逐步對訓(xùn)練集進行擬合,會導(dǎo)致信息含量并不豐富的任務(wù)數(shù)據(jù)樣本的數(shù)量不斷增加。而且這些樣本由于信息量較小,大大降低了迭代的學(xué)習(xí)過程。因此,本文引入“自定義步長因子(Self?paced 因子)”來自動協(xié)調(diào)上述不足。
(2)自定義步長因子:Self?paced 因子,記為η,能協(xié)調(diào)各個箱子的硬度值,且能逐步調(diào)控箱子的抽樣概率。當(dāng)η變大的時候,模型更加關(guān)注分類較為困難的樣本,而不是只簡單的協(xié)調(diào)硬度值。
首先,將多類任務(wù)樣本分為多個二類組合,根據(jù)其不均衡比例和類重疊度選出最優(yōu)的二類組合;然后分別對二類組合進行SP 欠采樣;最后進行多分類預(yù)測。具體步驟如下所示:
Step 1:將二類組合中任務(wù)樣本的數(shù)據(jù)集分為訓(xùn)練集和測試集,根據(jù)訓(xùn)練集中任務(wù)不同終止?fàn)顟B(tài)的數(shù)量,分為多類和少類。
Step 2:第i=1次迭代,其中i=1,2,???,M
1)初始化GBDT集成模型f0(x)。
2)根據(jù)硬度函數(shù)H(x,y,f)和f0(x),將訓(xùn)練集中的多類切分成k個箱子,分別是B1,B2,???,Bk。
3)第j個箱子平均硬度值為
5)第j個箱子的非標(biāo)準(zhǔn)化采樣權(quán)重。
7)使用最新的欠采樣數(shù)據(jù)子集對GBDT 模型fi(x)進行更新訓(xùn)練。
Step 3:在fM(x)=,x∈R jm時,得到最終的集成模型,將測試集輸入到訓(xùn)練好的集成模型中,得到多分類的結(jié)果。
SP?GBDT 模型針對云平臺任務(wù)終止?fàn)顟B(tài)預(yù)測時,不同終止?fàn)顟B(tài)的極度不均衡和類重疊的問題,首先根據(jù)均衡比例和重疊度,得出訓(xùn)練數(shù)據(jù)集的最優(yōu)二類組合,然后構(gòu)建模型,將二分類欠采樣擴展為多分類欠采樣。算法描述如算法1所示。
采用大型通用云平臺Google 的監(jiān)控日志數(shù)據(jù)集進行驗證。篩選了Google集群日志前三天的數(shù)據(jù),該樣本數(shù)據(jù)集中共有10473個job,包含1665280個任務(wù)。
驗證實驗分為3 組:(1)類重疊度的計算和最優(yōu)欠采樣比例的選擇;(2)欠采樣參數(shù)的選擇;(3)預(yù)測結(jié)果的比較和可視化分析。
實驗在集群系統(tǒng)上進行,該集群由兩個E5?2630 CPU,32 G RAM 和兩個Tesla K20m 圖形卡。在Py‐thon 3.6和MATLAB R2016a環(huán)境下運行。
由于云平臺數(shù)據(jù)集從真實環(huán)境中采集獲取,數(shù)據(jù)集存在部分噪聲和缺失值等問題,首先進行數(shù)據(jù)的清洗處理。清洗過程如文獻[6]所示。
接著進行歸一化。由于任務(wù)各個特征屬性的度量單位不同,通過Z?score 函數(shù)將由任務(wù)樣本數(shù)據(jù)標(biāo)準(zhǔn)化。其中Z?score函數(shù)的如公式如(4)所示:
其中s是特征的標(biāo)準(zhǔn)差,是任務(wù)特征的平均值。
多分類評價指標(biāo)分為宏平均(Macro?average)和微平均(Micro?average),以召回率(Recall)為例,Mac‐ro?R 表示宏平均的Recall,Micro?R 表示微平均的Re‐call。其中Macro?R 為將n分類的預(yù)測值拆成n個二分類的預(yù)測值,計算每個二分類的Recall,n個Recall的平均值即為Macro?R。Micro?R 為將n分類的預(yù)測值拆成n個二分類的預(yù)測值,將n個二分類評價的TP、FP、TN、FN對應(yīng)相加,計算Recall。針對極度不均衡的多分類來說,Macro?R 受樣本數(shù)量少的類別影響較大,比Micro?R更合理。所以本文在測試數(shù)據(jù)集上,選擇宏平均來度量分類器性能,更側(cè)重對小類判別的有效性評價。
G?mean 是評價不均衡多分類模型的常用指標(biāo),正例準(zhǔn)確率與負(fù)例準(zhǔn)確率的綜合指標(biāo)。因為數(shù)據(jù)集極度不均衡時,模型可能會對多類數(shù)據(jù)產(chǎn)生過擬合現(xiàn)象,導(dǎo)致實驗結(jié)果的預(yù)測精度很高,但此模型對少數(shù)類的預(yù)測正確率將會很低。
多分類各評價指標(biāo)的計算公式如(5~9)所示。
將任務(wù)樣本各個終止?fàn)顟B(tài)分為若干種二類組合,使用SVDD 模型計算各個二類組合的不均衡比例以及重疊度,以獲取不均衡比例較低且重疊度最低的二類組合。具體數(shù)值如表1所示。
表1 各種二類組合的不均衡比例及重疊度
由表1 可知,四類終止?fàn)顟B(tài)可分為三種組合方式,首先判斷三種方式整體的均衡比例,第三種方式整體并不均衡,比例為1∶1069.4,而第一種和第二種方式的比例大約為1∶8.77 和1∶8.81,所以排除第三種組合。然后根據(jù)SVDD 算法,計算各個二類組合的重疊度,比較其重疊度之和,其中第二種組合方式的重疊度比第一種高了3.54%,所以排除第二種組合。因此,選擇了驅(qū)逐、完成和失敗、被殺的第一種二類組合方式。
對比實驗分為兩組:(1)選取欠采樣過程中使用箱子個數(shù)的最優(yōu)值K;(2)選取SP欠采樣的最優(yōu)比例。
(1)選取欠采樣過程中箱子個數(shù)的最優(yōu)值K
SP 采樣不是簡單地平衡正/負(fù)數(shù)據(jù)或直接分配權(quán)值,并根據(jù)硬度分布迭代地選擇信息量最大的大多數(shù)數(shù)據(jù)樣本。采樣過程中,將數(shù)量較多類的任務(wù)分為K個箱子,根據(jù)硬度函數(shù)去篩選信息含量更為豐富的一個箱子。分類模型使用GBDT 模型。將SP 的采樣比例固定在1∶1,然后選取最優(yōu)的K值,其中K 的取值范圍為[1,15]。K參數(shù)的確定實驗如圖4所示。
圖4 不同箱子個數(shù)下各個評價指標(biāo)的值
將各個評價指標(biāo)畫為折線圖,折線圖上綠色圓點為此條折線圖的最高值。從圖4可知,雖然隨著K值的變化,各個評價指標(biāo)的值是沒有固定變化趨勢,但是各個評價指標(biāo)的最優(yōu)值均在K=10的時刻。其中,Macro為宏平均,是更加針對少數(shù)類預(yù)測結(jié)果正確與否的方法。綜上,SP欠采樣過程中,最終選取的K值為10。
(2)選取SP欠采樣的最優(yōu)比例
由于Google數(shù)據(jù)集中數(shù)據(jù)量大,且任務(wù)終止?fàn)顟B(tài)最大不均衡比例為1∶3031,屬于極度不均衡。如果只是按照1∶1 比例進行欠采樣,會使得原始數(shù)據(jù)大量丟失。針對上述問題,將采樣比例進行了擴展。為選取SP的最優(yōu)采樣比例,本組實驗從1∶1遞增到1∶15進行測試。實驗使用的多分類模型為GBDT 模型,實驗結(jié)果如表2所示。
表2 不同采樣比例的對比實驗
欠采樣的擴展比例不宜過高或過低,因為擴展比例過高的話,數(shù)據(jù)集還會處于不均衡的狀態(tài),如果擴展比例太低,則所篩選的數(shù)據(jù)量太少。其中訓(xùn)練集經(jīng)過SP 欠采樣時,擴展比例為1∶1 以及1∶4 的數(shù)據(jù)分布對比如圖5所示。
圖5 SP欠采樣擴展比例的數(shù)據(jù)分布對比圖(a) 1∶1 (b)1∶4
從圖5 可以看出,采樣比例為1∶1時,訓(xùn)練集的重疊度已經(jīng)明顯減少,但其包含的任務(wù)數(shù)量明顯較少。根據(jù)表2,選擇了將1∶4 的擴展比例。1∶1 的欠采樣比例擴展為1∶4 之后,訓(xùn)練集中包含的數(shù)據(jù)量明顯增加,在保證篩選信息含量豐富的數(shù)據(jù)同時,也要保證原始數(shù)據(jù)不被過度刪除,充分保留原有數(shù)據(jù)的底層分布特征。由表2 可知,在欠采樣比例為不斷增加時,AUC、Macro?R、Macro?F 和Macro?P 的值逐漸升高后慢慢降低,G?mean、ACC 和時間性能的值逐漸提升。
因此綜合考慮各個指標(biāo)的最優(yōu)值,選取的SP 欠采樣比例為1∶4。
實驗分為兩組:(1)當(dāng)前常用采樣方法和所提方法對比,以及(2)多種分類模型和所提分類模型的對比。
采樣算法:采樣方法的對比采樣算法有不采樣、欠采樣和過采樣。其中5種欠采樣方法分別為隨機過采樣(Random Over?Sampler,ROS)[13]、自適應(yīng)綜合采樣(Adaptive Synthesis Sampling,ADASYN)[14],以及兩個基于合成少數(shù)類的過采樣技術(shù)(Synthetic Minori‐ty Over?sampling Technique,SMOTE)[16]的改進過采樣方法,即borderline?SMOTE1(bd?SMOTE1)和border‐line?SMOTE2 (bd?SMOTE2)[17]。2種欠采樣方法有Cluster Centroids (CLC)和隨機下采樣(Random Un‐der Sampler,RUS)。
多分類模型:選取了兩類模型,即2個單分類模型和3個集成模型進行試驗。單模型有DT、SVM,集成模型有AdaBoost[18]、Bagging[19]、隨機森林(Random Forest,RF)[20]集成模型。其中Bagging 集成方法通??紤]的是同質(zhì)弱學(xué)習(xí)器,相互獨立地并行學(xué)習(xí)這些弱學(xué)習(xí)器,并按照某種確定性的平均過程將它們組合起來。
(1)采樣方法的對比結(jié)果及分析
分別對數(shù)據(jù)進行不采樣、欠采樣、過采樣和SP 的1∶4 欠采樣比例。其中各個采樣方法在進行多分類時,采用分類模型為GBDT模型。
對比結(jié)果如表3 所示,由于云平臺數(shù)據(jù)集數(shù)據(jù)量大,過采樣會導(dǎo)致模型的訓(xùn)練時間普遍較長。其中在隨機過采樣之后,原本訓(xùn)練集的任務(wù)數(shù)量從608個變成了104362個,導(dǎo)致模型的訓(xùn)練時間顯著變長。而SP 的1∶4 欠采樣訓(xùn)練模型所用的時間為1.04s,時間性能明顯優(yōu)于其他采樣方法,極大地節(jié)省了云平臺的調(diào)度等待時間。
表3 各種采樣方法的終止?fàn)顟B(tài)預(yù)測結(jié)果
將數(shù)據(jù)集按7∶3 的比例分為訓(xùn)練集和測試集。訓(xùn)練集不采樣的數(shù)據(jù)分布以及訓(xùn)練集經(jīng)過SPE 的擴展比例欠采樣之后,數(shù)據(jù)分布如圖6 所示。其中為了將高維數(shù)據(jù)可視化,將其進行了t?SNE(t?dis‐tributed stochastic neighbor embedding)降 維[21]處理。
對比圖6(a)中未采樣的數(shù)據(jù)分布,圖6(b)中ROS 的過采樣方法雖然緩解了數(shù)據(jù)的不均衡程度,但數(shù)據(jù)的重疊程度依然很高,導(dǎo)致模型的效果并不理想。圖6(c)中數(shù)據(jù)的重疊程度明顯減少,但普通的欠采樣方法,只是簡單的將多數(shù)類樣本隨機剔除,被剔除的樣本可能包含著一些重要信息,導(dǎo)致,實驗效果均不理想。
由于RUS 欠采樣方法大量刪減了信息含量較高的數(shù)據(jù),導(dǎo)致欠采樣后的模型進行訓(xùn)練時,數(shù)據(jù)缺乏,使得模型效果較差。圖6(d)中可明顯看出,本文方法有效降低了樣本重疊度,且使得各個終止?fàn)顟B(tài)的樣本數(shù)量保持均衡的情況下,將欠采樣比例放寬到1∶4,且利用硬度函數(shù)篩選信息含量豐富的任務(wù)樣本,使得模型獲得良好的結(jié)果。
圖6 經(jīng)過采樣方法之后的訓(xùn)練集數(shù)據(jù)分布(a)未采樣(b) ROS (c) RUS (d) SP?GBDT
(2)預(yù)測結(jié)果的對比與分析
在對數(shù)據(jù)集進行欠采樣之后,將其輸入模型中進行多分類。表4 對比了各種預(yù)測模型的終止?fàn)顟B(tài)預(yù)測結(jié)果。其中,GBDT 模型中弱學(xué)習(xí)器的最大迭代次數(shù)為20,損失函數(shù)為對數(shù)似然損失函數(shù),決策樹最大深度為默認(rèn)值3。
由表4 可見,在單模型中,DT 模型對缺失值數(shù)據(jù)不敏感,且決策樹的信息增益傾GBDT模型,其中Macro?F 指標(biāo)差值達到了27.68%。由于SVM 模型在數(shù)據(jù)集含有較多噪聲和缺失值的情況下,對缺失值非常敏感,且不能有效處理含有較多噪聲的數(shù)據(jù),因此SVM 模型的各個評價指標(biāo)均低于GB‐DT。在3種集成模型中,AdaBoost 模型實現(xiàn)了多顆決策樹的加權(quán)運算,但不能有效處理數(shù)據(jù)不均衡的分布,導(dǎo)致各個指標(biāo)較低。由于Bagging 模型擬合程度差,使得各個指標(biāo)較低。RF 模型雖然能有效處理不均衡數(shù)據(jù),但其可能具有相似的決策樹,不能得到真實的多分類結(jié)果,導(dǎo)致其Macro?P和Macro?F1 指標(biāo)較低。GBDT 將gradient boosting算法和CART 決策樹結(jié)合在一起,其各個評價指標(biāo),在結(jié)果上基本上是較為優(yōu)于各個集成模型。
針對數(shù)據(jù)集不均衡程度和類重疊度會在一定程度上影響模型對少類預(yù)測值的問題,對少類(驅(qū)逐,失?。┑念A(yù)測準(zhǔn)確度進行了進一步的分析,結(jié)果如表5所示。
表5 顯示,在數(shù)據(jù)處于極度不均衡的狀態(tài)下,SP?GBDT 模型對于少數(shù)類任務(wù)樣本的預(yù)測仍具有良好的準(zhǔn)確性。
大型異構(gòu)云計算平臺上,針對任務(wù)終止?fàn)顟B(tài)的預(yù)測遇到數(shù)據(jù)集極度不均衡的問題,提出了一種重疊度區(qū)分的任務(wù)終止?fàn)顟B(tài)預(yù)測模型,且通過實驗選取了最優(yōu)的參數(shù),并驗證了所提方法的優(yōu)越性。對于實驗結(jié)果進行了深入分析。實驗結(jié)果表明,SP?GBDT 模型能在極大提升時間性能的基礎(chǔ)上,獲取更好的分類性能。同時,對任務(wù)的終止?fàn)顟B(tài)進行細粒度的多分類結(jié)果,便于云平臺系統(tǒng)的調(diào)度決策,提升云平臺的運算性能。