[发明专利]采用改进型自组织特征神经网络聚类算法的入侵检测方法有效
申请号: | 201611028230.4 | 申请日: | 2016-11-18 |
公开(公告)号: | CN106789149B | 公开(公告)日: | 2020-08-14 |
发明(设计)人: | 王丹;魏卓君;赵文兵;付利华;杜晓林 | 申请(专利权)人: | 北京工业大学 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L29/06;G06K9/62;G06N3/02 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 张慧 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 采用 改进型 组织 特征 神经网络 算法 入侵 检测 方法 | ||
1.一种采用改进型自组织特征神经网络聚类算法的入侵检测方法,其特征在于,包括以下步骤:
步骤1、对云存储系统下的日志文件数据进行基于正则规则下的日志清洗工作得到样本训练集,应用算法1实现:
算法1.数据清洗算法描述
输入:云存储系统下的日志文件log_file.txt,提取特征属性的正则表达式reg
输出:结构化的训练数据dataSet
1.遍历log_file.txt文件中的每一行记录record,如果遍历到最后一行则执行步骤4;
2.如果record满足正则表达式reg,执行第3步,否则,执行第1步;
3.把满足条件的特征属性对应的值以列表的形式放到数组dataSet中,执行第1步;
4.返回dataSet,结束算法;
步骤2、基于双层聚类的自组织特征神经网络聚类算法对所述样本训练集进行数据分类,
所述步骤2中首先采用双层聚类中的Canopy算法基于无监督学习的方式预测产生初始阶段的神经元的个数以及对应的权向量,用这个值作为改进的SOFM算法的初始神经元输入值;应用算法2来实现,具体描述如下:
Canopy算法描述
输入:训练数据集dataSet,存放所有聚类中心的集合cano_center
输出:中心点的个数center_K以及对应的权向量center_W
1.dataSet集合为空;执行10否则,执行步骤2;
2.取dataSet[0]作为聚类中心center;
3.如果dataSet全部遍历结束;执行1否则,执行步骤4;
4.遍历dataSet[next]下一元素,当前设为x,计算distance(x,center);
5.如果元素x与聚类中心center之间的距离小于t1;执行步骤6;
6.把元素x插入属于单个中心点的数据集合center_arr中;
7.如果元素x与聚类中心center之间的距离小于t2;执行步骤8;
8.从训练数据集dataSet中删除元素x;
9.把属于单个中心点的数据集合center_arr中的元素加入到聚类中心的集合cano_center中;执行步骤3
10.计算聚类中心的集合cano_center的长度以得到聚类中心点的个数center_K
11.将聚类中心的集合cano_center中的各个元素的权重存入权重向量集合center_W中,然后采用改进的自组织特征映射神经网络聚类方法SOFM算法通过簇内数据细化分来动态添加神经元阶段、偏离神经元调节阶段、相似神经元合并阶段,完成对输入样本数据的分类;簇内数据细化分来动态添加神经元阶段、偏离神经元调节阶段、相似神经元合并阶段由算法3,4,5来实现,具体描述如下:
算法3.簇内数据“细”化分动态添加神经元算法描述
输入:簇内满足待细分的数据范围域值thres,
待细划分的数据量大于域值thres2,
属于不同神经元对于的簇数据集clus_data,
神经元的个数count、权向量w[]
输出:神经元数据
1.初始化从第1个神经元对应得簇进行细化分index=1
2.如果indexcount;结束,否则执行步骤3;
3.count_1=length(属于神经元index的训练样本clus_data)
4.初始化j=0
5.如果jcount_1;执行步骤11,否则执行步骤4;
6.如果标准差(clus_data[index][j],w[index])thres;执行步骤7,否则执行步骤8;
7.temp_data[]=clus_data[index][j]
8.如果(count(temp_data)thres2;执行步骤9否则执行步骤10;
9.运用Canopy距离算法确定当前Temp_data中的神经元个数,以及对应的权向量同时加入w中
10.j++;
11.index++;
算法4.偏离神经元动态调节算法描述
输入:第i个神经对应的权向量w[i],
神经元对应的簇数组clu_data[i][]
输出:w[i]
1.初始化j=0;
2.计算clus_data[i]的维度是count;
3.如果jcount;执行步骤3;否则,结束;
4.min,max=clus_data[i]中的数据在地j维度上的最大最小值对应的两个权向量
5.根据w[i]、min、max更新当前神经元w[i]=(w[i]+min+max)/3
6.j++;执行步骤3;
算法5.相似神经元的合并算法描述
输入:神经元对应的权向量w、规定临近神经元可以合并的域值thres
神经元对应的簇数组clu_data[i][]
输出:w
1.初始化域值thres、i=0;
2.计算神经元的个数count_1;
3.如果icount_1-1;执行步骤3,否则执行步骤;
4.j=i+1;
5.如果jcount_1;执行步骤6;否则,执行步骤9;
6.dist=第i,j个神经元之间的距离;
7.dev=thres*max(STD(clus_data[i],w[i]),STD(clus_data[j],w[j]));
8.选择dev-dist最大的时候对应的j;
9.合并i,j神经元,同时更新为新的权向量;
10.i++;
步骤3、对每个分类数据集采用主成分分析算法(PCA)进行异常检测分析,实现入侵检测的目的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611028230.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种自带电脑手写板的鼠标垫
- 下一篇:智能按摩鼠标垫