APP下载

一种改进的决策树算法在入侵检测中的应用

2020-07-09张旻宇

现代信息科技 2020年23期
关键词:粗糙集信息熵入侵检测

摘  要:为了改进传统决策树算法存在的一些问题,文章结合粗糙集理论提出一种基于粒度决策熵的决策树算法DTGDE。DTGDE算法采用粒度决策熵作为分裂属性的选择标准。在该信息熵模型中,粒度决策熵可以同时表示知识的完备性和知识的粒度大小,因此,利用粒度决策熵来选择分裂属性能够更加全面地考察每个属性对决策分类的贡献。实验结果表明,DTGDE算法具有比现有决策树算法更好的入侵检测性能。

关键词:决策树;粗糙集;信息熵;粒度决策熵;属性重要性;入侵检测

中图分类号:TP309     文献标识码:A 文章编号:2096-4706(2020)23-0147-07

The Application of an Improved Decision Tree Algorithm in Intrusion Detection

ZHANG Minyu

(College of Information Science and Technology,Qingdao University of Science & Technology,Qingdao  266061,China)

Abstract:In order to improve the existing problems of traditional decision tree algorithm,a decision tree algorithm DTGDE based on granular decision entropy is proposed by combining with rough set theory. DTGDE algorithm uses granular decision entropy as the selection standard of splitting attributes. In the information entropy model,the granular decision entropy can represent both the completeness of knowledge and the granularity size of knowledge. Therefore,using granular decision entropy to select split attributes can more comprehensively investigate the contribution of each attribute to decision classification. Experimental results show that DTGDE algorithm has better intrusion detection performance than existing decision tree algorithms.

Keywords:decision tree;rough set;information entropy;granular decision entropy;significance of attribute;intrusion detection

0  引  言

決策树算法作为一种分类方法,其优点在于分类精度高、运行速度快、模型理解容易等方面,一直都被广泛应用在各类数据挖掘问题中。决策树算法在获取决策规则的过程中,需要不断选择其中一个属性作为分裂属性来生成子树,于是分裂属性的选择标准对决策树的性能来说至关重要。目前,Quinlan提出的传统决策树算法ID3和C4.5最为经典,这两种算法选择分裂属性的标准分别是信息增益和信息增益率[1,2]。然而,在实际应用场景中,使用的数据往往存在着大量的冗余属性,同时由于此类算法得到的决策树子树有重复,需要反复检验决策树中的某一属性。因此,传统决策树算法的计算量较大,存在着计算开销大、分类精度不够高等问题。

Pawlak提出的粗糙集理论可以用来解决不确定、不精确知识的处理问题[3,4]。目前,很多学者也将粗糙集理论应用于决策树的构建。决策树与粗糙集相结合,可以优势互补,从而解决传统决策树算法的计算开销大、分类精度不够高等问题。基于粗糙集理论来改进传统的决策树算法一直是决策树领域的热门研究方向[5-8],其研究重点主要包括:分裂属性的选择标准、属性重要性的计算、属性约简等等。基于粗糙集理论的决策树算法不仅可以应用在垃圾邮件过滤[9],也可以应用在政府决策辅助[10]、产品缺陷检测[11]和医疗卫生科技应用[12]等。

笔者是青岛科技大学信息科学与技术学院在读硕士研究生,研究方向是网络安全技术,在导师带领的课题组中,研究内容多与粗糙集理论相关。在受到课题组所发表的论文启发后,结合相关粗糙集理论与入侵检测算法,提出一种新的基于粒度决策熵的决策树算法,取得了相比原算法更好的结果。

该文主要关注于如何利用粗糙集的方法来为决策树算法选择合适的分裂属性。笔者将从粗糙集的角度构建一种新的信息熵模型,并利用该模型来为决策树算法选择分裂属性。近年来,有不少研究者基于粗糙集理论提出了不同的信息熵模型[13-16],这些学者将这些信息熵模型作为决策树算法分裂属性的选择标准,从而得到了一些改进的决策树算法。文献[13]提出一种决策树算法,该算法用粗糙度定义信息熵,能够较为全面地反映每个属性的贡献;文献[14]提出的决策树算法,除了采用粗糙度,还结合属性依赖度来定义信息熵,更为充分地考虑到决策属性对每个条件属性的依赖程度;文献[15]提出的属性选择算法,通过定义不同属性的相对重要性来获取选择属性的规则;文献[16]提出的决策树算法中,分裂属性的选择标准是从一种基于变精度加权平均粗糙度中得到的。

