论文部分内容阅读
随着信息技术的快速发展,流数据在网络流量的监测、金融应用、通信数据管理、网络安全监控、传感器网络等很多不同领域得到了广泛应用,在这些应用中对新型的流数据形式以及相关技术进行研究显得非常重要。与传统的静态数据不同,流数据是连续的、无限的,通常以很高的速度到来,并且数据分布随着时间而改变。传统的对数据进行挖掘挖掘算法已经难以适用于流数据,因此,对流数据上确定及不确定数据进行有效地挖掘是数据挖掘领域的一个研究热点。本文对目前国内外流数据频繁项挖掘所使用的主要算法进行了研究,包括衰减系数、哈希函数、滑动窗口、不确定数据等内容的主要技术和算法,针对其中存在的问题,提出了更为有效的算法。本论文的主要工作如下:(1)提出了一种基于衰减系数和Hash函数的数据流中频繁项挖掘算法现有的大多数的数据流频繁项挖掘算法并没有能强调当前数据的重要性。我们采用衰减系数的方法,给出强调近期数据而弱化“旧”数据重要性的时间衰减模型。提出了一种挖掘数据流中频繁项的新算法λ-HCount。该算法使用时间衰减系数λ来强调较新数据的作用,并利用r个不同的Hash函数对流中的数据项进行计数,从而在流数据中挖掘频繁项。设共有M个不同的数据项,S为频繁项密度的阈值,λ-HCount可以大于或等于p的置信度在数据流中挖掘s-近似频繁项,所需空间复杂度是e/In(-M/Inp)+r/s-ε而算法处理一个数据项的时间复杂度为o(1)。我们在人工数据集和真实数据集上对该算法的实验测结果证明了我们的算法比其他类似算法具有较高的精确度,使用较少的内存。(2)提出了一种基于不等长窗口的流数据频繁项挖掘算法我们提出了一种基于灵活的计数器窗口在流数据中挖掘近期频繁项的算法FCW_MRFI。FCW_MRFI算法可以在给定长度为L的近期流数据中的任意窗口挖掘频繁项,同时根据给定的计数器数组的个数m划分近期流数据,使得在较近的窗口中查询的误差较小,而且使得在整个近期流数据中的最大查询误差尽可能地小。我们使用人工数据集和真实数据集做了大量实验比较了算法的召回率及精度,实验表明本文所提出的算法与同类算法相比明显提高了数据流中挖掘近期的频繁项的精度。(3)提出了一种基于流数据上不确定数据的频繁项查询算法针对流数据中不确定数据的特点,我们提出了一种查询数据流中不确定数据的频繁项的新算法SMFUD。该算法采用滑动窗口的方法在流数据上挖掘不确定频繁项,通过剪枝策略及有效地动态规划方法极大的减少了候选集。基于滑动窗口中可能实例的概率求解规律巧妙的删除“旧”元组、添加新元组,降低了算法的时间复杂度。我们通过实验证明该算法可以有效地减少候选集,降低空间复杂度,提高了频繁项的查询速度。