资源描述:
《一种改进的关联规则挖掘算法在入侵检测中的应用研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、一种改进的关联规则挖掘算法在入侵检测中的应用研究张应征成新红(湖南工程职业技术学院湖南长沙410114)摘要:为了解决网络入侵检测领域使用Apriori算法挖掘频繁模式效率不高、精度不够的问题,本文引入自适应步长跃进、动态修剪候选频繁项集的概念,提出一种新的改进关联规则挖掘算法,该算法较Apriori算法有比较明显的优势,可以广泛应用于大规模入侵检测数据库的关联规则挖掘中。关键词:关联规则;Apriori算法;入侵检测中图法分类号:TP391文献标识码:AAnImprovedAlgorithmforMiningAssociationRulesinTheApplicat
2、ionofIntrusionDetectionZHANGYing-zheng,CHENGXin-hong(HuNanEngineeringPolytechnicHuNanChangSha410114)Abstract:InordertosolvethenetworkintrusiondetectionfielduseApriorialgorithmfrequentitemsetsefficiencyisnothigh,precisioninsufficientproblems,thisarticleintroducesadaptivestepjump,dynamicc
3、lipcandidatefrequentitemsetsconcept,putforwardanewalgorithmforminingassociationrulesalgorithm,theproposedalgorithmisApriorihasobviousadvantages,andcanbewidelyusedinlargedatabaseofintrusiondetectionofassociationrulemining.Keywords:associationrules;Apriorialgorithm;Intrusiondetection1引言关联
4、规则挖掘是数据挖掘中一个重要的研究内容,可以从海量数据中发现正常和异常的行为模式,将其应用于入侵检测不仅可以有效地检测已知入侵,而且还具有检测未知攻击模式的能力,具有更高的准确性和适应性。因此研究关联规则的高效挖掘算法对于提高入侵检测的准确性和时效性具有非常重要的意义。本文在分析经典Apriori算法的基础上,针对其存在的问题提出一种自适应步长跃进的改进Apriori算法-I-Apriori算法。该算法引入自适应步长跃进、动态修剪候选频繁项集的算法优化技术,解决了Apriori算法数据库扫描次数过多、频繁项长度增加时运算时间显著增加,产生候选集数目过大等问题能显著提高
5、算法效率。其算法有较明显的优势,可以广泛应用于入侵检测数据库的关联规则挖掘中。2传统的关联规则挖掘算法定义1关联规则:令I={i1,i2…,im}为项的集合(itemset),简称项集,D为事务数据库,其中每个事务T是一个项目子集(TI),并具有一个惟一的标识符TID。关联规则是形如X=>Y的逻辑蕴含式,其中XT,YT,且X∩Y=。定义2频繁项集:包含k个项的项集称为k项集。规定一个最小支持度min_sup为支持度阈值,如果项集的出现频率大于等于min_sup,则称该项集为频繁项集(frequentitemset),简称频集,频繁k项集的集合记作Lk。以上就是传统的A
6、priori算法,然而它存在以下三个不足:(1)需要重复地扫描数据库。如果存在较长的频繁项目集,则要重复扫描数据库的次数就很多,对于入侵检测数据库的大量数据而言,该算法的时间复杂度是非常庞大的。(2)产生大量的候选项集,特别是候选2项集。如果有1000个频繁1项集,那么该算法将会产生105数量级的候选2项集。(3)支持度计数的工作量很大。3改进的关联规则挖掘算法基于Apriori算法存在的问题,提出入侵检测数据库的改进关联规则挖掘算法—I-Apriori算法,其改进的算法思想如下:3.1自适应步长跃进Apriori算法中,产生每个频繁项集需要扫描一次数据库。为了减少对
7、数据库的扫描次数,本算法是在己产生的Lk基础上以hi为步长,通过连接、剪枝一次性产生新的以hi为步长的(k+j)-itemset(j=1,2…,hi)的候选频繁集,然后再扫描数据库,确定其中真正的频繁项集,从而可以大大减少挖掘过程中的数据库扫描时间,对于海量数据库,效果尤为明显。在步长h的选择上采取了自适应可变步长的确定方法,即h1=2,hi+1=2Iδ(i)hi,其中Iδ(i)用来表示步长的自适应方向,即当有频繁项集产生时Iδ(i)=1,无频繁项集产生时Iδ(i)=1/2hi。之所以将步长越设越大,是因为随着算法的进行,频繁k-itemset蕴含的