一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于共形预测的高可靠入侵检测方法与流程

2022-02-20 21:36:20 来源:中国专利 TAG:


1.本发明涉及网络安全入侵检测技术领域,尤其涉及一种基于共形预测的高可靠入侵检测方法。


背景技术:

2.诸多机器学习算法在入侵检测模型中已开始大量应用且取得较好的检测效果,然而随着网络攻击逐渐呈现多步协同、分布式处理等特点,这些机器学习算法对入侵检测原始数据样本分类预测的可靠性并不理想。近年来,学者们提出了一系列基于机器学习的ids相关算法,如支持向量机(support vector machine,svm),决策树(decision tree,dt),随机森林(random forest,sf),贝叶斯网络(bayesian network),人工神经网络(artificial neural network,ann),k近邻算法(k-nearest neighbor,k-nn)等并有效的应用到ids中。如ikram等提出了一种将卡方特征提取与多分类svm相结合的入侵检测模型。该模型通过计算每个属性特征的方差并确定最大属性方差来优化rbf核参数。如果核参数与方差成反比,则高方差将产生更好的核参数,通过这种方式使入侵检测的性能有所提升。姚等人提出了将决策树与朴素贝叶斯算法结合用来解决入侵检测分类问题,该方法降低了系统的误报率和漏报率,同时也增强了系统的自学习能力和实时性。al-yaseen等提出了一种基于svm和极限学习机的多级混合入侵检测模型,该模型能够识别已知攻击和未知攻击,且通过采用k-means聚类方法产生新的小规模训练集从而减少分类器的训练时间。沈等人提出了一种基于人工蜂群优化的bp神经网络入侵检测模型,该模型根据人工蜂群算法全局寻优以及群体智能的特点,将神经网络的误差作为人工蜂群算法的适应度,选择适应度最好的一组参数作为神经网络的权值和阈值,避免神经网络陷入局部最优和收敛速度慢的问题。
3.可见,诸多机器学习算法已成功应用在ids中,但上述研究大多是基于单一的传统机器学习方法,虽然在样本识别能力上都有提升,但是表达复杂函数的能力有限,泛化能力较弱,不能很好地处理复杂分类问题并且这些分类算法只输出预测结果,缺少对预测结果置信度的评价机制,因此无法保证预测结果的可靠性。2005年,vladimir vovk及同事提出了共形预测(conformal prediction,cp)算法,该算法的新颖之处在于用有效的置信度来衡量预测结果的可靠性。其主要思想是利用过去已有的经验确定当前数据预测的置信度。它基于一致性原理且定义明确的数学框架用以衡量校准集与测试实例的符合程度,使用数据实例的奇异度(不一致性)确定新实例预测的置信值,同时生成一组具有限定错误率在某一范围内的预测类标签,唯一的假设是训练集样本和被预测实例须独立同分布。
4.近年来,共形预测逐渐应用于各个领域,如matiz和barner提出了一种基于主动学习的cp算法,该算法通过求解带约束条件的线性回归问题结合预测数据的不确定性、多样性和典型性确定预测数据之间的关联性,之后通过cp计算预测结果的可信度和置信值。作者将该算法应用在人脸识别上并取得了良好的效果。johansson等针对使用回归树进行预测时,多个测试实例会划分到一个叶结点中但得到不同预测区间的现象,提出了使用cp解释这种现象发生的合理性,该文颇有一定新意。sergio matiz等人提出icp-cnn模型,将cp
算法融入卷机神经网络中,在人脸和对象识别数据库上进行的实验表明,icp-cnn不仅在一定程度上增加了对新对象预测的可靠性,还提高了cnn的分类性能。tadiparthi v.r.h等将cp算法与矩阵分解技术相结合灵活运用在推荐系统中,提出并分析了基于矩阵分解的不同不一致性度量保障了预测的错误率,由此可看出cp模型在不断变化的条件下拥有较强的通用性。zhang等提出将cp算法与随机森林的基础算法结合用来解决无声语音识别可靠性问题,利用cp算法对无标签数据进行预测,不仅保证了识别的错误率还可获得单个数据预测的置信区间,增加了对新对象预测的可靠性。wang等基于cp算法提出一种分布回归的区间预测算法,通过内核平均嵌入将输入分布嵌入到复制内核希尔伯特空间,构建了可靠的预测系统,并将此方法首次应用于温度和降水综合预测领域中,取得了新的突破,展现出cp算法的通用性及有效性。由此可见cp算法及相关框架正逐渐走向成熟并在预测结果可靠性计算上起到了积极的作用。


技术实现要素:

5.针对现有技术存在的问题,本发明提供一种基于共形预测的高可靠入侵检测方法。借助共型预测方法具有评估预测结果置信度的属性,将adaboost(adaptive boosting)算法与共形预测(conformal prediction,cp)算法相结合,首先对工业控制系统网络连接记录的数据(以传统kdd cup99数据集为例)进行数字化、标准化和降维预处理,然后在cp框架下使用adaboost算法训练分类模型,利用cp算法来保证分类结果的可靠性。
6.为了解决上述技术问题,本发明采用以下的技术方案:
7.一种基于共形预测的高可靠入侵检测方法,包括以下步骤:
8.步骤1:采集工业控制系统的网络入侵检测数据,并对入侵检测数据进行预处理;
9.将入侵检测数据进行离散特征数值化,然后进行归一化处理,最后进行数据降维,将降维后的数据分为训练集、校准集和测试集;
10.所述归一化处理,公式如下:
[0011][0012]
其中u=i,...,n,u是入侵检测数据的每条数据,zu是每条数据归一化的结果,xu是观测值,e(x)是特征数据的均值,d(x)是特征数据的方差;
[0013]
所述数据进行降维采用pca算法,设入侵检测数据高维样本的矩阵表示为:
[0014][0015]
其中,n表示样本数量,m表示样本维度,确定输入的样本数据x后,对样本的特征进行均值运算:
[0016][0017]
其中xj是样本x的第j行向量,计算x的协方差矩阵c:
[0018][0019]
其中ll
t
是m维方阵,将矩阵ll
t
的特征向量按照对应特征值由大到小的顺序排列成矩阵,根据贡献率取该矩阵的前ξ行组成矩阵p,ξ<m,根据矩阵p,计算降维后的目标矩阵y:
[0020][0021]
所述贡献率μ为:
[0022][0023]
式中,πc是矩阵ll
t
的第c个特征值;
[0024]
步骤2:初始化训练集中数据的权值分布,赋予训练集中每个样本一个权重,构成权重向量其中n为训练集样本数,v=1,...,m,m为迭代次数;使用支持向量机svm对训练集中的样本数据进行训练;根据训练集中的样本数据构造k个svm模型,其中k表示样本数据标签的数量,每个模型负责区分标签数据为f的数据和标签数据不为f的数据,其中f=1,...,k
[0025]
步骤2.1:初始化训练集中数据的权值分布,设训练集带有标签的样本为z={(xi,yi),i=1,...,n},xi是第i个训练样本的特征向量,yi∈y,其中y是标签集合,设定每个样本的初始权重w
vi
都相等;
[0026]
步骤2.2:构造adaboost算法中的弱分类器h,即非线性svm模型,其分类超平面为:
[0027]
f(x)=η
t
φ(x) b
[0028]
其中,η为超平面法向量,x表示为特征变量,φ(x)表示x映射后的特征向量,b为常数;将数据样本根据标签取值分为两个数据子集z1={(xi,yi)|yi=r1}和z2=z-z1,其中r1是标签集合y中的一种设定标签,根据z1构造带约束条件的凸二次规划问题如下:
[0029][0030]
步骤2.3:引入拉格朗日乘子λi,i=1,...,n,构造拉格朗日函数:
[0031][0032]
采用径向基核函数对高维空间中的内积进行计算:
[0033][0034]
步骤2.4:通过kkt条件求解拉格朗日函数,得到乘子λi,i=1,...,n,对应(yi=r1)vs(yi≠r1)的分类函数如下:
[0035][0036]
式中b1为常数,将训练集按照标签取下一个值,即yi=r2重新分成两个子集,其中r2是标签集合y中的另一种设定标签,并重复步骤2.2到步骤2.4,得到第二个分类函数f2(x);
[0037]
步骤2.5:重复步骤2.2到步骤2.4,直至得到所有分类函数,f1(x),...,fs(x),其中s=|y|表示标签类别的数量。
[0038]
步骤3:使用cp算法构造不一致测量函数an,得到衡量不一致程度的得分α,并计算校准集的不一致得分αn′

[0039]
αn′
=an({(x1,y1),...,(xn′‑1,yn′‑1),(xn′
,yn′
)})
[0040]
其中n为训练集样本数,n

为校准集样本数。
[0041]
设o1,o2,...,os是svm算法输出数据实例x属于每个标签的概率,满足构造cp框架下的不一致函数:
[0042][0043]
其中σ∈[0,1],α均随着oq的增大而减小;
[0044]
步骤4:计算训练集中每条数据的不一致得分αj,并分别与校准集的不一致得分αn′
计算进行比较,获得校准集的不一致得分集α
cali
,其中cali=1,...,t,t为校准集的数量,同时建立改进p-value公式,计算每条训练数据对应的p-value值
[0045]
将αj分别与α
cali
进行比较进而计算数据实例的p-value,改进p-value公式如下:
[0046][0047]
其中,表示xj对应标签为yq∈y时的不一致得分,τ是抖动系数,τ∈[0,1],表示满足条件的cali的数量;
[0048]
步骤5:根据p-value值计算对应的每条训练数据可信度与置信值;
[0049]
可信度cr定义为:
[0050][0051]
置信值co定义为:
[0052][0053]
其中,
[0054]
步骤6:当置信值大于等于设定阈值时,认为该数据预测成功,当前数据置信值为该条数据的最终置信值;反之,当置信值小于设定阈值时,认为该数据预测失败。
[0055]
步骤7:计算弱分类器h的分类误差率,以及弱分类器h在强分类器中所占的权重,其中强分类器是由m个弱分类器组成的,m为提升迭代的次数。
[0056]
弱分类器h的分类误差率ev:
[0057][0058]
其中v=1,...,m,m为提升迭代的次数;i=1,...,n,n为训练样本数;hv为第v个基本分类器,i(
·
)为判断分类器类型的概率函数,计算弱分类器在强分类器中所占权重βv:
[0059][0060]
步骤8:依据步骤6的预测结果对数据权重dv=(w
v1
,w
v2


,w
vn
)进行更新,降低预测正确的数据权重,提高预测错误的数据权重,并根据上一次训练结果更新训练样本的权值分布d
v 1

[0061]
其中qv为归一化常数,
[0062]
步骤9:重复步骤2至步骤8,进行m次循环,得到m个弱分类器;
[0063]
步骤10:按照弱分类器的权重βv组合各个弱分类器g(x)得到最终的强分类器h
final

[0064][0065][0066]
步骤11:将测试数据集输入至强分类器h
final
,输出预测结果,根据预测结果判断测试数据集的数据类型,若该数据为normal类型数据,则存储在数据库中,反之,则发出预警并将其剔除。
[0067]
本发明所产生的有益效果在于:
[0068]
本发明提出一种基于共形预测的高可靠入侵检测方法,具备以下有益效果:
[0069]
1、通过使用本方法对工业控制系统网络数据的高可靠性监控,提前感知系统的入侵病毒,将会大大提高工业系统的安全性,减少系统由于入侵病毒导致的系统瘫痪及异常,提高了企业工作的效率与质量。
[0070]
2、设计了基于共形预测的入侵检测模型,该模型将共形预测融入到机器学习算法中(adaboost算法),保证了机器学习算法对网络数据分类的高可靠性。
[0071]
3、构造了cp框架下适合adaboost算法(以svm为基分类器)的不一致性的计算公式。提高了估计预测结果置信度的精度,进而提高了模型的整体检测性能。
[0072]
4、cp算法在计算p-value时,会随着校准集规模的增大而出现抖动现象。为了避免或消除该现象,通过引入平滑因子改进了p-value的计算公式,使其能够以更平滑的方式计算预测实例与校准集的不一致程度,从而改善了模型的稳定性。
附图说明
[0073]
图1为本发明基于共形预测算法的高可靠入侵检测方法流程图;
[0074]
图2为本发明传统adaboost算法流程图(以svm作为弱分类器)。
具体实施方式
[0075]
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0076]
一种基于共形预测的高可靠入侵检测方法,如图1所示,包括以下步骤:
[0077]
步骤1:采集工业控制系统的网络入侵数据,本实施例中kdd cup99数据集作为网络入侵数据,对kdd cup99数据集入侵检测数据进行预处理;
[0078]
将kdd cup99数据集的入侵检测数据进行离散特征数值化,然后进行归一化处理,最后进行数据降维,将降维后的数据分为训练集、校准集和测试集;
[0079]
由于数据集中各个特征下取值的数量级和量纲均各不相同,因而将数值化后的输入数据进行归一化处理,公式如下:
[0080][0081]
其中u=i,...,n,u是入侵检测数据的每条数据,zu是每条数据归一化的结果,xu是观测值,e(x)是特征数据的均值,d(x)是特征数据的方差。标准化后的数据均值为0,标准差为1。为了降低数据特征间的冗余并提高数据的处理速度,对数据集进行降维。采用pca算法对数据进行降维,保留主成分累计贡献率达95%的特征。
[0082]
设入侵检测数据高维样本的矩阵表示为:
[0083][0084]
其中,n表示样本数量,m表示样本维度,确定输入的样本数据x后,对样本的特征进行均值运算:
[0085][0086]
其中xj是样本x的第j行向量,计算x的协方差矩阵c:
[0087][0088]
其中ll
t
是m维方阵,将矩阵ll
t
的特征向量按照对应特征值由大到小的顺序排列成矩阵,根据贡献率取该矩阵的前ξ行组成矩阵p,ξ<m,根据矩阵p,计算降维后的目标矩阵y:
[0089][0090]
所述贡献率μ度量每个特征携带有效信息的多少,定义为:
[0091][0092]
式中,πc是矩阵ll
t
的第c个特征值;为保证用较少的特征携带较多的有效信息,用
(x);
[0110]
步骤2.5:重复步骤2.2到步骤2.4,直至得到所有分类函数,f1(x),...,fs(x),其中s=|y|表示标签类别的数量。
[0111]
步骤3:使用cp算法构造不一致测量函数an,得到衡量不一致程度的得分α,并计算校准集的不一致得分αn′

