论文部分内容阅读
如今,数据量的快速增长带领我们进入了大数据时代。同时,大数据类型多样,如社交数据、企业数据、传感器数据及机器生成数据等。因此,我们迫切地需要快速及有效的数据挖掘方法来利用“大数据”。这些方法可用于开发强大的多功能分析工具,并将数据转化为有用的知识。模式挖掘是数据挖掘中最重要的主题之一,即开发/使用一些数据挖掘算法来发现数据库中有趣且意想不到的模式。其中,频繁模式挖掘(FPM)应用广泛,是消费者市场分析,推荐系统,网络挖掘和网络入侵检测等应用的基础。频繁模式是出现在数据集中的频率不小于用户指定的最小阈值的项集,子序列或子结构。在现实生活的应用场景中,零售商可能更感兴趣的是找到产生高利润而不是发现频繁出现的那些项目集。因此,发现高效用/利润项目集(HUIs)的问题已经成为一项新兴的任务。许多研究者已经开始研发高效用项目集挖掘(HUIM)算法。然而,他们大多数假设物品的利润/权重是积极的,且所有物品都在售。同时,在现实世界中,一些产品只在特定的时间段出售。例如,某些产品只在夏季出售,或者在节日亏本促销出售。为了解决上述两个限制,HUIM的问题已经被分别重新定义为发现高效用/利润项目集(HOUs)的问题。它比传统的HUIM更难,因为需要考虑物品的搁置时间,并且区别具有负单位利润的物品。因此,传统HUIM和FPM中使用的技术不能直接应用于这个问题。此外,传统FPM,HUI和HOU挖掘算法的不足之处在于,用户难以找到合适的最小阈值参数。如果用户将阈值设置得太高,则找不到足够的匹配模式。并且如果用户将阈值设置得太低,则将找到大量的匹配模式,且算法可能消耗过多的运行时间和内存。为了找到适当的阈值,用户通常需要反复试错的方法来运行多次挖掘算法,这将非常耗时。即使用户已经预先知道适当的阈值,传统的挖掘算法通常产生非常大的结果模式集合,这对用户来说是不方便的,并使得所需模式的发现在执行时间和存储器使用方面效率较低。为了解决这些限制,在本文中,我们专注于开发高效的方法来发现有趣的模式,这就是top-rank-k频繁模式、封闭的高效用项目集和top-k现货高效用项目集。我们的方法简要描述如下。 在本文中,我们首先考虑top-rank-k频繁模式挖掘问题,用于挖掘前k个支持度最高的模式。针对这个问题,目前所提出的算法效率都不高。基于此,本文提出一个BTK算法来解决这个问题。BTK依赖于一种名为TB-tree(遍历构建树)的新型树结构来存储关于频繁模式的关键信息。TB-树的构造只需扫描一次数据库而不必按照文献中基于PPC-树的算法对树进行先序和后序遍历。此外,我们引入了两种有效的过程来分别产生子包索引和相交B-列表。我们使用真实和合成数据集进行全面的性能研究,以评估所提出算法的效率。实验结果表明,BTK是高效的,并且效率优于当前已有的top-rank-k频繁模式挖掘算法。 虽然BTK算法解决了挖掘top-rank-k频繁模式的问题,其中用户需要指定k,并且返回前k个支持度最高的模式。本文第二个工作旨在发现闭合高效用项目集(CHUI),它是HUI的简明和无损表示。闭合高效用项目集,CHUI,可以比所有HUI的集合小几个数量级,并且允许导出所有HUI。虽然挖掘CHUI是有用且可取的,但它的计算代价仍然非常昂贵。因为当前算法经常产生大量的候选项集,并且不能有效地剪枝搜索空间。因此本文提出一个CLS-Miner算法来解决这个问题。我们利用实用程序列表结构直接计算项集的效用而不产生候选项。CLS-Miner引入了三种有效的剪枝策略来减少算法的搜索空间。第一种策略称为Chain-EUCP,它使用项目共现的估计效用来确定是否应该剪枝项目集。第二种策略,即下行分支剪枝(LBP),使用对项目集传递扩展的效用的新上限减少搜索空间。这两个策略允许在没有完全构建实用程序列表的情况下消除候选项。最后一个策略是基于一个名为覆盖的新概念,它受到闭包项集的定义的启发。这个概念可以用于剪枝低效用项目集,以及快速计算项目集的闭包。所提出的剪枝策略可以大大减少用于构造实用程序列表的连接操作的数量,大大减少算法搜索空间。此外,我们引入了一种高效的预检查包含方法来检查项集X是否包含另一个项集Y,其主要用于包含检查和闭包计算。这两个操作在闭合模式挖掘中必不可少。如实验评估部分所示,所提出的CLS-Miner算法是有效的,并且可以大大减少这两个操作的执行时间。为了评估所提出的算法和策略的性能,我们已经对具有各种特征的六个基准进行了大量的实验,包括实际数据集和合成数据集。结果表明,所提出的剪枝策略高效有效,CLS-Miner算法具有线性可伸缩性,并优于当前最优的CHUI挖掘算法。 最后,我们首次定义了“挖掘top-k现货高效用项目集”的问题,并考虑了正项和负项单位利润,以及每个项目的保质期。同时,我们提出一个名为“有或没有负单位利润(KOSHU)的top-k货架高效用项目集矿工”的法,这是一种基于实用程序列表的算法,其中包括EMPRP(估计最大周期速率修剪)、PUP(周期效用修剪)和CE2P(一对双项集合修剪的同时存在)三种新颖项目集修剪策略。这些策略可以删除大量的连接操作,从而节省了大部分的搜索空。该算法还采用了一些策略,在top-k HOU挖掘过程中对内部最小相对效用阈值进行初始化(RIRU)和动态调整(RIRU2)。这些策略可以有效地提高相对效用阈值,从而有助于基于一种全新EMPRS结构的EMPRP策略的有效性。此外,我们提出了一种低复杂度的程序,在挖掘过程中构建实用程序列表。它使用快速二分搜索方法来实现,即记住最后搜索位置的索引,下一次搜索则从该位置开始,而不是从第一位置开始。这些技术能够极大地提高性能效率。我们对实际数据集和模拟数据集都进行了广泛的实验评估,结果表明,所提出的算法时空效率高并且可扩展。 本文所提出的算法不仅具有高效性,同时也是有效用的。该方法能有效地挖掘许多有趣的模式,例如支持top-rank-k内项目模式、封闭高效用模式和top-k现货高效用模式。此外,这些方法还能帮助用户获得简洁、无损的模式集,或者直接指定各种模式所输出的期望数量,而不是指定最小效用阈值。再者,这些技术将对许多其它相关数据挖掘任务具有较大影响。