APP下载

采用梯度提升树的战机型号快速识别方法*

2021-07-28赵文彬

电讯技术 2021年7期
关键词:大圆航迹型号

赵文彬

(中国西南电子技术研究所,成都 610036)

0 引 言

随着军事科技的快速发展,世界各军事强国都在加紧研发速度更快、生存能力更强的新型战机,期望以最小的代价和最优的方式不断压缩敌方的预警时间,俨然成为克敌制胜的必要条件。在日益复杂多变的战场环境中,空中高速高机动战机的早发现、早识别、早预警变得越来越重要。如何自动、快速、甚至实时地识别出战机型号,一直是军事作战领域关注的焦点和难点问题。

为了解决上述问题,许多科技工作者进行了大量的研究工作,提出了诸多解决方法。典型传统模型方法[1-2]利用概率统计理论方法制定规则(如D-S证据理论),将目标识别过程映射到规则集合中,最终完成目标类型的辨识。然而,由于传统模型方法的最终识别效果依赖于人工设计的特征模型好坏及统计规则的泛化性能,因此其普适性受到极大的限制。

随着大数据时代的到来,机器学习和人工智能的兴起为战机型号识别带来了新的生机[3-8]。然而真实环境中样本数量和质量的限制,需要海量数据的智能算法模型难以训练。而且模型参数数量较为庞大,不适用于嵌入式环境,且不可解释。一旦模型应用出现问题,不仅难以调试,而且可能造成不可估量的灾难性后果。

为了克服上述缺点,本文提出了基于梯度提升树的战机型号快速识别方法。首先,以多传感器融合的战机航迹解译信息为数据基础,增加目标信息的完整性、可靠性和可信性,以实时时序排列方式,充分刻画目标在空中运动的动态过程;其次,分析航迹数据特征,构建战机航迹数据特征工程;最后,利用boosting集成学习思想,训练基于梯度提升决策树的分类器,可准确识别每个航迹点对应的战机型号,从而同时满足准确性和实时性的实际应用需求。

1 数据集与特征工程

1.1 目标数据集

本文采用的数据集为已经过脱密和偏移处理后的多传感器融合战机航迹解译数据集,其组织结构如图1所示。数据集包含14种战机型号,分别用字母A,B,…,N依次进行标识。每种战机型号数据包含众多相应类型的个体战机航迹数据,且航迹数据持续时间各不相同。每条航迹数据又由诸多具有点编号(pid)、目标编号(tid)、经度(lon)、纬度(lat)、高度(h)、速度(v)、航向(az)、Unix时间(t)等多维特征的航迹点数据组成。航迹点数据示例如表1所示。

图1 数据集结构示意图

表1 航迹点数据示例

由于多传感器战机航迹数据在融合过程中未考虑去重、异常值剔除等数据预处理,因此需要对原始数据进行数据清洗,其流程如图2所示。

图2 数据清洗流程图

第一步,针对数据集,分别按目标编号和Unix时间特征进行分组和升序排序,将相同个体目标的航迹点以时间先后顺序排列形成航迹数据。

第二步,针对每个个体战机航迹数据执行去重操作。通过比较相邻两个航迹点数据是否完全相同来进行重复判断。若判决为真,则删除后一个航迹点数据,并对点编号进行相应的更新。

第三步,检查去重后的个体战机航迹点数据是否存在异常。由于多源融合战机航迹数据位置属性已经过充分的去噪和判证,故直接采信经度和纬度的特征数值。但是由于受传感器测量精度的影响,高度和速度特征存在较为严重的数值抖动问题。因此,针对高度和速度两个连续型特征,按照式(1)和式(2)所示的3σ规则进行异常值剔除清洗,使得航迹高度和速度特征更加平滑。

(1)

(2)

第四步,针对已经过异常值剔除后的目标数据集,获取经度、纬度、高度、速度等特征的最值,对所有航迹点数据对应特征值进行归一化处理,即

