实数编码的遗传算法优化BP神经网络

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
xi xi min max min
数据预处理
样本精简
矩阵初等行变换能保持矩阵列向量之间的
线性关系,利用这个结论我们可以用来进行样 本数据的精简,这样精简后的样本数据能够保 持各属性字段之间的线性关系。
神经网络的训练实际上是一个通过给定样
本实时调整网络连接权重的过程,样本预处理 的结果对于网络训练的收敛性起到关键的作用。 下面我们针对DOS攻击类型数据(DOS攻击类型 编码为“0 0 0 1”)进行分析。
分类检测器同步检测模型
同步检测算法描述
输出结果向量表示:
0 0 0 1——表示DOS攻击; 0 0 1 0——表示R2L类型攻击; 0 1 0 0——表示U2R类型攻击; 1 0 0 0——表示PROBE类型攻击。
X x ,x ,x ,x
i
1234
其中x1, x2, x3, x4分别表示检测器A、B、C、D的输出
即四大类攻击中按样本数所占比例大 小进行优先权的设置,所占比例越大,优 先权就越大,这样,最后,优先权从高到 低设置为“DOS、PROBE、R2L、U2R” 。
分类检测器同步检测模型
同步检测算法描述
算法描述 1. 分别为每个检测器开启一个线程; 2. 输入向量,按照线程优先权的大小,代表检测DOS类型
适应度函数
所谓的适应度函数就是评价函数,将染色
体上表示的各个权值分配到给定的网络结构中, 网络以训练集样本为输入输出,运行后返回误 差平方和的倒数作为染色体的适应度函数,如 式(2-1)所示。
n
f 1 ei2
(2-1)
i1
遗传神经网络
遗传算子设计
1. 选择算子
采用适应度比例方法,计算每个个体的适
遗传神经网络
遗传算子设计
λ取值为0.5时进行交叉算子运算,
如图2-1中交叉部分所示,两个个体经过 交叉后生成两个新个体;变异算子运算 如图2-1中变异部分所示;粗体斜体部分 表示交叉或变异的位置
遗传神经网络
遗传算子设计
(1.4, -1.8, 3.6, 1.7, 0.9, -0.7, 4.5, -0.3, 1.3) (1.3, -0.8, 2.7, 1.9, 1.4, 0.3, -1.1, 0.5, -1.1)
数据预处理
样本精简
设A为样本数据矩阵,其中每一行向量表示 一条样本数据,则该行向量含34个数据,假设 有a条样本,则A为a行34列矩阵;由于每条样本
数据输入网络后都会有一条对应的输出,加上 本实例为DOS攻击类型以编码“0 0 0 1”表示, 则期望输出矩阵B为a行4列矩阵(暂时先不考虑 阈值,只考虑权重问题)。
目录
课题背景 遗传神经网络 分类检测器同步检测模型 数据预处理 仿真实验 结束语和展望 发表论文
分类检测器同步检测模型
系统总体结构
预处理模块
数据采集模块 (事件产生器)
检测引擎模块 传送警报 (事件分析器) 检测到攻击
网络数据流
数据库模块 (事件数据库)
响应模块 (事件响应器)
图 3-1 系统结构图
分类检测器同步检测模型
分类检测器同步检测模型
本文将“检测引擎模块”进行细化设计后提
出“分类检测器同步检测”的模型,同步检测模
型如图3-2所示。
输 入
检测器A
检测器B
状态 监视
检测器C
检测器D
输 出
图 3-2 分类检测器同步检测模型
分类检测器同步检测模型
同步检测算法描述
检测器调度算法采用多线程实现,由 于涉及到线程同步问题,自然会想到同步 锁,线程间优先权设置我们采用如下方法:
xi 10..........................((x其i 它 0).5)
目录
课题背景 遗传神经网络 分类检测器同步检测模型 数据预处理 仿真实验 结束语和展望 发表论文
数据预处理
数据来源
本文采用麻省理工大学林肯实验室的测试 数据KDDCUP99,它是专门用来进行入侵检测 评估的。
Attributes of the connect record
1
2
3
4
5
6
……….
1 0.0000 1.0000 0.0000 0.0000 0.0000 0.0000 ……….. 2 0.0000 0.7039 1.0000 0.0000 0.0000 0.0112 ……….. 3 0.0000 0.7039 1.0000 0.0000 0.0000 0.0056 ……….. 4 0.0576 0.2572 1.0000 0.0000 0.0000 0.0044 ……….. 5 0.0000 0.6983 1.0000 0.0000 0.0000 0.0056 ……….. 6 0.0000 0.6983 1.0000 0.0000 0.0000 0.0056 ……….. 7 0.3352 0.7039 1.0000 0.0000 0.0000 0.0056 ……….. 8 0.0464 0.5727 1.0000 0.0000 0.0000 0.0004 ……….. 9 0.2353 0.3373 0.7176 0.0000 0.0000 0.0000 .………. 10 0.1111 0.0000 0.2222 0.0000 0.0000 0.0000 .……….
目前,遗传算法经常采用二进制编码, 这有它自身的优点,如它能使交叉和变异 操作容易实现,虽然采用二进制编码时算 法处理的模式数最多,但在处理优化
遗传神经网络
实数编码遗传算法
问题时,会出现一些问题: “由于相邻整 数的二进制编码结构可能出现很大的差异, 这样会降低遗传算子的搜索效率,而且如 果设计变量的精度很高,串长就很大,这 样也降低了算法的效率,并且在进化过程 中还要不停地进行编码和解码操作,计算 时间比较长,所以在求解高维优化时,算 法的搜索效率就更低了”。
压缩前 97277 391459 4107 1119
59
小数点1位 3918 228 233 52 20
小数点4位 85811 37436 1775 921 52
数据预处理
归一化精度对样本影响
样本数
450000 400000 350000 300000 250000 200000 150000 100000
4
5
0
U2R
11
1
2
6
normal DOS PROBE R2L
数据预处理
归一化精度对样本影响
表4-2 小数点保留4位时记录重复情况
DOS
1
0
0
0
PROBE
1
0
0
0
R2L
0
0
0
0
U2R
0
0
0
0
normal DOS PROBE R2L
数据预处理
归一化精度对样本影响
表4-3 样本数据压缩情况
normal DOS PROBE R2L U2R
课题背景
论文主要内容
1. 比较分析入侵检测方法,将实数编码 的遗传算法优化BP神经网络初始权重 应用于入侵检测;
2. 为了提高入侵检测系统的检测效率和 实时性,提出分类检测器同步检测模 型;
课题背景
论文主要内容
3. 数据预处理,即把经过数据挖掘后的 样本数据进行归一化处理;
4. 二次处理,即对数据预处理后的数据 进行深度处理,从而对样本数据进行 有效性的压缩;
于是我们可以得到公式(4-1)。
数据预处理
样本精简
A W W 1
2
a34 3415 154

Ba4
(4-1)
如式(4-2)所示,A和B是系数矩阵 ,C是增广 矩阵。
经过带约束初等行变换后如式(4-3)所示。
C A B
(4-2)
C A
B


A' C
B'
D

(4-3)
学生:周梦熊 导师:孙名松 教授
目录
课题背景 遗传神经网络 分类检测器同步检测模型 数据预处理 仿真实验 结束语和展望 发表论文
课题背景
选题来源
本论文的项目背景是黑龙江省自然科 学基金项目《基于多层前向神经网络的分 布式入侵检测模型》,本文作为该项目的 一个组成部分,将实数编码遗传算法与神 经网络结合作为其中一个分布式Agent的检 测算法。
交叉 变异
(1.4, -1.3, 3.6, 1.7, 0.9, -0.2, 4.5, 0.1, 1.3) (1.3, -1.3, 2.7, 1.9, 1.4, -0.2, -1.1, 0.1, -1.1)
... ... (1.4, -1.8, 3.6, 1.7, 0.9, -0.7, 4.5, -0.3, 1.3) (1.4, -1.8, 2.6, 1.7, 0.9, -0.7, 3.5, -0.3, 1.3)
攻击的检测器A首先获得该“锁”并对该输入向量进行检 测; 3. 如果是DOS攻击,则通知“状态监视”模块并设置为 True,“状态监视”一旦为True则马上通知其它检测器 线程不用等待该锁而直接做好获取下一把“锁” (也就是 下一个输入向量)的准备,直接输出结果后转步骤2;如果 不是DOS攻击,则释放该“锁”,让代表检测PROBE类 型攻击的检测器D获得该“锁”进行检测,如果检测出攻 击则输出结果同样转步骤2,否则,依此类推继续检测; 4. 当最后一个检测器对输入向量检测也正常时,则输出结 果转步骤2
50000 0
normal
数据压缩情况
DOS PROBE
R2L
U2R
压缩前 小数点1位 小数点4位
图4-1 样本数据压缩情况
目录
课题背景 遗传神经网络 分类检测器同步检测模型 数据预处理 仿真实验 结束语和展望 发表论文
仿真实验
学习样本和测试样本
表5-1 样本数据
instants
遗传神经网络
实数编码遗传算法
而基于实数编码的遗传算法不存在编码和 解码过程,能够大大提高解的精度和运算 速度,因此,基于实数编码的遗传算法得 到了越来越多的重视。
遗传神经网络
编码方式
由于实数编码的遗传算法不存在编码 和解码过程,能够大大提高解的精度和运 算速度,因此,本文采用实数编码。
wenku.baidu.com
遗传神经网络
5. 仿真实验,得出结论。
目录
课题背景 遗传神经网络 分类检测器同步检测模型 数据预处理 仿真实验 结束语和展望 发表论文
遗传神经网络
实数编码遗传算法
遗传算法的主要特点是群体搜索策略 和群体中个体之间的信息交换,搜索不依 赖梯度信息,也不需要求解函数可微,只 需要该函数在约束条件下可解,因此该方 法适用于处理传统方法难以解决的复杂和 非线性问题。
图 2-1 交叉和变异算子的运算
遗传神经网络
面向神经网络权重学习
神经网络的权值按一定的顺序级联 为一个长串,串上的每一个位置对应着 网络的一个权值。
-1.8
3.6
1.4
4.5 0.9 1.7
-0.3 -0.7
1.3
图 2-2 神经网络权值编码
遗传神经网络
面向神经网络权重学习
如图2-2所示,神经网络编码为: (1.4, -1.8, 3.6, 1.7, 0.9, -0.7, 4.5, -0.3, 1.3)
本文BP神经网络的输入节点数为34个,隐 含层节点数为15个,输出层节点数为4个。
数据预处理
样本精简
虽然神经网络的连接权重可以用一个实数 串进行表示,但在进行网络的训练时,还需要 将实数串分为两部分,设输入层到隐含层的连 接权重矩阵为W1,则W1为34行15列矩阵;同理, 隐含层到输出层的连接权重矩阵W2为15行4列矩 阵。
为了降低可疑攻击数,即四大攻击类型 数据集之间的重叠记录数要少。精度过大 会增加计算量,从而会降低学习速度;精 度过小,会使记录重叠数增加,从而造成 可疑攻击数增加,影响训练结果。
数据预处理
归一化精度对样本影响
表4-1 小数点保留1位时记录重复情况
DOS
44
0
37
4
PROBE
49
37
0
5
R2L
33
数据预处理
样本精简
式(4-3)中,C、D为零矩阵,经 过处理以后,由原先的A对应输出B 变成了现在的A′对应输出B′,通过这 样的处理,我们就可以将大样本变为
小样本,从而使计算更加快速,样本 数据更加精简。
数据预处理
归一化精度对样本影响
为了能使样本应用于本文提出的分类 检测器同步检测模型,我们将样本数据先 进行归类合并,分别构造出DOS、 PROBE、U2R、R2L四大类攻击样本数据 集,这样四个检测器分别检测四大类攻击。
性组合。如有两个个体Sa与Sb交叉,则 产生的子代个体如式(2-3)、(2-4)所示。
其中,λ的取值在(0,1)。
Sa' Sa (1 )Sb
(2-3)
Sb' Sb (1 )Sa
(2-4)
遗传神经网络
遗传算子设计
3. 变异算子
对于子代染色体中的每个权值输入 位置,变异算子以概率Pm在初始概率分 布中随机选择一个值,然后与该输入位 置上的权值相加。
应度值并将其排序,每个个体的选择概率和其适 应度值成正比例。即适应度值越大,它被选择到 的机会也就越大,从而被遗传到下一代的可能性 也越大。
设群体大小为n,个体i的适应度值为fi,则被
选择的概率为Psi,如式(2-2)所示
Psi
fi
n
fj
(2-2)
j 1
遗传神经网络
遗传算子设计
2. 交叉算子 这里设计为具有数值特点的向量线
我们采用数据集上的一个子集10percent作 为实验数据源,它一共包含有494021条网络连 接,其中正常连接97277 条,异常连接396744 条。
数据预处理
数据归一化
一般归一化公式:
xi x1 x2 x1 xi min max min
归一化到0、1之间:
相关文档
最新文档