雷宇
(航空工业成都飞机工业(集团)有限责任公司,四川 成都610091)
军工单位的保密风险管理主要集中在建立适用于本单位保密风险管理体系,梳理单位各个作业面的风险点并进行风险评估,制定相应的风险控制措施,实现优化保密业务管理,以最小成本将失泄密风险控制在单位业务工作可以接受的水平,以此获得最大的信息安全防护。
全面进行保密系统的风险评估的首要关键问题建立健全的指标体系并量化计算。当评估指标数量不太多的时候,传统的数学模型能够在定量分析上取得较合理的评估结果,例如采用定性和定量相结合的保密管理风险评估方法,计算出年度保密风险的分布状态[1];采用归一化、标准化及层次分析法等方法对模型指标进行求解,建立了保密工作风险评估模型[2]。但是当指标数量较多时,由于模型本身的局限性, 难以处理随机干扰因素对风险评估数据的影响,因而很难正确反映风险评估数据或者风险指数本身的高度不确定性与非线性,导致在风险评估及风险指数预测方面产生较大的误差。因此,本文从单位保密实际工作出发,对定期获得的保密风险指数,采用K-means 聚类分析方法,识别出保密风险评估指标体系高风险指标集,将识别出来的高风险指标作为当前保密工作的防控重点;同时为了加强保密工作的风险预警,结合风险指数的历史评估数据,采用Elman 神经网络,预测各个指标在下一个时间段的风险指数值,并对预测为高风险的指标或者风险点采取主动预警防范措施,提高单位保密风险管理水平。
结合保密风险发生可能性大小、影响程度和管理改进迫切性三个维度[3],根据数学模型可以计算出单位的保密风险指数,并确定该单位的风险等级[4]。
表1 风险水平等级确定与排序列表
为了便于问题描述,本文假设风险评估指标数量为n,对于每个指标统计了第 1,2, ...,T个月的风险指数值
Xij, i =1,2,..., n, j =1,2,...,T 。
K-means 聚类算法基本思想是: 以空间中k 个点为形心进行聚类,以数据点到形心的欧式距离作为优化函数,利用函数求极值的方法得到迭代运算的调整规则[5]。通过迭代的方法,逐次更新各类的形心值,直至得到最好的聚类结果。结合保密风险水平数据,K-means 聚类的一般步骤可以归纳为:
(2)在第j 次迭代中,对任意一个样本点 pt(t =1,2,..., n),求其到k 个形心的欧氏距离
(3) 将该样本归类到与其距离最小的形心所在的类。
(4) 采用均值更新各类的形心值
式中 ni表示类别序号。
(5) 重复步骤(2) - (4) , 直到各类的形心值不再变化。
针对保密风险指数具有非线性动态变化的特点,本文采用具有“记忆”功能的Elman 神经网络预测模型。这种连接方式使得Elman 神经网络相较于其他神经网络相比,具有自联性和记忆功能,有助于增强对于动态数据的处理能力,以及建立动态模型[6]。Elman 神经网络是一种计算能力很强的反馈性神经网络,其具体的网络结构如图1 所示。
Elman 神经网络结构一般分为四层:输入层、隐含层、上下文层和输出层。输入层单元起信号传输作用,输出层单元起线性加权作用,隐含层单元的传递函数可采用线性或非线性函数,上下文层则从隐含层接收反馈信号,其神经元输出被前向传输至隐含层。
图1 Elman 神经网络结构图
在Elman 神经网络中,设上下文层的输出为 yc( k),隐含层的输出为 o ( k ),网络在外部输入时间序列 x ( k)作用下的网络输出序列为 y ( k),则有
其中,k 表示时刻;w1为输入层与隐含层间的连接权值;w2为上下文层与隐含层间的连接权值;w3为隐含层与输出层间的连接权值;g (·)为输出层传递函数,是隐含层输出的线性组合;f (·)为隐含层传递函数,一般采用Sigmoid 激活函数:
f ( x) = 1/(1 +e-λx)。
网络学习过程是一个不断调整权值的过程,而Elman 神经网络使用BP 算法来修正权值。设K 时刻的系统实际输出值为Y(k),则Elman 神经网络的目标函数为:通过调整w1、w2和w3的值,使得误差E 最小,从而确定权值。
3.2.1 输入数据的处理
由于给定某个指标的历史风险指数值本质上可以看成一个时间序列,作为Elman 神经网络的输入数据是多维的,因此需要将时间序列数据截取为多维向量组作为网络训练数据输入,不防假设第i 个指标的历史风险指数序列为:
Xi=( xi1, xi2, xi3,..., xiT),
设截取维数为l,如 ( xi1, xi2,..., xi,l-1, xil)就是一组训练集,表示通过 xi1, xi2,...,xi,l-1共 l-1个数据可以预测到第l个数据xij,这样Xi就可以转化为T-l+1 个训练数据
( xi1, xi2,..., xi,l-1, xil),...,( xi,T-l+1, xi2,..., xi,T-1, xiT)。
同时,由于该数据是已知数据,根据保密风险指数计算方法,所有的保密风险指数值均介于0-5 之间,因此无须对数据进行标准化或者归一化处理。
3.2.2 网络参数的选择
神经网络中隐含层的层数是非常重要的参数。在选取过程中,若选取的隐含层层数较小,则会导致产生的连接权组合数无法满足样本的学习,学习能力和处理信息能力降低。若选取的隐含层层数较大,则网络学习的泛化能力较差,而且容易在计算过程中错过最小值,因此选取合适的隐含层个数就成为一个重要的问题。通常隐含层层数的确定通过如下三个经验公式确定,得出最大值和最小值,确定隐含层个数的范围,然后在Elman 神经网络模型中依次代入训练,选择最小值[6],
其中m 为隐含层结点数,n 为输入层节点数,l 为输出层节点数,α 为介于1-10 内的常数。
3.2.3 预测数据的后处理
将待预测的数据带入训练好的Elman 网络即可得到预测结果,但是预测后的某些数据会超出风险指数值介于0-5 之间的约束条件。如果发生这种情况,还需要将数据校正,以便用于下一步的预测。本文采用最简单的截断处理方式,即如果风险指数值大于5,则该风险指数修正为上限值5;如果出现预测风险指数值小于0,则将其值校正为风险指数值的下限值0。
风险评估指标数量为 n= 100,历史数据为24 个月( T=24)的风险指数值。本文数据利用计算机随机生成,得到相应的风险指数矩阵为 X100×24。
在对保密风险指数的评估分类中,不需要考虑历史数据,所以只选取最后一个月的风险指数值进行K-means 聚类,并计算每个类别的风险指数均值进行风险等价划分。此处给出第24个月的100 个指标的风险指数值,如表2 所示。
利用K-means 聚类对该表的风险指数聚类,100 个指标的具体风险等级分类结果见表3。
根据表3 的结果,保密管理部门可以加强对属于重大风险和高风险的指标实时重点监控,督促改进保密措施,降低保密风险水平。
对于历史风险指数数据,取l=4,也就是相邻4 个数据作为一个样本,其中前3 个设为已知的风险指数值,第4 个月为预测的风险指数值,以此类推,每个指标的24 个月的风险指标观测数据最终可被分为21 个样本。选择前80%的数据作为训练样本,后20%的数据作为测试样本。
表2 100 个指标第24 月的风险指数
表3 第24 月风险指数分类结果
图2 选取5 个具有代表性指标的预测结果
从图2 可以看出,Elman 神经网络预测效果较理想,预测结果表现出历史数据的波动性和周期性特点。
对Elman 神经网络的预测结果,利用K-means 聚类对第25月的风险指数再次进行聚类评估,100 个评价指标的风险指数值在预测后的风险等级详细分类结果见表4:
表4 第25 月风险指数分类结果
根据表4 中的结果,保密管理部门必须对重大风险和高风险指标发出风险预警,加强这些指标所对应的工作部门的风险管控。
对保密管理工作中的大量风险评估指标以及保密风险指数数据,利用K-means 聚类算法对评估指标进行自动分类并确定风险等级,采用Elman 神经网络进行保密风险指数的动态时序预测,所建立的模型能有效地应用到单位保密工作的信息化管理中。