虽然现有的基于粗糙集的决策树算法具有很多优点,但是也存在一些问题。例如,文献[13]和[14]所提出的决策树算法都是采用粗糙度这一粗糙集的基本概念来构建信息熵模型(即相对决策熵或依赖决策熵)。作为粗糙集理论中的一个重要概念,粗糙度虽然可以用于度量知识的完备性,但是知识的粒度大小却不能有效表示。这就造成文献[13]和[14]中所定义的信息熵模型都不能反映知识的粒度大小。当给定的知识IND(B)的粒度变小了(即IND(B)所对应的论域划分的粒度变细),相对决策熵(或依赖决策熵)却保持不变,这显然是不合理的。一般来说,使用信息熵来表示一个系统的不确定性,当知识所对应的论域划分的粒度变细,信息熵(不确定性)应该下降。由于知识粒度的粗细变化并不能在上述信息熵模型中体现出来,因此,上述决策树算法分裂属性的选择结果就不能完全符合真实情况,分类结果必然会产生一定的偏差。为了针对上述问题,有必要提出一种新的信息熵模型,即在构建信息熵模型时同时考虑知识的完备性和知识的粒度大小。

基于上述考虑,该文将引入一个新的信息熵模型——粒度决策熵。在决策树算法中,笔者通过粒度决策熵来选择分裂属性,从而得到一种新的决策树算法DTGDE,此外,笔者还将DTGDE算法应用于网络入侵检测。粒度决策熵是对文献[13]中所定义的相对决策熵模型的一种有效改进。与相对决策熵不同,粒度决策熵不仅考虑到知识的完备性问题,而且还考虑到知识的粒度粗细问题。具体而言,粒度决策熵是将粗糙度这一粗糙集的基本概念与苗夺谦等提出的知识粒度概念有机地结合在一起,即知识IND(B)的完备性可以通过粗糙度来描述,同时知识IND(B)的粒度粗细可以用知识粒度来表示。由于粒度决策熵能够同时对以上两者进行有效度量,从而使得在利用粒度决策熵来选择分裂属性时可以更加全面地考察每个属性对决策分类的贡献,因此,相对于现有的信息熵模型(例如,相对决策熵、依赖决策熵),粒度决策熵更适合于作为决策树算法的分裂属性选择标准。此外,由于在DTGDE算法中笔者还考虑到了属性之间的依赖性和相关性,从而弥补了传统决策树算法对于属性的依赖性强调不够这一缺点。

为了将DTGDE算法更好地应用于网络入侵检测,该文采用基于粒度决策熵的属性约简算法来对数据集中的冗余以及不相关属性进行剔除。基于粒度决策熵的属性约简算法使用粒度决策熵模型重新定义了属性重要性,此外,采用了增量式学习和计数排序的思想,可以有效提升入侵检测的效率。通过在KDD Cup 1999数据集上的实验表明,相对于现有的决策树算法,DTGDE算法具有更好的入侵检测性能,此外,其在入侵检测效率(即建模时间)上也表现较好。

1  相关概念介绍

1.1  信息表与决策表

定义1:信息表S可以用一个四元组表示为:S=(U,A,V,f),其中,U为一个非空有限的对象集,即论域;A为非空有限的属性集;V为所有属性值域的总和,即V= Ua∈AVa,其中Va为a的值域;f:U×A→V为一个映射关系,使得对任意的属性a∈A以及对象x∈U,都有f(x,a)∈Va成立。

信息表中的非空有限属性集A可以划分为不相交的两个属性子集——条件属性集和决策属性集,分别用C和D表示。这样划分条件属性集和决策属性集的信息表被称为决策表,表示为:DT=(U,C,D,V,f)。

1.2  不可分辨关系

定义2:给定决策表DT=(U,C,D,V,f),对任意B?C∪D,可确定一个不可分辨关系IND(B),其定义为:

IND(B)={(x,y)∈U×U:?a∈B,(f(x,a)=f(y,a))}

论域U可以通过IND(B)劃分为多个等价类,这样一个划分可以记为U/IND(B)或U/B。

1.3  上近似与下近似

定义3:给定决策表DT=(U,C,D,V,f),对任意B?C∪D和X?U,X的B-上近似和B-下近似可分别定义为:

=∪{[x]B∈U/IND(B):[x]B∩X≠Φ}

=∪{[x]B∈U/IND(B):[x]B?X}

1.4  粗糙度

定义4:给定决策表DT=(U,C,D,V,f),对任意B?C∪D和X?U(X≠Φ),X的B-粗糙度ρB(X)定义为:

ρB(X)=|-|/||

1.5  相对正区域

定义5:给定决策表DT=(U,C,D,V,f),对任意B?C,定义决策属性集D的B-正区域PosB(D)为:

PosB(D)=

1.6  属性依赖度

定义6:给定决策表DT=(U,C,D,V,f),对任意c∈C,D相对于c的依赖度γC(D)定义为:

γC(D)=|Pos{C}(D)|/|U|

1.7  知识粒度

定义7:给定决策表DT=(U,C,D,V,f),对任意B?C,令U/IND(B)={X1,X2,…,Xt}为U/IND(B)对U的划分,其中Xi?U(1≤i≤t),B的知识粒度[17]GK(B)定义为:

GK(B)=

1.8  相对决策熵

定义8:给定决策表DT=(U,C,D,V,f),对任意B?C,令U/IND(D)={D1,D2,…,Dt}为IND(D)对U的划分,决策属性集D在知识IND(D)下的相对决策熵[13]RDE(D,B)定义为:

RDE(D,B)=(Di)log2(ρB(Di)+1)

其中,ρB(Di)为集合Di的B-粗糙度,1≤i≤t。

2  粒度决策熵

文献[13]中所提出的相对决策熵模型主要采用粗糙度这一粗糙集的基本概念来定义。引入苗夺谦等提出的知识粒度概念可以对这一信息熵模型进行改进,从而得到更加合理的模型——粒度决策熵。

2.1  粒度决策熵

定义9:给定决策表DT=(U,C,D,V,f),对任意B?C,令U/IND(D)={D1,D2,…,Dm}为IND(D)对U的划分。决策属性集D相对于条件属性子集B的粒度决策熵定义为:

GDE(D,B)=GK(B)×(Di)log2(ρB(Di)+1)

其中,GK(B)为知识IND(B)的粒度大小,ρB(Di)为集合Di的B-粗糙度,1≤i≤m。通过结合知识粒度和粗糙度的概念定义信息熵模型,相对于现有的信息熵模型(例如相对决策熵),粒度决策熵不仅考虑了知识的完备性问题,而且还考虑到知识的粒度粗细问题,可以更加全面地考察决策表中每个条件属性对于决策分类的贡献。因此,在决策树算法中,粒度决策熵相对于其他信息熵,更适合于作为分裂属性选择标准。

2.2  基于粒度决策熵的属性重要性

定义10:给定决策表DT=(U,C,D,V,f),对于任意B?C和a∈C-B,将属性a在决策表DT中相对于B和D的重要性Sig(a,B,D)定义为:

Sig(a,B,D)=GDE(D,B)-GDE(D,B∪{a})

其中,GDE(D,B)为决策属性集D相对于条件属性子集B的粒度决策熵。

3  基于粒度决策熵的决策树算法DTGDE

在本节中,该文给出基于粒度决策熵的决策树算法DTGDE,并分析其复杂度。

3.1  DTGDE算法

该算法输入训练集作为决策表,在算法中生成相应的决策树后,输出的内容为此决策树的规则集:

输入:决策表T1=(U,C,D,V,f)。

输出:规则的集合R。

3.2  算法流程

DTGDE算法Function Main中先离散化决策表中的连续属性,经过属性约简后,使用约简的决策表在Function Decision_Tree中生成决策树,最终遍历该决策树获取规则集:

Function Main(T1):

(1)对决策表T1中条件属性集C的每个连续型属性进行离散化,得到离散化之后的决策表T2=(U2,C,D,V2,f2)。

(2)对决策表T2中的条件属性集C进行属性约简,结果记录为Red。

(3)根据约简Red,去掉决策表T2中的冗余属性和不相关属性以及U2中的重复记录,从而得到约简之后的决策表T3=(U3,Red,D,V3,f3)。

(4)根据决策表T3调用函数Decision_Tree(T3)生成一个决策树。

(5)遍历该生成的决策树,得到规则集合R。

(6)返回R。

使用Function Decision_Tree對当前使用的决策表T0=(U′,C′,D,V′,F′)通过计算得到粒度决策熵来获取合理的分裂属性,最终生成决策树:

Function Decision_Tree(T0):

(1)令B=Red-C′。

(2)如果B=Φ,则令GDE(D,B)=0;如果B≠ Φ,则首先对U′进行计数排序,然后分别计算出划分U′/IND(D)={D1,D2,…,Dm},U′/IND(B)和U′/IND(B∪D)。另外,计算知识粒度GK(B),并且对任意Di∈U′/IND

(D),计算粗糙度ρB(Di),1≤i≤m。最后,计算粒度决策熵GDE(D,B)。

(3)对c∈C′,循环执行:

1)通过对U′进行计数排序,来分别计算出划分U′/IND(B∪{c})和U′/IND(B∪{c}∪D)。

2)计算知识粒度GK(B∪{c}),并且对每个等价类Di∈U′/IND(D),计算Di相对于B∪{c}的粗糙度ρB∪{c}(Di),1≤i≤m。

3)计算粒度决策熵GDE(D,B∪{c})。

4)计算属性c的属性重要性Sig(a,B,D)=GDE(D,B)-GDE(D,B∪{a})。

(4)将分裂属性s标记为C′中属性重要性最大的属性。

(5)如果C′中有多个属性的重要性同为最大值(令s′?C表示这些属性的集合),则分别对任意属性a∈s′,计算D对属性a的依赖度γa(D),此时将分裂属性标记为γa(D)值最大时的属性a′。如果同时有多个属性计算得到的γa(D)值相同且都为最大值,那么将分裂属性标记为其中序号靠前的属性。

(6)创建节点P,用前面所选择的分裂属性s来标记P,并且令C′=C′-{s},即把s从C′中删除。

(7)计算不可分辨关系IND({s})所对应的划分U′/IND({s})={E1,…,Ek}。

(8)对任意Ei∈U′/IND({s}),循环执行:

1)创建节点P的一个子树,用属性值v标记该子树,其中v=f ′(e,v),e∈Ei。

2)如果Ei中所有样本都属于同一类别d0,用该类别d0标记一个新的叶子节点Pb。

3)如果Ei中所有样本属于不同类别,并且C′不能再往下分,则用出现次数最多的类别dc标记一个新的叶子节点Pc。

4)如果Ei中的样本属于不同类别,并且C′可以继续往下分,则创建决策表T0的一个子决策表Tc=(Ei,C′,D,Vc,fc),并且调用Decision_Tree(Tc)来递归生成子树。

在算法DTGDE中,对任意B?C′,处理时首先对U′进行计数排序,然后再计算U′/IND(B)[18]。对比传统计算方法,计算U′/IND(B)的时间复杂度从O(n2)降低为O(m×n),其中m=|B|。根据定义10,计算a的属性重要性Sig(a,B,D)的时间复杂度为O(m×n)。根据定义6,计算属性依赖度γa(D)的时间复杂度为O(m×n)。因此,在最差的情形,算法DTGDE的Function Main中第(4)步建树的时间复杂度为O(|Red|3×|U3|)。此外,算法DTGDE的时间复杂度还取决于Function Main函数中第(1)步所选择的离散化方法的复杂度以及第(2)步所选择的属性约简方法的复杂度。

3.3  数据集预处理

在算法DTGDE的数据集预处理中,该文使用以下三种操作。

3.3.1  离散化连续属性

入侵检测使用的数据集KDD Cup 1999有42个特征属性,其中的条件属性中有34个属性是连续型的[19]。因为决策树等数据挖掘算法更适合处理离散型属性,所以需要通过一定的方法处理使用的数据集,这样的处理过程被称为“离散化”。目前,离散化方法有无监督和有监督两类。该文中使用一种常用的无监督离散化方法——等宽度离散化,来处理数据集中的连续属性。

3.3.2  数据集重采样

由于实验数据集中不同类别样本之间的数量处于严重不平衡状态。这将会导致对大类样本的过拟合问题,分类模型将会偏向于大类样本。对于类别不平衡问题,可以通过重采样的方法来消除因不平衡数据造成的影响[20]。在该文的实验过程中,使用上采样和下采样结合的方法,即SMOTE+ENN的方法对数据集进行重采样[21]。

3.3.3  约简冗余和不相关属性

在实际应用中,并非所有属性都是影响决策的因素。如果能够有效地剔除冗余和不相关属性,这将必然会减少检测时间同时提高检测效率[22-25]。目前,基于信息熵的属性约简算法、基于可分辨矩阵的属性约简算法和基于正区域的属性约简算法是常用的属性约简算法[26]。在该文的实验过程中,采用基于粒度决策熵的属性约简方法来进行属性约简。该约简算法采用了增量式学习和计数排序的思想,并使用粒度决策熵的概念重新定义了属性重要性,可以得到更有效的约简结果。

4  实验

实验所采用的数据集是KDD Cup 1999数据集[19],该数据集是从一个模拟的美国空军局域网上采集来的9个星期的网络连接数据,接近有500万条记录。每条连接记录中包含了41个属性和1个类别标识,类别标识用来表示该条连接记录是正常的,或者是某个具体的攻击类型。实验的硬件环境为:Intel 2.40 GHz处理器,8 GB内存。操作系统:Windows10 64位。

笔者将文章所提出的DTGDE算法与五种常见的决策树算法进行了性能对比。这五个对比算法分别是:ID3、C4.5、RandomTree、REPTree和RandomForest。DTGDE算法采用Java语言实现,ID3、C4.5、RandomTree、REPTree和RandomForest这五个对比算法则直接使用Weka平台中所提供的算法[27]。

4.1  实驗数据

由于KDD Cup 1999的数据总量太大,该文只选取其子集“kddcup.data_10_percent”[19]来进行实验,该子集的样本数量为总量的10%。在KDD Cup 1999数据集中,class属性的取值可分为以下五大类:

(1)Normal;

(2)DoS;

(3)Probe;

(4)U2R;

(5)R2L。

预处理时,为了便于操作,先将源文件中的符号型取值

转化为数值型取值,例如属性“service”中有“TCP”“UDP”

“ICMP”三类符号性取值,预处理时将其分别替换成“0”

“1”“2”这三个数值型取值。对现有实验环境而言,10%-KDD数据集仍然太大,而且其中的入侵行为偏向于特定的攻击类型(例如,超过一半的记录为Smurf类型的攻击)。为了解决这些问题,该文仿照陈仕涛等的做法[28],对于kddcup.data_10_percent数据集中的各种攻击类型和正常连接,依据不同的比率采用随机不放回地方式抽取一定数量的记录,最终得到数据集“Final_Dataset”。其中不同攻击类型样本和正常样本的数目如表1所示。

4.2  实验步骤

4.2.1  属性离散化

该文使用Weka中提供的无监督离散化算法Equal-width Binning(EW)来离散化Final_Dataset中的连续型属性。同时,通过设置不同的bins值,分别对该数据集中的连续型属性进行离散化,得到不同离散化程度的数据集。在该文章中,选取其中26个连续属性分别进行离散化;在不需要进行离散化的15个属性中,其中有7个是字符型数值,本身就是离散的,另外8个属性虽然是连续的,但是由于不同属性取值的数量较少,不需要进行离散化处理。

4.2.2  数据重采样

Final_Dataset中仍然存在着类别不平衡问题,例如,属于类别DoS的样本数量约是属于类别U2R的样本数量的167倍。为了解决这个问题,该文首先采用SMOTE+ENN方法对数据进行混合采样[21]。随后,对于经过离散化和混合采样后的数据集,将其随机分成训练集(占70%)和测试集(占30%)两个部分。混合采样之后的训练集和测试集情况如表2所示。

4.2.3  属性约简

采用基于粒度决策熵的属性约简算法,对经过数据重采样生成的训练集进行属性约简。用经过属性约简后的属性集用于DTGDE算法,建立决策树模型。

4.2.4  建立决策树与获得规则集

对于DTGDE算法,该文使用Java语言来实现。DTGDE算法在经过预处理和属性约简之后的训练集上创建决策树,并得到相应的规则集。

对于ID3、C4.5、RandomTree、REPTree和RandomForest算法,该文直接使用Weka所提供的算法在预处理之后的训练集上创建决策树,并得到相应的规则集[27]。

4.2.5  分类测试