(3)

第五步,经过前述预处理后的全体个体战机航迹点数据均添加“目标类别”标签属性,其取值为个体战机所属的14种战机行型号代码。本文使用数字1~14来标识战机型号A~N,便于后续识别模型的训练。

至此,目标数据集清洗完成,数据集中的航迹点样本数目情况如表2所示,部分航迹样本如图3所示。

表2 清洗后的目标数据集总览

图3 部分航迹数据展示

1.2 特征构造

数据驱动的机器学习通过参数化方法构建结构化模型,使模型具备拟合数据共性统计规律特征的能力。因此,根据数据特点进行特征设计和选择是影响模型学习性能的重要因素之一。

为了提升识别效果,需要对空中目标航迹统计规律进行精细化描述,以便识别模型能够精准捕捉航迹统计规律和细节特征。基于此,本文在经过清洗的目标数据集航迹点特征基础上,构造了如下所列特征。

1.2.1 三角化航向

具有角度单位的航向具备连续循环性质,即对任意航向θ,都存在如下关系:

(θ+360°k)mod360°=θ,θ∈[0,360°),k∈Z。

(4)

由于实际使用中通常限定θ∈[0,360°),因此原始航向数据在0°处存在跳跃间断点,破坏了航向的连续性。

因此,本文将数据中每个航迹点的角度制航向进行三角化,生成正弦航向以及余弦航向两个特征,通过特征组合,共同表征航向的连续循环性。航向三角化特征生成流程如图4所示。

图4 三角化航向

1.2.2 大圆距离

对于航迹数据来说,两航迹点间的距离是最为显著的运动学特征。为了度量两个航迹点之间的距离,一种方法是采用欧式距离。但是在地理空间分析中,欧式距离存在诸多问题,关键在于欧式距离适用于直角坐标系,而地球可近似于一个球体,因此需要使用适用于球面的距离度量。在地理空间数据分析领域,大圆距离即为度量两个给定经纬度地理坐标点下的弧线距离,亦称为Haversine公式,形如式(5)所示:

(5)

式中:p1和p2为地球球面上的两个点,它们的经纬地理坐标分别记为(λ1,φ1)和(λ1,φ1),符号λ表示经度,φ表示纬度;Rearth表示赤道地球半径,取值约6 370.856 km;参数C定义为

C=sin2A+cosφ1cosφ2sin2B,

(6)

(7)

(8)

由此本文根据式(5),通过计算目标航迹数据相邻两个航迹点的相对大圆距离来表征目标的实际航程,记为

di=d(pi,pi-1),i=2,3,…,m。

(9)

式中:d1=0,即以航迹起始点为大圆距离原点,单位为km。

1.2.3 时间差

时间差是衡量目标运动状态的时间尺度,因此,本文基于Unix时间特征,计算相邻两个航迹点之间的Unix时间秒差,如式(10)所示。由于观察到目标航迹数据Unix时间特征数值基本在几十秒,同时考虑到后续模型计算的数值稳定性,本文将时间差单位换算成分钟(min)。

Δti=ti-ti-1,i=2,3,…,m。

(10)

令Δt1=0,即以航迹起始时刻为时间基准。

1.2.4 大圆相对速度

已有的目标航速特征是目标根据惯性导航系统和地面多传感系统计算得出的自身运动速度状态,其数值存在相当的偏差,可信度较低,不宜作为后续识别模型的输入特征。为了更进一步准确描述目标在地理空间中的运动状态,本文利用大圆距离和时间差特征,导出大圆相对速度,作为速度特征的信息补充,其计算公式为

(11)

式中:d为两个相邻航迹点间的大圆距离,单位为km;Δt为相应航迹点间的时间差,单位为min;vd的单位为m/s。

1.2.5 五点大圆距离的百分位数

分位数是统计学中重要的概念,用于描述数据取值概率的分布,直观上可表征数据概率分布函数的形状,即若概率0

为了更加准确地反映目标运动状态,同时兼顾实时性,本文采用五点大圆距离百分位数来动态地刻画大圆距离特征的概率分布。具体地,以5个目标航迹点为窗长,计算窗内大圆距离数值的11个百分位数,即z10%、z20%、z30%、z40%、z50%、z60%、z70%、z80%、z90%,以及z25%和z75%。

考虑到真实航迹起始时,窗内点数不足5点,故仅在此情况下只计算当前窗内有效点数对应的百分位数。

1.2.6 五点大圆相对速度的百分位数

同1.2.5节中原理相似,以相同百分位数统计方法,对大圆相对速度特征进行百分位数统计,生成11个统计特征,具体过程不再赘述。

1.2.7 大圆距离的五点均值

均值是用来描述统计分布重要的数字特征之一,反映了数据取值的平均水平。同理,为了兼顾目标运动状态统计准确性以及实时性,本文采用五点均值来刻画大圆距离特征取值的平均水平。具体地,以5个目标航迹点为窗长,计算窗内大圆距离数值的均值。

同理,考虑到真实航迹起始时,窗内点数不足5点,故仅在此情况下只计算当前窗内有效点数对应的均值。

1.2.8 大圆相对速度的五点均值

同1.2.7节中原理相似,以相同均值统计方法对大圆相对速度特征进行均值统计,生成均值统计特征,具体过程不再赘述。

至此,特征构造过程完毕,总特征数目为32个(不包含点编号、目标编号和原始速度特征)。

2 基于梯度提升树的快速识别方法

2.1 梯度提升树基本原理

提升树是一种利用boosting策略生成决策树学习器的集成学习经典方法。其基本思想是通过前向分步算法多轮迭代生成多棵残差子决策树,使得所有子决策树的输出和越来越逼近最终的决策目标。因此,提升树在机器学习算法族的应用中具有很高的准确率。然而,提升树在不同任务学习过程中需要使用不同的损失函数。当面临分类任务常用的交叉熵损失函数时,提升树的学习优化过程将变得更加困难[10]。因此,梯度提升树算法[11](Gradient Boosting Decision Tree,GBDT)应运而生,通过对拟合函数初始化由0改为待拟合函数的均值分量,使决策树学习过程收敛速度加快,以及利用最速下降的数值近似方法,将提升树中的残差替换为损失函数当前模型值的负梯度,大幅降低计算量,提升算法普适性。但面临大数据样本集时,由于计算残差时需要遍历样本集,算法时间复杂度巨大,计算效率大大降低。

为此,Ke等[12]提出了LightGBM模型,是目前实现GBDT算法速度最快、占用空间最小的决策树计算模型,如图5所示。其特点在于:

图5 由LightGBM计算得到的决策树示意图

(1)使用直方图统计替代预排序方法,利用直方图做差等技巧,将连续特征属性值按bin分组,提高缓存命中率,由level-wise策略转变为leaf-wise策略,减少各中间决策节点分割增益计算量,使计算效率大为提升;

(2)提出基于梯度的单边采样策略(Gradient-based One Side Sampling,GOSS)对样本数据实施采样抽取,仅获得对梯度下降贡献大的大梯度样本数据,进一步降低计算时间开销,减少内存空间消耗,同时防止了模型的过拟合;

(3)提出特征捆绑策略(Exclusive Feature Budding,EFB)有效利用了高维特征空间数据的稀疏性,降低了特征维数,在保证学习精度的同时,加快了计算速度,进一步降低了计算开销。

2.2 基于LightGBM的分类器训练流程

本文使用LightGBM计算模型作为分类器,对14类战机型号进行分类识别,流程如图6所示。

图6 分类器设计流程

2.2.1 形成训练集与测试集

首先,针对清洗后的目标数据集进行划分,形成训练集与测试集,其步骤如下:

