基于代价敏感集成学习的战场态势评估模型*
2022-01-06霍士伟田八林郭圣明唐宇波
霍士伟 田八林 郭圣明 唐宇波
(1.国防大学研究生院 北京 100091)(2.国防科技大学信息通信学院 西安 710106)(3.国防大学联合作战学院 北京 100091)
1 引言
战场态势评估是作战指挥活动的核心环节,是有效实施作战指挥决策的前提和依据[1]。随着大量的预警探测设备、传感器的广泛应用,获取的大量战场态势数据已经远远超出了指挥员的分析和处理能力。而信息化作战的快节奏又对态势评估的时效性和准确性提出了更高要求[2]。因此,必须要通过智能化的手段来辅助指挥员完成态势评估。智能化战场态势评估是实现智能化作战指挥的基础和关键。智能态势评估即可以有效提高指挥员评估态势的速度,又可以弥补指挥员主观判断的局限,增强态势评估的准确性[3]。
随着机器学习的快速发展和在军事领域的广泛应用,以及战场数据获取能力的提高,基于机器学习的数据驱动的战场态势评估成为目前研究的热点。目前,基于机器学习的战场态势评估主要集中于常规机器学习算法在具体战场态势评估场景下的应用研究,如利用神经网络、支持向量机、深度学习等机器学习方法用于目标威胁评估、目标意图识别等具体应用场景[4~7]。由于战场环境和作战领域的特殊性,在利用常规机器学习方法进行战场态势评估时还存在一些问题亟待解决。误分代价不平衡问题是基于机器学习的战场态势评估中的一个关键问题。误分代价不平衡问题是指不同类别的分类错误会造成不同的误分类代价[8]。战场态势评估具有明显的误分代价不平衡特点,如果将我方劣势的态势误分为我方优势的态势,那么会由于后续采用的应对措施不当而对作战进程造成严重影响,甚至导致作战失败,这时的误分代价是很高的。反之,如果是我方优势的态势误分为我方劣势态势,会因为采取了过高的应用措施,而造成一定的作战资源浪费,但一般不会对作战进程造成严重影响。因此,将劣势态势误分为优势态势的代价要远远高于将优势态势误分为劣势态势的代价。但是,常规的机器学习分类方法以提高分类器总体分类准确率为目标,假定不同类别的误分代价是相同的。当常规的机器学习方法应用于具有误分代价不平衡的战场态势评估问题中,很容易造成误分代价高的样本错分,而对作战进程造成严重影响。
针对代价误分不平衡问题,研究者提出了代价敏感机器学习方法。代价敏感学习考虑不同类别样本的误分代价,重点关注错分代价较高类别的样本,以分类错误总代价最小为目标[9]。代价敏感学习方法主要包括代价敏感直接学习和代价敏感集成学习两类[9]。代价敏感直接学习是对常规机器学习算法内部进行改进,如对算法损失函数进行改进,引入误分代价敏感因子,使常规算法具有代价敏感特性。代价敏感集成学习通过利用集成学习的方法对常规分类模型进行组合,在集成学习算法的样本权重更新过程中引入误分类代价,使常规分类模型具有代价敏感特性。代价敏感集成学习方法不需要对常规分类模型内部进行改进,是一种简单且适应性强的代价敏感机器学习方法。针对战场态势评估过程中存在的误分代价不平衡问题,本文以代价敏感集成学习方法为模型整体训练框架,以适用于非线性建模的BP神经网络模型为基础分类器,提出了基于代价敏感集成学习的战场态势评估模型,为解决误分代价不平衡条件下的智能战场态势评估问题提供了思路。通过实验,验证了该模型在战场态势评估误分代价不平衡条件下的可行性和有效性。
2 基于代价敏感集成学习的战场态势评估模型
2.1 基于代价敏感集成学习的战场态势评估模型框架
本文结合代价敏感集成学习和BP神经网络设计了战场态势评估模型,如图1所示。由于战场态势评估各个因素之间相互影响,呈现出复杂的非线性关系,模型以具有良好非线性建模能力的BP神经网络作为基分类器。针对战场态势评估过程中误分代价不平衡的问题,通过代价敏感集成学习方法对BP神经网络模型进行集成训练,使模型具有代价敏感特性。
基于代价敏感集成学习的战场态势评估基本流程如下。
1)将战场态势样本数据和误分代价矩阵作为模型输入,利用误分代价矩阵计算初始样本权重,得到带权重训练样本集;
2)利用带权重训练样本集对BP神经网络模型进行训练,得到弱分类模型;
3)对弱分类模型进行测试,计算弱分类模型分类误差,结合分类误差和误分代价矩阵,更新样本权重,得到新的带权重训练集,利用新的训练集对BP神经网络模型进行重新训练;
4)重复上述训练模型、模型测试、计算分类误差、更新样本权重的过程,直到得到满足要求数量的弱分类模型;
5)根据分类器集成策略,将所有弱分类模型组合为强分类器。
2.2 基于BP神经网络的战场态势评估分类模型设计
在基于代价敏感集成学习的战场态势评估模型中,基分类器是模型的关键,其性能的好坏直接关系着整个模型的性能,本文选择BP神经网络来构造战场态势分类模型。
BP神经网络是一种单向传播的多层前向神经网络,包括输入层、隐含层和输出层三个层级。输入层接收输入特征向量,隐含层负责对输入的特征向量进行非线性变换映射,输出层输出分类结果,其中隐含层根据需要可以有多层。BP神经网络是由多个简单的神经元组合而成的学习模型,BP神经网络通过模拟人脑的思维模式和组织形式建立,通过数据样本训练调节网络结构和节点之间的权重,实现对非线性关系的建模,具有很好的自学习能力。由于战场态势评估各个因素之间相互影响,呈现出复杂的非线性关系,而BP神经网络具有强大的非线性建模能力,因此选择采用BP神经网络来建立战场态势评估分类模型。
本文采用经典的三层前向BP神经网络结构。模型输入为获取的战场态势特征向量,如敌我兵力对比、敌我武器火力对比等。数据输入层结点数为战场态势特征数,本文所用的战场态势特征为7维向量,因此输入层节点数为7。模型输出为战场态势评估等级,本文中将战场态势评估等级设置为5个级别:绝对优势、优势、均势、劣势、绝对劣势,因此网络输出层结点数为5。为了适应神经网络的输出特点,样本输出标签采用one-hot编码方式,例如将代表绝对优势评估等级的类别标签1编码为(10000),将代表优势评估等级的类别标签2编码为(01000)。隐含层结点数采用式经验式(1)确定。
图1 基于代价敏感集成学习的战场态势评估模型框架
其中n为输入层节点数,m为输出层节点数,n1为隐含层节点数,a∈[1,10]。通过训练数据和验证数据反复验证,最终确定隐含层节点数为10。BP神经网络完整网络结构如图2所示。
图2 BP神经网络结构
2.3 代价敏感集成学习算法设计
本文采用的AdaCost代价敏感集成学习算法用于对BP神经网络进行集成训练,使常规的BP神经网络模型具有代价敏感特性,从而适用战场态势评估中的误分代价不平衡特点。
AdaCost代价敏感集成学习算法是从AdaBoost集成学习算法发展而来。AdaBoost算法是一种常用的Boosting模式的集成学习算法[10]。基本思想是为原始数据集中的每个样本赋予一个初始权重,首先在原始数据集上训练基分类器。然后根据基分类器的分类结果对样本权重进行更新,使得错误分类样本在后续的训练时可以得到更多的关注。最后,组合多个分类器的分类结果就是所有弱分类器分类结果的投票组合。
常规的AdaBoost算法不具有代价敏感特性,研究者通过对AdaBoost算法进行改进,提出了具有代价敏感特性的 AdaCost算法[11]。AdaCost将样本误分代价引入到样本权重更新公式中,使被错误分类且误分代价高的样本权重得到较快提升,从而在后续训练中得到更多关注。AdaCost算法具体过程如下。
输入:
数据集S={(x1,c1,y1),(x2,c2,y2),…,(xn,cn,yn)},其中xi为数据集输入特征向量,yi为样本标签,ci为样本误分代价,迭代次数T;弱分类器。
输出:组合分类器
算法步骤:
1)将数据集S中的样本权值初始化为
2)对于t=1,2,…,T根据初始样本权重在数据集S上训练弱分类器ht(x),计算分类器ht(x)的错误率εt:
如εt>0.5,则开始下一轮循环,否则按照以下方式计算更新样本权重:
其中Zt是规范化因子,βi为代价调整函数
3)输出组合分类器:
在上述AdaCost算法中,代价调整函数βi=β(sign(f(xi)hi(xi)),ci)中的 sign(f(xi)hi(xi))用于判断弱分类器ht(x)对样本xi的分类是否正确。当分类正确时代价调整函数为β+,分类错误时代价调整函数为β-。代价调整函数在不同的应用场景下一般不同,通常根据经验或多次实验来确定。本文采用文献[12]给出的代价调整函数计算方式:
AdaCost算法主要用于二分类情形下。而本文中的战场态势评估是一种多分类情况,因此在应用AdaCost算法对本文的BP神经网络战场态势评估模型进行集成时,需要对样本权重更新方式进行调整。调整后的样本权重更新方式如下。
1)如果弱分类器ht(x)对样本xi分类正确,即h(xi)=yi,则按如下方式更新样本权重:
2)如果弱分类器ht(x)对样本xi分类错误,即h(xi)≠yi,则按如下方式更新样本权重:
其中Zt、βi的计算方式仍然同原AdaCost算法一样。
3 实验与分析
本节利用文献[13]提供的战场态势评估数据对第2节中的评估模型进行实验验证。实验硬件环境为Intel i3-4030U CPU,主频1.9GHz,内存4G,编程环境为Matlab2018a。
3.1 实验设置
实验数据共包括200条战场态势评估数据,输入变量包括敌我兵力数量对比、敌我防御能力对比、敌我攻击能力对比等7维特征,战场态势评估等级为样本标签,战场态势评估等级包括绝对优势、优势、均势、劣势、绝对劣势5个等级。为了适应评估模型的要求,针对实验数据中的5种战场态势等级(绝对优势、优势、均势、劣势、绝对劣势),分别设置对应的5类标签值(1、2、3、4、5)。部分实验数据如表1所示。在200个样本中,随机选取其中150个样本作为训练样本,50个样本作为测试样本。
表1 部分实验数据
为了对所提模型性能进行比较分析,设置以下条件下的对比实验:1)单独的BP基神经网络模型;2)利用本文提出的基于代价敏感集成学习的战场态势评估模型,其中分类器集成数量设置为10。
另外,通过设置不同误分类代价矩阵,在不同实验条件下比较模型的性能。在实际应用中,误分类代价矩阵一般根据经验由专家给出。在本实验的战场态势评估场景下,误分类代价矩阵设置应该遵循以下原则:正确分类情况下代价为0;将劣势等级战场态势误分为优势等级的代价要高于将优势等级误分为劣势的代价,例如将类别1误分为类别2的代价要高于将类别2误分为类别1的代价。根据上述原则,实验中设置以下两种误分代价矩阵,如表2、表3所示。
表2 误分代价矩阵1
表3 误分代价矩阵2
3.2 实验结果与分析
在不同的误分类代价实验条件下进行了实验验证,在模型性能比较时,除了考虑模型分类准确率外,还考虑了模型总误分代价,实验结果如表4所示。由表中结果可以看出,在三种条件下,本文结合BP神经网络和AdaCost代价敏感集成学习提出的战场态势评估模型,相对于单独的BP神经网络模型来说,在评估准确率和误分总代价方面都有一定的优势。实验表明,通过代价敏感集成学习方法,可以提高常规机器学习模型的准确率,同时实现模型误分代价最小化,从而更好地适应战场态势评估误分代价不平衡的特点。
表4 实验结果
4 结语
为解决误分代价不平衡条件下基于机器学习的战场态势评估误分代价较大的问题,结合代价敏感集成学习和BP神经网络模型提出了基于代价敏感集成学习的战场态势评估模型,设计了基于Ada-Cost的代价敏感集成学习算法。实验表示,在误分代价不平衡条件下,本文结合BP神经网络和Ada-Cost代价敏感集成学习算法提出的战场态势评估模型,相对于单独的BP神经网络模型来说,在评估准确率和误分总代价方面都有一定的优势。为误分代价不平衡条件下的战场态势评估提供了新的解决思路。