对已经获取产生的各个规则集,使用测试集进行测试。对于DTGDE算法,笔者先对测试集的预测结果进行处理,用多数类投票的方法处理复合叶子节点Pc,然后使用测试集中的决策属性值与预测结果生成混淆矩阵,得到算法的召回率和精确率,通过分析F1-value来得到该算法的检测结果;对于ID3、C4.5、RandomTree、REPTree和RandomForest算法,分类测试同样借助于Weka来完成[27],与测试集标签结果对比,得到混淆矩阵,通过精确率和召回率计算出F1-value,最终得到该算法的检测结果。

4.3  实验结果

F-值(F-value)可以来衡量分类模型的性能。分类模型的精确率和召回率越高时,F-值越高。它的计算公式为:

Fβ=

其中,β为一个参数,P为精确率(Precision),R为召回率(Recall)[29]。该实验中取参数β=1,即计算F1-value。

不同算法在bins=3时的分类结果如表3所示。

从表3可以看出,在bins=3时,DTGDE算法的检测性能明显要好于其他算法。例如,DTGDE算法的精确率、召回率和F1-value比ID3算法分别要高0.6%,而DTGDE算法的精确率、召回率和F1-value比C4.5算法则分别要高0.9%、0.8%和0.9%。另外,DTGDE算法的精确率、召回率和F1-value也要显著优于RandomTree、REPTree和RandomForest这三个算法。

不同算法在bins=3时的建模时间如图1所示。

从图1可以看出,DTGDE算法的建模时间要稍微多于RandomTree算法,这是因为RandomTree算法通过随机选择若干个属性,而不是全部属性来构建决策树,因此,其建模时间会大幅降低。不过,由于DTGDE算法使用经过属性约简之后的数据集,其在建模时间上也表现较好,DTGDE算法的建模时间明显少于ID3、C4.5、REPTree和RandomForest这四个算法。因此,从总体上看(即综合考虑检测性能和建模时间),DTGDE算法的表现仍然是最优的。

不同算法在bins=5时的分类结果如表4所示。

从表4可以看出,在bins=5时,DTGDE算法的检测性能明显要好于其他算法。例如,DTGDE算法的精确率、召回率和F1-value比ID3算法分别要高0.4%,而DTGDE算法的精确率、召回率和F1-value比C4.5算法则分别要高0.7%。另外,DTGDE算法的精确率、召回率和F1-value也要显著优于RandomTree、REPTree和RandomForest这三个算法。

不同算法在bins=5时的建模时间如图2所示。

从图2可以看出,虽然DTGDE算法的建模时间要多于RandomTree算法,但却显著少于ID3、C4.5、REPTree和RandomForest这四个算法。因此,从总体上看(即综合考虑检测性能和建模时间),DTGDE算法的表现仍然是最优的。

5  结  论

该文基于粒度决策熵和属性依赖性设计出一种新的分裂属性选择标准,并给出了相应的决策树算法DTGDE。在建树之前,DTGDE算法首先利用基于粒度决策熵的属性约简技术降低决策树的规模。在KDD Cup 1999数据集上的实验表明,DTGDE算法对于网络入侵的检测效果要好于其他算法。在训练时间方面,DTGDE算法比传统决策树算法也有较大提升,从而使得入侵检测更加高效。

参考文献:

[1] QUINLAN R J. Induction of decision trees [J].Machine Learning,1986,1(1):81-106.

[2] QUINLAN R J. C4.5:Programs for Machine Learning [M].San Francisco:Morgan Kaufmann Publishers Inc.,1993:1-131.

[3] PAWLAK Z. Rough sets [J].International Journal of Computer & Information Sciences,1982,11(5):341-356.

[4] PAWLAK Z. Rough Sets:Theoretical Aspects of Reasoning about Data [M].Norwell:Kluwer Academic Publishing,1991:1-231.

[5] LEI Z J,WU L L. Construction of Decision Tree Based on Rough Sets Theory [J].Advanced Materials Research,2012(433-440):5208-5213.

[6] 王蓉,劉遵仁,纪俊.基于属性重要度的决策树算法 [J].计算机科学,2017,44(S2):129-132.

[7] 余建军,张琼之.基于粗糙集的决策树ID3算法 [J].计算机系统应用,2020,29(4):156-162.

[8] 林芷欣.基于邻域粗糙集的属性约简算法研究及应用 [D].山东青岛:青岛大学,2020.

