本发明涉及深度学习方法在民航风险管理领域的应用,具体涉及基于深度学习的飞机危险识别与趋势预测方法。
背景技术:
中国民航总局(caac)在《航空运营人安全管理体系要求》(ac-121/135-fs-2008-26)中指出,危险识别是整个风险管理过程的基础,准确有效的危险识别能够提高风险分析和评估的准确性,减少安全事故的发生。从历史上看,危险识别的过程是被动的,通常以事故调查的形式在事故发生后实施。而国际民用航空组织(icao)在安全管理体系(sms)文件中指出,危险的识别应该是积极且具有前瞻性的。国际民航组织建议,应在危险尚未造成严重后果以及未出现明显危险前兆时主动发现潜在危险。本发明提出的方法在提高了危险识别的准确性的同时,通过趋势预测实现了主动的危险识别。
深度学习亦称深度机器学习、深度结构学习、分层学习,是一类有效训练深层神经网络的机器学习算法,可用于对数据进行高层抽象建模。深层神经网络能够从大量的复杂数据中学习到合适且有效的特征。这些特征在解决实际问题时常常能够取得极佳的效果,从而使得深度学习受到学术界和工业界的普遍青睐。在航空领域,深度学习算法已经被成熟应用于剩余寿命预测,发动机振动预测,飞机着陆速度预测方面。关于深度学习应用于实际风险危险识别和趋势预测方面的研究还是鲜有报道。本发明在此基础上提出一种基于深度学习的危险识别和趋势预测方法,利用深度学习良好的特征自学习特性对民机可能存在的危险进行识别和预测,提高民机安全性。
技术实现要素:
本发明提出一种基于深度学习的飞机危险识别与趋势预测方法,有效提高了危险识别和趋势预测的准确率,能够实时获取危险识别和趋势预测结果。
本发明采用如下技术方案:
基于深度学习的飞机危险识别与趋势预测方法,包括以下步骤:
(1)数据收集:通过飞机通信寻址与报告系统收集历史报文数据;
(2)关键参数筛选:利用结合交叉验证的递归特征消除方法(rfecv)对历史报文数据进行关键参数缩减,以支持向量机模型(svm)危险识别模型的识别准确率作为评判标准,确定最优的参数数目及最优的参数组合;
(3)数据提取:根据步骤(2)的关键参数筛选结果,从收集到的历史报文数据中提取最优参数组合对应的数据;
(4)svm危险识别模型的构建:建立二分类svm危险识别模型来判断飞机是否存在危险,通过确定每个类中最近样本的距离最大化的超平面来实现对svm危险识别模型的分类;
(5)svm危险识别模型的训练与优化:利用粒子群算法(pso)对svm危险识别模型进行参数优化,得到粒子群算法优化过的支持向量机模型(pso-svm)危险识别模型;
(6)pso-svm危险识别模型测试:将步骤(3)中经过数据提取得到的测试数据输入至步骤(5)所得的pso-svm危险识别模型中,得到pso-svm危险识别模型的测试结果;
(7)长短时记忆(lstm)趋势预测模型的构建;
(8)lstm趋势预测模型的训练:利用滑动时间窗口方法对步骤(3)中数据做进一步处理,并将其分为训练数据和测试数据。利用反向传播算法对lstm趋势预测模型进行反向训练,得到训练过的lstm趋势预测模型;
(9)lstm趋势预测模型测试:将步骤(8)中的测试数据输入至步骤(8)中训练过的lstm趋势预测模型中,得到lstm趋势预测模型的测试结果;
(10)基于lstm趋势预测模型的测试结果判断飞机是否存在潜在危险。
进一步的,步骤(2)具体如下:
(2.1):设初始参数组合为s0=[f1,f2,…,fp],初始参数排名分数为r=[],其中fp为历史报文数据中的参数,输入样本为x=[x1,x2,…,xn],相应的标签为y=[y1,y2,…,yn];
(2.2):以参数组合sc训练svm危险识别模型,其中c为循环次数,利用k折交叉验证方法计算参数组合sc对应的识别准确率;
(2.3):根据公式
(2.4):标记得分最低的参数e=argminrj(k);
(2.5):更新排名分数
(2.6):在参数组合sc中去除得分最低的参数,得到新的参数组合sc 1=sc-[fe];
(2.7):重复步骤(2.2)至步骤(2.6),循环至参数组合sc为空值;
(2.8):输出最终得到的参数排名分数rnew,以及每个参数组合对应的识别准确率;综合参数的排名分数以及参数组合的识别准确率结果,得到最优的参数数目及最优的参数组合。
进一步的,步所述骤(4)中超平面的计算公式为:w·φ(xi) b=0,其中,w和b是svm危险识别模型的参数,φ表示可以线性分离输入数据xi的高维空间映射函数。
进一步的,所述步骤具体如下:
(5.1):初始化pso算法,pso粒子群中有m个粒子,设svm危险识别模型的两个重要参数的初始值为c0和g0,优化过程最大迭代次数为k,初始值作为pso算法的初始输入,svm危险识别模型的识别准确率作pso算法的适应度;
(5.2):计算每个粒子当前的适应度值
(5.3):每个粒子的历史最优适应度值为个体最优值pbest,将每个粒子当前的适应度值
(5.4):粒子群的最优值为全局最优值gbest,将粒子群中最大的个体最优值pbest设置为最新的全局最优值gbest;
(5.5):更新每个粒子的速度向量
(5.6):重复步骤(5.2)至步骤(5.5)直至达到最大迭代次数或最小误差,输出最后的全局最优值gbest。
进一步的,所述步骤(7)中lstm趋势预测模型包括l层隐含层,每层包含的隐含节点数为nl,选用的时间窗口大小为stw。
进一步的,所述步骤(8)具体如下:
(8.1):利用滑动时间窗口法对步骤(3)中的数据进行处理,选用的时间窗口大小为stw,第1至stw个时间点的数据作为第一组输入数据,第stw 1个时间点的参数值作为第一组数据对应的输出值;向后滑动一个时间点,第2至stw 1个时间点的数据作为第二组输入数据,第stw 2个时间点的参数值作为第二组数据对应的输出值,以此类推最终得到n组数据;
(8.2):将n组数据划分为n1组训练数据和n2组测试数据;
(8.3):将步骤(8.2)中的训练数据输入至lstm趋势预测模型,前向计算lstm的每个神经元在预测时间点t的两个输出,分别为当前隐藏单元输出值
(8.4):计算每个神经元的误差项,根据步骤(8.3)计算得到的输出,利用时间反向传播法对lstm进行反向训练,在时间t,时间反向传播法在l层通过两个方向传递误差值,一个方向是将其传递到上层网络以获得
(8.5):利用梯度下降算法更新权重,根据以下公式计算权重矩阵和偏差的梯度;
(8.6):重复步骤(8.3)至步骤(8.5),直至达到最小误差值或最大迭代次数,得到训练过的lstm趋势预测模型。
与现有技术相比,本发明具有如下有益效果:
本发明提出一种基于深度学习的危险识别和趋势预测方法,利用深度学习良好的特征自学习特性对民机可能存在的危险进行识别和预测,本发明提出的方法在提高了危险识别的准确性的同时,通过趋势预测实现了主动的危险识别。
附图说明
图1为实施例中步骤(1)所收集的报文的格式;
图2为实施例中步骤(2)所得参数排名结果;
图3为实施例中步骤(2)所得参数组合识别准确率;
图4为实施例中步骤(5)所得svm危险识别模型优化迭代过程;
图5为实施例中步骤(6)所得pso-svm危险识别模型测试结果;
图6为实施例中步骤(9)所得lstm趋势预测模型测试结果。
具体实施方式
本发明提出一种基于深度学习的飞机危险识别与趋势预测方法,包括以下步骤:
(1)数据收集。首先,通过飞机通信寻址与报告系统收集历史报文数据,报文的格式如图1所示,其中共涉及20个参数。20个参数中,部分参数在始终保持常量,部分参数为控制信号,这些参数都不能代表系统状态。因此,被人工剔除。最后,剩余9个有效参数。
(2)关键参数筛选。利用rfecv对报文数据进行关键参数缩减,以svm危险识别模型的识别准确率作为评判标准,最终确定最优的参数数目为4个,最优的参数组合为egta,p2a,sta和ot。
(3)数据提取。根据步骤(2)的关键参数筛选结果,从收集到的报文数据中提取最优参数组合对应的数据。
(4)svm危险识别模型的构建。建立二分类svm危险识别模型判断飞机是否存在危险。通过确定每个类中最近样本的距离最大化的超平面w·φ(xi) b=0来对svm危险识别模型实现分类,其中,w和b是svm危险识别模型的参数,φ表示可以线性分离输入数据xi的高维空间映射函数。
(5)svm危险识别模型的训练与优化。svm危险识别模型的训练与优化是寻找使识别准确率最高的参数c和g的过程,利用pso算法对svm危险识别模型进行参数优化,最终得到使识别准确率最高的参数c=63和g=53,对应的十折交叉验证后的svm识别准确率为90.99%。
(6)pso-svm危险识别模型测试。将步骤(3)中得到的测试数据输入至步骤(5)所得的pso-svm危险识别模型中,得到pso-svm危险识别模型的测试结果,测试结果如图5所示。
(7)lstm趋势预测模型的构建。采用的lstm趋势预测模型包含l=2层隐含层,每层包含的隐含节点数为n1=60,n2=15,选用的时间窗口大小为stw=30。
(8)lstm趋势预测模型的训练。通过滑动时间窗口发对步骤(3)中得到的数据进行数据预处理,并将其分为n1=605训练数据和n2=70测试数据。为步骤(2)中保留的四个参数分别训练相应的lstm趋势预测模型,每个参数的lstm趋势预测模型训练过程相同,利用反向传播算法对lstm趋势预测模型进行反向训练,得到训练过的lstm趋势预测模型。
(9)lstm趋势预测模型测试,将步骤(8)中四个参数的测试数据分别输入至步骤(8)中训练过的lstm趋势预测模型中,得到lstm趋势预测模型的测试结果,测试结果如图6所示。
(10)基于lstm趋势预测模型的测试结果判断飞机是否存在潜在危险。
进一步的,步骤(2)所述关键参数筛选,步骤如下:
(2.1):设初始参数组合为s0=[f1,f2,…,fp]=[egta,p2a,lcit,pt,ota,sta,egtp,npa,ot],初始参数排名分数为r=[],其中fp为历史报文数据中的参数,输入样本为x=[x1,x2,…,xn],相应的标签为y=[y1,y2,…,yn]。
(2.2):以参数组合sc训练svm危险识别模型,其中c为循环次数,利用k折交叉验证方法计算参数组合sc对应的识别准确率;
(2.3):根据公式
(2.4):标记得分最低的参数e=argminrj(k)。
(2.5):更新排名分数
(2.6):在参数组合sc中去除得分最低的参数,得到新的参数组合sc 1=sc-[fe];
(2.7):重复步骤(2.2)至步骤(2.6)直至参数组合sc为空值。
(2.8):输出最终得到的参数排名分数rnew,以及每个参数组合对应的识别准确率。综合参数的排名分数以及参数组合的识别准确率结果,得到最优的参数数目及最优参数组合。最终得到的参数的排名如图2所示;参数组合的识别准确率结果如图3所示。
进一步的,步骤(5)所述svm危险识别模型的训练与优化,步骤如下:
(5.1):初始化pso算法,pso粒子群中有m=30个粒子,优化算法最大迭代次数设置为200,随机生成svm危险识别模型的两个重要参数的初始值为c0=100和g0=50,初始值作为pso算法的初始输入,svm危险识别模型的识别准确率作pso算法的适应度。
(5.2):计算为每个粒子的适应度值
(5.3):每个粒子的历史最优适应度值为个体最优值pbest。将每个粒子当前的适应度值
(5.4):粒子群的最优值为全局最优值gbest。将粒子群中最大的个体最优值pbest设置为最新的全局最优值gbest。
(5.5):更新每个粒子的速度向量
(5.6):重复步骤(5.2)至步骤(5.5)直至达到最大迭代次数或最小误差,svm危险识别模型优化迭代过程如图4所示。输出最后的全局最优值gbest=(63,53)。
进一步的,步骤(8)所述lstm趋势预测模型的训练,步骤如下:
(8.1):利用滑动时间窗口法对步骤(3)中经过数据提取得到的数据进行处理,选用的时间窗口大小为stw=30,第1至stw=30个时间点的数据作为第一组输入数据,第stw 1=31个时间点的参数值作为第一组数据对应的输出值;向后滑动一个时间点,第2至stw 1=31个时间点的数据作为第二组输入数据,第stw 2=32个时间点的参数值作为第二组数据对应的输出值,以此类推最终得到n=675组数据。
(8.2):将n组数据划分为n1=605组训练数据和n2=70组测试数据,训练过程最大迭代次数为150。
(8.3):将步骤(8.2)中的训练数据输入至lstm趋势预测模型,前向计算lstm的每个神经元在预测时间点t的两个输出,分别为当前隐藏单元输出值
(8.4):计算每个神经元的误差项,根据步骤(8.3)计算得到的输出,利用时间反向传播法对lstm进行反向训练。在时间t,时间反向传播法在l层通过两个方向传递误差值。一个方向是将其传递到上层网络以获得
(8.5):利用梯度下降算法更新权重,根据以下公式计算权重矩阵和偏差的梯度。
(8.6):重复步骤(8.3)至步骤(8.5),直至达到最小误差值或最大迭代次数,得到训练过的lstm趋势预测模型。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下还可以做出若干改进,这些改进也应视为本发明的保护范围。
1.基于深度学习的飞机危险识别与趋势预测方法,其特征在于,包括以下步骤:
(1)数据收集:通过飞机通信寻址与报告系统收集历史报文数据;
(2)关键参数筛选:利用rfecv对历史报文数据进行关键参数缩减,以svm危险识别模型的识别准确率作为评判标准,确定最优的参数数目及最优的参数组合;
(3)数据提取:根据步骤(2)的关键参数筛选结果,从收集到的历史报文数据中提取最优参数组合对应的数据;
(4)svm危险识别模型的构建:建立二分类svm危险识别模型来判断飞机是否存在危险,通过确定每个类中最近样本的距离最大化的超平面来实现对svm危险识别模型的分类;
(5)svm危险识别模型的训练与优化:利用pso算法对svm危险识别模型进行参数优化,得到pso-svm危险识别模型;
(6)pso-svm危险识别模型测试:将步骤(3)中经过数据提取得到的测试数据输入至步骤(5)所得的pso-svm危险识别模型中,得到pso-svm危险识别模型的测试结果;
(7)lstm趋势预测模型的构建;
(8)lstm趋势预测模型的训练:利用滑动时间窗口方法对步骤(3)中数据做进一步处理,并将其分为训练数据和测试数据,利用反向传播算法对lstm趋势预测模型进行反向训练,得到训练过的lstm趋势预测模型;
(9)lstm趋势预测模型测试:将步骤(8)中经过数据处理得到的测试数据输入至步骤(8)中训练过的lstm趋势预测模型中,得到lstm趋势预测模型的测试结果;
(10)基于lstm趋势预测模型的测试结果判断飞机是否存在潜在危险。
2.根据权利要求1所述的基于深度学习的飞机危险识别与趋势预测方法,其特征在于,所述步骤(2)具体如下:
(2.1):设初始参数组合为s0=[f1,f2,…,fp],初始参数排名分数为r=[],其中fp为历史报文数据中的参数,输入样本为x=[x1,x2,…,xn],相应的标签为y=[y1,y2,…,yn];
(2.2):以参数组合sc训练svm危险识别模型,其中c为循环次数,利用k折交叉验证方法计算参数组合sc对应的识别准确率;
(2.3):根据公式
(2.4):标记得分最低的参数e=argminrj(k);
(2.5):更新排名分数
(2.6):在参数组合sc中去除得分最低的参数,得到新的参数组合sc 1=sc-[fe];
(2.7):重复步骤(2.2)至步骤(2.6),循环至参数组合sc为空值;
(2.8):输出最终得到的参数排名分数rnew,以及每个参数组合对应的识别准确率;综合参数的排名分数以及参数组合的识别准确率结果,得到最优的参数数目及最优的参数组合。
3.根据权利要求1所述的基于深度学习的飞机危险识别与预测方法,其特征在于,所述步骤(4)中超平面的表达式为:w·φ(xi) b=0,其中,w和b是svm危险识别模型的参数,φ表示可以线性分离输入数据xi的高维空间映射函数。
4.根据权利要求1所述的基于深度学习的飞机危险识别与预测方法,其特征在于,所述步骤(5)具体如下:
(5.1):初始化pso算法,pso粒子群中有m个粒子,设svm危险识别模型的两个重要参数的初始值为c0和g0,优化过程最大迭代次数为k,初始值作为pso算法的初始输入,svm危险识别模型的识别准确率作pso算法的适应度;
(5.2):计算每个粒子当前的适应度值
(5.3):每个粒子的历史最优适应度值为个体最优值pbest,将每个粒子当前的适应度值
(5.4):粒子群的最优值为全局最优值gbest,将粒子群中最大的个体最优值pbest设置为最新的全局最优值gbest;
(5.5):更新每个粒子的速度向量
(5.6):重复步骤(5.2)至步骤(5.5)直至达到最大迭代次数或最小误差,输出最后的全局最优值gbest。
5.根据权利要求1所述的基于深度学习的飞机危险识别与趋势预测方法,其特征在于,所述步骤(7)中lstm趋势预测模型包括l层隐含层,每层包含的隐含节点数为nl,选用的时间窗口大小为stw。
6.根据权利要求1所述的基于深度学习的飞机危险识别与趋势预测方法,其特征在于,所述步骤(8)具体如下:
(8.1):利用滑动时间窗口法对步骤(3)中经过数据提取得到的数据进行处理,选用的时间窗口大小为stw,第1至stw个时间点的数据作为第一组输入数据,第stw 1个时间点的参数值作为第一组数据对应的输出值;向后滑动一个时间点,第2至stw 1个时间点的数据作为第二组输入数据,第stw 2个时间点的参数值作为第二组数据对应的输出值,以此类推最终得到n组数据;
(8.2):将n组数据划分为n1组训练数据和n2组测试数据;
(8.3):将步骤(8.2)中的训练数据输入至lstm趋势预测模型,前向计算lstm的每个神经元在预测时间点t的两个输出,分别为当前隐藏单元输出值
(8.4):计算每个神经元的误差项,根据步骤(8.3)计算得到的输出,利用时间反向传播法对lstm进行反向训练,在时间t,时间反向传播法在l层通过两个方向传递误差值,一个方向是将其传递到上层网络以获得
(8.5):利用梯度下降算法更新权重,根据以下公式计算权重矩阵和偏差的梯度;
(8.6):重复步骤(8.3)至步骤(8.5),直至达到最小误差值或最大迭代次数,得到训练过的lstm趋势预测模型。
技术总结