科技信息
1. 引言
入侵检测是指对恶意破坏计算机和网路资源的行为进行检测并产
生反应的过程,是当前网络完全研究领域的热点课题之一。从 70年代
开始,人们相继采用了多种数学模型和方法来建立入侵检测系统。采用
决策树的入侵检测就是其中的一种建模方法,该方法可以较好的解决
对攻击特征描述的问题,从训练数据中提取最能反映攻击的属性,并通
过比较各个属性的信息增益,对属性进行分类,并生成决策规则用于入
侵检测。采用决策树的方法进行入侵检测具有较好的检测率和较低的
误报率。
2. 决策树算法介绍
决策树和决策规则是解决入侵检测中分类和发现的一种方法。分
类的基本原理是把数据项映射到其中一个事先定义好的类中的这样一
个过程。由一组输入的属性值向量和相应的类,用基于归纳学习算法得
出分类。即分类是把某个不连续的标识值(类)分配给一个未标识的纪
录的过程。分类器是一个在样本的其他属性已知的情况下预测另外一
个属性(样本的类)的模型(分类的结果)。而发现的过程即根据决策规
则识别入侵连接记录类型的过程,入侵类型和入侵连接记录的格式在
文献[2]有详细的介绍。
从数据中生成分类器的一个特别有效的方法是生成一棵决策树。
决策树表示法是应用最广泛的逻辑方法。目前生成决策树方法的算法
主要有三种:CART算法,CHAID算法,算法。其中 算法是发展
的比较完善也是比较简单易懂的一种决策树算法,因此本论文以
算法为基础对决策树进行讨论并用于入侵检测中。
3. 算法原理及应用举例
决策树算法的原理
算法是构造决策树分类器的一种算法,它是 ID3算法的扩展。
该算法从树的根节点处的所有训练样本开始,选取一个属性来区分这些
样本。对属性的每一个值产生一个分支,分支属性值的相应样本子集被
移到新生成的子节点上,这个算法递归地应用于每个子节点上,直到节
点的所有样本都分区到某个类中,到达决策树的叶节点的每条路径表
示一个分类规则。这样自顶向下的决策树的生成算法的关键性决策是
对节点属性值的选择。选择不同的属性值会使划分出来的记录子集不
同,影响决策树生长的快慢以及决策树结构的好坏,从而导致找到的规
则信息的优劣。
算法的属性选择的基础是基于使生成的决策树中节点所含的
信息熵最小。熵在系统学上是表示事物的无序度。不难理解熵越小则记
录集合的无序性越小,也就是说记录集合内的属性越有顺序有规律,这
也正是我们所追求的目标。
ID3算法只能处理离散型的描述性属性,而 算法还能够处理
描述性属性是连续型的情况。这种算法利用比较各个描述性属性的信
息增益(information Gian)值的大小,来选择 Gain 值最大的属性进行分
类。如果存在连续型的描述性属性,那么首先要做的是把这些连续型属
性的值分成不同的区间,即“离散化”。
决策树的基本概念
(1)信息熵(Entropy)
定义 1:变量的信息熵
变量的信息熵 E为平均的信息量,它是评估信息不纯度(impurity)
的最佳方法,计算公式为:
E=-Σ(Pi*log2(Pi)) (1)
实例:
考虑一个任意的变量,它有两个不同的值 A和 B。假设已知这个变
量不同值的概率分配如下:情况 1、P(A)=1和 P(B)=0;情况 2、P(A)=0.
4和 P(B)=。则在这两个例子中,情况 1和情况 2的信息熵分别是:
E1=- (1*log21+0*log20)=0
E2=- (*+*)=
定义 2:集合的信息熵
对于记录集合的某个子集 Si,分成 Cj(j=1,2,…,k)类,集合 Si的熵的
计算公式如下:
Info(Si)=-
k
j = 1
Σ count(Cj,Si)Si *log2
count(Cj,Si)
SiΣ ΣΣ Σ (2)
其中 count(Cj,Si)为集合 Si中属于类 Cj的样本数量。 Si 表示集合
Si中的样本数量。
实例:
假设记录集合 Si中存在 C1和 C2两类,并且记录集中包括 x个属
于类 C1的记录和 y个属于类 C2的记录。那么,用于确定记录集 Si中
某个记录属于哪个类的所有信息量为:
Info(Si)=- xx+y *log2
x
x+yΣ Σ+ yx+y *log2 yx+yΣ ΣΣ Σ
定义 3:属性分类的信息熵
定义 2中给出了一个子集的熵的计算,如果我们按照某个属性进
行分区后就涉及到若干个子集,需要对这些子集进行熵的加权和的计
算。假设记录集合 S中,按照属性 A进行分类,把记录集分成子集{S1,
S2,S3…Sk},则对属性 A分类的信息熵为:
Info(A,S)=-
k
i = 1
Σ SiS *Info(SiΣ Σ) (3)
其中 Si 表示属性分类子集 Si的样本数量,Info(Si)为属性分类子
集 Si的信息熵,S 为记录集合 S的样本属性。
(2)信息增益(information gain)
信息增益是指信息熵的有效减少量,它是指属性分类前的信息熵
和分类后的信息熵的差,根据它我们能够确定在什么样的层次上选择
什么样的变量来分类。记录集合表按照不同的属性进行分类,得到增益
大的就是我们要选取的节点。属性 A分类的信息增益公式如下:
Gain(A,S)=Info(S)- Info(A,S) (4)
决策树的实例分析
表 1训练数据集
基于决策树的入侵检测技术
上海市安装工程有限公司 陈小红
[摘 要]本文针对传统的基于简单模式匹配的入侵检测技术性能低,误报率和漏报率高的问题,提出了基于决策树算法的连接记录
的分析方法,描述了该算法的定义和实现,并采用 KDD99的数据进行了仿真实验。实验结果表明,基于决策树算法的分析方法能有
效的提高入侵检测系统的性能。
[关键词]入侵检测 决策树 信息熵 信息增益 KDD99 连接记录
Outlook Temp(F) Humidity Windy? Class
overcast 72 90 TRUE Play
overcast 83 78 FALSE Play
overcast 64 65 TRUE Play
overcast 81 75 FALSE Play
rain 75 80 FALSE Play
rain 68 80 FALSE Play
rain 70 96 FALSE Play
rain 71 80 TRUE Don't Play
rain 65 70 TRUE Don't Play
sunny 75 70 TRUE Play
sunny 69 70 FALSE Play
sunny 80 90 TRUE Don't Play
sunny 85 85 FALSE Don't Play
sunny 72 95 FALSE Don't Play
计算机与网络
561— —
科技信息
本文此处分析一个决策树的创建过程。给出一个简单的数据集如
表 1,描述的是高尔夫运动能否开展的情况,其中有 14个样本记录,数
据集中天气情况(Outlook)、是否有风(Windy?)是符合型属性,温度(Temp)
和湿度(Humidity)是连续的数值属性,由 4个条件属性决定 class的分
类。
对于训练数据集,按照 Outlook和Windy属性进行样本分类,分类
前的信息熵为:
Info(S)=- ( 514 *log2
5
14 +
9
14 *log2
9
14 )=比特
按照属性 Outlook和Windy进行分类,其信息熵和信息增益分别为
图 1所示:
图 1 属性分类的信息熵和信息增益
对于属性 Temp和 Humidity的分类,由于这两个属性的值都为连
续数值型,首先要将其离散化。这里的离散化是把连续的样本排成顺
序,然后找出它的中间某个值(我们把这个值叫作阀值),使得根据阀值
计算出来的信息增益达到最大。不同的算法对阀值的计算是不同的,
算法与别的算法不同之处在于采用基于信息熵的二元分割法产生
阀值。其算法如图 2所示:
图 2 基于信息熵的二元分割算法
对于属性 Temp,按照 Temp值的大小和分类属性 Class混合排序
(如表 2),表中 Class 属性“1”表示“play”,“0”表示“don’t play”。这样
Temp集合就被分成了 6个阈值,分别为(64+65)/2=、、、72、
、84。对于任意阈值,集合中小于该阈值的分为一类,其他的为一类。
分别计算阈值为 、、、72、、84时的信息增益,如表 3所
示。挑选出最高增益的阈值作为最优阈值,此处为 84,其信息增益为
Gain(T,S)=。
表 2 Temp属性的分类排序表
表 3 阈值对应的信息熵和信息增益
同理可求出按照属性 Humidity进行分类时最佳阈值为 ,其信
息熵和信息增益为:
Info(H,S)= Gain(H,S)=比特
现在,我们比较一下三个属性的信息增益,可以看出属性 Outlook
具有最高信息增益 比特,所以选择属性 Outlook对决策树进行首
次分类。如图 3所示:
图 3 属性 Outlook分类的决策树
生成属性 Outlook的分类后,生成了三个子集,每个子集中包含几
个样本。但是除了第一子集属于同一类外,其他两个子集中的样本仍然
不同属于一个类,所以我们还要继续对第二个子集和第三个子集采取
同样的方法进行分类,即对每个子集挑选出属性分类的信息增益最大
的一个进行分类,直到树的每个分支都属于同一个类为止。实际上创建
决策树的过程应该是一个递归的过程。中间建树的过程我们省略,只给
出结果如下:
图 4 训练数据集决策树
生产的决策树如果存在冗余,应对决策树进行合并,最后简化决策
得出决策规则。对图 4的决策树简化为图 5:
图 5 简化的训练数据集决策树
从决策树中可以推出决策规则,即
(1)IF Otlook=”overcast”,Then Class=”Play”
(2)IF Otlook=”sunny”and Windy=FALSE,Then Clas=”Play”
ELSE IF Otlook=”sunny”andWindy=TRUE,Then Clas=”Don’t Play”
(3)IF Otlook=”rain”and Humidity<,Then Class=”Play”
ELSE IF Otlook=”rain”and Humidity=,Then Clas=”Don’t Play”
4. 决策树在入侵检测中的应用及实验结果
决策树根据属性分类的信息增益的值,从而对数据集进行分类生
成决策树,并能推导出决策的规则。在入侵检测中,入侵的类型往往由
某些特定的属性发生异常的变化,这些属性连接成入侵连接记录。我们
可以通过专门的软件采集的网络中连接数据作为决策树分类的数据
源。以使用专门的入侵检测数据集 KDD99作为决策树算法的训练数据
集,该数据集提供了几百万条生成好的连接记录,分成具有标识的训练
数据和未加标识的测试数据,为人们从事入侵检测的研究提供了方便。
图 6 连接记录实例
数据集中包含了 22种训练攻击类型和 1种正
Info(O,S)= 414 (-
4
4 *log2
4
4 )+
5
14 (-
3
5 *log2
3
5 -
2
5 *log2
2
5 )+
5
14 (-
2
5 *log2
2
5 -
3
5 *log2
3
5 )
=比特
Gain(O,S)=Info(S)- Info(O,S)=
Info(W,S)= 814 (-
2
8 *log2
2
8 -
6
8 *log2
6
8 )+
6
14 (-
3
6 *log2
3
6 -
3
6 *log2
3
6 )
=比特
Gain(W,S)=Info(S)- Info(O,S)=
For each连续特征 Ai
根据 Ai的值对样本排序
For each序列中的每对 Xi,Xi+1
If Xi和 Xi+1的分类不同
将 Xi和 Xi+1的中点作为可能的阈值进行检验
Temp 64 65 68 69 70 71 72 72 75 75 80 81 83 85
Class 1 0 1 1 1 0 0 1 1 1 0 1 1 0
阈值 72 84
信息熵 Info(T,S)
信息增益 Gain(T,S)
(下转第 564页)
计算机与网络
562— —
科技信息
常的标识类型 normal,作为连接记录的最后标识。
KDD99数据集中每个连接记录是在规定的协议下、在规定的时间内完
成的起始并终止的 TCP分组序列,这些序列在固定的源 IP地址与目的
IP地址之间进行数据传输。每个连接记录大概有 100个字节。记录中包
含了 41个固定的特征属性和一个类标识,标识用来表示该连接记录或
者是正常,或者是某个具体的攻击类型,连接记录的实例如图 6所示。
表 4决策树在入侵检测中的检测率和误报率
实验过程中,从 KDD99数据集合中选择一个子数据集作为训练数
据集合,该子集含有 5079条数据记录,分别属于 11种攻击方式和正常
数据类别。这样,整个数据集合就含有 12个类别,这 12个类别在数据
集合中的数量是不同的。数据集中含有 41个属性,其中有一些的值始
终保持不变,把这样的属性作为无用的属性除去,剩下 21个有用属性。
最后得到一个含有 5079条连接记录,21个属性的训练数据集合。采用
决策树的算法对该训练集进行分类,生产决策树并导出决策规则。
选择含有 28467条数据记录的数据集合作为测试数据集,该数据
集与训练数据集是相互独立的。根据决策规则对测试数据进行入侵检
测类型的检测和匹配。入侵检测的检测率和误报率如表 4,其中将训练
集合中的 12个入侵类别归为 4个大的类别。
实验结果表明,采用决策树算法的入侵检测技术,对于 DOS和
PRB攻击具有较高的检测率,而对 R2L的检测比较弱一些。
5. 结束语
采用决策树来构成生成器用于入侵检测是有一定的优点,生成的规
则比较简单利于理解,可以处理连续和离散的属性,能提高入侵检测的
性能和效率。本文提出的基本决策树构造算法没有考虑噪声,生成的决
策树完全与训练例子拟合。剪枝是一种克服噪声的技术,同时它也能使树
得到简化而变得更容易理解,该问题有待于今后进行更加深入的研究。
参考文献
[1]Riebard A Kemmerer,Giovanni Detection:a Brief
History and Overview[J].Computer,2002:35:27- 30
[2]季赛.入侵检测实验数据的分析和预处理[J].信息安全与保密,
2005,5 :24- 26
[3]Computer and Information Sciences Department in the College of
Science and Technology of Temple Mod-
els:ID3 and :/ / ~ingargio/ cis587/ readings/ id3-
,1999
[4]KDDCup1999Data[EB].
[5]刘勇国,彭军,张伟等.入侵检测系统与聚类分析[J].重庆工业高
等专科学校学报,2003,18(1):4- 9
类别 描述 检测率 误报率
DOS 拒绝服务攻击 % %
R2L 远程非法进入 % %
PRB 刺探和扫描 % %
NORMAL 正常数据 % %
(上接第 562页)
武术是我国固有的、独具中华民族风格的传统体育项目之一,是我
国宝贵的文化遗产。各级学校体育教材都有武术内容。学生对学习武术
的积极性很高,深受学生们的喜爱和欢迎。“青年长拳”作为高等学校体
育课的教学内容,在大学里得以普遍学习。武术教学是要求多示范面的
教学,如何才能使这多示范面的教学做到既经济又实效呢?我们进行了
周密而细致的研究分析,从中发现合班上课对武术教学是有利的,效果
是好的。所谓合班上课就是两位教师所任课的两个班级合在一起进行
教学,两位教师同时对学生进行教学和辅导。也就是说:一位教师进行
主讲,另一位教师进行示范、补充、辅助。可以补充主讲教师遗漏的问题
和主讲教师所受条件限制所不能发现的学生的错误动作,并及时地向
学生讲明,可使学生尽快纠正错误动作。可进行多示范面的教学,多示
范面教学是两位教师分别在学生队伍的前后或左右做示范,学生做动
作转到另一面时可见到另一教师的示范动作。这样既节省了时间又不
间断学生的思维,同时也节省了教师和学生的体力消耗,使学生尽快掌
握动作。
通过对合班与不合班上课的比较分析,合班上课有很多好处。
1 教师讲解的全面性和示范的准确性
合班上课可以完善教师的讲解,使学生看清示范。一位教师主讲
时,另一位教师可做补充和做不同面的示范,使学生一面听动作要领,
一面体会动作的实际形状,然后学生再去自身实践。这样学生能更好地
把理论与实践结合起来。同时,也不至于教师背对学生讲解动作要领。
主讲教师讲解动作要领时,辅助教师给学生纠正错误动作,这是必要
的,因为一旦学生的错误动作定了型就难以改正。如:马步冲拳的马步,
弓步冲拳的弓步。这是学生最易做错和不规范的动作,辅助教师可检查
一下学生做的“马步、弓步”是否正确,如不正确应及时纠正。只有这样
才能使学生具有正确的动作概念,保证教学质量的提高。如果不合班上
课,在这方面就不能顾及得这么全面,学生出现的错误也不能及时发现
并纠正。
学生对学习武术的积极性很高,但不少教师只采用传统的教学方
法———边讲解边示范,学生跟着练。教师除了讲解、示范外,还要不断改
变示范面,学生只跟着比划。这种教学方法,教师感到上武术课辛苦、太
累,特别是年纪稍大的教师更感体力不支。上一堂武术课已筋疲力尽,
如果连上几节的话,必然会影响教学质量。教师领练几遍后,学生对所
学的动作仍很陌生,对动作、套路也很模糊,往往顾此失彼。拳掌不分,
弓马不分;虚不虚,实不实,完全处于被动状态。好不容易才勉强掌握一
段,动作很不规范,路线不清,更谈不上“手眼身法步,精神气力功”了。
2 教师跑动的路线和时间运用的合理性
在每次课中,教师跑动的路线和时间的运用是否合理是一个重要
问题。不能说一次课中就绝对没有时间的浪费,但浪费还分为多和少,
时间浪费的越少越好。合班上课就弥补了这样的浪费。例如:在做转身
动作时教师就不用从前面再跑到后面了。如果学生练习队形的两边都
有教师做示范,这样就可以节省来回跑动的时间了。如果做一个“马步
格勾”动作,不合班上课,教师来回跑动时间为 5~10秒的时间,每次课
就得有 5~10分钟的时间被浪费掉。如果每次课能够节省 5~10分钟的
时间,把它用于学生做练习上,那么其效果可想而知。一套动作做一遍
最多需要 分钟,那么 10分钟的时间就可做 7遍左右。这样就可使学
生尽快掌握动作并达到熟练的程度。
3 学生思维和练习的不间断性
每一个动作都要求学生去思考、去练习。领做,对初学者来说是必
不可少的,也是很重要的,它可以使学生很快地掌握比较难做的动作。
但有些转身动作就不太好领做,在一面领做示范是不行的,必须在两面
甚至更多面领做。教师在这面做一半,又到那边做一半,毫无意义地浪
费教师和学生的体力,也使学生的练习和思维造成间断,这就很容易使
学生遗忘动作。如:“歇步亮掌”、“转身正踢腿”这两个动作,如果只有一
位教师做示范,学生转到另一面就很难搞清手是怎样绕的;如果采用合
班上课,两位教师做示范,每人负责一面,学生就能很连贯地把动作做
下来,并能使动作做得准确。
4 攻防配合的默契性
为了使学生充分理解套路中的攻防含义,必须做攻防的示范动作,
让学生看明白。“青年长拳”的第一段主要以攻为主,第三段以防为主。
如果有两位教师进行示范,一攻一守配合默契,这样学生看了之后,不
仅能使学生理解攻防含义,而且还能激发学生学习武术的积极性,从而
使学生的武术技能不断提高。
5 结束语
武术是中国的国粹,武术教学的好坏直接关系到学生对武术的兴
趣以及武术运动在下一代的开展和普及。学生兴趣的提高应该从学生
对武术的意识、武术的攻防意识等入手,特别是教师的讲解和示范,对
学生的影响更大。实践证明:合班上课较不合班上课的效果好得多,质
量高得多,从各方面来说都有其优越性。
参考文献
[1]李君玉.对武术套路教学中动作示范的探讨[J].邢台学院学报,
2008(4):87- 88.
[2]马宏奎.浅谈“合班选项”体育教学方法[J].科技资讯,2008(16):
184.
[3]程亚霖.浅析武术教学中的示范法[J].少年体育训练,2009(1):89.
武术课合班教学探讨
大庆石油学院 李 凯
[摘 要]武术作为中华民族传统体育项目之一,在大、中、小学校的体育教学中都占有一席之地。武术套路的示范在某种程度上不
能做镜面示范,极大地限制了教师的讲解和学生的视觉传递,达不到优良的教学效果。本文从武术的合班上课,使教师能够多示范
面地进行授课的角度阐述了武术课合班教学的好处。
[关键词]武术课 合班 教学 效果
音 体 美
564— —