本文是一篇软件工程论文,本文选择基于交叉熵的启发式算法对不同特性的数据集进行最小非频繁模式的挖掘,并针对该方法在执行过程中的缺陷提出了两个优化策略。最后通过实验验证了使用启发式挖掘算法的可行性以及提出的优化策略的有效性,同时对实验结果进行了分析。
第一章绪论
1.1研究背景
模式挖掘[1]是一种典型的数据挖掘任务,常被用于发现频繁的[2],高效用的[3],或是那些满足用户其他自定义要求[4]的项的集合。一个模式是一个给定事务集合中所出现过的所有项的一个子集。例如顾客所购买的商品或是文档中的关键字。模式挖掘已经研究了三十年并且应用到了诸多领域,例如顾客分类[5]和推荐系统[6]以及异常检测等。
在大多数先前的研究中,研究者们更多地聚焦于频繁模式的挖掘。频繁模式的挖掘目标在于发现那些不低于用户自定义最小支持度阈值[7]的所有模式(一个模式的支持度指的是事务集中包含该模式的事务比例),序列模式挖掘[8,9,10]也同样如此。高效用模式挖掘[11]在近些年也已经成为了另一个受欢迎的研究主题之一。模式的效用是基于价格或偏好等外部因素衡量其重要性或获益能力的度量。与频繁模式挖掘类似,高效用模式挖掘关注的是具有不低于最小效用阈值的模式。相比上述类型的模式挖掘,有关非频繁模式挖掘等其他类型模式挖掘的研究相对较少。
在某些特定情境下,发现罕见或不常出现的模式比发现其他类型模式更有意义[12]。例如在网络安全备受关注的背景下,非频繁模式挖掘在网络入侵检测[13]中发挥着重要作用。另外,非频繁模式也能应用于可疑资金交易的识别方面[14]。例如,利用非频繁模式检测异常交易。除了检测异常外,非频繁模式还可以用于解释异常的原因。Kao等人[15]提出了一个框架,不仅可以识别异常事务,还可以确定是哪些非频繁项导致了异常。然而,挖掘非频繁模式并不是一项容易的任务,主要有两个原因。首先,稀有或非频繁模式多种多样,并没有统一的定义。其次,在某些定义下的非频繁模式中,支持度的典型向下闭合性质对于加速挖掘过程的作用是有限的。所以算法往往可能需要遍历比频繁模式更大的搜索空间。因此,目前用于非频繁模式挖掘的现有算法通常要消耗较长的运行时间,有时甚至是用户所不能接受的。
.....................
1.2国内外研究现状
在最小非频繁模式的挖掘方面,Koh和Rountree提出的Apriori-Inverse[22]用于挖掘非频繁模式,他们称之为完全非频繁模式,即仅由低于最大支持度阈值的项所组成的模式。Apriori-Inverse类似于Apriori[23],在初始化时,在初始化时,选择低于最大支持度阈值的项进行模式扩展,以生成长度为2的模式。由于Apriori-Inverse反转了Apriori的向下闭合性质,因此生成的所有稀有模式必须具有低于最大支持度阈值的支持度。
Szathmary等人提出了两种可以一起用于挖掘非频繁模式的算法[24]。作为这两种算法的一部分,文章定义了三种类型的模式:最小生成器,它是支持度低于其子集的模式;最小非频繁模式,它是具有非零支持度且其子集都是频繁模式的非频繁模式;最小零模式生成器,它是具有零支持度的模式,其子集都具有非零支持度。他们提出了三种算法挖掘非频繁模式,这些算法分别是:Apriori-Rare、MRG-Exp和ARIMA。Apriori-Rare是基于挖掘频繁模式的Apriori算法的变种。Apriori-Rare生成一组所有最小非频繁模式,它们产生于由Apriori算法在寻找频繁模式时的剪枝过程中。MRG-Exp算法通过使用最小生成器以自下而上的方式在每一层中生成候选者来查找所有最小非频繁模式。该模式代表了分隔搜索空间中频繁模式和非频繁模式的边界。根据反单调性质,该边界之上的所有模式必须是非频繁的。ARIMA将最小非频繁模式集合作为输入,输出所有非频繁模式的集合。该集合分为两组:具有零支持的非频繁模式和具有非零支持的非频繁模式。非频繁模式是通过扩展最小非频繁集合的每个模式来生成的。事实上,如果一个模式是非频繁的,那么该模式的任何扩展都将导致一个非频繁模式的产生。为了区分零支持模式和非零支持模式,需计算每个扩展模式的支持度。本质上,ARIMA生成了一组完整的非频繁模式。这是通过将两个具有k-1个共同项的k-项集合并成一个k+1模式来完成的。当到达最小零模式生成器边界时,ARIMA停止搜索非零非频繁模式,这表示在该边界之上只有零非频繁模式。
......................
第二章相关工作研究
2.1最小非频繁模式挖掘算法
最小非频繁模式挖掘的主流算法是由频繁模式挖掘算法演变而来。经过过去几十年来的发展,频繁模式挖掘算法已经取得了长足的进步,主要分成基于模式扩展的类Apriori算法,以及基于树的类FP-Tree算法。本节将重点研究基于这两类算法所提出的经典最小非频繁模式挖掘算法。
2.1.1 Apriori-Rare算法
Apriori-Rare算法是类Apriori算法中最经典的算法之一。由于最小非频繁模式是Apriori算法在挖掘频繁模式时的副产品,同时也是频繁模式与非频繁模式之间的边界。所以,Apriori-Rare算法是由Apriori修改而来。Apriori的核心思想是由频繁模式的水平扩展产生候选模式,且在第i次迭代只产生长度为i的候选模式。在每次迭代过程中,通过遍历数据库来计算候选模式的支持度,并过滤支持度小于最小支持度阈值的候选模式。但Apriori-Rare一旦发现一个长度为i的候选模式是非频繁时将会去验证其所有长度为i-1的子集是否为频繁的,如果是频繁的,则该模式会被识别为最小非频繁模式。
软件工程论文怎么写
..............................
2.2启发式模式掘算法
在数据挖掘领域中,不仅仅是本文涉及的最小非频繁模式的挖掘,还包括其他种类模式挖掘可能都会因数据库规模的庞大而遇到NP难问题。例如在含有n个项的数据库中,可能存在的模式数量为2n个,则类Apriori算法的时间复杂度至少为O(2n)。因此,传统数据挖掘算法在海量数据集中执行数据挖掘任务的时间消耗常常难以接受。但对于寻找近似最优解问题来讲,启发式算法是当下先进且高效的解决方案之一。
启发式算法通过在迭代过程中实现解决方案的进化以提高最终结果的质量来对问题进行建模。也就是在搜索空间中进行有限的搜索,同时不断获得求解问题的经验来快速找到问题的近似最优解。它的一个关键特性是当算法可以获得近似最优解时,严格的终止条件会限制算法的时间消耗。以下将以解决启发式挖掘频繁模式问题为例,列举两个启发式算法在模式挖掘中的典型应用。
...............................
第三章 基于交叉熵的最小非频繁模式挖掘算法 ................................ 20
3.1 准备工作及问题定义 ............................. 20
3.1.1 最小非频繁模式的挖掘问题 .......................... 20
3.1.2 交叉熵方法 ............................ 21
第四章 基于最小非频繁模式的异常检测算法 ........................ 46
4.1 准备工作及问题定义 ............................ 46
4.2 异常检测算法提出 ............................... 46
第五章 系统实现 .................................... 54
5.1 系统概述 ....................................... 54
5.2 系统开发环境 .............................. 54
第五章系统实现
5.1系统概述
本文在第三章以及第四章对基于最小非频繁模式的异常检测方法所涉及到理论和实验进行了详尽的阐述。以MRI-CE和HMMRIOD为核心,经过对算法性能评估和分析等过程完成本文的主要研究内容。本章的主要内容是在现有研究成果的基础上,实现基于最小非频繁模式挖掘的异常检测方法展示系统。为了能更直观地将本文实验部分所使用的数据集及其详尽的数据特征,以及算法在实验环境中的挖掘效果和检测效果进行展示,我们将上述所涉及的内容使用Web界面进行动态展示,以便于观察与分析更具体的实验结果。
关于系统的技术架构,本文主要采用开源的Layui框架搭建系统的前端显示页面。该框架具有开发灵活性高、方便易用的优势,且包含丰富的组件。而且Layui也是一种基于jQuery以及HTML5、CSS3等主流技术的框架,不仅页面美观,同时支持高度的定制化方案,有较好的兼容性。因此,使用Layui开发基于最小非频繁模式挖掘的异常检测展示系统,不仅节约了开发成本,也提升了本文研究成果的表现力。
软件工程论文参考
....................
第六章总结与展望
6.1研究总结
随着在海量数据中进行异常检测的场景变得越来越普遍,在处理数据规模庞大的异常检测任务时也面临着越来越多的挑战。高效的异常检测算法不仅能极大的节约硬件成本,且具备较低的时间消耗。在有限的时间和硬件条件下实现可观的异常检测效率是本文研究的初衷。
因此,为了实现上述目标,并综合异常检测算法的一般执行过程,本文提出了基于最小非频繁模式挖掘的异常检测算法。通过分析基于模式挖掘领域中最小非频繁模式挖掘的异常检测算法相较于其他异常检测算法所具备的优越性,本文选定了先挖掘最小非频繁模式再利用其挖掘结果进行异常检测的技术路线。
虽然最小非频繁的数量相较于频繁模式和非频繁模式的数量更少,但其挖掘难度也带来了挑战。传统的最小非频繁模式挖掘算法都有其不同的适应场景,所以在不同特性的数据集执行挖掘任务时,性能会体现出较大差异。而面对数据分布未知的、模式挖掘难度较大的场景,基于启发式的挖掘算法往往具备更好的适应性和挖掘性能。因此,本文选择基于交叉熵的启发式算法对不同特性的数据集进行最小非频繁模式的挖掘,并针对该方法在执行过程中的缺陷提出了两个优化策略。最后通过实验验证了使用启发式挖掘算法的可行性以及提出的优化策略的有效性,同时对实验结果进行了分析。
在基于模式挖掘算法进行异常检测的技术路线中的第二阶段是利用第一阶段最小非频繁模式的挖掘结果进行异常检测的阶段。本文对导致此类异常检测方法效率较低的原因进行了分析,并设计了合理的衡量异常程度的指标。再结合上一阶段的模式挖掘过程提出了最终的异常检测算法。
参考文献(略)