APP下载

基于主成分分析法的代价敏感极限学习机

2020-03-27顾竞豪王晓丹

火力与指挥控制 2020年1期
关键词:学习机降维代价

顾竞豪,王晓丹

(空军工程大学防空反导学院,西安 710051)

0 引言

伴随着互联网的迅速发展,互联网中的信息量也随之增大,网络信息的安全问题愈发突出,因此,网络安全技术则显得至关重要,近年来,入侵检测系统(IDS)在处理网络安全问题方面得到了较为广泛的应用。针对庞大的数据,快速而准确地分类已成为一种重要的数据信息提取的方法[1-3],但是在数据提取的过程中,存在着大量的冗余数据以及冗余的特征,有很多数据都是没有价值的,如何从大量数据中快速、准确地提取有价值的数据,从而合理地进行分类则成为了分类算法的核心问题所在。并且在分类的过程中,不同样本的误分类代价也是不相同的,而传统的分类算法认为样本的误分类代价是相等的,没有考虑到误分类代价的敏感问题,因此,如何实现期望代价最小化也是数据分类算法应该解决的关键所在。

在网络入侵检测技术中,神经网络技术应用较为广泛,本文研究的重点主要是简化的神经网络——极限学习机(ELM),该算法随机对输入与隐含层的连接权值以及隐含层神经元的阈值进行赋值,通过设置隐含层神经元的个数并适当进行调整,最后得到问题的解,与传统的神经网络训练方法相比,极限学习机(ELM)的学习速度更快、泛化能力更强[4-6]。但是,极限学习机(ELM)算法没有考虑到误分类代价的敏感问题,在网络入侵检测中,需要考虑到误分类代价不同的影响,以实现期望代价最小化作为最终目标,并且极限学习机(ELM)算法在入侵检测过程中也存在着冗余特征的处理问题,如果直接对高维数据进行分类,不仅入侵模式不能被准确分类,误检率较高,而且也增大了入侵检测的检测时间。

这里的代价敏感指的是不同误分类的代价损失是不一样的,不同的误分类情况给分类结果造成的影响是不同的。

针对以上问题,提出了一种基于主成分分析法的代价敏感极限学习机(ELM),它首先通过主成分分析对数据进行降维处理,确定需要分析的主要特征;再将预处理后的数据训练极限学习机(ELM),再用单独的测试集进行测试,以实现期望代价最小化为目标,从而最终实现减小检测时间,降低误报率,提高检测精度的目的。

1 极限学习机

极限学习机(ELM)是近年来发展起来的一种求解单隐层前馈神经网络(SLFN)的学习算法,其网络结构图如图1 所示。

图1 极限学习机网络结构

上述方程的矩阵形式可简化为:

式中,

式中,H 的表示的是隐层节点的输出矩阵,H 的第i行表示的是所有隐层节点与输入xi相关的输出。

式(3)中的解就是最小范数二乘解,即:

2 基于主成分分析法的代价敏感ELM

在网络入侵检测中,考虑到如果直接对高维数据进行分类,不仅入侵模式不能被准确分类,误检率较高,耗费了系统的资源,也增大了入侵检测时间的影响,根据高维特征空间的特性可知,对高维数据集进行降维处理的操作是有必要的[7-13]。同时也考虑到误分类代价不同的影响,以实现期望代价最小化为目标这一目标,提出一种基于主成分分析法的代价敏感ELM,通过主成分分析对数据进行降维处理,确定需要分析的主要特征;再将预处理后的数据训练极限学习机(ELM),再用单独的测试集进行测试,以实现期望代价最小化为目标,从而最终实现减小检测时间,降低误报率,提高检测精度的目的。

2.1 主成分分析法

步骤1 计算相关系数矩阵:

因为R 是实对称矩阵(即rij=rji),所以只需计算其上三角或者下三角元素即可。

步骤2 计算特征值与特征向量。

步骤3 根据特征值来计算主成分的贡献率。

2.2 代价矩阵

当不同样本的误分类代价不相同时,在进行数据分类处理的过程中,以误分率最小作为分类目标已经无法满足分类的需求,此时,应该将期望误分类代价最小作为分类的目标。

如果给出不同样本误分类的代价就可以由此来构造出代价矩阵Cost,它的元素表示的是样本的真实类型为j,而ELM 网络输出类型为i的代价。i=j 表示正确的分类,i≠j 则表示错误的分类[14-16]。这样可以得到样本所属类的代价方程:

表1 二分类问题代价矩阵

代价敏感评价指标中应用较为广泛的是全局误分类代价β 和平均误分类代价ρ 等,其中:

2.3 基于主成分分析法的代价敏感ELM

通过主成分分析对数据进行降维处理,确定需要分析的主要特征;再将预处理后的数据训练极限学习机(ELM),再用单独的测试集进行测试,以实现期望代价最小化为目标,从而最终实现减小检测时间,降低误报率,提高检测精度的目的。基于PCA 的代价敏感ELM 实施的具体步骤如下所示:

1)将原始数据按照行的方式组成n 行m 列的矩阵X;

2)求出X 每列的均值,并让该列的每个元素减去此平均值,得到一个矩阵D;

4)求出上式中C 的特征值以及特征向量;

5)将特征向量进行有序(从大到小)排列,取前p 个特征向量组成矩阵P;

6)Y=PX 得到降维后的数据。

Y 是进行降维处理后的数据,通过PCA 首先去除掉冗余特征,得到主要特征的矩阵排列,既较好地保留了原有的数据信息,也达到了降维,同时也平滑了噪声的目的。

