CN116340936A - 融合强化学习和特征选择优化的ics入侵检测系统及方法 - Google Patents
融合强化学习和特征选择优化的ics入侵检测系统及方法 Download PDFInfo
- Publication number
- CN116340936A CN116340936A CN202310283388.XA CN202310283388A CN116340936A CN 116340936 A CN116340936 A CN 116340936A CN 202310283388 A CN202310283388 A CN 202310283388A CN 116340936 A CN116340936 A CN 116340936A
- Authority
- CN
- China
- Prior art keywords
- reinforcement learning
- data
- state
- ics
- svm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 66
- 230000002787 reinforcement Effects 0.000 title claims abstract description 48
- 238000005457 optimization Methods 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 title claims abstract description 18
- 230000006870 function Effects 0.000 claims abstract description 59
- 238000012549 training Methods 0.000 claims abstract description 37
- 230000035772 mutation Effects 0.000 claims abstract description 25
- 238000012795 verification Methods 0.000 claims abstract description 16
- 238000012360 testing method Methods 0.000 claims abstract description 10
- 230000009471 action Effects 0.000 claims description 44
- 230000002159 abnormal effect Effects 0.000 claims description 15
- 238000004519 manufacturing process Methods 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 7
- 238000007405 data analysis Methods 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 5
- 230000001186 cumulative effect Effects 0.000 claims description 4
- 238000011156 evaluation Methods 0.000 claims description 4
- 230000004927 fusion Effects 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 4
- 108090000623 proteins and genes Proteins 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000012854 evaluation process Methods 0.000 claims description 3
- 238000000638 solvent extraction Methods 0.000 claims description 3
- 108091026890 Coding region Proteins 0.000 claims description 2
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 238000012552 review Methods 0.000 claims description 2
- 238000012706 support-vector machine Methods 0.000 abstract description 13
- 238000013461 design Methods 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000006399 behavior Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/211—Selection of the most significant subset of features
- G06F18/2111—Selection of the most significant subset of features by using evolutionary computational techniques, e.g. genetic algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physiology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种融合强化学习和特征选择优化的ICS入侵检测系统及方法,将工业控制系统(ICS)历史数据集的数据特征选择进行二进制编码和种群初始化,通过SVM‑强化学习进行离线训练,将在验证集上得到的准确率作为适应度函数,设计基于累计概率的交叉操作和变异操作对种群进行更新,经过迭代优化后从而获得最优特征集合;基于最优特征集合对ICS实时数据集进行特征选择,通过支持向量机(SVM)‑强化学习对实时数据集进行在线入侵检测测试,从而获得入侵检测性能指标。本发明采用了基于SVM‑强化学习新模式,并在此基础上融合了最优特征选择的智能优化,提升了ICS入侵检测系统的智能化设计水平和入侵检测的精度。
Description
技术领域
本发明涉及工业控制系统信息安全领域的智能入侵检测技术,尤其涉及一种融合强化学习和特征选择优化的ICS入侵检测系统及方法。
背景技术
工业是国民经济的主导,工业控制系统(Industrial Control Systems,ICS)用于管理、指导和调节自动化工业过程的行为,所以ICS对于工业的安全可靠和高效运行至关重要,可以说ICS相当于工业的大脑。而在当今信息化和工业化的高度融合,一方面使得工业控制系统更加精确和高效,而另一方面也面临着日益严峻的安全威胁。
入侵检测系统(Intrusion Detection System,IDS)通过对系统的运行状况进行监视,尽可能分析各种攻击目的、攻击行为或者攻击结果,以保证系统资源的机密性、完整性和可用性。IDS是保障工业控制系统安全的核心技术之一,因此IDS受到了学术界和工业界的广泛关注。然而传统的IDS在面对当前高实时、大容量以及复杂多维的工业物联网数据时,往往需要复杂的训练过程,且准确率有待提高。因此,如何进行最优特征选择以高效压缩ICS数据集进而提高IDS的运行效率和性能已成为学术界和工业界亟待解决的技术难题之一。
近年来,基于深度学习的工业控制系统入侵检测技术已成为学术界和工业界的研发热点之一。深度强化学习技术不仅结合了深度神经网络和强化学习,不仅能够从已知网络环境中获取最大化的奖励,而且其具备探索功能,能够自动在网络环境中挖掘更多有价值的信息,模型收敛速度快;支持向量机(Support Vector Machine,SVM)的泛化性能比较好,不容易过拟合,针对少量的数据和高维数据也能有很好的效果。但目前在ICS入侵检测研究领域,鲜有融合SVM-强化学习新模式的研究报道。
综述所述,融合强化学习和特征选择智能优化的ICS入侵检测新技术具有重要的价值,且亟待研发。
发明内容
本发明的目的在于针对现有技术的不足,提供一种融合强化学习和特征选择优化的ICS入侵检测系统及方法。
本发明的目的是通过以下技术方案来实现的:本发明实施例第一方面提供了一种融合强化学习和特征选择优化的ICS入侵检测系统,所述系统包括ICS入侵检测数据采集模块、基于SVM-强化学习的特征选择离线优化模块和基于最优特征的SVM-强化学习在线入侵检测模块;
所述ICS入侵检测数据采集模块,用于从工业控制系统的历史数据库中采集生产过程监控状态的历史数据,经过数据解析,获得源数据集,标记为X,并按照公式(1)进行数据的归一化处理,以获取离线训练数据集,将其标记为Xo,将Xo按比例随机分割以获取训练集Xo1与验证集Xo2,将所述训练集Xo1与验证集Xo2输入到基于SVM-强化学习的特征选择离线优化模块;
其中,Xoj表示离线训练数据集Xo第j维度的特征,Xj表示源数据集X第j维度的特征,Xjmax与Xjmin分别表示Xj的最小值与最大值,d表示Xo维度的最大值;
所述ICS入侵检测数据采集模块,用于从ICS实时数据库中采集生产过程的实时监控数据,经过数据解析和数据归一化处理后,得到在线检测数据集,将该在线检测数据集输入基于最优特征的SVM-强化学习在线入侵检测模块;
所述基于SVM-强化学习的特征选择离线优化模块,用于将ICS历史数据集的数据特征选择进行二进制编码和种群初始化,通过SVM-强化学习进行离线训练,将在验证集上得到的准确率作为适应度函数,基于累计概率的交叉操作和变异操作对种群进行更新,经过迭代优化后从而获得最优特征集合,将获得的最优特征集合输入到基于最优特征的SVM-强化学习在线入侵检测模块;
所述基于最优特征的SVM-强化学习在线入侵检测模块,用于基于最优特征集合对ICS实时数据集进行特征选择,通过SVM-强化学习对实时数据集进行在线入侵检测测试,以获取入侵检测性能指标。
本发明实施例第二方面提供了一种应用上述系统的融合强化学习和特征选择优化的ICS入侵检测方法,包括以下步骤:
(1)设置基于SVM-强化学习的特征选择离线优化模块的参数值,所述参数值包括种群大小N、迭代优化次数I、交叉率Pc、变异率Pm,强化学习的训练轮次EP、强化学习行动者和批判者的网络参数,所述强化学习行动者和批判者的网络参数包括网络层数D,强化学习行动者的学习率lr1,批判者的学习率lr2,损失函数loss,强化学习行动者的优化器optimizer1,批判者的优化器optimizer2;
(2)将随机生成的N个二进制编码的个体作为初始种群Q={Indj,j=1,2,…,N},每个个体采用二进制编码,编码形式为Indj=(a1,a2,…,ai,…,an),在此Indj代表种群中第j个个体,ai代表个体中每个基因的编码,1≤i≤n,n表示数据集中特征数量的最大值,ai的具体定义公式(2)表示为:
其中,每一个Indj的初始化就是随机初始化n个ai,即随机生成一串长度为n的二进制字符串,该二进制字符串的信息就代表着对数据集中n个特征的选择组合;
(3)对种群Q进行性能评估,具体评估过程如下:
(3.1)依据种群Q中每个个体对应的二进制编码信息,将离线训练数据集Xo1进行
特征选择之后,作为SVM-强化学习离线训练的数据输入;
(3.2)所述SVM-强化学习离线训练的实现过程如下:
初始化强化学习环境env类,所述env类拥有2个属性,分别是:数据的分组大小
batch_size和数据的维度大小state_shape;env类拥有2个函数,分别是:状态更新函数
upstate和动作函数act;所述状态更新函数upstate的返回值为状态state,所述状态更新函数upstate的功能为从数据集中随机抽取一个batch_size大小的数据命名为state返回;
所述动作函数act的输入参数是动作action和state,输出是下一个state和奖励reward,
所述动作函数act的功能实现是通过对比action和state的标签label,如果action值和label值相等,则该action的reward取1;如果不相等,则该action对应的reward取值0,再调用upstate更新state获取state+1,返回reward和state+1;
强化学习行动者网络的初始化采用3层网络,第一层是输入层,第二层隐藏层网络大小为hindden_size,采用的是高斯核函数作为映射,并且网络的损失函数loss采用的是hinge损失函数,以此和基于高斯核函数的SVM一一对应,第三层是输出层,优化器为optimizer1,学习率为lr1;
批判者初始化采用的是3层网络,3层都是全连接层,其中第二层隐藏层网络大小为hindden_size,优化器optimizer2,学习率为lr2;
env类调用状态更新函数upstate得到state,再接着选择一个随机数r=random(0,1),random(0,1)表示随机选择一个0到1之间的小数;
action的具体计算如公式(3)所示:
其中,ε是一个超参数用于判断action的选择,nD表示离线训练数据集Xo1经特征选择后的数据总数,αh表示上一步的action,yh表示是上一步的数据标签,δ是高斯函数的一个参数,c是一个偏置量,代表总体的state,s表示/>中的一个状态state,
代表第h次随机选择的state,A代表的是总体的action集合;Env执行动作函数act,输入action,输出reward和下一个state,称为state+1,然后批判者根据state、reward和state+1,按照公式(4)获取td_error对强化学习行动者进行评估,以此来更新强化学习
行动者:
td_error=reward+d×LAM×(V--V)(4)
其中,V表示批判者对state的评估值,V-表示批判者对state+1的评估值,LAM是一个表示state和state+1数据之间的联系程度的超参数,d表示是否加上后面的结果,即当d=0时,则表示舍弃后面的结果,当d为0到1之间的小数,则表示按权重添加后面的结果;根据获取的td_error,强化学习行动者利用action、state和td_error更新自身网络参数权重;
(3.3)执行SVM-强化学习EP轮次的离线训练,针对验证集Xo2进行验证测试,以验证集Xo2上准确率为标准,统计出每个个体对应的最终准确率,将其作为每个个体的个体适应度值fj(j=1,2,…,N),并确定准确率最高的个体为最优个体Indibest;
(4)按照公式(5)计算出种群Q中每个个体被遗传到下一代群体中的概率pj(j=1,2,…,N),按照公式(6)计算每个个体的累计概率qj:
(5)随机生成一个0到1之间的随机数r1=random(0,1),如果r1≤交叉率Pc,则进行交叉操作,否则不进行交叉操作;所述交叉操作实现步骤具体为:随机生成一个0到1之间的随机数r2=random(0,1),如果则从种群Q中选择第j1个个体;随机生成一个0到1之间的随机数r3=random(0,1)且r3≠r2,如果/>则从种群Q中选择第j2个个体,然后随机生成一个1到n之间的整数k=randint(1,n),其中randint(1,n)表示随机生成一个1到n之间的整数,将第j1个和第j2个个体的第k个位置对应的编码ak进行数值互换,其它数值保持不变;将交叉操作后的种群标记为Qc;
(6)从种群Qc中随机选择出一个个体,随机生成一个随机数r4=random(0,1),如果r4≤变异率Pm,则对该个体进行变异操作,否则不进行变异操作;所述变异操作具体为:随机生成一个1到n之间的整数m=randint(1,n),将待变异个体的第m个位置对应的编码am进行二进制变异,如果原来的am值是0,则变异后的am变成1,如果原来的am值为1,则变异后的am变成0;将变异后的种群标记为Qm;
(7)无条件接受Q=Qm;
(8)重复所述步骤(3)~所述步骤(7),直到满足设定的迭代优化次数I为止;
(9)获取最优个体Indibest,以获取Indibest二进制编码序列所对应的最优特征集合;
(10)基于最优特征集合对ICS实时数据集Xr进行特征选择,以获取数据子集Xt;
(11)按照所述步骤(3.2)中的SVM-强化学习对获得的数据子集Xt进行在线入侵检测测试,对检测的异常数据进行报警,并按照公式(7)~(9)计算入侵检测的准确率、召回率和F1评分:
其中,TP表示将正常ICS数据样本正确地预测为正常分类的数量,TN表示将异常ICS数据样本正确地预测为异常分类的数量,FP表示将异常ICS数据样本错误地预测为正常分类的数量,FN表示将正常ICS数据样本错误地预测为异常分类的数量。
本发明的有益效果是,本发明通过特征选择智能优化将ICS数据集中的数据约简冗余,以此来去除相关的噪声和无消息数据,降低算法的空间复杂度和时间复杂度,缓解过拟合问题,而且本发明采用了基于SVM-强化学习新模式,充分发挥了支持向量机处理高维数据以及少量数据所具有的优势,还同时融合了强化学习的自适应和探索性,提升了ICS入侵检测系统的智能化设计水平和入侵检测的精度。
附图说明
图1是融合强化学习和特征选择优化的ICS入侵检测系统及方法的原理示意图;
图2是特征选择优化的二进制编码示意图;
图3是强化学习方法的原理示意图;
图4是交叉操作的示意图;
图5是变异操作的示意图;
图6是本发明技术与现有单一支持向量机(Support Vector Machine,SVM)、单一强化学习(Reinforcement Learning,RL)分别在准确率、召回率和F1评分上的对比图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以一个典型的ICS系统为实施例,图1给出了融合强化学习和特征选择优化的ICS入侵检测系统及方法的原理示意图。
参见图1,本发明的融合强化学习和特征选择优化的ICS入侵检测系统,该系统包括工业控制系统(Industrial Control Systems,ICS)入侵检测数据采集模块、基于支持向量机(SupportVector Machine,SVM)-强化学习的特征选择离线优化模块和基于最优特征的SVM-强化学习在线入侵检测模块。
本实施例中,ICS入侵检测数据采集模块从工业控制系统的历史数据库中采集生产过程监控状态的历史数据,经过数据解析,获得源数据集,标记为X,并按照公式(1)进行数据的归一化处理,获得离线训练数据集,将其标记为Xo,将Xo按比例随机分割以获取训练集Xo1与验证集Xo2,将训练集Xo1与验证集Xo2输入到基于SVM-强化学习的特征选择离线优化模块;
其中,Xoj表示离线训练数据集Xo第j维度的特征,Xj表示源数据集X第j维度的特征,Xjmax与Xjmin分别表示Xj的最小值与最大值,d表示Xo维度的最大值,在本实施例中d=51。
本实施例中,ICS入侵检测数据采集模块从ICS实时数据库中采集生产过程的实时监控数据,经过数据解析和数据归一化处理后,得到在线检测数据集,将该在线检测数据集输入基于最优特征的SVM-强化学习在线入侵检测模块。
本实施例中,基于SVM-强化学习的特征选择离线优化模块,将ICS历史数据集的数据特征选择进行二进制编码和种群初始化,通过支持向量机SVM-强化学习进行离线训练,将在验证集上得到的准确率作为适应度函数,设计基于累计概率的交叉操作和变异操作对种群进行更新,经过迭代优化后从而获得最优特征集合,将获得的最优特征集合输入到基于最优特征的SVM-强化学习在线入侵检测模块。
本实施例中,基于最优特征的SVM-强化学习在线入侵检测模块,基于最优特征集合对ICS实时数据集进行特征选择,通过SVM-强化学习对实时数据集进行在线入侵检测测试,从而获得入侵检测性能指标。
值得一提的是,本发明实施例还提供了一种融合强化学习和特征选择优化的ICS入侵检测方法,该方法应用上述实施例所述的ICS入侵检测系统,具体包括以下步骤:
(1)设置基于SVM-强化学习的特征选择离线优化模块的参数值,所述参数值包括种群大小N=10、迭代优化次数I=20、交叉率Pc=0.7、变异率Pm=0.02,强化学习的训练轮次EP=300、强化学习行动者(actor)网络采用3层网络,分别为输入层,隐藏层采用高斯核函数映射,并且网络的损失函数采用的是合页损失(hinge loss)函数,以此和高斯核函数支持向量机一一对应,学习率lr1=0.001,优化器optimizer1=自适应矩估计优化器(adaptive moment estimation,adam),批判者(critic)的网络参数包括网络层数D=3,三层均为全连接层,优化器optimizer2=adam,学习率lr2=0.001。
应当理解的是,也可以选择其它参数值,具体可以根据实际情况进行设置。
(2)将随机生成的N=10个二进制编码的个体作为初始种群Q={Indj,j=1,2,…,N},每个个体采用二进制编码,编码形式为Indj=(a1,a2,…,ai,…,an),在此Indj代表种群中第j个个体,ai代表个体中每个基因的编码,1≤i≤n,n表示数据集中特征数量的最大值,ai的具体定义公式(2)所示:
每一个Indj的初始化就是随机初始化n个ai,即随机生成一串长度为n的二进制字符串,该二进制字符串的信息就代表着对数据集中n个特征的选择组合;如图2所示,显示了一个随机产生的个体编码实例,其中特征选择信息:[3,4,6,12,16,17,21,22,23,28,29,31,33,34,36,37,41,44,45,46,47,50],则通过上述公式(2)所述的二进制编码方式,所获得的该个体基因编码信息为:(001101000001000110001110000110101101100010011110010)。
(3)对种群Q进行性能评估,具体评估过程如下:
(3.1)依据种群Q中每个个体对应的二进制编码信息,将离线训练数据集Xo1进行特征选择之后,作为SVM-强化学习离线训练的数据输入;
(3.2)SVM-强化学习离线训练的实现过程如下:
图3给出了强化学习的原理示意图,初始化强化学习环境env类,其中,env类拥有2个属性,分别是:数据的分组大小batch_size和数据的维度大小state_shape;env类拥有2个函数,分别是:状态更新函数(upstate)和动作函数(act)。状态更新函数upstate的返回值为状态(state),其功能为从数据集中随机抽取一个batch_size大小的数据命名为state返回。动作函数act的输入参数是动作(action)和state,输出是下一个state(标记为state+1)和奖励(reward),动作函数act的功能实现是通过对比action和state的标签(label),如果action值和label值相等,则该action的reward取1;如果不相等,则该action对应的reward取值0,再调用upstate更新state获取state+1,返回reward和state+1。
actor网络的初始化采用3层网络,第一层是输入层,第二层隐藏层网络大小为hindden_size=128,采用的是高斯核函数作为映射,并且网络的loss采用的是hinge损失函数,以此和基于高斯核函数的支持向量机(Support Vector Machine,SVM)一一对应,第三层是输出层,优化器为optimizer1,学习率为lr1。
critic初始化采用的是3层网络,3层都是全连接层,第二层隐藏层网络大小为hindden_size=128,优化器optimizer2,学习率为lr2。
env类调用函数upstate得到state,再接着选择一个随机数r=random(0,1),其中,r=random(0,1)表示随机选择一个0到1之间的小数。
action的具体计算如公式(3)所示:
其中,ε是一个超参数用于判断action的选择,nD表示离线训练数据集Xo1经特征选择后的数据总数,αh表示上一步的action,yh表示是上一步的数据标签,δ是高斯函数的一个参数,c是一个偏置量,代表总体的state,s表示/>中的一个状态state,
代表第h次随机选择的state,A代表的是总体的action集合;Env执行动作函数act,输入action,输出reward和下一个state,称为state+1,然后批判者根据state、reward和
state+1,按照公式(4)获取td_error对强化学习行动者进行评估,以此来更新强化学习
行动者:
td_error=reward+d×LAM×(V--V)(4)
其中,V表示批判者对state的评估值,V-表示批判者对state+1的评估值,LAM是一个表示state和state+1数据之间的联系程度的超参数,d表示是否加上后面的结果,即当d=0时,则表示舍弃后面的结果,当d为0到1之间的小数,则表示按权重添加后面的结果;根据获取的td_error,强化学习行动者利用action、state和td_error更新自身网络参数权重;
(3.3)执行SVM-强化学习EP轮次的离线训练,针对验证集Xo2进行验证测试,以验证集Xo2上准确率为标准,统计出每个个体对应的最终准确率,将其作为每个个体的个体适应度值fj(j=1,2,…,N),并确定准确率最高的个体为最优个体Indibest;
(4)按照公式(5)计算出种群Q中每个个体被遗传到下一代群体中的概率pj(j=1,2,…,N),按照公式(6)计算每个个体的累计概率qj:
(5)随机生成一个0到1之间的随机数r1=random(0,1),如果r1≤交叉率Pc,则进行交叉操作,否则不进行交叉操作;所述交叉操作实现步骤具体为:随机生成一个0到1之间的随机数r2=random(0,1),如果则从种群Q中选择第j1个个体;随机生成一个0到1之间的随机数r3=random(0,1)且r3≠r2,如果/>则从种群Q中选择第j2个个体,然后随机生成一个1到n之间的整数k=randint(1,n),其中randint(1,n)表示随机生成一个1到n之间的整数,将第j1个和第j2个个体的第k个位置对应的编码ak进行数值互换,其它数值保持不变;交叉操作的示意图如图4所示;将交叉操作后的种群标记为Qc;
(6)从种群Qc中随机选择出一个个体,随机生成一个随机数r4=random(0,1),如果r4≤变异率Pm,则对该个体进行变异操作,否则不进行变异操作;所述变异操作的具体过程如下:随机生成一个1到n之间的整数m=randint(1,n),将待变异个体的第m个位置对应的编码am进行二进制变异,如果原来的am值是0,则变异后的am变成1,如果原来的am值为1,则变异后的am变成0,如图5所示;将变异后的种群标记为Qm。
(7)无条件接受Q=Qm。
(8)重复步骤(3)~步骤(7),直到满足设定的迭代优化次数I为止。
(9)获取最优个体Indibest,以获取Indibest二进制编码序列所对应的最优特征集合。
(10)基于最优特征集合对ICS实时数据集Xr进行特征选择,获得数据子集Xt。
(11)按照步骤(3.2)中的SVM-强化学习对获得的数据子集Xt进行在线入侵检测测试,对检测的异常数据进行报警,并按照公式(7)~(9)计算入侵检测的准确率、召回率和F1评分:
其中,TP表示将正常ICS数据样本正确地预测为正常分类的数量,TN表示将异常ICS数据样本正确地预测为异常分类的数量,FP表示将异常ICS数据样本错误地预测为正常分类的数量,FN表示将正常ICS数据样本错误地预测为异常分类的数量。
通过对采用本发明技术与现有单一SVM和单一RL技术针对上述实施例的实验结果对比分析,本发明技术与现有单一SVM、单一RL技术分别在准确率、召回率和F1评分上的对比图如图6所示,可以发现:相比传统的单一支持向量机SVM和单一强化学习RL等现有技术,本发明技术获得的准确率、召回率和F1评分等ICS入侵检测性能指标均为最好的。
本实施例中,最终获得的性能指标为:准确率=98.90%,召回率=98.90%,F1评分=99.30%。
综述所述,相比现有技术,采用本发明不仅通过特征选择智能优化将ICS数据集中的数据约简冗余,以此来去除相关的噪声和无消息数据,降低算法的空间复杂度和时间复杂度,缓解过拟合问题,而且本发明采用了基于SVM-强化学习新模式,充分发挥了SVM处理高维数据以及少量数据所具有的优势,还同时融合了强化学习的自适应和探索性,提升了ICS入侵检测系统的智能化设计水平和入侵检测的精度。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (2)
1.一种融合强化学习和特征选择优化的ICS入侵检测系统,其特征在于,所述系统包括ICS入侵检测数据采集模块、基于SVM-强化学习的特征选择离线优化模块和基于最优特征的SVM-强化学习在线入侵检测模块;
所述ICS入侵检测数据采集模块,用于从工业控制系统的历史数据库中采集生产过程监控状态的历史数据,经过数据解析,获得源数据集,标记为X,并按照公式(1)进行数据的归一化处理,以获取离线训练数据集,将其标记为Xo,将Xo按比例随机分割以获取训练集Xo1与验证集Xo2,将所述训练集Xo1与验证集Xo2输入到基于SVM-强化学习的特征选择离线优化模块;
其中,Xoj表示离线训练数据集Xo第j维度的特征,Xj表示源数据集X第j维度的特征,Xjmax与Xjmin分别表示Xj的最小值与最大值,d表示Xo维度的最大值;
所述ICS入侵检测数据采集模块,用于从ICS实时数据库中采集生产过程的实时监控数据,经过数据解析和数据归一化处理后,得到在线检测数据集,将该在线检测数据集输入基于最优特征的SVM-强化学习在线入侵检测模块;
所述基于SVM-强化学习的特征选择离线优化模块,用于将ICS历史数据集的数据特征选择进行二进制编码和种群初始化,通过SVM-强化学习进行离线训练,将在验证集上得到的准确率作为适应度函数,基于累计概率的交叉操作和变异操作对种群进行更新,经过迭代优化后从而获得最优特征集合,将获得的最优特征集合输入到基于最优特征的SVM-强化学习在线入侵检测模块;
所述基于最优特征的SVM-强化学习在线入侵检测模块,用于基于最优特征集合对ICS实时数据集进行特征选择,通过SVM-强化学习对实时数据集进行在线入侵检测测试,以获取入侵检测性能指标。
2.一种应用权利要求1所述系统的融合强化学习和特征选择优化的ICS入侵检测方法,其特征在于,包括以下步骤:
(1)设置基于SVM-强化学习的特征选择离线优化模块的参数值,所述参数值包括种群大小N、迭代优化次数I、交叉率Pc、变异率Pm,强化学习的训练轮次EP、强化学习行动者和批判者的网络参数,所述强化学习行动者和批判者的网络参数包括网络层数D,强化学习行动者的学习率lr1,批判者的学习率lr2,损失函数loss,强化学习行动者的优化器optimizer1,批判者的优化器optimizer2;
(2)将随机生成的N个二进制编码的个体作为初始种群Q={Indj,j=1,2,…,N},每个个体采用二进制编码,编码形式为Indj=(a1,a2,…,ai,…,an),在此Indj代表种群中第j个个体,ai代表个体中每个基因的编码,1≤i≤n,n表示数据集中特征数量的最大值,ai的具体定义公式(2)表示为:
其中,每一个Indj的初始化就是随机初始化n个ai,即随机生成一串长度为n的二进制字符串,该二进制字符串的信息就代表着对数据集中n个特征的选择组合;
(3)对种群Q进行性能评估,具体评估过程如下:
(3.1)依据种群Q中每个个体对应的二进制编码信息,将离线训练数据集Xo1进行特征选择之后,作为SVM-强化学习离线训练的数据输入;
(3.2)所述SVM-强化学习离线训练的实现过程如下:
初始化强化学习环境env类,所述env类拥有2个属性,分别是:数据的分组大小batch_size和数据的维度大小state_shape;env类拥有2个函数,分别是:状态更新函数upstate和动作函数act;所述状态更新函数upstate的返回值为状态state,所述状态更新函数upstate的功能为从数据集中随机抽取一个batch_size大小的数据命名为state返回;
所述动作函数act的输入参数是动作action和state,输出是下一个state和奖励reward,
所述动作函数act的功能实现是通过对比action和state的标签label,如果action值和label值相等,则该action的reward取1;如果不相等,则该action对应的reward取值0,再调用upstate更新state获取state+1,返回reward和state+1;
强化学习行动者网络的初始化采用3层网络,第一层是输入层,第二层隐藏层网络大小为hindden_size,采用的是高斯核函数作为映射,并且网络的损失函数loss采用的是hinge损失函数,以此和基于高斯核函数的SVM一一对应,第三层是输出层,优化器为optimizer1,学习率为lr1;
批判者初始化采用的是3层网络,3层都是全连接层,其中第二层隐藏层网络大小为hindden_size,优化器optimizer2,学习率为lr2;
env类调用状态更新函数upstate得到state,再接着选择一个随机数r=random(0,1),random(0,1)表示随机选择一个0到1之间的小数;
action的具体计算如公式(3)所示:
其中,ε是一个超参数用于判断action的选择,nD表示离线训练数据集Xo1经特征选择后的数据总数,αh表示上一步的action,yh表示是上一步的数据标签,δ是高斯函数的一个参数,c是一个偏置量,代表总体的state,s表示/>中的一个状态state,/>代表第h次随机选择的state,A代表的是总体的action集合;Env执行动作函数act,输入action,输出reward和下一个state,称为state+1,然后批判者根据state、reward和state+1,按照公式(4)获取td_error对强化学习行动者进行评估,以此来更新强化学习行动者:
td_error=reward+d×LAM×(V--V) (4)
其中,V表示批判者对state的评估值,V-表示批判者对state+1的评估值,LAM是一个表示state和state+1数据之间的联系程度的超参数,d表示是否加上后面的结果,即当d=0时,则表示舍弃后面的结果,当d为0到1之间的小数,则表示按权重添加后面的结果;根据获取的td_error,强化学习行动者利用action、state和td_error更新自身网络参数权重;
(3.3)执行SVM-强化学习EP轮次的离线训练,针对验证集Xo2进行验证测试,以验证集Xo2上准确率为标准,统计出每个个体对应的最终准确率,将其作为每个个体的个体适应度值fj(j=1,2,…,N),并确定准确率最高的个体为最优个体Indibest;
(4)按照公式(5)计算出种群Q中每个个体被遗传到下一代群体中的概率pj(j=1,2,…,N),按照公式(6)计算每个个体的累计概率qj:
(5)随机生成一个0到1之间的随机数r1=random(0,1),如果r1≤交叉率Pc,则进行交叉操作,否则不进行交叉操作;所述交叉操作实现步骤具体为:随机生成一个0到1之间的随机数r2=random(0,1),如果则从种群Q中选择第j1个个体;随机生成一个0到1之间的随机数r3=random(0,1)且r3≠r2,如果/>则从种群Q中选择第j2个个体,然后随机生成一个1到n之间的整数k=randint(1,n),其中randint(1,n)表示随机生成一个1到n之间的整数,将第j1个和第j2个个体的第k个位置对应的编码ak进行数值互换,其它数值保持不变;将交叉操作后的种群标记为Qc;
(6)从种群Qc中随机选择出一个个体,随机生成一个随机数r4=random(0,1),如果r4≤变异率Pm,则对该个体进行变异操作,否则不进行变异操作;所述变异操作具体为:随机生成一个1到n之间的整数m=randint(1,n),将待变异个体的第m个位置对应的编码am进行二进制变异,如果原来的am值是0,则变异后的am变成1,如果原来的am值为1,则变异后的am变成0;将变异后的种群标记为Qm;
(7)无条件接受Q=Qm;
(8)重复所述步骤(3)~所述步骤(7),直到满足设定的迭代优化次数I为止;
(9)获取最优个体Indibest,以获取Indibest二进制编码序列所对应的最优特征集合;
(10)基于最优特征集合对ICS实时数据集Xr进行特征选择,以获取数据子集Xt;
(11)按照所述步骤(3.2)中的SVM-强化学习对获得的数据子集Xt进行在线入侵检测测试,对检测的异常数据进行报警,并按照公式(7)~(9)计算入侵检测的准确率、召回率和F1评分:
其中,TP表示将正常ICS数据样本正确地预测为正常分类的数量,TN表示将异常ICS数据样本正确地预测为异常分类的数量,FP表示将异常ICS数据样本错误地预测为正常分类的数量,FN表示将正常ICS数据样本错误地预测为异常分类的数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310283388.XA CN116340936A (zh) | 2023-03-22 | 2023-03-22 | 融合强化学习和特征选择优化的ics入侵检测系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310283388.XA CN116340936A (zh) | 2023-03-22 | 2023-03-22 | 融合强化学习和特征选择优化的ics入侵检测系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116340936A true CN116340936A (zh) | 2023-06-27 |
Family
ID=86883399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310283388.XA Pending CN116340936A (zh) | 2023-03-22 | 2023-03-22 | 融合强化学习和特征选择优化的ics入侵检测系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116340936A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117195291A (zh) * | 2023-09-08 | 2023-12-08 | 苏州慧睿康智能科技有限公司 | 一种基于热度分级策略的医疗数据安全存储方法 |
-
2023
- 2023-03-22 CN CN202310283388.XA patent/CN116340936A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117195291A (zh) * | 2023-09-08 | 2023-12-08 | 苏州慧睿康智能科技有限公司 | 一种基于热度分级策略的医疗数据安全存储方法 |
CN117195291B (zh) * | 2023-09-08 | 2024-04-09 | 苏州慧睿康智能科技有限公司 | 一种基于热度分级策略的医疗数据安全存储方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111428054A (zh) | 一种网络空间安全领域知识图谱的构建与存储方法 | |
CN107992976B (zh) | 热点话题早期发展趋势预测系统及预测方法 | |
CN108733976B (zh) | 基于融合生物与拓扑特征的关键蛋白质识别方法 | |
CN111834010B (zh) | 一种基于属性约简和XGBoost的病毒检测假阴性识别方法 | |
CN111917785B (zh) | 一种基于de-gwo-svr的工业互联网安全态势预测方法 | |
CN115018021A (zh) | 基于图结构与异常注意力机制的机房异常检测方法及装置 | |
US11460982B1 (en) | Number embedding application system | |
CN113052271B (zh) | 基于深度神经网络的生物发酵数据预测方法 | |
CN117349782B (zh) | 智能数据预警决策树分析方法及系统 | |
CN116340936A (zh) | 融合强化学习和特征选择优化的ics入侵检测系统及方法 | |
CN115456044A (zh) | 一种基于知识图谱多集池化的装备健康状态评估方法 | |
Guo et al. | A review on data-driven approaches for industrial process modelling | |
CN111639680B (zh) | 一种基于专家反馈机制的身份识别方法 | |
Liu et al. | Residual useful life prognosis of equipment based on modified hidden semi-Markov model with a co-evolutional optimization method | |
CN117421171A (zh) | 一种大数据任务监控方法、系统、装置及存储介质 | |
CN112949599B (zh) | 基于大数据的候选内容推送方法 | |
CN114757520A (zh) | 变电站运维管理信息系统健康诊断方法和系统 | |
Shahri et al. | Eliminating duplicates in information integration: An adaptive, extensible framework | |
KR102212310B1 (ko) | 오류 트리플 검출 시스템 및 방법 | |
CN113377630A (zh) | 一种通用的kpi异常检测框架实现方法 | |
Saha et al. | Unsupervised and supervised learning approaches together for microarray analysis | |
CN116304110B (zh) | 使用英语词汇数据构建知识图谱的工作方法 | |
CN117435904B (zh) | 一种单一特征排序及复合特征提取方法 | |
Bashar et al. | ALGAN: Time Series Anomaly Detection with Adjusted-LSTM GAN | |
CN117786501A (zh) | 一种云制造环境下基于传感器数据的异常检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |