刘 运
(巢湖学院 信息工程学院,安徽 巢湖 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种方法融合后的数据完整性,本文方法效果最佳.
针对传统多源异构大数据融合模型融合得到的唯一元素数量较少,导致最终融合数据不具有较强的完整性问题,构建了一种基于循环神经网络的多源异构大数据融合模型.通过对多源异构数据中的节点数据进行定位,分析了映射关系等,实现了多源异构大数据融合模型.实验结果表明:采用本文模型融合后的数据结果较好,改进了传统融合模型的不足,提高了融合模型的实用性.虽然现阶段本文模型取得了一定成果,但本文融合模型只考虑了数据完整性的优化,忽略了模型融合时间上的优化,还存在一定不足,在未来的研究中仍需不断地改进,获取更好的融合模型.