论文部分内容阅读
数据挖掘的大多数算法主要研究问题是发现“大模式”,孤立点发现算法是用来发现数据集中“小的模式”,孤立点是指数据集中那些偏离其他的观测值以至于被怀疑为从不同的机制产生的观测值。孤立点发现的任务可以描述如下:给定一个由N个数据点或对象构成的集合,及预期的孤立点数量n,发现与剩余的数据相比是最不一致的、异常的或显著相异的前n个对象。孤立点发现是数据挖掘中的一个重要研究方向,已经应用于许多领域,尤其在网络入侵检测中,入侵用户的行为明显异于一般的网络用户,基于此,本文研究了孤立点发现算法,并将孤立点分析算法应用于网络入侵检测中。局部异常孤立点LOF算法可以发现基于不同密度的孤立点,给每个对象赋予一个局部异常因子来表示其异常程度,更贴近孤立点的本质定义。近年来,一种新的数据应用正受到广泛关注,在这些应用中数据不再保存持久不变的关系,而是规模宏大,连续,快速,随时间变化的数据流。由于现实中不断到达的网络连接记录属于流数据,而原静态LOF算法由于时间复杂度高且无法适应数据流的变化等原因不适合实时的数据流挖掘,本文着重研究了在数据流环境下准确识别和发现孤立点问题,提出了一种孤立点数目n阈值自动调整的局部异常孤立点动态挖掘算法:n-IncLOF算法。该算法既保留了原静态LOF算法的优点又能满足对快速到达且不断变化的数据流的实时连续查询的要求。n-IncLOF基于局部异常LOF孤立点发现算法,考虑到孤立点在流数据发生时的不均匀性,给出了孤立点数目阈值n调整函数,分析了算法过程中数据点的插入、删除和修改等过程,给出了n-IncLOF算法描述,并分析了算法的复杂度。基于n-IncLOF算法研制了网络入侵异常检测系统。设计并实现了采用n-IncLOF算法做检测引擎基于主机和网络混合特征属性的实时网络入侵异常检测系统OutlierDIDS,并通过该系统对KDD CUP99数据流的异常检测实验证明了n-IncLOF算法对孤立点数目的变化具有很强的自适应能力,相比原算法不仅大幅提高了检测率还降低了误报率,同时也证明了OutlierDIDS系统满足了网络入侵检系统对有效性、自适应性和实时性的要求。