一种基于自编码神经网络的航空网络重要节点发现方法与流程

文档序号:21888474发布日期:2020-08-18 17:35阅读:239来源:国知局
本发明属于复杂网络节点挖掘
技术领域
:,更为具体地讲,涉及一种基于自编码神经网络的航空网络重要节点发现方法。
背景技术
::近年来,伴随着复杂网络理论以及物流网络理论的蓬勃发展,航空网络研究已经成为供应链管理领域一个新的研究热点。航空网络本质上具有这样一些特点:(1)、航空网络由若干有限的节点组成,并通过节点之间边的互动推动网络整体涌现出复杂特征并凸显出网络的分布特征;(2)、构成航空网络的节点既具有自身的自律、自适应和自我调节功能,又具备与外界环境进行信息、能量和物质交换的功能;(3)、整个航空网络是动态的、柔性的、有序的,通过内部节点之间的相互作用和外界环境进行交换而不断调整网络结构和功能;(4)、航空网络中存在一些关键活性节点或由活性节点组成的局部网络在网络中占据重要位置,对网络结构或功能的实现发挥重要作用。如果这些节点退出或被破坏,整体网络有可能毁于一旦。如图1所示,其中较大节点代表网络中的核心节点即重要节点。如何能够准确高效发现(挖掘出)这些重要节点,从而可以对这些重要节点进行保护,维持航空网络的鲁棒性是当前需要解决的问题。技术实现要素:本发明的目的在于克服现有技术的不足,提出一种基于自编码神经网络的航空网络重要节点发现方法,以准确高效地对航空网络重要节点进行发现。为实现上述发明目的,本发明基于自编码神经网络的航空网络重要节点发现方法,其特征在于,包括以下步骤:(1)、将航班飞行记录数据集中每条记录选取起点城市、终点城市、航空公司三个字段,并作为构建网络模型的航空数据;(2)、构建网络模型,并基于自编码器对城市节点和航司节点进行特征向量表示;2.1)、构建城市网络将航空数据中的城市(起点城市、终点城市)抽象为城市节点,城市间的航线抽象为边,航线的飞行次数(城市间的航班飞行记录数)作为边的权重,从而构建成城市网络;2.2)、构建航司网络将航空数据中的航空公司(航司)抽象为航司节点,合并航司间的公共航线作为边,公共航线的数量作为边的权重,从而构建成航司网络;2.3)、使用自编码神经网络算法学习城市网络中城市节点的特征向量首先将城市网络表示为网络gc,a(gc)表示网络gc的邻接矩阵,a(gc)的元素表示对应城市间是否有航班,有则用1表示,没有则用0表示;w(gc)表示网络gc的权重矩阵,w(gc)的元素对应每条边的权重(航线的飞行次数),则权重矩阵w(gc)表示为:其中,n表示城市节点的数量,wc的下标表示对应城市的序号;则网络gc的拉普拉斯矩阵l(gc)为:l(gc)=d(gc)-w(gc),其中,矩阵d(gc)为:然后将权重矩阵w(gc)输入自编码器(自编码器包含编码器(encoder)和解码器(decoder)两部分),编码器对权重矩阵w(gc)进行编码,输出n行的嵌入矩阵y(gc)(也称为编码矩阵),解码器对嵌入矩阵y(gc)进行解码,得到重构后的权重矩阵w′(gc);其中,嵌入矩阵y(gc)表示为:将嵌入矩阵y(gc)的第i行构成的向量yci作为对应相应序号城市节点的特征向量,其维度为k(通常k=128);其中,自编码器神经网络参数迭代优化过程中的整体优化函数lcmix为:lcmix=lc重构+αlc编码+vlcreglc重构为重构损失,根据以下公式计算:wc′i表示重构后的权重矩阵w′(gc)的第i行构成的向量,wci表示权重矩阵w(gc)的第i行构成的向量,||·||2表示二范数运算;lc编码为编码损失,根据以下公式计算:acij表示邻接矩阵a(gc)的第i行第j列元素,向量yci、ycj分别为嵌入矩阵y(gc)的第i、j行构成的向量,||·||1表示范数运算,tr(·)是计算矩阵的迹;α为控制编码损失的参数(取值为10-5),lcreg为正则化项(用来调控自编码器的参数矩阵,避免模型过拟合),ν为控制正则化项的参数(取值为10-4);2.4)、使用自编码神经网络算法学习航司网络中航司节点的特征向量首先将航司网络表示为网络ga,a(ga)表示网络ga的邻接矩阵,a(ga)的元素表示对应航司是否有共同的航线,有则用1表示,没有则用0表示;w(g)表示网络ga的权重矩阵,w(ga)的元素对应每条边的权重(公共航线的数量),则权重矩阵w(ga)表示为:其中,m表示航司节点的数量,wa的下标表示对应航司的序号;则网络ga的拉普拉斯矩阵l(ga)为:l(ga)=d(ga)-w(ga),其中,矩阵d(ga)为:然后将权重矩阵w(ga)输入自编码器(自编码器包含编码器(encoder)和解码器(decoder)两部分),编码器对权重矩阵w(ga)进行编码,输出m行的嵌入矩阵y(ga)(也称为编码矩阵),解码器对嵌入矩阵y(ga)进行解码,得到重构后的权重矩阵w′(ga);其中,嵌入矩阵y(ga)表示为:将嵌入矩阵y(ga)的第i行构成的向量yai作为对应相应序号城市节点的特征向量,其维度为k(通常k=128);其中,自编码器神经网络参数迭代优化过程中的整体优化函数lamix为:lamix=la重构+αla编码+νlaregla重构为重构损失,根据以下公式计算:wa′i表示重构后的权重矩阵w′(ga)的第i行构成的向量,wai表示权重矩阵w(ga)的第i行构成的向量,||·||2表示二范数运算;la编码为编码损失,根据以下公式计算:aaij表示邻接矩阵a(ga)的第i行第j列元素,向量yai、yaj分别为嵌入矩阵y(ga)的第i、j行构成的向量;α为控制编码损失的参数(取值为10-5),lareg为正则化项(用来调控自编码器的参数矩阵,避免模型过拟合),ν为控制正则化项的参数(取值为10-4);(3)、根据特征向量对城市节点和航司节点进行重要度打分3.1)、根据城市节点特征向量计算城市网络中城市节点重要度评分,城市节点i的重要度评分pi为:dist(yci,ych)表示特征向量yci和ych的欧氏距离;3.2)、根据航司节点特征向量计算城市网络中航司节点重要度评分航司节点i的重要度评分qi为:dist(yai,yah)表示特征向量yai和yah的欧氏距离;(4)、航空网络重要节点发现重要度评分也越高的城市节点,其重要性越高,重要度评分排名靠前的为重要节点;重要度评分也越高的航司节点,其重要性越高,重要度评分排名靠前的为重要节点。本发明的目的是这样实现的。本发明基于自编码神经网络的航空网络重要节点发现方法,通过航班飞行记录数据,构建网络模型,并利用改进的自编码器(自编码神经网络)对城市节点和航司节点进行特征向量表示,在特征向量表示过程中,自编码器的整体优化函数考虑了编码损失,该编码损失利用了拉普拉斯映射原理,可以让网络中相邻的两个节点对应的嵌入向量在隐藏空间相对接近,而不相邻的节点对应的嵌入向量在隐藏空间存在相对大的距离。同时,采用欧氏距离进行重要度打分和重要节点发现。这样充分反映了航空网络节点重要性,从而实现了准确高效地对航空网络重要节点的发现。附图说明图1是航空网络中核心节点的示意图;图2是本发明基于自编码神经网络的航空网络重要节点发现方法一种具体实施方式流程图;图3是本发明中自编码器示意图;图4是城市网络一具体实例示意图;图5是航司网络一具体实例示意图;图6是城市网络的实验结果;图7是航司网络的实验结果;图8是城市网络中pagerank的实验结果;图9是航司网络中pagerank的实验结果;图10是城市网络中度排序的实验结果;图11是城市网络介数中心性实验结果;图12是城市网络中度排序的实验结果;图13是航司网络介数中心性实验结果;图14是四种方法的城市节点的pnn计算结果;图15是四种方法的航司节点的pnn计算结果。具体实施方式下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。图2是本发明基于自编码神经网络的航空网络重要节点发现方法一种具体实施方式流程图。在本实施例中,如图2所示,本发明基于自编码神经网络的航空网络重要节点发现方法包括以下步骤:步骤s1:选取航空数据将航班飞行记录数据集中每条记录选取起点城市、终点城市、航空公司三个字段,并作为构建网络模型的航空数据。在本实施例中,所使用的数据集是美国航空公开的航班飞行记录数据集,约12万条记录,采用了其中2019年1月份的2万多条数据。其链接地址为:https://transtats.bts.gov/tables.asp?db_id=111&db_name=air%20carrier%20statistics%20%28form%2041%20traffic%29-%20all%20carriers&db_short_name=air%20carriers。本发明中使用的字段为数据集中的起点城市、终点城市、航空公司。在本实施例中,航空数据的结果统计如表1所示。飞行记录城市航线航空公司207037796103110表1步骤s2:构建网络模型,并基于自编码器对城市节点和航司节点进行特征向量表示步骤s2.1:构建城市网络将航空数据中的城市(起点城市、终点城市)抽象为城市节点,城市间的航线抽象为边,航线的飞行次数(城市间的航班飞行记录数)作为边的权重,从而构建成城市网络。步骤s2.2:构建航司网络将航空数据中的航空公司(航司)抽象为航司节点,合并航司间的公共航线作为边,公共航线的数量作为边的权重,从而构建成航司网络。步骤s2.3:使用自编码神经网络算法学习城市网络中城市节点的特征向量首先将城市网络表示为网络gc,a(gc)表示网络gc的邻接矩阵,a(gc)的元素表示对应城市间是否有航班,有则用1表示,没有则用0表示;w(gc)表示网络gc的权重矩阵,w(gc)的元素对应每条边的权重(航线的飞行次数),则权重矩阵w(gc)表示为:其中,n表示城市节点的数量,wc的下标表示对应城市的序号;则网络gc的拉普拉斯矩阵l(gc)为:l(gc)=d(gc)-w(gc),其中,矩阵d(gc)为:然后将权重矩阵w(gc)输入自编码器(自编码器包含编码器(encoder)和解码器(decoder)两部分),编码器对权重矩阵w(gc)进行编码,输出n行的嵌入矩阵y(gc)(也称为编码矩阵),解码器对嵌入矩阵y(gc)进行解码,得到重构后的权重矩阵w′(gc)。其中,嵌入矩阵y(gc)表示为:将嵌入矩阵y(gc)的第i行构成的向量yci作为对应相应序号城市节点的特征向量,其维度为k(通常k=128);其中,自编码器的整体优化函数lcmix为:lcmix=lc重构+αlc编码+νlcreglc重构为重构损失,根据以下公式计算:wc′i表示重构后的权重矩阵w′(gc)的第i行构成的向量,wci表示权重矩阵w(gc)的第i行构成的向量,||·||2表示二范数运算;lc编码为编码损失,根据以下公式计算:acij表示邻接矩阵a(gc)的第i行第j列元素,向量yci、ycj分别为嵌入矩阵y(gc)的第i、j行构成的向量,||·||1表示范数运算,tr(·)是计算矩阵的迹;α为控制编码损失的参数(取值为10-5),lcreg为正则化项(用来调控自编码器的参数矩阵,避免模型过拟合),ν为控制正则化项的参数(取值为10-4);步骤s2.4:使用自编码神经网络算法学习航司网络中航司节点的特征向量首先将航司网络表示为网络ga,a(ga)表示网络ga的邻接矩阵,a(ga)的元素表示对应航司是否有共同的航线,有则用1表示,没有则用0表示;w(g)表示网络ga的权重矩阵,w(ga)的元素对应每条边的权重(公共航线的数量),则权重矩阵w(ga)表示为:其中,m表示航司节点的数量,wa的下标表示对应航司的序号;则网络ga的拉普拉斯矩阵l(ga)为:l(ga)=d(ga)-w(ga),其中,矩阵d(ga)为:然后将权重矩阵w(ga)输入自编码器(自编码器包含编码器(encoder)和解码器(decoder)两部分),编码器对权重矩阵w(ga)进行编码,输出m行的嵌入矩阵y(ga)(也称为编码矩阵),解码器对嵌入矩阵y(ga)进行解码,得到重构后的权重矩阵w′(ga);其中,嵌入矩阵y(ga)表示为:将嵌入矩阵y(ga)的第i行构成的向量yai作为对应相应序号城市节点的特征向量,其维度为k(通常k=128);其中,自编码器的整体优化函数lamix为:lamix=la重构+αla编码+νlaregla重构为重构损失,根据以下公式计算:wa′i表示重构后的权重矩阵w′(ga)的第i行构成的向量,wai表示权重矩阵w(ga)的第i行构成的向量,||·||2表示二范数运算;la编码为编码损失,根据以下公式计算:aaij表示邻接矩阵a(ga)的第i行第j列元素,向量yai、yaj分别为嵌入矩阵y(ga)的第i、j行构成的向量;α为控制编码损失的参数(取值为10-5),lareg为正则化项(用来调控自编码器的参数矩阵,避免模型过拟合),ν为控制正则化项的参数(取值为10-4)。自编码器的功能是通过将输入信息作为学习目标,对输入信息进行表征学习。在本发明中,将城市网络以及航司网络的权重矩阵分别作为输入,分别得到重构后的权重矩阵,其中,通过神经网络的反向传播过程,可以对图3的自编码器神经网络的参数进行迭代优化(fc表示全连接层),直到损失函数lcmix、lamix的值低于某个阈值时,停止模型的训练,同时输出编码矩阵y(gc)、y(ga)。自编码器神经网络参数的迭代优化属于现有技术,在此不再赘述。步骤s3:根据特征向量对城市节点和航司节点进行重要度打分步骤s3.1:根据城市节点特征向量计算城市网络中城市节点重要度评分,城市节点i的重要度评分pi为:dist(yci,ych)表示特征向量yci和ych的欧氏距离;步骤s3.2:根据航司节点特征向量计算城市网络中航司节点重要度评分航司节点i的重要度评分qi为:dist(yai,yah)表示特征向量yai和yah的欧氏距离。步骤s4:航空网络重要节点发现重要度评分也越高的城市节点,其重要性越高,重要度评分排名靠前的为重要节点;重要度评分也越高的航司节点,其重要性越高,重要度评分排名靠前的为重要节点。实例1、计算城市网络中城市节点重要度评分实例(1)、构建一个城市网络,如图4所示,图中包含了8个节点,10条边。(2)、使用自编码算法学习网络中8个城市节点的特征向量,例如对图2中的portland,or使用自编码算法学习该城市节点的特征向量,如表2所示。节点特征向量(128维)portland,or(0.121,...,0.231)表2(3)、对于构建的城市网络,8个城市节点的重要度评分如表3所示表3(4)、航空网络重要节点发现:从表3可以看出,重要度评分排名靠前的两个城市节点为:st.louis,mo以及kansascity,mo,重要度评分分别为:27.85245113、27.21295071。2、计算航司网络中航司节点重要度评分实例(1)、构建一个航司网络,如图5所示,图中包含了6个节点,15条边。(2)、使用自编码算法学习网络中6个航司节点的特征向量,例如对图3中的piedmontairlines使用自编码算法学习该航司节点的特征向量,如表4所示。节点特征向量(128维)piedmontairlines(0.151,...,0.311)表4对于构建的航司网络,6个航司节点的重要度评分如表5所示。表5(4)、航司网络重要节点发现:从表5可以看出,重要度评分排名靠前的两个航司节点为:unitedairlinesinc以及republicairline,重要度评分分别为:0.184561349、0.183181912。3、比较同时,在本实施例中,采用基于自编码算法(本发明)、pagerank,度排序,介数中心性的方法对所构建的城市网络和航司网络模型进行节点重要度的评估。四种方法对节点重要度评估后得到的实验数据,使用绘图工具gephi进行绘图,得到以下实验结果,图中点的大小反映了节点的重要度评分,点越大,说明节点越重要。3.1)基于自编码算法(本发明)的实验结果3.1.1)城市网络中基于自编码算法的实验结果,如图6所示。图6表示基于构建的城市网络模型,基于自编码算法的方法对城市节点的重要度评分的实验结果,并显示了排名前20的城市。3.1.2)航司网络中基于自编码算法的实验结果,如图7所示。图7表示基于构建的航司网络模型,基于自编码算法的方法对航司节点的重要度评分的实验结果,并显示了排名前20的航司。3.2)基于pagerank的实验结果3.2.1)城市网络中pagerank的实验结果,如图8所示。图8表示基于构建的城市网络模型,基于pagerank的方法对城市节点的重要度评分的实验结果,并显示了排名前20的城市。3.2.2)航司网络中pagerank的实验结果,如图9所示。图9表示基于构建的航司网络模型,基于pagerank的方法对航司节点的重要度评分的实验结果,并显示了排名前20的航司。3.3)基于度排序的实验结果3.3.1)城市网络中度排序的实验结果,如图10所示。图10表示基于构建的城市网络模型,基于度排序的方法对城市节点的重要度评分的实验结果,并显示了排名前20的城市。3.3.2)航司网络中度排序的实验结果,如图11所示。图11表示基于构建的航司网络模型,基于度排序的方法对航司节点的重要度评分的实验结果,并显示了排名前20的航司。3.4)基于介数中心性的实验结果3.4.1)城市网络介数中心性实验结果,如图12所示。图12表示基于构建的城市网络模型,利用介数中心性的方法对城市节点的重要度评分的实验结果,并显示了排名前20的城市。3.4.2)航司网络介数中心性实验结果,如图13所示。图13表示基于构建的航司网络模型,利用介数中心性的方法对航司节点的重要度评分的实验结果,并显示了排名前20的航司。4、通过pnn指标,对比自编码神经网络算法(agnn)与pagerank、度排序和介数中心性排序算法在发现航空网络中重要节点的效果。4.1)、pnn的定义本发明中,采用非关键节点比例(pnn)来评估重要度计算方法的可靠性。非关键节点比例(pnnpercentageofnoncriticalnodes)表示删除节点后不会导致严重后果节点比,用来测量网络的鲁棒性。pnn值变化越快,表示删除的节点越重要。其中θ为容忍阈值,n表示节点总数,nfailed(i)表示删除节点i导致的失效节点数。对于我们所建立的航空网络模型,城市,航司和航线的nfailed(i)和n的定义是不同的。下面分别对两种不同的nfailed(i)和n进行定义。4.1.1)、城市的nfailed(i)和n的定义:4.1.2)航司的nfailed(i)和n的定义:表示航空公司i运营的第k条航线的权值α是预先设定的一个阈值,表示航空公司i失效时,航线运能失效的程度n表示所有航线的数量4.2)、城市和航司的pnn的实验结果4.2.1)、基于自编码算法(agnn)、pagerank、度排序和介数中心性四种方法,对城市节点进行重要度评分,由高到低进行排序,得到城市节点序列。将城市节点按重要度评分降序移除,得到四种方法的城市节点的pnn计算结果,如图14所示。图14中曲线1、2、3、4分别表示基于自编码算法(agnn)、pagerank、度排序和介数中心性的实验结果。对比四条曲线,可以看出在移除重要度评分前200个城市节点以内时,曲线1的pnn增量与曲线2、3、4非常接近,不过曲线1在移除重要度评分前200到400城市节点时,pnn增量明显超过了曲线2、3、4,说明基于自编码算法(agnn)对航空网络中重要城市节点的挖掘在一定程度上是优于传统方法的。所以,基于自编码算法(agnn)对航空网络中重要城市节点进行挖掘的方法是值得运用的。4.2.2)、基于自编码算法(agnn)、pagerank、度排序和介数中心性四种方法,对航司节点进行重要度评分,由高到低进行排序,得到航司节点序列。将航司节点按重要度评分降序移除,得到四种方法的航司节点的pnn计算结果,如图15所示。图15中曲线1、2、3、4分别表示基于自编码算法(agnn)、pagerank、度排序和介数中心性的实验结果。观察四条曲线,发现四条曲线并不光滑,分析得知由于航司节点过少造成的。但是,观察实验结果可以得出,在移除重要度评分前20个航司节点以内时,曲线1和曲线2、3的具有很高的重合度,而曲线4的pnn增量最小,说明基于介数中心性的方法在本实验中的效果最差,而基于自编码算法(agnn)、pagerank、度排序的实验结果非常接近。这证明了基于自编码算法(agnn)对航空网络中重要航司节点进行挖掘的方法是可行的。5、结语实验结果显示,本发明提出了一种有效的基于图神经网络的航运网络重要节点的发现方法。利用本发明能够准确高效的对航运网络中的重要节点进行挖掘,从而可以对这些重要节点进行保护,维持网络的鲁棒性。本发明是在真实的航运网络数据上进行实验的,具有较高的可实施性和可靠性,应用前景良好。尽管上面对本发明说明性的具体实施方式进行了描述,以便于本
技术领域
:的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本
技术领域
:的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1