论文部分内容阅读
序列模式挖掘技术研究作为数据挖掘与知识发现领域的重要分支,它的目的是发现有趣的序列事件,为理论或实际应用提供数据支持。不同于传统序列模式挖掘思路,负序列模式提供了一种序列模式分析的新角度,它不仅涵盖了已经存在或发生的事件(行为),还将未发生的事件(行为)考虑在内。这些未发生的事件的性质为本应发生的,但因为某些原因而被隐藏,因此往往容易被人们忽略而导致错失了重要信息。近年来人们愈发认可负序列模式的价值,并在诸多实际领域中应用了负序列模式来提取有效信息,例如在消费行为分析,疾病诊疗和健康保险领域均提供了强有力的数据支持。然而,目前所有的负序列模式挖掘技术都没有将重复模式考虑在内,即它们只考虑了子序列在数据序列间出现的情况,而忽略掉了子序列在同一数据序列重复出现的情况。如果一条负子序列在一条数据序列中重复出现,意味着这条负子序列会拥有更高的支持度,从而引起人们的兴趣,但若是不考虑重复模式,这样一条拥有高重复性质的负序列就很有可能不被发现,导致有效信息的遗漏。因此,本文在重复序列模式挖掘方向做了系统的研究,探索了如何高效的发现重复正序列模式和重复负序列模式,并针对其中的关键问题进行了深入探讨。此外,本文研究了现有的负序列模式挖掘算法存在的问题,并提出了一种更快速的负序列模式挖掘方法和一种可以从非频繁序列中挖掘频繁负序列的方法。具体内容如下:1、重复正序列模式挖掘方法。本文基于经典的GSP正序列挖掘算法提出了一种新的重复正序列模式挖掘算法RptGSP,并且对重复正序列进行了非重叠定义。RptGSP算法不仅考虑了传统支持度的计算方式,并且考虑了正子序列在每条数据序列内部的重复次数,从而进一步获得更多有趣有效的序列信息,为数据分析提供更好的支持。2、重复负序列模式挖掘方法。目前所有负序列模式挖掘算法均未考虑序列的重复模式,因此我们首先对重复负序列模式进行了定义,并提出了一种不需要重复扫描数据库的高效重复负序列模式挖掘算法e-RNSP。该方法首先基于RptGSP算法发现的重复正序列来生成重复负候选序列,之后应用公式可以高效的计算负候选的重复支持度,从而避免了重复扫描序列数据库。实验结果表明e-RNSP可以高效的发现具有高重复性的负序列模式。3、快速负序列模式挖掘方法。针对负序列模式挖掘算法e-NSP的不足,本文提出了一种更加快速地挖掘负序列模式的方法f-NSP。F-NSP使用了位图结构体替代了e-NSP算法中原有的数组结构体,该结构体用于表示每一条候选负序列被数据库序列的包含关系,从而可以应用高效的位运算来计算负候选序列的支持度,进一步提高挖掘负序列模式的效率。由于使用位图可能在支持度极低的情况下造成数据空间比e-NSP消耗多的情况,本文又提出了一种自适应数据存储策略来解决上述问题,并将其应用在算法f-NSP+中。实验证明,在大多数情况下,f-NSP比e-NSP的效率高出几倍到十几倍,最好的情况下可以比e-NSP快上百倍,但是在有些情况下,例如数据库所有频繁模式支持度极低的情况下,e-NSP仍然具有它的优势。4、非频繁正序列中负序列模式挖掘方法。目前大部分的负序列模式挖掘方法都是从频繁正序列中挖掘负序列模式,忽略掉了非频繁正序列同样可能包含频繁的负序列模式。因此本文提出了一个不仅可以从正频繁模式,而且可以从非频繁正序列中挖掘负序列模式的方法e-NSPFI。因数据规模太过于庞大,所以并不是所有的非频繁正序列都应被考虑,因此我们首先定义了合理的非频繁正序列,之后应用公式计算负候选序列的支持度,高效的挖掘出更多具有价值的负序列模式。