CN107395590B - 一种基于pca和随机森林分类的入侵检测方法 - Google Patents
一种基于pca和随机森林分类的入侵检测方法 Download PDFInfo
- Publication number
- CN107395590B CN107395590B CN201710590718.4A CN201710590718A CN107395590B CN 107395590 B CN107395590 B CN 107395590B CN 201710590718 A CN201710590718 A CN 201710590718A CN 107395590 B CN107395590 B CN 107395590B
- Authority
- CN
- China
- Prior art keywords
- random forest
- intrusion detection
- sample set
- classification
- data
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
Abstract
本发明公开了一种基于PCA和随机森林分类的入侵检测方法,其实现步骤为:(1)从入侵检测数据集中选取训练样本集和测试样本集;(2)通过PCA算法对训练样本集X进行特征降维处理,得到新的低维样本集合X’;(3)对于新的低维样本集合X’,通过给定随机森林中决策树的数量t,从低维样本集合X’中有放回地抽取N个子集,每颗决策树都对N个子集进行训练,最终得到一个随机森林分类器;(4)将测试样本集输入随机森林分类器,得到测试样本集的最终入侵检测结果。本发明使用先降维后分类的思想,对数据先进行特征降维然后再进行分类,与普通的基于机器学习入侵检测技术相比,本发明提出的入侵检测方法可有效提高检测的准确性。
Description
技术领域
本发明属于网络信息安全领域,具体涉及一种基于PCA和随机森林分类的入侵检测方法。
背景技术
随着科技的进步,互联网在过去的十几年内得到了飞速的发展,现在已经成为了人们日常工作生活不可或缺的一部分。但是随之而来的网络安全问题也越发严重。微软、谷歌、亚马逊等大公司都出现过严重的网络安全事件。如何保证网络安全成为了一个备受关注的重点研究对象。入侵检测(Intrusion Detection)最早由Anderson于1980年提出[1],是对网络中的设备进行持续性的监控,并对其中发生的恶意行为进行响应的技术。
传统的入侵检测技术使用基于特征的入侵检测(Signature Based IntrusionDetection)[3]. 该方法建立一个包含各种已知入侵行为的数据库,将检测到的行为与数据库中的行为对比,若得到匹配则认为系统遭受入侵。该方法的优点是检测的准确率高,缺点是只能检测到数据库中存在的入侵行为,对新型的入侵行为的检测能力差,可拓展性低。基于异常的入侵检测(Anomaly Based Intrusion Detection)克服了这个问题,该方法可以检测新型的入侵行为,但是在准确率方面还有待提高。
机器学习(Machine Learning)在近年来得到了越来越多的关注和研究。机器学习的主要研究对象是人工智能,它通过经验以及对数据的学习不断提高算法自身的性能。如何将机器学习的方法应用于入侵检测已经成为该领域的研究热点之一,相关的研究成果也层出不穷。
在机器学习中,决策树(Decision Tree)作为一种有效的分类器被广泛地使用。一颗决策树由一个根节点和若干内部节点和若干叶子节点组成。每个叶子节点对应一个类别,非叶节点对应一个属性测试。根节点包含全部样本,每个非叶节点的样本集合根据属性测试的结果被划分到其子节点中。决策树的决策过程是由根节点开始,对当前节点中的全部样本进行属性测试,根据测试的结果选择其分支,最终到达叶子节点。传统的决策树算法中普遍存在过拟合问题,分类器的准确率不高。
发明内容
本发明的目的在于针对现有技术的不足,提出一种基于PCA和随机森林分类的入侵检测方法,以解决传统决策树分类器中容易出现的过拟合问题,提高分类器的准确率。
为实现上述目的,本发明的技术方案是:一种基于PCA和随机森林分类的入侵检测方法,其特征在于,包括如下步骤:
步骤1:从入侵检测数据集中选取训练样本集和测试样本集;
步骤2:通过PCA算法对训练样本集X进行特征降维处理,得到新的低维样本集合X’,具体过程如下:
(1)对训练样本集中所有样本进行中心化:
(1)
(2)计算样本的协方差矩阵:
(2)
(3)取前K个最大的特征值并计算对应的特征向量,以W为一组基构造新的低维样本集合X’,其中,10≤K≤20。
步骤3:对于新的低维样本集合X’,通过给定随机森林中决策树的数量t,从低维样本集合X’中有放回地抽取N个子集,每颗决策树都对N个子集进行训练,最终得到一个随机森林分类器,随机森林是多颗决策树组成的,随机森林分类器最终的分类结果根据森林中的所有决策树的结果投票决定。具体过程如下:
(1)给定决策树数量t≥20,对随机森林中的每一颗决策树,从低维样本集合X’中随机抽取部分数据集,属性集为根节点,其中,为对应数据的类别,每一条数据都具有m个属性,i=1,2,...,n;
(2)若所有数据的类别都相同,将该节点标记为叶节点,将该类别作为这个节点的类别,否则进入步骤(3);
(3)选取基尼指数最小的属性作为划分依据,根据属性中不同取值的个数,将当前节点分成若干个子节点,子节点的属性集;
(4)对每个子节点重复步骤(2);
(5)当一个子节点中的数据不属于同一类别并且没有能用于继续划分的属性时,以该节点中数量最多的类别作为当前节点的类别;
(6)综合统计所有决策树的分类结果,得票最多的类别作为数据集X的类别。
步骤4:将测试样本集输入随机森林分类器,得到测试样本集的最终入侵检测结果。
与现有技术相比,本发明具有以下有益效果:(1)本发明通过PCA对数据降维能有效的去除数据中的噪声并减少了分类器的计算量;(2)本发明通过对训练集多次的随机抽样和多颗决策树的分类,有效地解决了决策树算法中普遍存在的过拟合问题,提高了分类的准确率。
附图说明
图1为本发明基于PCA和随机森林分类的入侵检测方法流程图。
具体实施方式
如图1所示,本发明的一种基于PCA和随机森林分类的入侵检测方法,包括如下步骤:
步骤1:从入侵检测数据集中选取训练样本集和测试样本集;
步骤2:通过PCA算法对训练样本集X进行特征降维处理,得到新的低维样本集合X’,具体过程如下:
(1)对训练样本集 中所有样本进行中心化:
(1)
(2)计算样本的协方差矩阵:
(2)
(3)取前K个最大的特征值并计算对应的特征向量,以W为一组基构造新的低维样本集合X’,其中,10≤K≤20。
步骤3:对于新的低维样本集合X’,通过给定随机森林中决策树的数量t,从低维样本集合X’中有放回地抽取N个子集,每颗决策树都对N个子集进行训练,最终得到一个随机森林分类器,具体过程如下:
(1)给定决策树数量t≥20,对随机森林中的每一颗决策树,从低维样本集合X’中随机抽取部分数据集,属性集为根节点,其中,为对应数据的类别,每一条数据都具有m个属性,i=1,2,...,n;
(2)若所有数据的类别都相同,将该节点标记为叶节点,将该类别作为这个节点的类别,否则进入步骤(3);
(3)选取基尼指数最小的属性作为划分依据,根据属性中不同取值的个数,将当前节点分成若干个子节点,子节点的属性集;
(4)对每个子节点重复步骤(2);
(5)当一个子节点中的数据不属于同一类别并且没有能用于继续划分的属性时,以该节点中数量最多的类别作为当前节点的类别;
(6)综合统计所有决策树的分类结果,得票最多的类别作为数据集X的类别。
步骤4:将测试样本集输入随机森林分类器,得到测试样本集的最终入侵检测结果。
在本实施例中,采用NSL_KDD数据集,该数据集在入侵检测领域被广泛使用。NSL_KDD数据集包含41种特征如表1所示。该数据集中的数据包含正常和异常2大类,根据攻击方式不同将数据细分为23类,这23类又可以进一步归纳为5类:normal(正常数据)、dos(拒绝服务攻击)、u2r(对本地超级用户的非法访问)、r2l(未经授权的远程访问)、probe(扫描与探测),如表2所示。在本实施例中,采用20%的NSL_KDD数据集,其中10%作为训练集,另外10%作为测试集。
在随机森林中决策树的数量为1、5、10、20以及20颗以上时使用PCA将数据降低到不同维度情况下(5、10、20维)将数据分为5类(normal、dos、u2r、r2l、probe)和2类(nromal、abnormal)的准确率,如表3、4所示。
可以看出,将数据分为2类时整体的分类的准确率明显高于分为5类时的准确率。不论将数据分为5类或2类,随机森林分类的准确率都高于决策树分类(即森林中树的数量为1时)的准确率,但是对于本实施例中所采用的NSL_KDD数据集来说,随机森林中决策树数量的增加对于准确率的影响并不明显。将数据分为5类时,采用PCA将数据进行降维后再分类能有效提高准确率。其中,将数据降至10维时的准确率高于5维和20维时的情况。
结果表明,本发明基于PCA和随机森林分类的入侵检测方法与传统的分类方法相比,在一定程度上提高了入侵检测的准确率。通过PCA对数据降维能有有效的去处数据中的噪声并减少了分类器的计算量。随机森林分类器有效地解决了传统决策树分类器中容易出现的过拟合问题,提高了分类器在测试集上的准确率。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (1)
1.一种基于PCA和随机森林分类的入侵检测方法,其特征在于,包括如下步骤:
步骤1:从入侵检测数据集中选取训练样本集和测试样本集;
步骤2:通过PCA算法对训练样本集X进行特征降维处理,得到新的低维样本集合X’;
步骤3:对于新的低维样本集合X’,通过给定随机森林中决策树的数量t,从低维样本集合X’中有放回地抽取N个子集,每颗决策树都对N个子集进行训练,最终得到一个随机森林分类器;
步骤4:将测试样本集输入随机森林分类器,得到测试样本集的最终入侵检测结果;所述步骤2的具体过程如下:
(1)对训练样本集X={xi,x2,…,xn}中所有样本进行中心化:
(2)计算样本的协方差矩阵:
(3)取前K个最大的特征值并计算对应的特征向量W=(W1,W2…,Wk),以W为一组基构造新的低维样本集合X’,其中,10≤K≤20;
所述步骤3的具体过程如下:
(1)给定决策树数量t≥20,对随机森林中的每一颗决策树,从低维样本集合X’中随机抽取部分数据集Z={(z1,y1),(z2,y2),…,(zn,yn)},属性集A={a1,a2,…am}为根节点,其中,yi为对应数据zi的类别,每一条数据zi都具有m个属性,i=1,2,...,n;
(2)若所有数据的类别都相同,将该节点标记为叶节点,将该类别作为这个节点的类别,否则进入步骤(3);
(3)选取基尼指数最小的属性aj作为划分依据,根据属性中不同取值的个数,将当前节点分成若干个子节点,子节点的属性集A’=A-aj;
(4)对每个子节点重复步骤(2);
(5)当一个子节点中的数据不属于同一类别并且没有能用于继续划分的属性时,以该节点中数量最多的类别作为当前节点的类别;
(6)综合统计所有决策树的分类结果,得票最多的类别作为数据集X的类别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710590718.4A CN107395590B (zh) | 2017-07-19 | 2017-07-19 | 一种基于pca和随机森林分类的入侵检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710590718.4A CN107395590B (zh) | 2017-07-19 | 2017-07-19 | 一种基于pca和随机森林分类的入侵检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107395590A CN107395590A (zh) | 2017-11-24 |
CN107395590B true CN107395590B (zh) | 2019-11-12 |
Family
ID=60335739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710590718.4A Active CN107395590B (zh) | 2017-07-19 | 2017-07-19 | 一种基于pca和随机森林分类的入侵检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107395590B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108280236B (zh) * | 2018-02-28 | 2022-03-15 | 福州大学 | 一种基于LargeVis的随机森林可视化数据分析方法 |
CN108768946B (zh) * | 2018-04-27 | 2020-12-22 | 中山大学 | 一种基于随机森林算法的网络入侵检测方法 |
CN108874927B (zh) * | 2018-05-31 | 2021-10-15 | 桂林电子科技大学 | 基于超图和随机森林的入侵检测方法 |
CN108985332A (zh) * | 2018-06-15 | 2018-12-11 | 清华大学 | 基于动作电位发放间隔的自然图像随机森林成像方法 |
CN109284776B (zh) * | 2018-08-24 | 2022-05-03 | 小沃科技有限公司 | 用于防沉迷系统的基于随机森林的自训练学习系统及方法 |
CN110889307A (zh) * | 2018-09-07 | 2020-03-17 | 中国石油化工股份有限公司 | 一种基于机器学习的地震震相初至识别方法及识别系统 |
CN109492682A (zh) * | 2018-10-30 | 2019-03-19 | 桂林电子科技大学 | 一种多分枝随机森林数据分类方法 |
CN110020636B (zh) * | 2019-02-28 | 2022-10-04 | 郑州大学 | 一种基于异常特征值的室性早搏智能分析方法 |
CN110138766B (zh) * | 2019-05-10 | 2020-06-12 | 福州大学 | 天牛须结合随机森林的网络入侵检测方法 |
CN110321950A (zh) * | 2019-06-30 | 2019-10-11 | 哈尔滨理工大学 | 一种信用卡欺诈识别方法 |
CN110826769A (zh) * | 2019-10-10 | 2020-02-21 | 潘晓君 | 基于iqga的svm参数优化入侵检测方法 |
CN111160106B (zh) * | 2019-12-03 | 2023-12-12 | 上海微波技术研究所(中国电子科技集团公司第五十研究所) | 一种基于gpu的光纤振动信号特征提取及分类的方法及系统 |
CN112070727B (zh) * | 2020-08-21 | 2022-04-19 | 电子科技大学 | 一种基于机器学习的金属表面缺陷检测方法 |
CN112134634B (zh) * | 2020-09-07 | 2022-07-12 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于随机森林算法的频谱感知方法、系统及介质 |
CN112187752A (zh) * | 2020-09-18 | 2021-01-05 | 湖北大学 | 一种基于随机森林的入侵检测分类方法及装置 |
CN112437053B (zh) * | 2020-11-10 | 2023-06-30 | 国网北京市电力公司 | 入侵检测方法及装置 |
CN112417863B (zh) * | 2020-11-27 | 2023-11-24 | 中国科学院电子学研究所苏州研究院 | 基于预训练词向量模型与随机森林算法的中文文本分类方法 |
CN112788038A (zh) * | 2021-01-15 | 2021-05-11 | 昆明理工大学 | 一种基于PCA和随机森林的区分DDoS攻击和大象流的方法 |
CN112784855A (zh) * | 2021-01-28 | 2021-05-11 | 佛山科学技术学院 | 一种基于pca的加速随机森林训练的视网膜分层方法 |
CN113688385B (zh) * | 2021-07-20 | 2023-04-07 | 电子科技大学 | 轻量级分布式入侵检测方法 |
CN114710326A (zh) * | 2022-03-15 | 2022-07-05 | 国网甘肃省电力公司电力科学研究院 | 一种基于GC-Forest的入侵检测方法 |
CN114726653B (zh) * | 2022-05-24 | 2022-11-15 | 深圳市永达电子信息股份有限公司 | 基于分布式随机森林的异常流量检测方法和系统 |
CN117520965B (zh) * | 2024-01-04 | 2024-04-09 | 华洋通信科技股份有限公司 | 基于人工智能的工矿作业数据分类方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104009886A (zh) * | 2014-05-23 | 2014-08-27 | 南京邮电大学 | 基于支持向量机的入侵检测方法 |
US9495515B1 (en) * | 2009-12-09 | 2016-11-15 | Veracyte, Inc. | Algorithms for disease diagnostics |
CN106845240A (zh) * | 2017-03-10 | 2017-06-13 | 西京学院 | 一种基于随机森林的Android恶意软件静态检测方法 |
-
2017
- 2017-07-19 CN CN201710590718.4A patent/CN107395590B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9495515B1 (en) * | 2009-12-09 | 2016-11-15 | Veracyte, Inc. | Algorithms for disease diagnostics |
CN104009886A (zh) * | 2014-05-23 | 2014-08-27 | 南京邮电大学 | 基于支持向量机的入侵检测方法 |
CN106845240A (zh) * | 2017-03-10 | 2017-06-13 | 西京学院 | 一种基于随机森林的Android恶意软件静态检测方法 |
Non-Patent Citations (2)
Title |
---|
Detecting Denial of Service Attack Using Principal Component Analysis with Random Forest Classifier;S. Revathi et al;《International Journal of Computer Science & Engineering Technology (IJCSET)》;20140303;全文 * |
Random Forest and PCA for Self-Organizing Maps based Automatic Music Genre Discrimination;Xin Jin et al;《https://www.researchgate.net/publication/220704990》;20151113;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107395590A (zh) | 2017-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107395590B (zh) | 一种基于pca和随机森林分类的入侵检测方法 | |
Ektefa et al. | Intrusion detection using data mining techniques | |
CN104794192B (zh) | 基于指数平滑、集成学习模型的多级异常检测方法 | |
CN108874927B (zh) | 基于超图和随机森林的入侵检测方法 | |
CN108540451A (zh) | 一种用机器学习技术对网络攻击行为进行分类检测的方法 | |
CN106375345B (zh) | 一种基于周期性检测的恶意软件域名检测方法及系统 | |
Yusof et al. | Adaptive feature selection for denial of services (DoS) attack | |
CN107241352A (zh) | 一种网络安全事件分类与预测方法及系统 | |
CN105426762A (zh) | 一种android应用程序恶意性的静态检测方法 | |
CN111556016B (zh) | 一种基于自动编码器的网络流量异常行为识别方法 | |
CN102045358A (zh) | 一种基于整合相关性分析与分级聚类的入侵检测方法 | |
Zhao et al. | A hybrid intrusion detection system based on feature selection and weighted stacking classifier | |
CN111695597A (zh) | 基于改进式孤立森林算法的信贷欺诈团伙识别方法和系统 | |
CN110362996A (zh) | 一种离线检测PowerShell恶意软件的方法与系统 | |
Koutsouvelis et al. | Detection of insider threats using artificial intelligence and visualisation | |
CN107483451A (zh) | 基于串并行结构网络安全数据处理方法及系统、社交网络 | |
CN108055227B (zh) | 基于站点自学习的waf未知攻击防御方法 | |
Harbola et al. | Improved intrusion detection in DDoS applying feature selection using rank & score of attributes in KDD-99 data set | |
Alqarni et al. | Improving intrusion detection for imbalanced network traffic using generative deep learning | |
CN117081858B (zh) | 一种基于多决策树入侵行为检测方法、系统、设备及介质 | |
CN110334510A (zh) | 一种基于随机森林算法的恶意文件检测技术 | |
Othman et al. | Improving signature detection classification model using features selection based on customized features | |
CN109194622A (zh) | 一种基于特征效率的加密流量分析特征选择方法 | |
Zhang et al. | A novel visualization Malware detection method based on Spp-Net | |
Wang et al. | An efficient intrusion detection model combined bidirectional gated recurrent units with attention mechanism |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |