基于观察学习的入侵检测方法转让专利

申请号 : CN201210164242.5

文献号 : CN102722719B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨利英仲珊丽李菲

申请人 : 西安电子科技大学

摘要 :

本发明公开了一种基于观察学习的入侵检测方法,采用观察学习与半监督集成学习相结合,网络数据检测中,个体分类器通过观察其它分类器对未标记数据集输出结果,用其集成结果对未标记数据标记形成新的有标记数据集,加入原有标记数据集重新对该分类器训练。本发明充分利用未标记数据,将其转化为有标记数据进一步提高分类器性能,在仅有少量有标记数据时本发明也有好的检测效果。本发明在没有任何外力帮助下在学习过程中让每个分类器生成自己的虚拟数据,虚拟数据和原始数据集一起训练,重复观察和训练,有效提高检测系统的识别性能。本发明可扩展用于拥有大量未标记训练数据的处理,诸如医学图像、网页分类、遥感图象处理、人脸识别等应用领域。

权利要求 :

1.一种基于观察学习的入侵检测方法,其特征在于:采用观察学习算法并结合半监督集成学习方法提高网络入侵检测性能,操作步骤包括:(1)给定K个学习算法的集合{L1,...,LK},训练集定义为X=Xl+Xu,其中Xl=(x1,x2,...,xl)是有标记数据集,对应的标记向量为Yl=(y1,y2,...,yl),而Xu=(xl+1,xl+2,...,xl+u)则是未标记数据集;

(2)自学习:根据有标记数据集,用K个学习算法训练产生K个分类器{R1,...,RK},Ri(i=1,...,K)指在训练集Xl上由学习算法Li生成的分类器;

(3)初始化:对每个分类器的有标记数据集和未标记数据集进行初始化,i=1,...,K;

(4)观察学习:对每一分类器Ri(i=1,...,K),首先在它自己的未标记样本集 中任意选取n个未标记样本组合成一个未标记样本集,然后该分类器观察其它K-1个分类器在所选取的未标记样本集上的输出结果,对观察到的输出结果进行集成处理,得到所选取的未标记样本集的标记信息,并通过一个新增的有标记样本集 表示出来,其中i=1,...,K;

(5)数据更新:对每个分类器用新增的有标记样本集进行数据更新,得到新的有标记和未标记的数据集,分别为 i=1,...,K;

(6)再训练:重新在新得到的有标记数据集 上训练分类器Ri(i=1,...,K);

(7)判断每个分类器Ri的未标记数据集是否为空,若为空则转步骤(8),不为空则转步骤(4);

(8)最终对K个分类器的判决结果进行组合,得到最终的入侵检测结果。

2.根据权利要求1所述的基于观察学习的入侵检测方法,其特征在于,步骤(4)所述的集成处理是指,选取未标记样本集的分类器,在观察学习过程中,查看其他分类器对所选未标记样本集的输出类别,并对这些输出类别进行多数投票,投票结果就是所要求的这个未标记样本集的标记信息。

3.根据权利要求2所述的基于观察学习的入侵检测方法,其特征在于,步骤(4)所述选取n个未标记样本进行观察学习,其中,5≤n≤10。

4.根据权利要求3所述的基于观察学习的入侵检测方法,其特征在于,步骤(8)所述的K个分类器的判决结果是通过多数投票规则组合得出的。

说明书 :

基于观察学习的入侵检测方法

技术领域

[0001] 本发明属于模式识别和机器学习技术领域,涉及基于观察学习的入侵检测方法,具体是一种基于观察学习的入侵检测方法,可用于在只有少量有标记数据的情况下进一步提高检测系统的识别率。所提出的入侵检测方法可扩展用于标记数据较少而未标记数据较多的应用领域,诸如医学图像处理、网页分类、遥感图象处理、人脸识别等。

背景技术

