降维约简

相比于低维聚类,高维度聚类要复杂很多,解决高维度问题的最直接的想法就是降低数据维度,即使不能完全将问题转化为低维度问题也可以在一定程度上减少问题的复杂性。Johnson 降维原理[57,58]从理论上证明了这种方法的可行性。主要的降维,即属性约简方法有:投影法、主成份分析法、奇异值分解法、傅立叶变换、余弦变换、小波变换、Karhunen-loève 变换等。其中最常用的是投影法。

聚类算法中常用的维度约简方法有以下几种:(1)随机投影,其主要思想来源于 Johnson 降维原理。随机投影的计算复杂性很低。(2)主成份分析(PCA),其计算复杂性高。使用奇异值分解(SVD)方法同样可以对维度进行约简,与 PCA 相似,SVD 的计算代价也很高。潜语义索引(LSI)方法[59,60]是一个针对文本数据的维度约简方法。通过 LSI 方法,数据在较低维的“主题”空间中出现,即文本数据由一些词语组成的潜在概念来表示。LSI 可以通过对由 N 个 d 维文本向量组成的数据矩阵使用 PCA 或 SVD 来进行计算。(3)离散余弦变换(DCT)是一个用于图像压缩方面的方法,也可以用于图像数据的维度约简。
DCT 的计算代价低于 PCA,而且性能与 PCA 方法的性能接近。DCT[61,62]方法可以通过执行简单的矩阵操作来实现。对于一个 d × N的数据矩阵,DCT的计算复杂性。

数据流环境中的数据通常是高维度、大流量的,且随着时间动态发生变化的。现有的数据流环境中的维度约简方法几乎没有,目前在数据流环境中的聚类方法,主要考虑的是如何有效选取聚类子空间,进而在子空间中完成聚类,如 SHStream 等。SHStream 是一种基于 Hoeffding 界的高维数据流的子空间聚类发现及维护算法,算法根据 Hoeffding 界限确定分段长度,进而对数据流分段,在数据分段上进行子空间聚类,通过迭代逐步得到满足聚类精度要求的聚类结果。对于数据流的动态性,算法会对聚类结果进行调整及维护。但是,SHStream 对聚类结果的维护仅仅是对临界密集单元的维护,并没有考虑到数据的维度变化情况。

高维空间数据聚类需要在降低数据对象维数的情况下,不影响原始数据之间的关系,其处理方法通常分为两步:第一步,采用如主成份分析法(PCA)或多维缩放(MDS)之类的策略降低数据维度;第二步,选取相应的传统聚类算法在低维空间进行聚类。

目前,聚类和孤立点基本上都以距离和密度为尺度,一些改进的快速聚类过于依赖索引结构和网格的划分。如果维度过高,往往会影响聚类的性能。
首先是在高维数据空间中,数据点的距离几乎是相等的,因而无法通过距离来聚类,其次,在高维数据空间中,索引结构通常会失效,运算量也会随着网格的增加而呈现指数增长,从而影响了聚类的速度。
一般来说,基于距离和密度的聚类算法都以一些索引结构为基础,这样可以提高算法的效率和性能,通常采用 R-树。

假设在数据流的处理过程中,定义一个滑动窗口,也就是在内存中开辟一片区域用来存储进入内存的数据对象。滑动窗口的空间一般通过时间和数据量来决定,在 RICStream 算法中,滑动窗口就使用了时间来定义,并以L表示滑动窗口的大小。

在试验中,我们按照存储顺序访问数据点,仿真数据流。测试数据集采用广为人知的 KDD-CUP99 的网络入侵检测数据集,从 42 维属性中取出 34 维的连续属性。仿真数据集中数据点为500000 个,每个数据点可取 10~60 个属性。

 

posted on 2012-07-19 22:16  bigshuai  阅读(950)  评论(0)    收藏  举报