倪家明,張 耀,劉 鵬,賀小剛,王丹丹
(1.國網(wǎng)天津市電力公司,天津 300010;2.天津三源電力信息技術(shù)股份有限公司,天津 300010)
關(guān)聯(lián)規(guī)則提取的主要方向是實時云數(shù)據(jù)挖掘,將該規(guī)則應(yīng)用到數(shù)據(jù)挖掘過程中,能夠展現(xiàn)出不同數(shù)據(jù)之間的關(guān)系[1-2]。隨著因特網(wǎng)數(shù)據(jù)規(guī)模的不斷擴大,各維度云數(shù)據(jù)的復(fù)雜性越來越高,對實時云數(shù)據(jù)關(guān)聯(lián)規(guī)則展開有效提取有利于后期的數(shù)據(jù)運維分析[3]。
文獻[4]中設(shè)計了基于Spark 的關(guān)聯(lián)規(guī)則并行化挖掘與提取方法,該方法能夠發(fā)現(xiàn)大量實時云數(shù)據(jù)之間的聯(lián)系,并確定數(shù)據(jù)之間的連續(xù)性,通過關(guān)聯(lián)分析過程實現(xiàn)規(guī)則挖掘與提取。文獻[5]中設(shè)計了基于多目標協(xié)同進化遺傳算法的關(guān)聯(lián)規(guī)則提取方法,該方法利用帕累托原理優(yōu)化遺傳種群個體,然后利用個體相似度的基因型完成個體配對,并分割變異種群,再利用精英種群保存交叉種群的方式求取帕累托最優(yōu)解集,從而尋找連續(xù)型數(shù)值屬性,完成對規(guī)則的提取。然而,在實際應(yīng)用中發(fā)現(xiàn),傳統(tǒng)提取方法的項集標記結(jié)果不全面,易導(dǎo)致實例數(shù)據(jù)集與實際情況不一致。為此,該文設(shè)計了基于機器學(xué)習(xí)的實時云數(shù)據(jù)關(guān)聯(lián)規(guī)則提取方法,利用其為數(shù)據(jù)運維分析奠定基礎(chǔ)。
該文在貝葉斯概率支持下設(shè)計機器學(xué)習(xí)網(wǎng)絡(luò)模型,并調(diào)整隱層和可視層權(quán)重參數(shù),由此生成深度網(wǎng)絡(luò)目標數(shù)據(jù)。機器學(xué)習(xí)網(wǎng)絡(luò)架構(gòu)如圖1 所示。
圖1 機器學(xué)習(xí)網(wǎng)絡(luò)架構(gòu)
圖1 中,多層玻爾茲曼集組成了一個機器學(xué)習(xí)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)將神經(jīng)元分為顯性神經(jīng)元和隱性神經(jīng)元,上層和下層神經(jīng)元之間有聯(lián)想記憶單元,這一聯(lián)結(jié)是沒有方向的,可用于實現(xiàn)聯(lián)想記憶功能[6-7]。
機器學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練主要包括無監(jiān)督訓(xùn)練和調(diào)優(yōu)兩個步驟:
步驟一:無監(jiān)督訓(xùn)練。特定任務(wù)是分層訓(xùn)練受限制玻爾茲曼機器,每一層輸出結(jié)果都可作為上層輸入層[8]。上部神經(jīng)元被標記時,需要進行標記聯(lián)合訓(xùn)練[9]。
步驟二:調(diào)優(yōu)。調(diào)優(yōu)主要分兩個階段進行:認知階段和制作階段。其中,認知階段是依據(jù)機器學(xué)習(xí)模型輸入特征信息,并逐層輸出結(jié)構(gòu),再依據(jù)梯度下降法生成逐層權(quán)重參數(shù)。基本狀態(tài)信息由生成階段的頂層標簽標注并與向下權(quán)重信息組成,向上權(quán)重信息也在該階段被修改[10-11]。
在機器學(xué)習(xí)網(wǎng)絡(luò)的特征提取過程中,需要對輸入信號進行向量表示,并對其進行訓(xùn)練。最高級別的聯(lián)想記憶單元根據(jù)下級提供的線索來劃分任務(wù)[12]。通過基于標記數(shù)據(jù)的前饋神經(jīng)網(wǎng)絡(luò),機器學(xué)習(xí)網(wǎng)絡(luò)能夠精確調(diào)整分類性能,并在最后一層訓(xùn)練中進行識別[13]。與直接使用前向神經(jīng)網(wǎng)絡(luò)相比,該方法具有更高的效率,因為機器學(xué)習(xí)網(wǎng)絡(luò)只需要修改權(quán)重參數(shù)就可以進行局部訓(xùn)練[14],因此訓(xùn)練速度快、收斂時間短。
圖2 中顯示了所采用的系統(tǒng)模型結(jié)構(gòu)。左側(cè)為任務(wù)隊列,右側(cè)為資源隊列,中間為負責(zé)任務(wù)與資源匹配的中央服務(wù)器。
圖2 任務(wù)調(diào)度模型
該模型在加入輔助變量后產(chǎn)生虧損隊列,該隊列表示當前收益與目標收益差值,通過加入調(diào)節(jié)權(quán)重能夠控制系統(tǒng)收益平衡,以最小化構(gòu)建排隊處理與運維任務(wù)[15],具體過程如下:根據(jù)資源聚類內(nèi)容,生成調(diào)度隊列,保證隊列資源分配合理;對于一個隊列,選擇合適的輔助資源,從中挑選最大值;在最大挑選結(jié)果支持下,獲取生成資源向量;根據(jù)不同公式間生成關(guān)系,更新任務(wù)、資源向量[16]。
假設(shè)存在m個項目集合I={i1,i2,…,im},確定事務(wù)數(shù)據(jù)庫D,其中每個項集T都具有唯一標識符TID。若項目集為X?I且X?T,則事務(wù)集T包含項目集X,且X?Y蘊涵形式為關(guān)聯(lián)規(guī)則的一般表示。
關(guān)聯(lián)規(guī)則包括支持度和可信度兩個方面,當事務(wù)集同時支持多個事務(wù)時,可將其歸納到同一個事物數(shù)據(jù)庫中,該數(shù)據(jù)庫為關(guān)聯(lián)規(guī)則支持度。支持度對表達規(guī)則的頻率提供支持,并描述數(shù)據(jù)集中規(guī)則的前因和前因出現(xiàn)的比例。用minsup表示最小支持度,support(X)表示支持度統(tǒng)計顯著值。
對已知的事務(wù)數(shù)據(jù)庫D來說,在支持事務(wù)集X的事務(wù)中,還有支持事務(wù)集的事務(wù),即關(guān)聯(lián)規(guī)則X?Y的置信度。置信度代表著規(guī)則的強度,描述了規(guī)則在滿足其前提條件下發(fā)生的可能性。用minconf 表示規(guī)則的最小可信度,置信度大于最小可信度的關(guān)聯(lián)規(guī)則成為強規(guī)則。
此關(guān)聯(lián)規(guī)則基于以下條件建立:
1)事務(wù)數(shù)據(jù)庫中,至少存在一個支持度,作為整個數(shù)據(jù)庫的支持度;
2)交易數(shù)據(jù)庫中,至少存在一個支持度,該支持度(在支持事務(wù)集X的事務(wù)中,還有支持事務(wù)集Y的事務(wù))作為整個數(shù)據(jù)庫的支持度。
關(guān)聯(lián)規(guī)則挖掘問題在于,在事務(wù)數(shù)據(jù)庫中,指定一個支持度最低值和一個信任度最低值,確定一個支持度和信任度高于兩個預(yù)定值規(guī)則。
關(guān)聯(lián)規(guī)則提取可以分為如下兩步:
1)找到一組項集,其支持程度不低于用戶給出的最小支持度,即為強項集;
2)從強項集中導(dǎo)出關(guān)聯(lián)規(guī)則,對于每一個強點集A,如果B?A且B≠?,就有一個關(guān)聯(lián)規(guī)則B?(A-B)。
因為不同項目集的數(shù)量較大,所以要計算出所有項目集的支持是不可能的。機器學(xué)習(xí)算法是一種快速有效的方法,該方法將多次掃描數(shù)據(jù)庫中的大型項目集。
為方便表述,假設(shè)事物中項目集按照字典順序排列,該序列中包含k項集,每一個項集有一個計數(shù)域count,以儲存對項集的支持度。count≥minsup的k項集稱強k項集,記為Lk。若r為強項集,則所有非空白項也是r。反之,如果一個項目集的非空子集不是強項集,那么其就不是強項集。
基于此,求取Lk強項集Ck,該項集中任意一個項集的非空子集為強項集,即:
其中,s?r,且s≠?,support(s)≥minsup。
機器學(xué)習(xí)掃描原理為:經(jīng)過k次掃描后,數(shù)據(jù)庫D中的強項集為Lk。經(jīng)過k-1 次掃描后,得到的數(shù)據(jù)在Lk-1基礎(chǔ)上,可由Lk求取出候選強項集集合Ck。
對于任意一個規(guī)則,如果在強項集Ck中出現(xiàn),那么該項集的計數(shù)域count將會增加1。在完成掃描后,強項集Ck的count≥minsup所有項集均加入Lk中。
對事務(wù)中每一次計算Ck支持的已刪除項集,調(diào)用不包含任何標簽的事務(wù),在以后的掃描計數(shù)中計算候選項集的數(shù)目,支持的記錄數(shù)目比實際事務(wù)在數(shù)據(jù)庫中的數(shù)目少,且隨著k值的增大,差異也隨之增大,從而有效地減少候選項集的計數(shù),提高算法的效率,數(shù)據(jù)庫以及優(yōu)化過程數(shù)據(jù)庫變化如圖3 所示。
圖3 數(shù)據(jù)庫以及優(yōu)化過程數(shù)據(jù)庫變化
依據(jù)數(shù)據(jù)庫優(yōu)化結(jié)果,描述關(guān)聯(lián)規(guī)則運維流程:
Stepl:以數(shù)據(jù)庫D為例,輸入最小支持度,通過一次掃描計算每個項目集的支持度,得到集L1;
Step2:為了產(chǎn)生頻繁的k個項目集Lk,要按照已優(yōu)化的連通性方法產(chǎn)生k-1 個項目集Lk-1(項目集中的項目按其出現(xiàn)在整個數(shù)據(jù)庫中的頻率遞增);
Step3:計算Lk-1項頻率,然后標記頻率小于k+1的項,刪除包含任意元素的頻繁項集合,得到一個新的較小的頻繁項集合k-1;
Step4:沒有任何項目集的事務(wù)被標記為Delete,隨后單程掃描數(shù)據(jù)庫,計算每一項的支持度Ck;
Step5:從Ck中刪除不符合最低支持度項目集,并形成Lk;
Step6:重復(fù)Step2~Step5,直到無法生成一組新的頻繁項目集為止。
為驗證基于機器學(xué)習(xí)的實時云數(shù)據(jù)關(guān)聯(lián)規(guī)則提取與運維分析方法的合理性,設(shè)計如下實驗。分別使用傳統(tǒng)的基于Spark 的關(guān)聯(lián)規(guī)則并行化挖掘與提取方法和基于多目標協(xié)同進化遺傳算法的關(guān)聯(lián)規(guī)則提取方法作為對比,與該文方法共同完成性能驗證。
表1 實例數(shù)據(jù)分析
不同方法對實時云數(shù)據(jù)關(guān)聯(lián)規(guī)則的提取結(jié)果如圖4 所示。
由圖4 可知,應(yīng)用基于Spark 的提取方法后,獲取的實例數(shù)據(jù)集與實際情況不符,存在10 個項集;應(yīng)用基于多目標協(xié)同進化遺傳算法的提取方法后,獲取的實例數(shù)據(jù)集與實際情況不符,存在9 個項集;應(yīng)用基于機器學(xué)習(xí)的提取方法后,獲取的實例數(shù)據(jù)集與實際情況一致,存在7 個項集。由此可知,該文方法的提取效果更好。
圖4 不同方法的關(guān)聯(lián)規(guī)則提取結(jié)果
在生成大型實時云數(shù)據(jù)項目集后,利用機器學(xué)習(xí)法過濾強項集,減少繁瑣計算步驟,避免了對機器學(xué)習(xí)算法的裁剪,減少了循環(huán)次數(shù)。實驗結(jié)果表明,該文設(shè)計的基于機器學(xué)習(xí)的實時云數(shù)據(jù)關(guān)聯(lián)規(guī)則提取方法是有效可行的,可為數(shù)據(jù)運維分析奠定良好的基礎(chǔ)。