劉 運
(巢湖學院 信息工程學院,安徽 巢湖 238000)
循環神經網絡是一類以序列數據為輸入,在序列演進方向進行遞歸,且網絡中所有節點按鏈式連接的一種遞歸神經網絡,其根據有向圖內部含有鏈式相連的元素進行工作[1].多源異構數據中多源是多來源的大數據,異構指一個整體中包含不同成分特性的對象,多源異構數據是多來源且有著不同成分特性的數據.對多源異構數據進行融合,可以輔助研究人員獲取大數據中有效信息.為此,多源異構數據融合成為當前研究的熱點[2].
文獻[3]提出多源異構大數據跨源調度方法.該方法通過對多源異構大數據跨度原理進行分析,構建多源異構大數據統一數據模型,設置數據處理的規則以及分類方法,借助橫縱向數據的融合,增強多源異構大數據的一致性,然后通過對多源異構大數據優先級的處理,完成多源異構大數據跨源調度.該方法通過對多源異構大數據的有效融合,可實現多源異構大數據跨源調度,但該方法存在多源異構大數據融合過程中容錯能力較差等問題.
文獻[4]提出基于云平臺環境下的多源異構大數據均衡調度方法.該方法融合渲染特點和作業調度算法,劃分多級不同子任務,構建多源異構大數據的時間負載均衡模型,引入遺傳算法對構建的模型進行改進,獲取模型融合的最優解,保證多源異構發數據的有效調度.該方法有效提高了多源異構大數據的調度工作效率,具有較強的實用性,但該方法在進行大數據模型構建中存在融合后的數據結構不完整問題,存在一定局限性.
為解決上述方法中存在的問題,本文構建基于循環神經網絡的大數據融合模型,利用循環神經網絡特性,保證多源異構大數據全面性,保證模型最終融合效果.數據融合技術最早進步及發展是在20世紀80年代,歐美國家不僅在研究項目上取得突破性進展,而且已經逐漸形成成熟的實用性系統,取得一定成績[3].我國針對數據融合技術還處于起步階段,現已部署了重點研究項目,但未來挑戰與困難十分嚴峻.
多源異構大數據因其結構多樣性,數據結構會發生多樣融合結果[4-5].所以在多源異構融合前,需要定位多源異構大數據中節點.首先,利用改進螢火蟲算法計算異構錨點節點坐標的距離.假設錨點節點坐標分別為A(x1,y1),B(x2,y2),C(x3,y3)以及它們到相同的未知異構點距離為d1,d2,d3,定位方式如圖1所示.

圖1 定位方式Fig.1 Locate mode
圖1中,假設D點坐標為(x,y),計算得到D點坐標為:

D點坐標(x,y)還可以通過公式(2)進行計算:

由公式(2)可知,利用已知節點構成三角形,根據三角形計算異構數據節點.此時,圖1中計算方式拓展為如圖2所示.

圖2 節點坐標計算方式Fig.2 Calculation method of node coordinates
使用DV-HOP算法計算節點與錨節點跳數,計算公式為:

式中,xk+1|k表示K+1時刻狀態的先驗估計值,Pk|k表示K時刻后驗估計矩陣,Q為狀態估計值,T為時刻值.
針對多源異構大數據中移動節點,計算距離時聯立公式(2)和公式(3),利用MCL算法處理得到錨節點與跳數之間距離.使用公式(3)初步鎖定異構數據所在區域,并采集此區域內所有樣本點,預測未知移動節點位置[6-7].
假設其運動速度滿足區間[0,Vmax],并呈現區間均勻分布,此時未知節點位置為:

(4)式中,s(lt|lt-1)表示在t-1時刻到t時刻移動節點距離.設定跳點之間通信半徑,去除不符合節點,若節點在一個通信范圍內,并與錨節點小于通信半徑[8].反之,將不符合條件的節點過濾,綜合所有節點計算結果,描述節點中數據融合映射關系[9],完成對融合模型構建.
任何數據融合過程可看作一個外部向內部映射的過程[10-11].在構建多源異構大數據模型時,利用上述計算得到節點關系描述大數據融合映射關系.定義融合模型中的五元組,即:

(5)式中,Sw表示融合前空間中狀態數據,M表示測量空間,Mf表示融合空間,P為進行融合判斷的目標空間,F表示不同空間之間的映射集關系.
假設映射集存在下述關系,即:

(6)式中,φ表示待融合空間內測量空間映射,θ表示映射處理后原始多源異構數據轉化為融入空間內空間數據過程,f表示映射空間關系.由n個多源異構大數據融合前空間可表示為:
(7)式中,行表示數據融合前空間內所包含的目標,列為多源異構屬性.m表示融合目標最多特征數量,當目標不包含該特征時,取值為0.假設此時時刻t的融合空間M表示為:

(8)式中,msij表示時刻t內信息源i在融合模型中獲取的第j個異構數據.每個信息源提供大數據最大值為k,異構大數據的數據源數量為l,所以此時融合空間的矩陣表示為:

(9)式中,系數v,h表示映射系數.聯立上述公式(8)、(9),最終計算得到映射關系,計算公式為:

在底層數據集融合中,已對節點對應大數據進行簡單預處理.此時θ的映射關系為1∶1,最終空間P由融合模型最終結果構成,空間可以表示為:

(11)式中,aci為融合目標i最終融合度,此時融合映射關系,可表示為:

(12)式中,△t表示融合數據之間時間間隔,k表示大數據融合次數.利用上式最終描述數據融合映射關系.利用循環神經網絡特性,控制融合模型融合過程,完成多源異構大數據融合模型構建[12-13].
在完成融合模型前,利用循環神經網絡控制多源異構大數據融合過程,使用神經網絡結構進行控制,如圖3所示.

圖3 循環神經網絡結構Fig.3 Cyclic neural network structure
針對映射后形成映射集p,假設神經網絡輸入集的輸出為Op,其中,第i個輸入為Opi,即存在:

將公式(13)看作一個S型函數,此時公式(13)可變換為:

為了減少神經網絡中誤差,規范誤差函數[14],誤差函數計算整個融合過程誤差,即:

(15)式中,di表示循環神經網絡的訓練權值,利用此權值限制誤差函數達到極小值目的.為保證循環神經網絡可控制所有隱含層節點數據,增強整個融合過程中容錯能力[15],挑選隱層節點信息,計算公式為:

(16)式中,m表示隱含層節點數量,n表示輸入節點的數量,O為輸出節點的數量,a表示常數.不斷刪除并增加節點的數量,確定控制融合過程中節點,實現神經網絡控制融合過程,完成基于循環神經網絡的多源異構大數據融合模型構建.
實驗前搭建承載多源異構大數據的分布式集群,保證大數據的可拓展性.集群采用Sharding(分片)+Replica Sets(復制集)形式,采用3臺主機實現分布式集群中2個多源異構的復制集,形成的邏輯結構如圖4所示.

圖4 邏輯結構Fig.4 Logical structure
在邏輯結構中,設置所有節點操作系統為CentOS-7-x86 64-DVD-1161.iso,實驗所用的3臺主機IP及端口,如表1所示.

表1 實驗主機IP地址及端口Tab.1 IP address and port of experimental host
選用CPU為2.40 GHz、i5-6 200 U,硬件儲存為2.0 G服務器,3臺服務器配置相同,準備實驗所需多源異構數據樣本數量,該樣本數據來自時序數據庫InfluxDB,將實驗數據劃定多源異構為不同類屬性代碼,準備數據集如表2所示.

表2 實驗準備的樣本數量Tab.2 The number of samples prepared for the experiment
根據上述多源異構大數據的數量,分別使用文獻[3]方法、文獻[4]方法與基于循環神經網絡的多源異構大數據融合模型進行實驗,對比3種方法最終融合數據的數量.
針對多源異構大數據不同的類屬性代碼,3種融合模型融合得到包含唯一元素個數結果,如表3所示.

表3 融合后數據唯一元素數量Tab.3 The number of unique elements of the data after fusion
分析表3中數據可以看出,在相同條件下,采用3種方法融合后獲得的數據唯一元素個數存在一定差距.其中,所提方法得到的唯一元素個數最多,分別為480個和217個,相比之下,傳統模型融合后的數據唯一元素較少,驗證了本文模型的有效性.
根據表3中融合后數據唯一元素個數,計算3種方法融合多源異構數據的完整性,定義此時完整性為準備數據集與融合后唯一元素之比,3種方法最終得到的完整性結果,如表4所示.

表4 融合數據的完整性結果Tab.4 Integrity results of fused data
分析表4中數據可看出,數據融合完整性取3種方法融合2種不同數據集的平均值,定義此時完整性為準備數據集與融合后唯一元素的比值.其中,文獻[3]方法最終得到完整性數值最小,保持在0.11左右,文獻[4]最終得到完整性系數次之,數值維持在0.24左右.本文融合模型得到的完整性數值最大,平均保持在0.5以上.綜合上述結果可知,3種方法融合后的數據完整性,本文方法效果最佳.
針對傳統多源異構大數據融合模型融合得到的唯一元素數量較少,導致最終融合數據不具有較強的完整性問題,構建了一種基于循環神經網絡的多源異構大數據融合模型.通過對多源異構數據中的節點數據進行定位,分析了映射關系等,實現了多源異構大數據融合模型.實驗結果表明:采用本文模型融合后的數據結果較好,改進了傳統融合模型的不足,提高了融合模型的實用性.雖然現階段本文模型取得了一定成果,但本文融合模型只考慮了數據完整性的優化,忽略了模型融合時間上的優化,還存在一定不足,在未來的研究中仍需不斷地改進,獲取更好的融合模型.