再利用测试集计算平均误分类代价,根据所给出的代价矩阵C,将传统的ELM 模型改进为代价敏感ELM 模型,不再以误分率最小作为分类目标,而是将期望误分类代价最小作为分类的目标,即求解以下公式的最小解:

这里期望代价最小化和实际的误分率的区别在于,由式(9)可以看出,期望代价最小化等于每类的分类准确率的值乘以分成该类各种情况代价值的积的均值最小值,与误分率相比,误分率只考虑到了分类的准确率,而期望代价最小化不仅要考虑分类的准确率,还要考虑分成该类各种情况的误分类的代价。

3 实验结果与分析

3.1 数据源

实验数据采用KDDCU P99 提供的实验数据,随机抽取一部分,共计2 400 条数据。每次实验都随机选择2 300 条样本组成训练集,剩下100 条数据为测试集,采用检测精度、训练时间以及训练误差作为衡量系统性能的指标。

3.2 实验结果与分析

这里取累计贡献率达90%的特征值对应的为第1,第2,…,第m 个主成分。

表2 特征值及累计贡献率/%

首先,使用主成分析法(PCA)进行降维,在PCA中将原始数据输入MATLAB 后,由表1 可得到第1主、第2、第3 以及第4 主成分的方差贡献率,分别为36.2%、27.4%、18.1%、11.5%,前4 个主成分的累计贡献率达到了93.2%,达到了累计贡献率90%的目标,所以选取前4 个作为主成分,将数据降成4维的数据,这样更便于使用极限学习机来分类。

在入侵检测中,根据主成分分析法将攻击类型分为以下4 种:Dos,U2R,R2L,Probing,并根据文献[14-16]得到以下代价矩阵。

表3 代价矩阵Cost

图2 不同分类算法的平均误分类代价的比较

基于PCA 的代价敏感ELM 由于考虑到误分类代价的敏感问题,不再以分类概率最大为目标,而是以误分类代价最小作为目标,由图2 可以看出,在入侵检测中,该算法的平均误分类代价整体小于SVM、传统的ELM,以及较常用的基于遗传算法的极限学习机(GA-ELM)和基于粒子群的极限学习机(PSO-ELM),达到了以实现期望代价最小化为目标的效果。

实验中选取SVM,传统的ELM,以及较常用的基于遗传算法的极限学习机(GA-ELM)和基于粒子群的,极限学习机(PSO-ELM)对数据进行实验,对比得到数据训练所需要的时间,由表4 可以看出,无论是SVM,传统的ELM,还是较常用的基于遗传算法的极限学习机(GA-ELM)和基于粒子群的极限学习机(PSO-ELM),其训练时间都要远大于基于主成分析法的代价敏感ELM,大大说明通过主成分析法对高维数据进行降维处理,随后利用代价敏感极限学习机进行分类后,由于去除了冗余的特征,剔除掉了没有价值的数据,使得训练时间大大缩短,当样本数据过大时,这一特征更为明显。

表4 训练所用时间/s

当训练的误差越小的时候,预测的精度会越大。实验中通过选取100 个样本作为测试集,将这100 个样本测试得到的测试误差以图3 的形式展现出来,由图3 可知,支持向量机(SVM)以及传统的ELM,还有较常用的基于遗传算法的极限学习机(GA-ELM) 和基于粒子群的极限学习机(PSO-ELM)由于没有考虑到冗余特征以及噪声对实验结果的影响,在测试误差上,测试误差结果整体上均大于基于主成分析法的代价敏感极限学习机(CS-PCA-ELM),这说明通过PCA 首先对数据进行处理,去除掉冗余特征,得到主要特征的矩阵排列,较好地保留了原有的数据信息,达到了降维同时也平滑了噪声的目的,最终提高了检测精度。

图3 不同样本下的测试误差

综合上述实验可知,基于主成分分析法的代价敏感极限学习机,通过主成分分析法将原始数据维数从41 维降到4 维,去除了冗余的特征和冗余的数据,由于冗余的特征和冗余数据的减小,从而在ELM 进行分类时,训练时间大大降低。

由于在入侵检测数据中,有大量的冗余特征,这些特征不仅不能包含样本的信息,而且还对检测数据的分类起到扰动作用,存在一定的噪声,使ELM 的分类结果大大降低,误报率较高,利用PCA的降维处理将原始41 维数据降成4 维,去除了大量的冗余数据,数据之间的相关性更加紧密,分类的准确率和保留多少维数特征没有关系,而是和特征之间的相关性有关,PCA 的降维处理虽然丢失了部分特征,但是丢失的部分特征和这些冗余特征对分类准确性的干扰是微不足道的,因此,虽然丢失了一部分的特征,但检测准确率却提高了,误报率得到了降低。

4 结论

本文介绍了在入侵检测中,一种新的基于主成分析法的代价敏感极限学习机(CS-PCA-ELM),该算法针对传统的分类算法SVM、传统的ELM,和相应的改进算法中没有考虑到代价敏感的问题,以及当数据维数较高的时候直接对高维数据分类,分类效果往往不是很好的问题,提出了通过主成分分析对数据进行降维处理,确定需要分析的主要特征;再将预处理后的数据用来训练极限学习机(ELM),以实现期望代价最小化为目标的思想,实验表明基于主成分析法的代价敏感极限学习机(CS-PCA-ELM),不仅实现了降低入侵检测的检测时间,降低检测误报率,提高检测准确率的目标,同时也实现了期望代价最小化的效果。

猜你喜欢

学习机降维代价
混动成为降维打击的实力 东风风神皓极
警惕平板学习机骗局
基于数据降维与聚类的车联网数据分析应用
“机”关
降维打击
爱的代价
幸灾乐祸的代价
代价
从学习机到上网本
代价