Step1 以战机航迹数据为统计细粒度,对各战机型号数据以随机乱序方式分别进行洗牌。

Step2 依据每种战机型号所含战机航迹总条数,以8∶2的比例,无放回地抽取形成对应型号的训练子集与测试子集。

Step3 将所有战机型号对应的两类子集合分别进行合并,形成用于分类器训练和测试的初步训练集与初步测试集。

Step4 针对两类初步数据集合,以航迹点为细粒度,以随机乱序方式再次进行洗牌,形成最终可用于模型训练和测试的训练集及测试集。其中,训练集包含11 683 470个航迹点样本,测试集包含2 920 867个航迹点样本。

2.2.2 设置LightGBM分类模型参数

本文采用基于python语言的LightGBM包,通过调用模型算法模块,实现战场空中目标的快速准确识别。该模型算法需要设置的主要参数如表3所示。

表3 LightGBM算法模块主要参数设置

其中,关键参数num_leaves,即决策树叶节点个数,该值控制了决策树的深度(如果值越大,那么由于模型leaf-wise生长策略,将导致LightGBM模型趋于过拟合);min_data_in_leaf,即每个叶节点最少能够容纳数据的个数(当该值越小,LightGBM模型就越趋于过拟合状态)。

learning_rate、num_leaves、min_data_in_leaf等参数可通过网格搜索方法(Grid Search)在训练阶段进行自动搜索。

2.2.3 开始模型训练过程

本文采用五折交叉验证方式,将训练集进一步分割为训练子集和验证子集,用以全面评估模型的分类能力。评估的准则采用精确率P、召回率R以及F1分数F1,其定义分别为

(12)

(13)

(14)

式中:TP表示标签为当前战机型号且分类器预测结果也为当前战机型号的所有航迹点样本的总个数,FP表示标签不为当前战机型号且分类器预测结果却为当前战机型号的所有航迹点样本的总个数,FN表示标签不为当前战机型号且分类器预测结果也不为当前战机型号的所有航迹点样本的总个数。从式(14)看出,F1分数实质上是精确率P和召回率R的调和平均数,只有当P值和R值都接近于1时,F1值才会接近于1,否则F1值下降,如图7所示,所以F1值能够充分反映分类器的分类性能。

图7 精确率与召回率引起F1分数变化的规律

2.2.4 识别决策输出

最后,将生成的5个交叉验证分类子模型的识别结果以多数投票方式进行集成决策,最终得到唯一的战机型号识别决策输出。

3 实验及结果

3.1 LightGBM识别效果

本文所提模型的训练及测试过程均在如下的试验环境进行:DELL Z840工作站采用2个Intel Xeon Gold 6136型号的CPU,总共包含内核24个,线程48个;主频均为3.00 GHz。操作系统为CentOS 7.3 64位,算法开发环境使用python3.7、anaconda以及sklearn,分析平台使用pycharm2020。

根据2.2节的模型训练流程,对LightGBM进行训练,模型关键参数及对应参数值如表3所示。经过训练后,最终模型占用的存储空间为1 MB。在测试集上,识别模型的最终分类性能由图8所示的混淆矩阵以及表4所示的类别识别性能分数表给出。其中,表4中的测试集支撑数是指测试集中对应战机型号的航迹点样本个数。

图8 战场空中目标快速识别模型混淆矩阵

表4 战场空中目标快速识别模型测试集识别性能

表4(续)

从图8混淆矩阵以及表4所列分数中可看出以下几种误识别情况:(1)战机型号C有相当概率被误识别为战机型号D;(2)战机型号F有一定概率被识别为战机型号B和D;(3)战机型号H有大概率被识别为战机型号I;(4)战机型号K有大概率被识别为战机型号H。

识别模型产生误识别的主要原因有两点:

一是训练样本集中样本数目过少,即“小样本”问题,这对应于误识别情况(1)、(2)和(4)。“小样本”问题使得所训模型的学习方向偏向于样本数目较多的类别,造成了模型学习的偏差,故在测试阶段模型表现出误识别特点。

二是所学特征在特征空间中的可分性不强,对应于误识别情况(3),即不存在一个超平面足以将两类目标特征空间完全区分开,造成目标类别识别的高虚警率,从而在测试阶段模型出现误识别情况。

另一方面,为了测试所训模型计算的实时性,本文还对所训模型的识别速度在测试集上进行了统计。其过程是,将测试集数据转换为高维航迹点数据流,以10 000点数据流长度为单位,以第1点灌入所训模型的时刻为起点,以模型输出第10 000点识别结果时刻为止,计算所有万点数据的模型计算耗时平均值,然后再除以10 000,结果作为所训模型最终的单点计算时间。经过测试,所提模型的平均单点计算时间为408.1 μs。

3.2 CNN识别效果

为了证明所提方法的性能优势,本文还与文献[13]中的卷积神经网络(Convolution Neural Network,CNN)方法进行了比较,具体流程如图9所示。

图9 基于CNN的性能比对模型设计流程

Step1 针对清洗后的目标数据集,以战机航迹数据为统计细粒度,对各战机型号数据以随机乱序方式分别进行洗牌。

Step2 依据每种战机型号所含战机航迹总条数,以8∶2的比例,无放回地抽取形成对应型号的训练子集与测试子集。

Step3 将所有战机型号对应的两类子集合分别进行合并,形成用于分类器训练和测试的初步训练集与初步测试集。

Step4 对初步训练集与初步测试集以战机航迹数据为统计细粒度,使用随机乱序方式分别再次进行洗牌,从而获得训练和测试CNN模型所需要的训练和测试数据集。

然后,按照文献[13]中的方法构建和训练CNN模型。形成的CNN模型占用空间为25.6 MB。

最后,利用测试数据集对已训好的CNN模型进行测试。具体地,沿航迹数据时间维度,将每个测试集样本依次送入CNN网络,对每个航迹点的战机型号识别结果进行记录,统计每个型号的平均识别准确率。同时,以3.1节所述的方法计算单点平均计算时长。

经过上述训练和测试步骤后,得到CNN模型的战机型号平均识别正确率为90.32%,F1分数加权平均值为0.824 9,单点平均计算时长为5 385.5 μs。

通过表5所示的模型性能对比可以证明,在相同试验环境、相同数据集条件下,所提梯度提升树识别模型在识别正确率、F1分数和识别速度等性能上较CNN方法更优。

表5 模型性能比较

4 结束语

本文针对作战战机型号快速识别的焦点和难点问题,提出了一种基于梯度提升树的战机型号快速识别方法。以多传感器融合的战机航迹解译信息为数据基础,分析了航迹数据特征,构建了战机航迹数据特征工程,利用boosting集成学习思想,训练了基于梯度提升决策树的分类器。基于实测数据的实验表明,所提方法可准确识别每个航迹点对应的战机型号,识别准确率达到95.76%,较CNN方法的90.32%提高了5.44%;所提方法F1分数加权平均数达到0.955 4,而CNN模型的F1分数加权平均数为0.824 9。此外,所提方法平均单点计算时间为408.1 μs,较CNN方法的5 385.5 μs快13.19倍,验证了所提算法能够快速有效地辨识战机型号,满足准确性和实时性需求。然而,由于样本数量的不均衡、小样本识别以及特征空间的不可分等问题的存在,所提方法在识别精确性方面还需要进一步改进。

猜你喜欢

大圆航迹型号
画大圆
“三化”在型号研制中的应用研究
航天型号批生产管理模式的思考
型号产品配套管理模式探索与实践
梦的航迹
自适应引导长度的无人机航迹跟踪方法
视觉导航下基于H2/H∞的航迹跟踪
填数
不同型号CTC/TDCS设备的互联互通
基于航迹差和航向差的航迹自动控制算法