[发明专利]一种基于CFS_KL的贝叶斯加权方法有效
申请号: | 202010003109.6 | 申请日: | 2020-01-02 |
公开(公告)号: | CN111242179B | 公开(公告)日: | 2022-02-18 |
发明(设计)人: | 桂小林;安迪 | 申请(专利权)人: | 西安交通大学 |
主分类号: | G06K9/62 | 分类号: | G06K9/62 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 高博 |
地址: | 710049 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 cfs_kl 贝叶斯 加权 方法 | ||
本发明公开了一种基于CFS_KL的新型贝叶斯加权方法,使用指纹库中的指纹名称作为模型的标记数据,指纹名称下的响应序列标志位构成训练数据;对训练数据进行封箱预处理操作;使用KL散度计算属性与类之间的关联度作为每个属性的权值;使用特征选择方法选出42个维度;使用CFS选出的维度修正KL散度计算出的权重;使用加权贝叶斯算法进行训练;通过封箱操作将向量输入训练好的指纹模型,基于CFS_KL的加权贝叶斯算法计算每条流量的最大后验概率,完成模拟数据测试;通过向目标网段发包的方式,采集真实流量,将真实流量输入指纹模型,预测结果;计算真实流量的测试精度。本发明缓解了贝叶斯算法对于特征独立的要求,提高了贝叶斯算法的识别精度。
技术领域
本发明属于机器学习技术领域,具体涉及一种基于CFS_KL(correlation-basedfeature selection_Kullback-Leibler)的贝叶斯加权方法。
背景技术
贝叶斯算法作为机器学习的十大经典算法之一,在众多领域都有很多应用,且都表现出非常不错的效果,例如,根据电子邮件的标题和内容判断其是否为垃圾邮件。但由于学习最优的贝叶斯分类器就如同学习贝叶斯网络一样,是个NP难问题,所以学习朴素贝叶斯分类器就得到了众多学者的青睐,而朴素贝叶斯往往基于一个简单但却不现实的假设:训练数据的特征之间相互独立,这个强条件在现实生活中是很难达到的,甚至在现实中逻辑上已经表明特征之间相互独立的数据集,实际的数据中并没有那么强的独立性,这就极大的限制了朴素贝叶斯的分类效果。于是,许多学者开始尝试缓解朴素贝叶斯要求特征之间相互独立的条件。
发明内容
本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种基于CFS_KL的贝叶斯加权方法,缓解朴素贝叶斯特征之间相互独立的条件,进而提高了朴素贝叶斯的分类精度。
本发明采用以下技术方案:
一种基于CFS_KL的贝叶斯加权方法,包括以下步骤:
S1、分析nmap指纹库中的操作系统识别规则,拆解nmap指纹库,使用指纹库中的指纹名称作为模型的标记数据,指纹名称下的响应序列标志位构成训练数据;
S2、对训练数据进行封箱预处理操作;
S3、使用KL散度计算属性与类之间的关联度作为每个属性的权值;
S4、使用特征选择方法选出42个维度;
S5、使用CFS选出的维度修正KL散度计算出的权重;
S6、使用加权贝叶斯算法进行训练;
S7、取步骤S1的训练数据,通过封箱操作将向量输入训练好的指纹模型,通过基于CFS_KL的加权贝叶斯算法,计算出每条流量的最大后验概率,完成模拟数据测试;
S8、通过向目标网段发包的方式,采集真实流量,将真实流量输入指纹模型,预测结果;计算真实流量的测试精度。
具体的,步骤S1中,以Fingerprint行代表的是该指纹所属的操作系统,以此作为分类的类标记,将每个响应序列加上标志位作为特征进行拆分,在选择维度时删除SEQ.SP特征,得到118个特征;按照规则集拆分指纹库,对于标志位取值SP=0-5拆解成SP=0,SP=1到SP=5;对于标志位取值GCD=B8|114|170|1CC拆解成GCD=B8,GCD=114,并映射成118列的数字向量;按照蒙特卡洛方法,从拆分出的数据集中抽出90万数据作为训练数据。
进一步的,蒙特卡洛方法具体为:
分别获取响应序列的全集,当全集数量大于500时,从全集随机挑选4个样本;当全集数量大于10小于等于500时,从全集随机挑选2个样本;当全集数量小于10时,随机挑选1个样本,获得90万数据作为模拟测试集。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010003109.6/2.html,转载请声明来源钻瓜专利网。