[0002] 在现实世界中,有很多问题都需要获取大量的有标记数据去训练高精度的分类器,但有标记数据的获取却是非常困难的,甚至要消耗大量的人力物力。然而随着数据收集和存储技术的飞速发展,未标记数据的获取变得相当容易。这种情况在入侵监测、医学图像处理、网页分类、遥感图象处理、人脸识别等领域都有体现。因此,在有标记数据较少时,如何利用大量的未标记数据来改善学习性能已成为当前机器学习和模式识别领域最受关注的问题之一。半监督学习就是针对拥有少量标记数据和大量未标记数据情形的一种学习策略。
[0003] 当前,针对半监督学习问题,已经提出了许多方法。但是,正像一般机器学习问题一样,半监督学习也存在“选择优越性”问题,即每一种方法在某些领域中表现出较好的性能,但不会在所有领域都好。由此,产生了一个两难问题:对于某一应用任务,究竟应该采用哪种方法?若要选取性能最好的算法,过程冗长烦闷;若想要选取过程简单,选出的算法性能又不一定最好。
[0004] 社会学习理论是二十世纪六十年代兴起的一种理论,其创始人是美国新行为主义心理学家阿伯特·班杜拉(Albert.Bandura)。社会学习理论是阐明人怎样在社会环境中学习,从而形成和发展其个性的理论。班杜拉将社会学习分为直接学习和观察学习两种形式。仅通过直接学习进行的学习是非常缓慢而费力的,有时还要付出很大代价,实际上人类大部分行为是通过观察学习获得的。
[0005] 观察学习是指人们通过观察别人(榜样)的行为从而学会某种行为,又称替代学习、模仿学习。班杜拉认为,人的一切社会学行为都是在社会环境的影响下,通过对他人示范行为及其结果的观察学习而形成的,此过程不必直接做出行为,也不需亲身体验强化,可提高学习效率。观察学习通过对他人的行为及其强化性结果的观察,个体获得某些新的反应,或已有的行为反应特点得到修正。
[0006] 观察学习算法OLA(Observational Learning Algorithm)是训练步骤(T-step)和观察步骤(O-step)交替进行的学习算法。在T-step时,用数据集训练拥有一组学习器的集成系统。在O-step时,生成“虚拟”数据,其中每个未标记目标数据的标记信息通过观察其他成员的输出来确定。随后将这些虚拟数据加入训练数据集重新进行自训练,训练和观察这两个步骤如此循环下去,直至满足终止条件。虚拟数据担任调整员的角色并拥有附属信息,该附属信息可看成是从集成系统中提取的目标函数。
[0007] 在OLA算法中,有以下两个特点:
[0008] 1)在没有任何外力帮助下,OLA算法在学习过程中让每个网络生成自己的虚拟数据,并且使用虚拟数据和原始的数据集一起训练网络。通过重复运行观察和训练步骤,可以改善集成系统的预测表现。受社会学习理论的激发,OLA让成员网络通过虚拟数据来进行信息交换。
[0009] 2)OLA对于噪声不敏感,且平衡了平均多样性和个体网络的平均误差。通过采取放回抽样技术来改变训练数据,得到集成的高多样性。同时,因为个体网络使用了虚拟数据,从而拥有较低的性能误差。
[0010] 虽然OLA算法有以上所提到的优点,但至今没人将其应用于入侵检测系统中。
[0011] 入侵检测从本质上属于分类问题。基于这种思想,人们提出了许多入侵检测方法,但是,已有方法大都存在不同程度的缺陷,如误报率高、漏报率高等,且大多并未有效利用大量存在的未标记数据数据,而单纯的观察学习也同样存在这样的问题。

发明内容

[0012] 本发明的目的在于克服现有入侵检测技术中的不足,提出一种基于观察学习的入侵检测方法,采用了观察学习与半监督集成学习相结合,提高了对标记信息的利用率,在少量标记数据的约束下也能够得到高的识别率。
[0013] 本发明是一种基于观察学习的入侵检测方法,即基于SSELOLA(Semi-Supervised Ensemble Learning Based Observational Learning Algorithm)的入侵检测方法。
[0014] 为了实现发明目的,本发明的技术方案是:采用观察学习算法并结合半监督集成学习方法提高入侵检测性能,操作步骤包括:
[0015] (1)给定K个学习算法的集合{L1,...,LK},其中L1为第一个学习算法,LK为第K个学习算法,训练集定义为X=Xl+Xu,其中Xl=(x1,x2,...,xl)是有标记数据集,对应的标记向量为Yl=(y1,y2,...,yl),而Xu=(xl+1,xl+2,...,xl+u)则是未标记数据集。
[0016] (2)自学习:根据有标记数据集,用K个学习算法训练产生K个分类器{R1,...,RK},Ri(i=1,...,K)指在训练集Xl上由学习算法Li生成的分类器。此时,未使用未标记数据集,留待之后的过程中使用。训练产生的K个分类器自己管理有一个有标记数据集和一个未标记数据集。
[0017] (3)初始化:对每个分类器自己管理的有标记数据集和未标记数据集进行初始化, i=1,...,K,即每个分类器初始的有标记数据集和未标记数据集都赋值为原始数据集。
[0018] (4)观察学习:对每一分类器Ri(i=1,...,K),首先在它自己的未标记数据集中任意选取n个未标记数据组合成一个未标记数据集,然后该分类器观察其它K-1个分类器在所选取的未标记数据集上的输出结果,对观察到的输出结果进行合适的集成处理,得到所选取的未标记数据集的标记信息,并通过一个新增的有标记数据集 表示出来,其中i=1,...,K。该新增的有标记数据集并非原分类器管理的有标记数据集和未标记数据集。
[0019] (5)数据更新:对每个分类器用新增的有标记数据集对自己管理的有标记和未标记数据集进行数据更新,得到新的有标记数据集 和未标记数据集 分别为i=1,...,K。
[0020] (6)再训练:重新在新得到的有标记数据集 上训练分类器Ri(i=1,...,K)。
[0021] (7)判断每个分类器Ri的未标记数据集是否为空,若为空则转步骤(8),不为空则转步骤(4)。即对再训练后的每个分类器判断是否达到终止条件,也就是判断分类器自己管理的未标记数据集是否为空决定下一步的转向。
[0022] (8)最终对K个分类器的判决结果进行组合,得到最终的入侵检测结果。或者说K个分类器的判决结果是通过多数投票规则组合得出的。
[0023] 入侵检测(Intrusion Detection)是对入侵行为的检测。它通过收集和分析网络行为、安全日志、审计数据、其它网络上可以获得的信息以及计算机系统中若干关键点的信息,检查网络或系统中是否存在违反安全策略的行为和被攻击的迹象。入侵检测作为一种积极主动地安全防护技术,提供了对内部攻击、外部攻击和误操作的实时保护,在网络系统受到危害之前拦截和响应入侵。
[0024] 入侵检测是防火墙的合理补充,帮助系统对付网络攻击,扩展了系统管理员的安全管理能力(包括安全审计、监视、进攻识别和响应),提高了信息安全基础结构的完整性。它从计算机网络系统中的若干关键点收集信息,并分析这些信息,看看网络中是否有违反安全策略的行为和遭到袭击的迹象。入侵检测被认为是防火墙之后的第二道安全闸门,在不影响网络性能的情况下能对网络进行监测,从而提供对内部攻击、外部攻击和误操作的实时保护。
[0025] 半监督学习存在“选择优越性”问题,为解决该问题,现有技术中通过交叉验证选取当前性能最好的算法,但该方案是一个冗长烦闷的过程,因为每种算法都有许多参数需要调节,以便达到其最优效果。本发明提出,从集成学习角度出发解决此问题。集成学习是针对同一问题的多个数据驱动模型集成的一个特例,其目的是在多个模型的基础上,获得一个更好的组合模型。集成学习通过组合多个学习算法,可以减少或消除单个学习算法固有的不足,避免了为提高性能而对算法设计提出的苛刻要求。
[0026] 本发明根据入侵检测的安全性需要,采用观察学习结合半监督集成学习算法实现对网络信息的入侵检测,本发明中个体分类器通过观察其它分类器对它所管理的未标记数据集的输出结果,用这些输出结果的集成结果对这些未标记数据进行标记,使其成为新的有标记数据集,进而能够将其加入有标记数据集重新对该分类器进行训练。因此本发明能充分利用未标记数据,将其转化为有标记数据进一步提高分类器性能,在仅有少量有标记数据时本发明也能保持好的检测效果,同时运用了集成学习来提高系统的总体性能。
[0027] 现有的入侵检测方法存在不同程度的缺陷,例如误报率高、漏报率高等,本发明为了解决这个问题,利用集成技术提高入侵检测的性能,即通过对多个分类器分类的结果进行多数投票,得到综合的检测结果,这样即使有个别分类器的效果不佳,但通过多个分类器集成的总系统也能拥有良好的性能。
[0028] 网络数据的特点是拥有大量未标记数据,而现有入侵检测方法中,有些直接舍弃这部分未标记数据,在一定程度上是对资源的极大浪费;本发明提出的入侵检测方法通过在有标记数据中扩充未标记数据来增加间接经验,未标记数据的标记信息由其它个体学习器提供。表征间接经验的新增标记数据和初始有标记数据组成新的训练集,重新训练所有的学习算法,这一“观察-再训练”过程重复多次,这样能充分利用未标记数据来提高检测系统的泛化能力。在上述学习过程中,包含间接经验的新增标记数据集Di的选取很关键,直接反映了在把新标记的数据加入学习过程之前质量控制问题解决的效果。
[0029] 本发明的实现还在于:步骤(4)所述的合适的集成处理是指,选取未标记数据的分类器,在观察学习过程中,查看其他分类器对所选未标记数据集的输出类别,并对这些输出类别进行多数投票,投票结果就是所要求的这个未标记数据集的标记信息;未标记数据通过集成增加到了有标记的集合中,这样就增加了有标记的数据从而可以运用更多的数据来改善系统。
[0030] 本发明的实现还在于:步骤(4)所述的步骤中选取n个未标记数据进行观察学习,选取的未标记数据数量不同会对最后的检测效果产生不同影响,每次选取的n越大,学习效果越差,但学习成本越少;反之,选取的n越小,学习效果越好,但学习成本越大,根据实际情况选择较合适的未标记数据的数目n,优选5~10个。
[0031] 本发明的实现还在于:步骤(8)中的K个分类器的判决结果组合,采用多数投票规则,这样尽管有时单个学习器使用未标记数据没能改善学习性能,但集成系统的最终学习性能可以得到改善,尽量提高了检测的正确率。
[0032] 本发明使用了多个分类器,在对每一个分类器的训练集更新的过程中,使用了观察学习,有效利用了未标记数据,提高了分类的正确率。与现有技术相比,本发明的有益效果有:
[0033] 一、本发明由于采用观察学习机制,每个分类器将观察到的其他分类器判决结果进行投票,最后选取投票结果添加到训练集中,可以保证在提高未标记数据置信度的同时,避免引入过多噪声,因此保障了分类器的识别准确度;
[0034] 二、本发明由于对未标记数据进行观察学习,在有标记数据太少不足以学习到一个好的任务模型时,具有重要的现实意义,也就是说在这种情况下也能得到好的检测效果;同时对未标记数据的妥善处理,即通过观察学习将未标记数据转化为有标记数据,同时对分类器进行训练,有助于修正各分类器的识别函数,因此提高了分类器的识别率。
[0035] 三、本发明由于采用观察学习机制,能够在没有任何外力帮助下在学习过程中让每个分类器生成自己的虚拟数据,并且使用虚拟数据和原始的数据集一起训练网络,通过重复的观察和训练过程,能够有效提高检测系统的性能;

附图说明

[0036] 图1是本发明的流程框图;
[0037] 图2是实施例2-实施例5对应的流程框图;
[0038] 图3是已标记数据所占不同比例时本发明的识别率的对比;
[0039] 图4是本发明的结构框图示意图。

具体实施方式

[0040] 实施例1:
[0041] 本发明是一种基于观察学习的入侵检测方法,即基于SSELOLA(Semi-Supervised Ensemble Learning Based Observational Learning Algorithm)的入侵检测方法。
[0042] 本发明采用的数据取自1999年DARPA为KDD(知识发现与数据挖掘)竞赛提供的一个异常检测的标记数据集简称KDDCUP99。数据集包括500万条训练集合300万条测试集,数据包括四种类型的攻击:Dos(拒绝服务攻击)、R2L(未经授权的远程访问)、U2R(对本地超级用户的非法访问)和Probe(扫描与探测),其他为正常数据Normal。本发明用了41个属性中的13个,由于这些用户行为的特征中很多属于冗余特征,因此只选择其中13个能够体现用户行为的部分特征以简化问题。
[0043] 本发明选取了U2L集中全部的52条数据并标记为第5类,从R2L数据集、Probe数据集、Normal数据集和Dos数据集中分别任意无放回的抽取800条数据并分别标记为第3类、第1类、第2类和第4类。把以上5类数据合并到一起构成了样本数为3252个的数据集。
[0044] 为了能够直观的看到本发明的检测效果,采用上述KDDCUP99数据集为例,将其3252个数据样本分为两部分训练集和测试集。通过训练集来进行检测系统的构建,最后由测试集来检测系统的识别率。其中训练集又分为有标记数据集和未标记数据集两部分,不同实施例中它们所占比例不同。
[0045] 本发明采用观察学习算法并结合半监督集成学习方法提高入侵检测性能,参见图1,操作步骤包括:
[0046] 开始检测:
[0047] (1)给定K个学习算法,用集合{L1,...,LK}来表示,其中L1为第一个学习算法,LK为第K个学习算法,这K个学习算法可以在matlab的protools工具箱中任意选取,例如决策树算法、神经网络算法、K邻近算法等,也可以使用不同参数的同一种算法。训练集定义为X=Xl+Xu,其中Xl=(x1,x2,...,xl)是有标记数据集,对应的标记向量为Yl=(y1,y2,...,yl),而Xu=(xl+1,xl+2,...,xl+u)则是未标记数据集,这里可以将KDDCUP99的数据集分为两部分,将其中一部分的标记向量去除来作为未标记数据集。参见图4,给出了4个学习算法的情形,可以根据具体需要,增减学习算法的个数。
[0048] (2)自学习:根据有标记数据集,用K个学习算法训练产生K个分类器,用集合{R1,...,RK}表示,Ri(i=1,...,K)指在训练集Xl上由学习算法Li生成的分类器。此时,未使用未标记数据集,留待之后的过程中使用。训练产生的K个分类器自己管理有一个有标记数据集和一个未标记数据集。
[0049] (3)初始化:对每个分类器自己管理的有标记数据集和未标记数据集进行初始化, i=1,...,K,即每个分类器初始的有标记数据集和未标记数据集都赋值为原始数据集。
[0050] (4)观察学习:对每一分类器(i=1,...,K),首先在它自己的未标记数据集中任意选取n个未标记数据,组合成一个未标记数据集,然后该分类器,即选取了未标记数据集的分类器,去观察其它K-1个分类器在所选取的未标记数据集上的输出结果,对观察到的输出结果进行合适的集成处理,得到所选取的未标记数据集的标记信息,并通过一个新增的有标记数据集 表示出来,其中i=1,...,K。该新增的有标记数据集就是一个虚拟数据,它并非原分类器管理的有标记数据集和未标记数据集。
[0051] 其中,合适的集成处理是指,选取未标记样本集的分类器,在观察学习过程中,查看其他分类器对所选未标记样本集的输出类别,并对这些输出类别进行多数投票,投票结果就是所要求的这个未标记样本集的标记信息。
[0052] 选取n个未标记样本进行观察学习,未标记样本的数目n,优选5~10个。本例中数目n可以选取1,5,10,20,50,分别进行测试,观察最后检测效果。
[0053] 本发明由于采用观察学习结合半监督集成学习机制,每个分类器对观察到的其他分类器的判决结果进行投票,最后将投票结果添加到训练集中,通过集成学习将多个学习算法组合起来,不仅简化了交叉验证中的冗长过程,而且能够得到好的识别性能。可以保证在提高未标记数据置信度的同时,避免引入过多噪声,因此保障了分类器的识别准确度。
[0054] (5)数据更新:对每个分类器用新增的有标记数据集对自己管理的有标记和未标记数据集进行数据更新,得到新的有标记数据集 和未标记数据集 分别为i=1,...,K。
[0055] (6)再训练:重新在新得到的有标记数据集 上训练分类器Ri(i=1,...,K)。
[0056] (7)判断每个分类器Ri的未标记数据集是否为空,若为空则转步骤(8),不为空则转步骤(4)。即对再训练后的每个分类器判断是否达到终止条件,也就是判断分类器自己管理的未标记数据集是否为空决定下一步的转向。
[0057] (8)最终对K个分类器的判决结果进行组合,得到最终的入侵检测结果。或者说K个分类器的判决结果是通过多数投票规则组合得出的。K个分类器的判决结果是通过多数投票规则组合得出的。
[0058] 检测结束。
[0059] 本发明由于对未标记样本进行观察学习,在有标记数据太少不足以学习到一个好的任务模型时,具有重要的现实意义,同时对未标记样本的妥善处理,即将未标记数据进行有标记数据的转化有助于修正各分类器的识别性能。本发明由于采用观察学习机制,能够在没有任何外力帮助下在学习过程中让每个网络生成自己的虚拟数据,并且使用虚拟数据和原始数据集一起训练网络,通过重复的观察和训练过程,能够有效提高检测系统的识别性能。
[0060] 下面结合有标记数据所占的不同比例情况对本发明进行详细说明。
[0061] 实施例2:
[0062] 基于观察学习的入侵检测方法同实施例1,以KDDCUP99的训练集中已标记数据占50%为例,参见图2,基于SSELOLA的入侵检测方法的实施过程如下:
[0063] 输入:包含147个数据的未标记数据集xu,包含146个数据的已标记数据集Xl,包含2959个数据的测试集T。
[0064] 输出:测试集T上的分类错误率。
[0065] (1)选取隐藏单元分别为10,20,30,40和50的反向传播神经网络算法,共五个算法记为L1,L2,L3,L4,L5。
[0066] (2)针对取出的包含147个数据的未标记数据集Xu、包含146个数据的已标记数据集(初始训练集)Xl、包含2959个数据的测试集T及五种学习算法L1,L2,L3,L4,L5,结合图2对Xl分别用算法L1~L5进行训练,得到五个基分类器R1,R2,R3,R4,R5;
[0067] 由于选取了五种不同的学习算法,这五个分类器的差异性足够大,提高了分类的效果。
[0068] (3)参见图2,对于任一分类器Ri(i=1,2,3,4,5),观察其他四个分类器对所添加未标记数据的输出结果,并对它们的结果进行多数投票,得到一个新的有标记数据集Di;
[0069] 本发明由于采用观察学习机制,能够在没有任何外力帮助下在学习过程中让每个分类器生成自己的虚拟数据,并且使用虚拟数据和原始的数据集一起训练网络,通过重复的观察和训练过程,能够有效提高检测系统的性能。
[0070] (4)对于每个Ri维护其自己的有标记数据集 根据上一步得到的结果进行数据更新 i=1,...,K;接着,每个Ri在各自的 上进行再训练。
[0071] (5)未标记数据集不为空则转(3),直到所有未标记数据都使用后终止。
[0072] (6)最终的判决结果由四个分类器的判决结果组合而成,输出分类的错误率。
[0073] 通过改变未标记样本的个数n,选择n为1,5,20,30和所有的未标记数据时,训练出的集成分类器识别率的对比,如图3所示,尽管每次添加相对原有数据较大数量的未标记数据时效果不佳,但每次添加少量未标记数据的方法效果较好;而且当仅有少量有标记数据时,本发明仍然适用,因此,本方法是一种强健有效的学习方法。
[0074] 实施例3:
[0075] 基于观察学习的入侵检测方法同实施例1-2,以KDDCUP99的训练集中已标记数据占20%为例,参见图3,具体流程如下:
[0076] 取出59个数据放入已标记数据集,取出234个数据放入未标记数据集,剩下的数据放放入测试集。用在已标记数据集上用5种反向传播神经网络学习算法分别进行训练,得出五个分类器。对于这五个分类器中的一个分类器L,去观察学习其他四个分类器在每次添加的未标记数据集中上的输出,根据这些输出进行多数投票,得到一个新的有标记数据集,然后加入到该分类器相对应的训练数据集里,并在相应的未标记数据集中去除该组数据。接着用新的训练数据集去重新训练相对应的分类器,然后继续进行观察学习,直到未标记数据集为空。用训练好的五个分类器对测试集的数据进行分类,最后的判决结果以五个分类器的判决结果组合而成。
[0077] 具体实施方式如例1,通过实验验证,如图3所示,每次添加少量未标记数据时,基于SSELOLA的入侵检测方法的学习效果很好;在添加的未标记数据数量为1和5时,学习效果甚至比未使用未标记数据时有所改善,表明本发明是一种效果良好的半监督学习方法。
[0078] 实施例4:
[0079] 基于观察学习的入侵检测方法同实施例1-3,以KDDCUP99的训练集中已标记数据占10%为例,具体实施方式如例1,通过实验验证,如图2所示的已标记数据占10%的数据集的结果,基于SSELOLA的入侵检测方法每次添加少量未标记数据的学习效果优于每次添加较多未标记数据的方法;在实验中,未标记数据数为263,已标记数据数为30,表明本发明能充分使用少量未标记数据,是一种适合小数据,效果良好的半监督学习方法。
[0080] 实施例5:
[0081] 基于观察学习的入侵检测方法同实施例1-4以KDDCUP99的训练集中已标记数据占1%为例,具体实施方式如例1,通过实验验证,如图3所示的已标记数据占1%的数据集,基于SSELOLA的入侵检测方法每次添加少量未标记数据的学习效果优于每次添加较多未标记数据的方法;在实验中,有标记数据数占了1%,尽管有标记数据相对未标记数据少许多,但学习效果仍然没有下降,表明本发明是一种强泛化性,效果良好的半监督学习方法。
[0082] 由于本发明对未标记数据进行观察学习,在有标记数据太少不足以学习到一个好的任务模型时,具有重要的现实意义,也就是说在这种情况下也能得到好的检测效果;同时对未标记数据的妥善处理,即通过观察学习将未标记数据转化为有标记数据,同时对分类器进行训练,有助于修正各分类器的识别函数,因此提高了分类器的识别率。
[0083] 本发明公开了一种结合观察学习的半监督集成学习应用于入侵检测的方法,涉及基于观察学习的入侵检测,属于机器学习技术领域。本发明在实现过程中使用了五个分类器进行观察学习,提出了一种新的入侵检测方法。本发明由于采用观察学习机制,每个分类器将观察到的其他分类器判决结果进行投票,最后选取投票结果添加到训练集中,可以保证在提高未标记数据置信度的同时,避免引入过多噪声;本发明由于对未标记数据进行观察学习,在有标记数据太少不足以学习到一个好的任务模型时,具有重要的现实意义,同时对未标记数据的妥善处理有助于修正各分类器的识别函数;本发明由于采用观察学习机制,能够在没有任何外力帮助下在学习过程中让每个学习器生成自己的虚拟数据,并且使用虚拟数据和原始的数据集一起训练网络,通过重复的观察和训练过程,能够有效提高检测系统的性能。本发明可扩展用于拥有大量未标记训练数据的诸如医学图像处理、网页分类、遥感图象处理、人脸识别等应用领域。