论文部分内容阅读
随着软件安全分析、生物DNA序列分析等领域的广泛发展,序列聚类分析已经成为数据挖掘技术中最具前景的研究方向之一。本文主要从传统序列聚类算法在序列预处理,相似性度量,初始中心和参数K值选取,以及更新中心序列等方面存在的不足进行分析,针对这些问题的研究将对提高序列聚类算法的性能具有重要意义。首先,针对序列在进行聚类操作之前需要预处理为等长向量的问题,提出了一种基于前缀分析的序列模式挖掘算法。将投影数据库中出现次数小于最小支持数的频繁项直接删除,减少重复扫描投影数据库的次数。进一步针对动态序列数据库,设计基于前缀分析的序列模式挖掘增量算法,充分利用原始序列数据库的频繁模式挖掘结果,提高更新后序列数据库的挖掘效率。其次,针对现有序列相似性度量方法时间开销大的问题,设计了一种基于序列元素相似度和Top-K最大序列模式的序列聚类算法。首先定义一种基于位操作的序列元素相似性度量方法;其次,采用KMaxminer算法挖掘序列数据库中的Top-K最大序列模式,将其作为K初始中心序列;然后,将序列数据库中所有的序列预处理为“0”或“1”表示的等长向量形式;最终,通过计算序列数据库中的序列与Top-K最大序列模式之间的相似度,确定K聚类。然后,针对K均值序列聚类算法人工定义参数K的问题,提出了一种基于加权序列元素相似度和K值判定的序列聚类算法。首先定义一种基于序列元素权重的相似度函数,将各个序列分配到最相近的序列聚类中;然后,在各个序列聚类中,根据序列在聚类中的权重更新聚类中心;最终,通过定义有效K值,将其中较小值所对应的K值进行保存,获得K有效聚类。再次,针对K均值序列聚类算法对于初始中心选择的敏感性,设计了一种基于加权序列模式相似度的两阶段中心选取序列聚类算法。算法首先定义一种基于序列模式权重的相似性度量函数,如果两序列包含的相同重要模式越多,相似程度越高;然后,通过计算与第T-1轮聚类中心满足一定条件的相似度较大序列集的均值序列,对序列数据库第T轮K聚类中心进行更新。最后,将基于加权相似度的序列聚类算法应用于软件安全漏洞分析中,提出了一种新的软件安全漏洞分析方法。该方法首先利用基于前缀分析的序列模式挖掘算法对软件漏洞序列进行预处理;然后,采用基于加权序列模式相似度的两阶段中心选取软件安全漏洞序列聚类算法对软件安全漏洞序列库中的对象进行K划分,仅计算需要分析的软件疑似漏洞序列和K软件安全漏洞聚类中心序列间的相似度,判断该序列是否为真正的软件安全漏洞序列,并输出安全报告。实验结果表明,本文设计的改进的频繁序列模式挖掘算法提高了挖掘效率和序列聚类相似性度量方法的准确性。优化的序列聚类算法在聚类质量,可伸缩性以及执行效率等性能方面也有所提高。另外,本文将基于加权相似度的序列聚类算法引入到软件安全漏洞序列分析中,在降低软件安全漏洞分析误报率的同时提高了分析效率。