540 likes | 718 Views
T-S 型模糊神经网络与入侵检测. 哈尔滨理工大学 卜明玮. T-S 型模糊神经网络与入侵检测. 主要内容 T-S 型模糊神经网络介绍 BP 算法原理用于 T-S FNN 模糊参数学习 遗传算法用于 T-S FNN 的权值学习 T-S FNN 应用于入侵检测数据分析. T-S 型模糊神经网络介绍. T-S FNN 的结构. T-S 型模糊神经网络介绍. T-S FNN 结构的说明 网络由前件网络和后件网络两部分组成 前件网络用来匹配模糊规则的前件 后件网络用来产生模糊规则的后件. T-S 型模糊神经网络介绍. 前件网络 第一层为输入层。
E N D
T-S型模糊神经网络与入侵检测 哈尔滨理工大学 卜明玮 哈尔滨理工大学网络信息中心
T-S型模糊神经网络与入侵检测 • 主要内容 • T-S型模糊神经网络介绍 • BP算法原理用于T-S FNN模糊参数学习 • 遗传算法用于T-S FNN的权值学习 • T-S FNN应用于入侵检测数据分析 哈尔滨理工大学网络信息中心
T-S型模糊神经网络介绍 • T-S FNN的结构 哈尔滨理工大学网络信息中心
T-S型模糊神经网络介绍 • T-S FNN结构的说明 • 网络由前件网络和后件网络两部分组成 • 前件网络用来匹配模糊规则的前件 • 后件网络用来产生模糊规则的后件 哈尔滨理工大学网络信息中心
T-S型模糊神经网络介绍 • 前件网络 • 第一层为输入层。 • 第二层每个结点代表一个语言变量值 • 第三层的每个结点代表一条模糊规则, 它的作用是用来匹配模糊规则的前件, 计算出每条规则的适用度。 • 第四层的结点数与第三层相同, 它所实现的是归一化计算 哈尔滨理工大学网络信息中心
T-S型模糊神经网络介绍 • 后件网络 • 它由r 个结构相同的并列子网络组成, 每个子网络产生一个输出量。 • 输入层中第0个结点的输入值x0= 1, 它的作用是提供模糊规则后件中的常数项。 • 子网络的第2层共有m 个结点, 每个结点代表一条规则, 该层的作用是计算每一条规则的后件 哈尔滨理工大学网络信息中心
T-S型模糊神经网络介绍 • yk是各规则后件的加权和, 加权系数为各模糊规则的归一化适用度, 也即前件网络的输出用作后件网络第3层的连接权值。 • 这里不考虑各输入分量的模糊分割数的划分, 需要学习的参数主要是后件网络的连接权以及前件网络第2层各结点隶属函数的中心值及宽度 哈尔滨理工大学网络信息中心
T-S型模糊神经网络与入侵检测 • T-S型模糊神经网络介绍 • BP算法原理用于T-S FNN模糊参数学习 • 遗传算法用于T-S FNN的权值学习 • T-S FNN应用于入侵检测数据分析 哈尔滨理工大学网络信息中心
BP算法原理用于T-S FNN模糊参数学习 • 我们先用一个简单的BP网络结构说明BP算法的原理,下面是具有一个隐含层的BP网络的结构 哈尔滨理工大学网络信息中心
BP算法原理用于T-S FNN模糊参数学习 • BP算法是一种监督式的学习算法,其主要思想是:q输入学习样本(P1, P2,…, Pq),己知与其对应的期望输出样本为:T1,T2,…,Tq。学习的目的是用网络的实际输出A1,A2,…,Aq与目标矢量T1,T2,…,Tq之间的误差来修改权值,使Ai(i=1,2,…,q)与期望的Ti尽可能地接近,即是网络输出层的误差平方和达到最小。 哈尔滨理工大学网络信息中心
BP算法原理用于T-S FNN模糊参数学习 • 以前面图中所示的三层网络为例进行BP算法推导,设输入为P,输入神经元有r个,隐含层有s个神经元,激活函数为f1,输出层内有t个神经元,对应的激活函数为f2,输出为A,目标矢量为T。 哈尔滨理工大学网络信息中心
BP算法原理用于T-S FNN模糊参数学习 • 信息的正向传递 • 隐含层中第k个神经元的输出为: • 输出层中第l个神经元的输出为: • 定义误差为 哈尔滨理工大学网络信息中心
BP算法原理用于T-S FNN模糊参数学习 • 利用梯度下降法求权值变化及误差的反向传播 • 梯度下降法 • 是一种对某个准则函数的迭代寻优算法。设J(a)是准则函数,a为一向量。d为J(a)在点ak的梯度,为一向量,其方向为J(a)增长最快的方向;负梯度方向,则是减少最快的方向。因此,若求某函数的极大值,沿梯度方向走,可以最快的速度到达极大点;反之沿负梯度方向走,可以最快地到达极小点。 哈尔滨理工大学网络信息中心
BP算法原理用于T-S FNN模糊参数学习 • 利用梯度下降法求权值变化及误差的反向传播 • 输出层的权值变化 其中 同理可得: 哈尔滨理工大学网络信息中心
BP算法原理用于T-S FNN模糊参数学习 • 隐含层的权值变化 • 其中: • 同理可得: 哈尔滨理工大学网络信息中心
BP算法原理用于T-S FNN模糊参数学习 • 现在考虑T-S型模糊神经网络中前件网络的隶属函数参数的学习问题。先将后件网络的连接权参数W j i固定,从而T-S FNN的结构图可以简化为如下形式。 哈尔滨理工大学网络信息中心
BP算法原理用于T-S FNN模糊参数学习 • 依据前面介绍的BP算法原理,可依次求得每一层的误差 • 最后求得一阶梯度 哈尔滨理工大学网络信息中心
BP算法原理用于T-S FNN模糊参数学习 • 在求得所需的一阶梯度后,最后可以给出参数的学习算法为 哈尔滨理工大学网络信息中心
T-S型模糊神经网络与入侵检测 • T-S型模糊神经网络介绍 • BP算法原理用于T-S FNN模糊参数学习 • 遗传算法用于T-S FNN的权值学习 • T-S FNN应用于入侵检测数据分析 哈尔滨理工大学网络信息中心
遗传算法用于T-S FNN的权值学习 • 遗传算法的主要特点是: • 遗传算法使用参数集的编码,而不是参数本身; • 遗传算法目标函数指引遗传过程, 不是采用求导数或其它定理; • 遗传算法在点群上搜索寻优,而不是一个点; • 遗传算法使用可能性变换法,而不是定论法则。 哈尔滨理工大学网络信息中心
遗传算法用于T-S FNN的权值学习 • 遗传算法的简要框图 哈尔滨理工大学网络信息中心
遗传算法用于T-S FNN的权值学习 • 改进遗传算法并用于训练连接权 • 这里的算法对SGA作以下改进 • 采用实数编码 • 权值的学习是一个复杂的连续参数优化问题。若采用二进制编码, 会造成编码串过长, 且需要再解码为实数, 使权值变化为步进, 从而影响网络学习的精度。 • 自适应交叉率 • 自适应变异率 哈尔滨理工大学网络信息中心
遗传算法用于T-S FNN的权值学习 • 采用实数编码 • 网络的各个权值按一定的顺序级连为一个长串(W 10, W 11, ⋯,W 1n ,W 20, W 21, ⋯, W 2n , ⋯, W m 0, W m 1, ⋯, W m n) , 串上的每一个位置对应着网络的一个权值 哈尔滨理工大学网络信息中心
遗传算法用于T-S FNN的权值学习 • 采用自适应交叉率 • 交叉:即按某一概率P c从种群中随机选择两个串进行相互交换(部分交换两个串的某些位)。这里采用自适应交叉率。对于适应值高的串, 取较低的P c, 对于适应值低的串, 取较高的P c, 使该串进入下一代的机会增大。即 哈尔滨理工大学网络信息中心
遗传算法用于T-S FNN的权值学习 • P c = • kc是小于1 的常数, f c 是要交叉的两个串中适应值大的一个, f max、f分别是种群的最大适应值和平均适应值,f max -f体现了种群的收敛程度, 若此值较小, 说明种群已趋向收敛。 哈尔滨理工大学网络信息中心
遗传算法用于T-S FNN的权值学习 • 采用自适应变异率 • 变异:变异算子是按某一概率Pm改变种群中某些串的某些位。由于采用实数编码,这里的变异操作以概率Pm在初始概率分布中随机选择一个值,然后与要变异的串的某些位的权值相加。这里采用自适应变异率。对于适应值高的串,取较低的Pm,对于适应值低的串,取较高的Pm,使该串进入下一代的机会增大。即 哈尔滨理工大学网络信息中心
遗传算法用于T-S FNN的权值学习 • Pm = • km 是小于1 的常数, km 是要变异的串的适应值。 哈尔滨理工大学网络信息中心
遗传算法用于T-S FNN的权值学习 • 改进遗传算法用于训练连接权的其他问题 • 初始化过程 为使遗传算法能搜索所有可行解的范围, 初试化网络的各权值以概率分布来随机确定。 • 评价函数f 网络以训练集样本为输入输出, 运行后返回误差平方和的倒数作为评价函数 • 选择 在繁殖过程中, 某一个串其被拷贝的概率P s 可表示为:Ps=fi/ fi fi 哈尔滨理工大学网络信息中心
T-S型模糊神经网络与入侵检测 • T-S型模糊神经网络介绍 • BP算法原理用于T-S FNN模糊参数学习 • 遗传算法用于T-S FNN的权值学习 • T-S FNN应用于入侵检测数据分析 哈尔滨理工大学网络信息中心
T-S FNN应用于入侵检测数据分析 • 数据来源 • 网络数据的特征选取 • 数据预处理 • T-S型模糊神经网络的结构参数设置 哈尔滨理工大学网络信息中心
T-S FNN应用于入侵检测数据分析 • 数据来源 • 对于入侵检测数据分析的数据源,这里采用KDDCup99数据集,属性集的属性分为四类:基本属性集、内容属性集、流量属性集、主机流量属性集,共41个属性。 • 下面是两条数据示例: 0,tcp,http,SF,181,5450,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,8,8, 0.00,0.00,0.00,0.00,1.00,0.00,0.00,9,9,1.00,0.00,0.11,0.00, 0.00,0.00,0.00,0.00,normal. 0,icmp,eco_i,SF,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,16, 0.00,0.00,0.00,0.00,1.00,0.00,1.00,1,129,1.00,0.00,1.00,0.51, 0.00,0.00,0.00,0.00,ipsweep. 哈尔滨理工大学网络信息中心
T-S FNN应用于入侵检测数据分析 • 数据集中包含了大量的正常网络流量和 22 种不同的攻击,具有很强的代表性。这些攻击可以分为如下 4 类: • DOS:拒绝服务攻击,如smurf,teardrop 攻击等; • R2L:远程权限的获取,如口令猜测等; • U2R:权限提升,如各种缓冲溢出攻击; • PROBE:端口和漏洞扫描。 哈尔滨理工大学网络信息中心
T-S FNN应用于入侵检测数据分析 • 网络入侵类型表 哈尔滨理工大学网络信息中心
T-S FNN应用于入侵检测数据分析 • 数据来源 • 网络数据的特征选取 • 数据预处理 • T-S型模糊神经网络的结构参数设置 哈尔滨理工大学网络信息中心
T-S FNN应用于入侵检测数据分析 • 网络数据的特征选取 • 随着T-S型模糊神经网络规模的扩大和拓扑结构的复杂化,网络的收敛性会随之下降,网络的训练时间也会随之延长。因此,应该选取那些网络数据特征作为神经网络的输入,是非常重要的。下面介绍两种特征提取的方法:属性相关度分析方法和分类检测方法。 • 属性相关度分析方法:用统计学的观点,通过对所得数据各数据项(属性)进行分析,只保留一些重要的、包含信息量较多的数据项(属性),而舍弃一些不重要的、包含信息量较少或不包含有用信息的数据项(属性)。属性相关度分析就可以做为这种分析方法。 哈尔滨理工大学网络信息中心
T-S FNN应用于入侵检测数据分析 • 属性相关度分析的基本思想: • 计算某种度量,用于量化属性与给定类或概念的相关性。这种度量包括信息增益、相关系数等。 • 假定S样本中有s个样本,m个类,对一个给定样本分类所需的期望信息是 哈尔滨理工大学网络信息中心
T-S FNN应用于入侵检测数据分析 • 对某一属性A的划分的期望信息称作A的熵 • 属性A上该划分的信息增益为: • Gain(a) = • 用这种方法可以计算出每个属性的信息增益,具有最高信息增益的属性就是给定集合中具有最高区分度的属性。 哈尔滨理工大学网络信息中心
T-S FNN应用于入侵检测数据分析 • 分类检测方法: • 为了提高网络的训练速度,缩小网络的规模,又不至于因为舍取了网络数据的一些数据项而降低检测效率,可以针对不同的攻击类型,构造不同的神经网络。 • 也就是说,每一个神经网络针对某一类型的攻击。在选取网络输入特征数据时,就可以针对确定的攻击类型,分析攻击特征存在于那些属性中,从而选取合适的网络数据,舍弃那些无用的数据项。 • 这些小规模的神经网络相互独立,他们独立训练、并行工作。在进行入侵检测时,系统的检测结果是这些神经网络共同的检测结果。 • 这样就保证了不会因为网络的规模太大而使网络长时间不能完成训练,又保证了不会因为舍弃了一些数据而使神经网络的检测率降低。 哈尔滨理工大学网络信息中心
T-S FNN应用于入侵检测数据分析 • 数据来源 • 网络数据的特征选取 • 数据预处理 • T-S型模糊神经网络的结构参数设置 哈尔滨理工大学网络信息中心
T-S FNN应用于入侵检测数据分析 • 数据预处理 • 由于从网络获取的原始数据中,各属性(特征)数据类型不同、数值相差太大等原因,不能将这些数据直接作为T-S型模糊神经网络的输入数据,必须首先进行数据预处理。 • 字符数值化: 对于字符或字符串属性,不能把它直接作为模糊神经网络的输入,必须先对它进行数值化处理。数值化的方法一般是进行数据替换。例如,可以分别用1,2,3,4代表IP首部的协议类型:ICMP,IGMP,TCP,UDP。 哈尔滨理工大学网络信息中心
T-S FNN应用于入侵检测数据分析 • 归一化处理 • 由于数据各属性单位的不同以及不同属性数值相差太大,直接将这些属性值作为模糊神经网络的输入将影响到训练的结果。因此,在用数据集训练网络之前,需要对数据进行归一化处理。特征数据项的归一化过程主要是保证每个数据项在同一区间取值,这样做的目的是防止特征数据项数量级差别较大而造成数量级小的数据项特征无法发挥作用。 哈尔滨理工大学网络信息中心
T-S FNN应用于入侵检测数据分析 • 对数归一化 • 对数据进行归一化时,通常采用的方法是线性归一化,而线性归一化方法只适合原始数据集中的数据比较集中的情况,它对小的数据区分能力较差,因此在工程中该方法不常用。对数归一化使数据的分布比较均匀,易于数据的分离,常在工程中使用,因此这里采用对数归一化。 哈尔滨理工大学网络信息中心
T-S FNN应用于入侵检测数据分析 • 设sample={samplei(j)| samplei(j)0,i=1,2,…,n}为特征参数数据集合, ,其中i=1,2,…,n,表示每一条记录的第i个数据项。j表示数据集中的第j条记录。归一化后的数据集为SAMPLE={SAMPLEi|i=1,2,…,n}。 哈尔滨理工大学网络信息中心
T-S FNN应用于入侵检测数据分析 • 对数归一化公式为 • SAMPLEi= • 其中C= , 为满足 的常数,作用是保证小数取对数后仍为正值。 • 当存在零值数据项(特征)时,就不能对它们取对数,也就是不能直接进行对数归一化,这时可采取的方法是对所有属性值作数据平移,这种平移并不会改变样本之间的差异本质,所以并不会影响网络训练的结果。 哈尔滨理工大学网络信息中心
T-S FNN应用于入侵检测数据分析 • 数据来源 • 网络数据的特征选取 • 数据预处理 • T-S型模糊神经网络的结构参数设置 哈尔滨理工大学网络信息中心
T-S FNN应用于入侵检测数据分析 • T-S型模糊神经网络的结构参数设置 • 将T-S型模糊神经网络应用于入侵检测的另一个重要问题,就是如何合理设置网络的各项结构参数。可分为前件网络参数和后件网络参数 。 • 前件网络参数 前件网络相当于模糊规则的前件,共有四层结构。 • 输入层节点数。输入层节点与输入向量直接连接,输入层神经元节点数就是系统的输入向量维数,如对数据集进行特征选取后,得到包含10个特征的数据,则输入层的节点数为10。 哈尔滨理工大学网络信息中心
T-S FNN应用于入侵检测数据分析 • 前件网络参数 • 语言层(中间层1)神经元数 • 中间层1的每个节点代表一个语言值。语言层(中间层1)神经元数主要和每一个输入节点所划分的模糊子集的个数有关。针对普通数值型属性,我们将其划分为3个模糊子集,High,Middle,Low。而对于进行了字符数值化处理的属性,考虑到其字段含义清晰,并没有模糊性,我们按该属性原来的类型数进行划分模糊子集。例如,在进行字符型属性数值化时我们分别用1,2,3,4代表IP首部的协议类型:ICMP,IGMP,TCP,UDP。则对协议类型这一属性,我们划分为4个模糊子集,分别代表这4类协议类型。 哈尔滨理工大学网络信息中心
T-S FNN应用于入侵检测数据分析 • 前件网络参数 • 模糊推理层神经元数目 • 该层的每个节点代表一条模糊规则,它的作用是用来匹配模糊规则的前件,计算出每条规则的适用度。神经元数目即为本模型最后生成的模糊规则的条数。这里我们采用全相联规则集,即与输入特征相关的所有规则。其神经元数目等于语言层中所有模糊子集划分数的乘积。 哈尔滨理工大学网络信息中心
T-S FNN应用于入侵检测数据分析 • 前件网络参数 • 归一化层节点数 • 该层用于归一化每条规则的激励强度。节点数与前一层相同。 • 输出层神经元节点数 • 输出层神经元节点数就是系统目标个数,这里只需要1个输入层神经元,用以计算前件网络规则输出值与后件网络输出的累积和。 哈尔滨理工大学网络信息中心
T-S FNN应用于入侵检测数据分析 • 后件网络参数 • 子网络个数 • 后件网络可以由r个结构相同的并列子网络所组成,一个子网络对应产生一个输出量。这里我们只需要1个子网络。 • 子网络第一层节点数 • 子网络的第一层是输入层,它将输入变量传送到第二层。输入层中第0个节点的输入值x0=1,它的作用是提供模糊规则后件中的常数项。所以该层节点数为n+1,n是输入向量维数。 哈尔滨理工大学网络信息中心