[9] 王靖,王兴伟,赵悦.基于变精度粗糙集决策树垃圾邮件过滤 [J].系统仿真学报,2016,28(3):705-710.

[10] LIU D,LI T R,LIANG D C. Three-way Government Decision Analysis With Decision-Theoretic Rough Sets [J].International Journal of Uncertainty,Fuzziness and Knowledge-Based Systems,2012,20(supp1):119-132.

[11] 吴学辉.基于粗糙集的决策树在产品缺陷检测中的应用 [J].太原师范学院学报(自然科学版),2015,14(3):37-41.

[12] 谭永奇,樊建聪,任延德,等.改进的属性约简算法及其在肝癌微血管侵犯预测中的应用 [J].计算机应用,2019,39(11):3221-3226.

[13] 江峰,王春平,曾惠芬.基于相对决策熵的决策树算法及其在入侵检测中的应用 [J].计算机科学,2012,39(4):223-226.

[14] 王希玲,江峰,张友强,等.基于依赖决策熵的决策树分类算法 [J].青岛科技大学学报(自然科学版),2016,37(6):687-692.

[15] 陈波,于泠,吉根林.基于条件信息熵的网络攻击特征选择技术 [J].小型微型计算机系统,2008,29(3):428-432.

[16] 刘帅.基于决策树和信息熵的属性约简算法研究 [D].沈阳:东北大学,2010.

[17] 苗夺谦,范世栋.知识粒度的计算及其应用 [J].系统工程理论与实践,2002,22(1):48-56.

[18] 徐章艳,刘作鹏,杨炳儒,等.一个复杂度为max(O(|C||U|),O(|C|^2|U/C|))的快速属性约简算法 [J].计算机学报,2006,29(3):391-399.

[19] UCI. KDD Cup 1999 Dataset [DB/OL].(1999-10-28).http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html.

[20] ESTABROOKS A,TAEHO J,JAPKOWICZ N. A Multiple Resampling Method for Learning from Imbalanced Data Sets [J].Computational Intelligence,2004,20(1):18-36.

[21] Github. imblearn.combine.SMOTEENN [EB/OL].(2018-01-17).http://glemaitre.github.io/imbalanced-learn/generated/imblearn.combine.SMOTEENN.html.

[22] 曲朝阳,陈帅,杨帆,等.基于云计算技术的电力大数据预处理属性约简方法 [J].电力系统自动化,2014,38(8):67-71.

[23] 刘金平,张五霞,唐朝晖,等.基于模糊粗糙集属性约简与GMM-LDA最优聚类簇特征学习的自适应网络入侵检测 [J].控制与决策,2019,34(2):243-251.

[24] 邵瑞.基于粗糙集的高维数据高效属性约简研究与应用 [D].重庆:重庆邮电大学,2018.

[25] 余建航.基于粗糙集的几类广义信息系统知识发现与决策方法研究 [D].哈尔滨:哈尔滨工业大学,2020.

[26] 杨传健,葛浩,汪志圣.基于粗糙集的属性约简方法研究综述 [J].计算机应用研究,2012,29(1):16-20.

[27] WITTEN L H,FRANK E,HALL M A. Data Mining:Practical Machine Learning Tools and Techniques with Java Implementations [M].San Francisco:Morgan Kaufmann Publishers Inc.,2000:416.

[28] 陳仕涛,陈国龙,郭文忠,等.基于粒子群优化和邻域约简的入侵检测日志数据特征选择 [J].计算机研究与发展,2010,47(7):1261-1267.

[29] Cambridge University Press. Evaluation of clustering [EB/OL].(2009-04-07).https://nlp.stanford.edu/IR-book/html/htmledition/evaluation-of-clustering-1.html.

作者简介:张旻宇(1993—),男,汉族,江西永丰人,硕士研究生在读,研究方向:网络安全技术。

猜你喜欢

粗糙集信息熵入侵检测
近似边界精度信息熵的属性约简
基于信息熵的承运船舶短重风险度量与检验监管策略研究
基于入侵检测的数据流挖掘和识别技术应用
艺术类院校高效存储系统的设计
基于粗集决策规则性质的研究
一种基于改进的层次分析法的教师教学质量评价模型
一种改进的ROUSTIDA数据填补方法
信息熵及其在中医“证症”关联中的应用研究
论犯罪信息
基于关联规则的计算机入侵检测方法