基于AO算法的数据流频繁项集挖掘*
2021-01-06耿小海朱璐伟许萌萌
文 凯,耿小海,朱璐伟,许萌萌
(1.重庆邮电大学通信与信息工程学院,重庆 400065;2.重庆邮电大学通信新技术应用研究中心,重庆 400065;3.重庆信科设计有限公司,重庆 401121)
1 引言
互联网的快速发展和5G的到来,使得数据发生了爆炸性的增长,而现在绝大多数的数据都是以流的形式出现,数据流[1]的应用已经涉及到各方各面,随着时代不断进步,人工智能、模式识别中的搜索算法和建模技术也在数据流挖掘中得到了广泛应用,并且吸纳了多个领域中的优秀知识和思想[2]。大数据从批处理,再到现在的实时处理,以及混合两者的处理,经过了3次技术革新[3]。数据流频繁项集挖掘已成为当前数据挖掘中的一项重要任务,并随着大数据实时分析的发展变得越来越重要。
相较于国内,国外在数据流频繁项集挖掘方面的研究开始得比较早。在数据流处理模型中主要有3种不同的窗口模型[4]:界标窗口、衰减窗口和滑动窗口,目前使用最多的是滑动窗口模型。滑动窗口模型由Mozafari等[5]引入,并且提出了SWIM(Sliding Window Incremetal Miner)算法,它能够根据数据流调节滑动窗口的大小,因此算法具有良好的自适应性和扩展性。基于 Hadoop平台的并行化框架和固定的滑动窗口,CanTree-GTree算法[6]进行数据流频繁项集挖掘在滑动窗口满事务后,新的数据流流入,旧事务流出;文献[7]中的SysTree(Systolic Tree)算法采用2种窗口进行数据流频繁项集挖掘,该算法基于树结构,在挖掘频繁项集时分别使用了滑动窗口和界标窗口;寇香霞等[8]提出的FIUT-Stream算法,用位图压缩数据流,提高了空间效率,但采用FIUT结构挖掘频繁项集时会产生大量候选项集,构造FIU-tree也消耗大量内存。……