[0112]
αn′
=an({(x1,y1),...,(xn′-1,yn′‑1),(xn′
,yn′
)})
[0113]
其中n为训练集样本数,n

为校准集样本数。
[0114]
设o1,o2,...,os是svm算法输出数据实例x属于每个标签的概率,满足构造cp框架下适合adaboost算法的不一致函数:
[0115][0116]
其中σ∈[0,1],α均随着oq的增大而减小,符合cp理论中对不一致的定义。
[0117]
步骤4:计算训练集中每条数据的不一致得分αj,并分别与校准集的不一致得分αn′
计算进行比较,获得校准集的不一致得分集α
cali
,其中cali=1,...,t,t为校准集的数量,同时建立了一种防止大规模数据造成随机抖动现象的改进p-value公式,计算每条训练数据对应的p-value值它反映了训练集数据与校准集的差异程度。
[0118]
将αj分别与α
cali
进行比较进而计算数据实例的p-value,改进p-value公式如下:
[0119][0120]
其中,表示xj对应标签为yq∈y时的不一致得分,τ是抖动系数,τ∈[0,1],表示满足条件的cali的数量;可知越大,预测数据xj与校准集越一致。
[0121]
步骤5:根据p-value值计算对应的每条训练数据可信度与置信值;
[0122]
可信度反映预测标签与真实标签之间的符合程度,而置信值反映的是预测标签等于真实标签的可信程度。可信度cr定义为:
[0123][0124]
置信值co定义为:
[0125][0126]
其中,即置信值等于1减去第二大的p-value。
[0127]
步骤6:当置信值大于等于设定阈值时,认为该数据预测成功,当前数据置信值为该条数据的最终置信值;反之,当置信值小于设定阈值时,认为该数据预测失败。
[0128]
显著性水平(significance level)是假设检验中的一个概念,是指当原假设为正确时将其拒绝了的概率或风险,它是公认的小概率事件的概率值,要在每次统计检验之前
确定,本文将显著性水平记作ε∈[0,1],本发明取ε=0.05,在预先给定的显著性水平ε下,cp算法的不一致性得分当满足:因而置信值阈值设为1-ε。当置信值大于等于阈值时,认为该数据预测成功,当前数据置信值为该条数据的最终置信值;反之,当置信值小于阈值时,认为该数据预测失败。
[0129]
步骤7:计算弱分类器h(非线性svm模型)的分类误差率,以及弱分类器h在强分类器中所占的权重,其中强分类器是由m个弱分类器组成的,m为提升迭代的次数。
[0130]
弱分类器h的分类误差率ev:
[0131][0132]
其中v=1,...,m,m为提升迭代的次数;i=1,...,n,n为训练样本数;hv为第v个基本分类器,i(
·
)为判断分类器类型的概率函数,计算弱分类器在强分类器中所占权重βv:
[0133][0134]
步骤8:依据步骤6的预测结果对数据权重dv=(w
v1
,w
v2
,...,w
vn
)进行更新,降低预测正确的数据权重,提高预测错误的数据权重,并根据上一次训练结果更新训练样本的权值分布d
v 1

[0135]
其中qv为归一化常数,
[0136]
步骤9:重复步骤2至步骤8,进行m次循环,得到m个弱分类器;
[0137]
步骤10:按照弱分类器的权重βv组合各个弱分类器g(x)得到最终的强分类器h
final:
[0138][0139][0140]
步骤11:将测试数据集输入至强分类器h
final
,输出预测结果,根据预测结果判断测试数据集的数据类型,若该数据为normal类型数据,则存储在数据库中,反之,则发出预警并将其剔除以免影响工业系统的平稳运行。
[0141]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献